Version Description
Download this release
Release Info
Developer | champsupertramp |
Plugin | Ultimate Member – User Profile & Membership Plugin |
Version | 1.3.73 |
Comparing to | |
See all releases |
Code changes from version 1.3.72 to 1.3.73
- addons/bp_avatar_transfer.php +98 -98
- addons/generate_random_users.php +260 -260
- addons/gravatar_transfer.php +82 -82
- addons/system_info.php +410 -410
- admin/assets/css/um-admin-builder.css +301 -301
- admin/assets/css/um-admin-columns.css +66 -66
- admin/assets/css/um-admin-dashboard.css +127 -127
- admin/assets/css/um-admin-form.css +60 -60
- admin/assets/css/um-admin-global.css +89 -89
- admin/assets/css/um-admin-menu.css +2 -2
- admin/assets/css/um-admin-misc.css +259 -259
- admin/assets/css/um-admin-modal.css +297 -297
- admin/assets/css/um-admin-redux.css +226 -226
- admin/assets/css/um-admin-rtl.css +73 -73
- admin/assets/css/um-admin-select2.css +192 -192
- admin/assets/js/um-admin-ajax.js +52 -52
- admin/assets/js/um-admin-builder.js +41 -41
- admin/assets/js/um-admin-dashboard.js +2 -2
- admin/assets/js/um-admin-dragdrop.js +409 -409
- admin/assets/js/um-admin-field.js +88 -88
- admin/assets/js/um-admin-form.js +37 -37
- admin/assets/js/um-admin-modal.js +364 -331
- admin/assets/js/um-admin-scripts.js +194 -194
- admin/assets/js/um-admin-users.js +30 -30
- admin/core/lib/ReduxFramework/.jshintrc +0 -19
- admin/core/lib/ReduxFramework/CHANGELOG.md +0 -1857
- admin/core/lib/ReduxFramework/CONTRIBUTING.md +0 -27
- admin/core/lib/ReduxFramework/Gruntfile.js +0 -439
- admin/core/lib/ReduxFramework/ReduxCore/assets/css/select2.css +0 -704
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/ace.min.js +0 -11
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/README.md +0 -114
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/release.sh +0 -79
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2-bootstrap.css +0 -87
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2-spinner.gif +0 -0
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2.css +0 -704
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2.jquery.json +0 -36
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2.js +0 -3541
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2.min.js +0 -23
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2.png +0 -0
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ar.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_az.js +0 -20
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_bg.js +0 -20
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ca.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_cs.js +0 -51
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_da.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_de.js +0 -18
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_el.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_en.js.template +0 -20
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_es.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_et.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_eu.js +0 -45
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_fa.js +0 -21
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_fi.js +0 -30
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_fr.js +0 -18
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_gl.js +0 -45
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_he.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_hr.js +0 -24
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_hu.js +0 -17
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_id.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_is.js +0 -17
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_it.js +0 -17
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ja.js +0 -17
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ka.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ko.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_lt.js +0 -26
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_lv.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_mk.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ms.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_nb.js +0 -22
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_nl.js +0 -17
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_pl.js +0 -54
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_pt-BR.js +0 -18
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_pt-PT.js +0 -17
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ro.js +0 -17
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_rs.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ru.js +0 -23
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_sk.js +0 -50
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_sv.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_th.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_tr.js +0 -19
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ug-CN.js +0 -16
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_uk.js +0 -25
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_vi.js +0 -20
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_zh-CN.js +0 -16
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_zh-TW.js +0 -16
- admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2x2.png +0 -0
- admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_themecheck.php +0 -123
- admin/core/lib/ReduxFramework/ReduxCore/inc/debug.php +0 -84
- admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/ace.js +0 -1
addons/bp_avatar_transfer.php
CHANGED
@@ -1,99 +1,99 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class UM_ADDON_bp_avatar_transfer {
|
4 |
-
|
5 |
-
function __construct() {
|
6 |
-
|
7 |
-
add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
|
8 |
-
|
9 |
-
add_action('admin_init', array(&$this, 'admin_init'), 1);
|
10 |
-
|
11 |
-
add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
|
12 |
-
|
13 |
-
}
|
14 |
-
|
15 |
-
function admin_menu() {
|
16 |
-
|
17 |
-
global $ultimatemember;
|
18 |
-
$this->addon = $ultimatemember->addons['bp_avatar_transfer'];
|
19 |
-
add_submenu_page('ultimatemember', $this->addon[0], $this->addon[0], 'manage_options', 'bp_avatar_transfer', array(&$this, 'content') );
|
20 |
-
|
21 |
-
}
|
22 |
-
|
23 |
-
function um_admin_addon_hook( $hook ) {
|
24 |
-
global $ultimatemember;
|
25 |
-
switch( $hook ) {
|
26 |
-
case 'bp_avatar_transfer':
|
27 |
-
if ( class_exists('BuddyPress') ) {
|
28 |
-
|
29 |
-
$path = bp_core_avatar_upload_path() . '/avatars';
|
30 |
-
|
31 |
-
$files = glob( $path . '/*');
|
32 |
-
$i = 0;
|
33 |
-
foreach( $files as $key ) {
|
34 |
-
$q = (count(glob("$key/*")) === 0) ? 0 : 1;
|
35 |
-
if ( $q == 1 ) {
|
36 |
-
$photo = glob( $key . '/*');
|
37 |
-
foreach( $photo as $file ) {
|
38 |
-
if ( strstr( $file, 'bpfull' ) ) {
|
39 |
-
$get_user_id = explode('/', $file);
|
40 |
-
array_pop($get_user_id);
|
41 |
-
$user_id = end($get_user_id);
|
42 |
-
if ( !file_exists( $ultimatemember->files->upload_basedir . $user_id . '/profile_photo.jpg' ) ) {
|
43 |
-
$ultimatemember->files->new_user( $user_id );
|
44 |
-
copy( $file, $ultimatemember->files->upload_basedir . $user_id . '/profile_photo.jpg' );
|
45 |
-
update_user_meta($user_id, 'profile_photo', 'profile_photo.jpg');
|
46 |
-
$i++;
|
47 |
-
}
|
48 |
-
}
|
49 |
-
}
|
50 |
-
}
|
51 |
-
}
|
52 |
-
|
53 |
-
$this->content = '<p><strong>Done. Process completed!</p>';
|
54 |
-
$this->content .= $i . ' user(s) changed.</strong></p>';
|
55 |
-
|
56 |
-
}
|
57 |
-
break;
|
58 |
-
}
|
59 |
-
}
|
60 |
-
|
61 |
-
function admin_init() {
|
62 |
-
if ( isset( $_REQUEST['um-addon-hook'] ) ) {
|
63 |
-
$hook = $_REQUEST['um-addon-hook'];
|
64 |
-
do_action("um_admin_addon_hook", $hook);
|
65 |
-
}
|
66 |
-
}
|
67 |
-
|
68 |
-
function content() {
|
69 |
-
|
70 |
-
$this->process_link = add_query_arg('um-addon-hook','bp_avatar_transfer');
|
71 |
-
|
72 |
-
?>
|
73 |
-
|
74 |
-
<div class="wrap">
|
75 |
-
|
76 |
-
<h2>Ultimate Member <sup style="font-size:15px"><?php echo ultimatemember_version; ?></sup></h2>
|
77 |
-
|
78 |
-
<h3><?php echo $this->addon[0]; ?></h3>
|
79 |
-
|
80 |
-
<?php if ( isset( $this->content ) ) {
|
81 |
-
echo $this->content;
|
82 |
-
} else { ?>
|
83 |
-
|
84 |
-
<p>This tool allows you to move all custom user photos/avatars from BuddyPress to Ultimate Member platform. This can help you If you are switching from BuddyPress.</p>
|
85 |
-
<p>Depending on your users database, this could take a few moments. To start the process, click the following button.</p>
|
86 |
-
|
87 |
-
<p><a href="<?php echo $this->process_link; ?>" class="button button-primary">Start transferring avatars</a></p>
|
88 |
-
|
89 |
-
<?php } ?>
|
90 |
-
|
91 |
-
</div><div class="clear"></div>
|
92 |
-
|
93 |
-
<?php
|
94 |
-
|
95 |
-
}
|
96 |
-
|
97 |
-
}
|
98 |
-
|
99 |
$UM_ADDON_bp_avatar_transfer = new UM_ADDON_bp_avatar_transfer();
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class UM_ADDON_bp_avatar_transfer {
|
4 |
+
|
5 |
+
function __construct() {
|
6 |
+
|
7 |
+
add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
|
8 |
+
|
9 |
+
add_action('admin_init', array(&$this, 'admin_init'), 1);
|
10 |
+
|
11 |
+
add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
|
12 |
+
|
13 |
+
}
|
14 |
+
|
15 |
+
function admin_menu() {
|
16 |
+
|
17 |
+
global $ultimatemember;
|
18 |
+
$this->addon = $ultimatemember->addons['bp_avatar_transfer'];
|
19 |
+
add_submenu_page('ultimatemember', $this->addon[0], $this->addon[0], 'manage_options', 'bp_avatar_transfer', array(&$this, 'content') );
|
20 |
+
|
21 |
+
}
|
22 |
+
|
23 |
+
function um_admin_addon_hook( $hook ) {
|
24 |
+
global $ultimatemember;
|
25 |
+
switch( $hook ) {
|
26 |
+
case 'bp_avatar_transfer':
|
27 |
+
if ( class_exists('BuddyPress') ) {
|
28 |
+
|
29 |
+
$path = bp_core_avatar_upload_path() . '/avatars';
|
30 |
+
|
31 |
+
$files = glob( $path . '/*');
|
32 |
+
$i = 0;
|
33 |
+
foreach( $files as $key ) {
|
34 |
+
$q = (count(glob("$key/*")) === 0) ? 0 : 1;
|
35 |
+
if ( $q == 1 ) {
|
36 |
+
$photo = glob( $key . '/*');
|
37 |
+
foreach( $photo as $file ) {
|
38 |
+
if ( strstr( $file, 'bpfull' ) ) {
|
39 |
+
$get_user_id = explode('/', $file);
|
40 |
+
array_pop($get_user_id);
|
41 |
+
$user_id = end($get_user_id);
|
42 |
+
if ( !file_exists( $ultimatemember->files->upload_basedir . $user_id . '/profile_photo.jpg' ) ) {
|
43 |
+
$ultimatemember->files->new_user( $user_id );
|
44 |
+
copy( $file, $ultimatemember->files->upload_basedir . $user_id . '/profile_photo.jpg' );
|
45 |
+
update_user_meta($user_id, 'profile_photo', 'profile_photo.jpg');
|
46 |
+
$i++;
|
47 |
+
}
|
48 |
+
}
|
49 |
+
}
|
50 |
+
}
|
51 |
+
}
|
52 |
+
|
53 |
+
$this->content = '<p><strong>Done. Process completed!</p>';
|
54 |
+
$this->content .= $i . ' user(s) changed.</strong></p>';
|
55 |
+
|
56 |
+
}
|
57 |
+
break;
|
58 |
+
}
|
59 |
+
}
|
60 |
+
|
61 |
+
function admin_init() {
|
62 |
+
if ( isset( $_REQUEST['um-addon-hook'] ) ) {
|
63 |
+
$hook = $_REQUEST['um-addon-hook'];
|
64 |
+
do_action("um_admin_addon_hook", $hook);
|
65 |
+
}
|
66 |
+
}
|
67 |
+
|
68 |
+
function content() {
|
69 |
+
|
70 |
+
$this->process_link = add_query_arg('um-addon-hook','bp_avatar_transfer');
|
71 |
+
|
72 |
+
?>
|
73 |
+
|
74 |
+
<div class="wrap">
|
75 |
+
|
76 |
+
<h2>Ultimate Member <sup style="font-size:15px"><?php echo ultimatemember_version; ?></sup></h2>
|
77 |
+
|
78 |
+
<h3><?php echo $this->addon[0]; ?></h3>
|
79 |
+
|
80 |
+
<?php if ( isset( $this->content ) ) {
|
81 |
+
echo $this->content;
|
82 |
+
} else { ?>
|
83 |
+
|
84 |
+
<p>This tool allows you to move all custom user photos/avatars from BuddyPress to Ultimate Member platform. This can help you If you are switching from BuddyPress.</p>
|
85 |
+
<p>Depending on your users database, this could take a few moments. To start the process, click the following button.</p>
|
86 |
+
|
87 |
+
<p><a href="<?php echo $this->process_link; ?>" class="button button-primary">Start transferring avatars</a></p>
|
88 |
+
|
89 |
+
<?php } ?>
|
90 |
+
|
91 |
+
</div><div class="clear"></div>
|
92 |
+
|
93 |
+
<?php
|
94 |
+
|
95 |
+
}
|
96 |
+
|
97 |
+
}
|
98 |
+
|
99 |
$UM_ADDON_bp_avatar_transfer = new UM_ADDON_bp_avatar_transfer();
|
addons/generate_random_users.php
CHANGED
@@ -1,261 +1,261 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class UM_ADDON_generate_random_users {
|
4 |
-
|
5 |
-
function __construct() {
|
6 |
-
|
7 |
-
add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
|
8 |
-
|
9 |
-
add_action('admin_init', array(&$this, 'admin_init'), 1);
|
10 |
-
|
11 |
-
add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
|
12 |
-
|
13 |
-
}
|
14 |
-
|
15 |
-
|
16 |
-
function admin_menu() {
|
17 |
-
|
18 |
-
global $ultimatemember;
|
19 |
-
$this->addon = $ultimatemember->addons['generate_random_users'];
|
20 |
-
add_submenu_page('ultimatemember', $this->addon[0], $this->addon[0], 'manage_options', 'generate_random_users', array(&$this, 'content') );
|
21 |
-
|
22 |
-
}
|
23 |
-
|
24 |
-
function um_admin_addon_hook( $hook ) {
|
25 |
-
global $ultimatemember;
|
26 |
-
|
27 |
-
switch ( $hook ) {
|
28 |
-
case 'generate_random_users':
|
29 |
-
$json_url = "https://randomuser.me/api/";
|
30 |
-
|
31 |
-
$arr_post_header = array( );
|
32 |
-
|
33 |
-
if( isset( $_GET['gender'] ) ){
|
34 |
-
$gender = $_GET['gender'];
|
35 |
-
if( $gender != 'both' ){
|
36 |
-
$json_url = add_query_arg('gender', $gender, $json_url );
|
37 |
-
$arr_post_header['gender'] = $gender;
|
38 |
-
}
|
39 |
-
}
|
40 |
-
|
41 |
-
if( isset( $_GET['nationality'] ) ){
|
42 |
-
$nationality = implode(",", $_GET['nationality']);
|
43 |
-
if( ! empty( $nationality ) ){
|
44 |
-
$json_url = add_query_arg('nat', $nationality, $json_url );
|
45 |
-
}
|
46 |
-
$arr_post_header['nat'] = $nationality;
|
47 |
-
}
|
48 |
-
|
49 |
-
if( isset( $_GET['total_users'] ) ){
|
50 |
-
$total_users = intval( $_GET['total_users'] );
|
51 |
-
$json_url = add_query_arg('results', $total_users, $json_url );
|
52 |
-
$arr_post_header['results'] = $total_users;
|
53 |
-
}
|
54 |
-
|
55 |
-
|
56 |
-
$response = wp_remote_get( $json_url, array('timeout' => 120 ) );
|
57 |
-
$json = '';
|
58 |
-
|
59 |
-
if( is_array($response) ) {
|
60 |
-
if( isset( $response['body'] ) && ! empty( $response['body'] ) ){
|
61 |
-
$json = json_decode( $response['body'] );
|
62 |
-
}
|
63 |
-
}
|
64 |
-
|
65 |
-
if( is_wp_error( $response ) ){
|
66 |
-
wp_die( $response->get_error_message() );
|
67 |
-
}
|
68 |
-
|
69 |
-
if( ! empty( $json ) ){
|
70 |
-
|
71 |
-
remove_action('um_after_new_user_register', 'um_after_new_user_register', 10, 2);
|
72 |
-
|
73 |
-
$failed_dummies = 0;
|
74 |
-
$default_role = um_get_option("default_role");
|
75 |
-
|
76 |
-
foreach( $json->results as $dummy ){
|
77 |
-
|
78 |
-
if( isset( $_GET['password'] ) && ! empty( $_GET['password'] ) ){
|
79 |
-
$password = $_GET['password'];
|
80 |
-
}else{
|
81 |
-
$password = wp_generate_password( 8, false );
|
82 |
-
}
|
83 |
-
|
84 |
-
$site_url = @$_SERVER['SERVER_NAME'];
|
85 |
-
$random_generate = wp_generate_password( 4, false );
|
86 |
-
|
87 |
-
if( username_exists( $dummy->login->username ) ){
|
88 |
-
$dummy->login->username = $dummy->login->username.'_'. $random_generate;
|
89 |
-
}
|
90 |
-
|
91 |
-
$dummy->login->email = $dummy->login->username."_dummy@{$site_url}";
|
92 |
-
|
93 |
-
if( email_exists( $dummy->login->email ) ){
|
94 |
-
$dummy->login->email = $dummy->login->username."_dummy_{$random_generate}@{$site_url}";
|
95 |
-
}
|
96 |
-
|
97 |
-
$userdata = array(
|
98 |
-
'display_name' => ucfirst( $dummy->name->first )." ".ucfirst( $dummy->name->last ),
|
99 |
-
'first_name' => ucfirst( $dummy->name->first ),
|
100 |
-
'last_name' => ucfirst( $dummy->name->last ),
|
101 |
-
'user_email' => $dummy->login->email,
|
102 |
-
'user_login' => $dummy->login->username,
|
103 |
-
'user_pass' => $password,
|
104 |
-
);
|
105 |
-
|
106 |
-
$user_id = wp_insert_user( $userdata );
|
107 |
-
|
108 |
-
if( is_wp_error( $user_id ) ){
|
109 |
-
$failed_dummies++;
|
110 |
-
}
|
111 |
-
|
112 |
-
$usermeta = array(
|
113 |
-
'synced_profile_photo' => $dummy->picture->large,
|
114 |
-
'gender' => ucfirst($dummy->gender),
|
115 |
-
'birth_date' => date("Y/m/d", strtotime( $dummy->dob) ),
|
116 |
-
'_um_last_login' => date("Y/m/d", strtotime( $dummy->registered ) ),
|
117 |
-
'mobile_number' => $dummy->cell,
|
118 |
-
'phone_number' => $dummy->phone,
|
119 |
-
'synced_gravatar_hashed_id' => md5( strtolower( trim( $dummy->email ) ) ),
|
120 |
-
'account_status' => 'approved',
|
121 |
-
'_um_profile_dummy' => true,
|
122 |
-
'role' => isset( $default_role ) ? $default_role: 'member'
|
123 |
-
);
|
124 |
-
|
125 |
-
if( isset( $_GET['add_cover_photo'] ) && $_GET['add_cover_photo'] == 1 ){
|
126 |
-
|
127 |
-
$rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
|
128 |
-
$color = $rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];
|
129 |
-
|
130 |
-
$usermeta['synced_cover_photo'] = 'http://placehold.it/650x350/'.$color.'/'.$color;
|
131 |
-
|
132 |
-
}
|
133 |
-
|
134 |
-
foreach ( $usermeta as $key => $value ) {
|
135 |
-
update_user_meta( $user_id, $key, $value );
|
136 |
-
}
|
137 |
-
|
138 |
-
|
139 |
-
}
|
140 |
-
wp_redirect( admin_url("admin.php?page=generate_random_users") ); exit;
|
141 |
-
}
|
142 |
-
|
143 |
-
break;
|
144 |
-
|
145 |
-
case 'remove_random_users':
|
146 |
-
|
147 |
-
$dummies = new WP_User_Query(
|
148 |
-
array(
|
149 |
-
'fields' => array('ID'),
|
150 |
-
'meta_key' => '_um_profile_dummy',
|
151 |
-
'meta_value' => true,
|
152 |
-
'meta_compare' => '='
|
153 |
-
)
|
154 |
-
);
|
155 |
-
|
156 |
-
if( $dummies->total_users > 0 ){
|
157 |
-
foreach ( $dummies->get_results() as $dummy ) {
|
158 |
-
|
159 |
-
if( isset( $dummy->ID ) ){
|
160 |
-
wp_delete_user( $dummy->ID );
|
161 |
-
}
|
162 |
-
|
163 |
-
}
|
164 |
-
}
|
165 |
-
|
166 |
-
delete_option('um_generated_dumies');
|
167 |
-
wp_redirect( admin_url("admin.php?page=generate_random_users") );
|
168 |
-
exit;
|
169 |
-
|
170 |
-
break;
|
171 |
-
|
172 |
-
default:
|
173 |
-
|
174 |
-
break;
|
175 |
-
}
|
176 |
-
|
177 |
-
}
|
178 |
-
|
179 |
-
function admin_init() {
|
180 |
-
if ( isset( $_REQUEST['um-addon-hook'] ) ) {
|
181 |
-
$hook = $_REQUEST['um-addon-hook'];
|
182 |
-
do_action("um_admin_addon_hook", $hook );
|
183 |
-
}
|
184 |
-
}
|
185 |
-
|
186 |
-
function content() {
|
187 |
-
|
188 |
-
?>
|
189 |
-
|
190 |
-
<div class="wrap">
|
191 |
-
|
192 |
-
<h2>Ultimate Member <sup style="font-size:15px"><?php echo ultimatemember_version; ?></sup></h2>
|
193 |
-
|
194 |
-
<h3><?php echo $this->addon[0]; ?></h3>
|
195 |
-
|
196 |
-
<?php if ( isset( $this->content ) ) {
|
197 |
-
echo $this->content;
|
198 |
-
} else { ?>
|
199 |
-
|
200 |
-
<p>This tool allows you to add dummies as Ultimate Member users. </p>
|
201 |
-
<?php
|
202 |
-
$dummies = new WP_User_Query(
|
203 |
-
array(
|
204 |
-
'fields' => array('ID'),
|
205 |
-
'meta_key' => '_um_profile_dummy',
|
206 |
-
'meta_value' => true,
|
207 |
-
'meta_compare' => '='
|
208 |
-
)
|
209 |
-
);
|
210 |
-
?>
|
211 |
-
<?php if( $dummies->total_users > 0 ): ?>
|
212 |
-
<form method="get">
|
213 |
-
<p>
|
214 |
-
<input type="submit" class="button button-secondary" value="Remove Generated Dummies (<?php echo $dummies->total_users;?>)"/>
|
215 |
-
<input type="hidden" name="um-addon-hook" value="remove_random_users"/>
|
216 |
-
<input type="hidden" name="page" value="generate_random_users"/>
|
217 |
-
</form>
|
218 |
-
<br/>
|
219 |
-
<?php endif; ?>
|
220 |
-
<form method="get">
|
221 |
-
<label for="total_users">How many dummies? <br/><input type="text" name="total_users" value="30" /> <br/><br/>
|
222 |
-
<label for="gender">Gender:</label> <br/>
|
223 |
-
<label><input type='radio' name="gender" value="male"/> Male</label> <br/>
|
224 |
-
<label><input type='radio' name="gender" value="female"/> Female</label> <br/>
|
225 |
-
<label><input type='radio' checked="checked" name="gender" value="both"/> Both</label>
|
226 |
-
<br/><br/>
|
227 |
-
<label for="nationality">Available Nationalities:</label><br/>
|
228 |
-
<select style="width:150px" name="nationality[]" multiple>
|
229 |
-
<?php
|
230 |
-
$nationality = array( 'AU', 'BR', 'CA', 'CH', 'DE', 'DK', 'ES', 'FI', 'FR', 'GB', 'IE', 'IR', 'NL', 'NZ', 'TR', 'US' );
|
231 |
-
foreach ($nationality as $code ) {
|
232 |
-
$value = strtolower($code);
|
233 |
-
echo "<option value='".$value."'/> ".$code."</option>";
|
234 |
-
}
|
235 |
-
?>
|
236 |
-
</select>
|
237 |
-
<br/><br/>
|
238 |
-
<label for="add_cover_photo"><input type="checkbox" name="add_cover_photo" value="1" />
|
239 |
-
Add cover photos?</label>
|
240 |
-
<br/><small>Generates random colored cover photos</small>
|
241 |
-
<br/><br/>
|
242 |
-
<label for="password">
|
243 |
-
Account Passwords:
|
244 |
-
<input type="password" name="password" />
|
245 |
-
<br/><small>if you leave this blank, it will generate random strings password</small>
|
246 |
-
</label>
|
247 |
-
<br/>
|
248 |
-
<input type="submit" class="button button-primary" value="Start Generating Dummies"/>
|
249 |
-
<input type="hidden" name="um-addon-hook" value="generate_random_users"/>
|
250 |
-
|
251 |
-
<?php } ?>
|
252 |
-
</form>
|
253 |
-
|
254 |
-
</div><div class="clear"></div>
|
255 |
-
|
256 |
-
<?php
|
257 |
-
|
258 |
-
}
|
259 |
-
}
|
260 |
-
|
261 |
$UM_ADDON_generate_random_users = new UM_ADDON_generate_random_users ();
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class UM_ADDON_generate_random_users {
|
4 |
+
|
5 |
+
function __construct() {
|
6 |
+
|
7 |
+
add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
|
8 |
+
|
9 |
+
add_action('admin_init', array(&$this, 'admin_init'), 1);
|
10 |
+
|
11 |
+
add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
|
12 |
+
|
13 |
+
}
|
14 |
+
|
15 |
+
|
16 |
+
function admin_menu() {
|
17 |
+
|
18 |
+
global $ultimatemember;
|
19 |
+
$this->addon = $ultimatemember->addons['generate_random_users'];
|
20 |
+
add_submenu_page('ultimatemember', $this->addon[0], $this->addon[0], 'manage_options', 'generate_random_users', array(&$this, 'content') );
|
21 |
+
|
22 |
+
}
|
23 |
+
|
24 |
+
function um_admin_addon_hook( $hook ) {
|
25 |
+
global $ultimatemember;
|
26 |
+
|
27 |
+
switch ( $hook ) {
|
28 |
+
case 'generate_random_users':
|
29 |
+
$json_url = "https://randomuser.me/api/";
|
30 |
+
|
31 |
+
$arr_post_header = array( );
|
32 |
+
|
33 |
+
if( isset( $_GET['gender'] ) ){
|
34 |
+
$gender = $_GET['gender'];
|
35 |
+
if( $gender != 'both' ){
|
36 |
+
$json_url = add_query_arg('gender', $gender, $json_url );
|
37 |
+
$arr_post_header['gender'] = $gender;
|
38 |
+
}
|
39 |
+
}
|
40 |
+
|
41 |
+
if( isset( $_GET['nationality'] ) ){
|
42 |
+
$nationality = implode(",", $_GET['nationality']);
|
43 |
+
if( ! empty( $nationality ) ){
|
44 |
+
$json_url = add_query_arg('nat', $nationality, $json_url );
|
45 |
+
}
|
46 |
+
$arr_post_header['nat'] = $nationality;
|
47 |
+
}
|
48 |
+
|
49 |
+
if( isset( $_GET['total_users'] ) ){
|
50 |
+
$total_users = intval( $_GET['total_users'] );
|
51 |
+
$json_url = add_query_arg('results', $total_users, $json_url );
|
52 |
+
$arr_post_header['results'] = $total_users;
|
53 |
+
}
|
54 |
+
|
55 |
+
|
56 |
+
$response = wp_remote_get( $json_url, array('timeout' => 120 ) );
|
57 |
+
$json = '';
|
58 |
+
|
59 |
+
if( is_array($response) ) {
|
60 |
+
if( isset( $response['body'] ) && ! empty( $response['body'] ) ){
|
61 |
+
$json = json_decode( $response['body'] );
|
62 |
+
}
|
63 |
+
}
|
64 |
+
|
65 |
+
if( is_wp_error( $response ) ){
|
66 |
+
wp_die( $response->get_error_message() );
|
67 |
+
}
|
68 |
+
|
69 |
+
if( ! empty( $json ) ){
|
70 |
+
|
71 |
+
remove_action('um_after_new_user_register', 'um_after_new_user_register', 10, 2);
|
72 |
+
|
73 |
+
$failed_dummies = 0;
|
74 |
+
$default_role = um_get_option("default_role");
|
75 |
+
|
76 |
+
foreach( $json->results as $dummy ){
|
77 |
+
|
78 |
+
if( isset( $_GET['password'] ) && ! empty( $_GET['password'] ) ){
|
79 |
+
$password = $_GET['password'];
|
80 |
+
}else{
|
81 |
+
$password = wp_generate_password( 8, false );
|
82 |
+
}
|
83 |
+
|
84 |
+
$site_url = @$_SERVER['SERVER_NAME'];
|
85 |
+
$random_generate = wp_generate_password( 4, false );
|
86 |
+
|
87 |
+
if( username_exists( $dummy->login->username ) ){
|
88 |
+
$dummy->login->username = $dummy->login->username.'_'. $random_generate;
|
89 |
+
}
|
90 |
+
|
91 |
+
$dummy->login->email = $dummy->login->username."_dummy@{$site_url}";
|
92 |
+
|
93 |
+
if( email_exists( $dummy->login->email ) ){
|
94 |
+
$dummy->login->email = $dummy->login->username."_dummy_{$random_generate}@{$site_url}";
|
95 |
+
}
|
96 |
+
|
97 |
+
$userdata = array(
|
98 |
+
'display_name' => ucfirst( $dummy->name->first )." ".ucfirst( $dummy->name->last ),
|
99 |
+
'first_name' => ucfirst( $dummy->name->first ),
|
100 |
+
'last_name' => ucfirst( $dummy->name->last ),
|
101 |
+
'user_email' => $dummy->login->email,
|
102 |
+
'user_login' => $dummy->login->username,
|
103 |
+
'user_pass' => $password,
|
104 |
+
);
|
105 |
+
|
106 |
+
$user_id = wp_insert_user( $userdata );
|
107 |
+
|
108 |
+
if( is_wp_error( $user_id ) ){
|
109 |
+
$failed_dummies++;
|
110 |
+
}
|
111 |
+
|
112 |
+
$usermeta = array(
|
113 |
+
'synced_profile_photo' => $dummy->picture->large,
|
114 |
+
'gender' => ucfirst($dummy->gender),
|
115 |
+
'birth_date' => date("Y/m/d", strtotime( $dummy->dob) ),
|
116 |
+
'_um_last_login' => date("Y/m/d", strtotime( $dummy->registered ) ),
|
117 |
+
'mobile_number' => $dummy->cell,
|
118 |
+
'phone_number' => $dummy->phone,
|
119 |
+
'synced_gravatar_hashed_id' => md5( strtolower( trim( $dummy->email ) ) ),
|
120 |
+
'account_status' => 'approved',
|
121 |
+
'_um_profile_dummy' => true,
|
122 |
+
'role' => isset( $default_role ) ? $default_role: 'member'
|
123 |
+
);
|
124 |
+
|
125 |
+
if( isset( $_GET['add_cover_photo'] ) && $_GET['add_cover_photo'] == 1 ){
|
126 |
+
|
127 |
+
$rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
|
128 |
+
$color = $rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];
|
129 |
+
|
130 |
+
$usermeta['synced_cover_photo'] = 'http://placehold.it/650x350/'.$color.'/'.$color;
|
131 |
+
|
132 |
+
}
|
133 |
+
|
134 |
+
foreach ( $usermeta as $key => $value ) {
|
135 |
+
update_user_meta( $user_id, $key, $value );
|
136 |
+
}
|
137 |
+
|
138 |
+
|
139 |
+
}
|
140 |
+
wp_redirect( admin_url("admin.php?page=generate_random_users") ); exit;
|
141 |
+
}
|
142 |
+
|
143 |
+
break;
|
144 |
+
|
145 |
+
case 'remove_random_users':
|
146 |
+
|
147 |
+
$dummies = new WP_User_Query(
|
148 |
+
array(
|
149 |
+
'fields' => array('ID'),
|
150 |
+
'meta_key' => '_um_profile_dummy',
|
151 |
+
'meta_value' => true,
|
152 |
+
'meta_compare' => '='
|
153 |
+
)
|
154 |
+
);
|
155 |
+
|
156 |
+
if( $dummies->total_users > 0 ){
|
157 |
+
foreach ( $dummies->get_results() as $dummy ) {
|
158 |
+
|
159 |
+
if( isset( $dummy->ID ) ){
|
160 |
+
wp_delete_user( $dummy->ID );
|
161 |
+
}
|
162 |
+
|
163 |
+
}
|
164 |
+
}
|
165 |
+
|
166 |
+
delete_option('um_generated_dumies');
|
167 |
+
wp_redirect( admin_url("admin.php?page=generate_random_users") );
|
168 |
+
exit;
|
169 |
+
|
170 |
+
break;
|
171 |
+
|
172 |
+
default:
|
173 |
+
|
174 |
+
break;
|
175 |
+
}
|
176 |
+
|
177 |
+
}
|
178 |
+
|
179 |
+
function admin_init() {
|
180 |
+
if ( isset( $_REQUEST['um-addon-hook'] ) ) {
|
181 |
+
$hook = $_REQUEST['um-addon-hook'];
|
182 |
+
do_action("um_admin_addon_hook", $hook );
|
183 |
+
}
|
184 |
+
}
|
185 |
+
|
186 |
+
function content() {
|
187 |
+
|
188 |
+
?>
|
189 |
+
|
190 |
+
<div class="wrap">
|
191 |
+
|
192 |
+
<h2>Ultimate Member <sup style="font-size:15px"><?php echo ultimatemember_version; ?></sup></h2>
|
193 |
+
|
194 |
+
<h3><?php echo $this->addon[0]; ?></h3>
|
195 |
+
|
196 |
+
<?php if ( isset( $this->content ) ) {
|
197 |
+
echo $this->content;
|
198 |
+
} else { ?>
|
199 |
+
|
200 |
+
<p>This tool allows you to add dummies as Ultimate Member users. </p>
|
201 |
+
<?php
|
202 |
+
$dummies = new WP_User_Query(
|
203 |
+
array(
|
204 |
+
'fields' => array('ID'),
|
205 |
+
'meta_key' => '_um_profile_dummy',
|
206 |
+
'meta_value' => true,
|
207 |
+
'meta_compare' => '='
|
208 |
+
)
|
209 |
+
);
|
210 |
+
?>
|
211 |
+
<?php if( $dummies->total_users > 0 ): ?>
|
212 |
+
<form method="get">
|
213 |
+
<p>
|
214 |
+
<input type="submit" class="button button-secondary" value="Remove Generated Dummies (<?php echo $dummies->total_users;?>)"/>
|
215 |
+
<input type="hidden" name="um-addon-hook" value="remove_random_users"/>
|
216 |
+
<input type="hidden" name="page" value="generate_random_users"/>
|
217 |
+
</form>
|
218 |
+
<br/>
|
219 |
+
<?php endif; ?>
|
220 |
+
<form method="get">
|
221 |
+
<label for="total_users">How many dummies? <br/><input type="text" name="total_users" value="30" /> <br/><br/>
|
222 |
+
<label for="gender">Gender:</label> <br/>
|
223 |
+
<label><input type='radio' name="gender" value="male"/> Male</label> <br/>
|
224 |
+
<label><input type='radio' name="gender" value="female"/> Female</label> <br/>
|
225 |
+
<label><input type='radio' checked="checked" name="gender" value="both"/> Both</label>
|
226 |
+
<br/><br/>
|
227 |
+
<label for="nationality">Available Nationalities:</label><br/>
|
228 |
+
<select style="width:150px" name="nationality[]" multiple>
|
229 |
+
<?php
|
230 |
+
$nationality = array( 'AU', 'BR', 'CA', 'CH', 'DE', 'DK', 'ES', 'FI', 'FR', 'GB', 'IE', 'IR', 'NL', 'NZ', 'TR', 'US' );
|
231 |
+
foreach ($nationality as $code ) {
|
232 |
+
$value = strtolower($code);
|
233 |
+
echo "<option value='".$value."'/> ".$code."</option>";
|
234 |
+
}
|
235 |
+
?>
|
236 |
+
</select>
|
237 |
+
<br/><br/>
|
238 |
+
<label for="add_cover_photo"><input type="checkbox" name="add_cover_photo" value="1" />
|
239 |
+
Add cover photos?</label>
|
240 |
+
<br/><small>Generates random colored cover photos</small>
|
241 |
+
<br/><br/>
|
242 |
+
<label for="password">
|
243 |
+
Account Passwords:
|
244 |
+
<input type="password" name="password" />
|
245 |
+
<br/><small>if you leave this blank, it will generate random strings password</small>
|
246 |
+
</label>
|
247 |
+
<br/>
|
248 |
+
<input type="submit" class="button button-primary" value="Start Generating Dummies"/>
|
249 |
+
<input type="hidden" name="um-addon-hook" value="generate_random_users"/>
|
250 |
+
|
251 |
+
<?php } ?>
|
252 |
+
</form>
|
253 |
+
|
254 |
+
</div><div class="clear"></div>
|
255 |
+
|
256 |
+
<?php
|
257 |
+
|
258 |
+
}
|
259 |
+
}
|
260 |
+
|
261 |
$UM_ADDON_generate_random_users = new UM_ADDON_generate_random_users ();
|
addons/gravatar_transfer.php
CHANGED
@@ -1,83 +1,83 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class UM_ADDON_gravatar_transfer {
|
4 |
-
|
5 |
-
function __construct() {
|
6 |
-
|
7 |
-
add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
|
8 |
-
|
9 |
-
add_action('admin_init', array(&$this, 'admin_init'), 1);
|
10 |
-
|
11 |
-
add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
|
12 |
-
|
13 |
-
}
|
14 |
-
|
15 |
-
function gravatar_hash(){
|
16 |
-
global $wpdb;
|
17 |
-
$wpdb->query('DELETE FROM '.$wpdb->usermeta.' WHERE meta_key = "synced_gravatar_hashed_id" ');
|
18 |
-
|
19 |
-
$wpdb->query('INSERT INTO '.$wpdb->usermeta.'(user_id, meta_key, meta_value)
|
20 |
-
SELECT ID, "synced_gravatar_hashed_id", MD5( LOWER( TRIM(user_email) ) ) FROM '.$wpdb->users.' ');
|
21 |
-
|
22 |
-
return true;
|
23 |
-
}
|
24 |
-
|
25 |
-
function admin_menu() {
|
26 |
-
|
27 |
-
global $ultimatemember;
|
28 |
-
$this->addon = $ultimatemember->addons['gravatar_transfer'];
|
29 |
-
add_submenu_page('ultimatemember', $this->addon[0], $this->addon[0], 'manage_options', 'gravatar_transfer', array(&$this, 'content') );
|
30 |
-
|
31 |
-
}
|
32 |
-
|
33 |
-
function um_admin_addon_hook( $hook ) {
|
34 |
-
global $ultimatemember;
|
35 |
-
switch( $hook ) {
|
36 |
-
case 'gravatar_transfer':
|
37 |
-
if( $this->gravatar_hash() ){
|
38 |
-
$this->content = '<p><strong>Done. Process completed!</p>';
|
39 |
-
$result = count_users();
|
40 |
-
$this->content .= $result['total_users'] . ' user(s) changed.</strong></p>';
|
41 |
-
}
|
42 |
-
break;
|
43 |
-
}
|
44 |
-
}
|
45 |
-
|
46 |
-
function admin_init() {
|
47 |
-
if ( isset( $_REQUEST['um-addon-hook'] ) ) {
|
48 |
-
$hook = $_REQUEST['um-addon-hook'];
|
49 |
-
do_action("um_admin_addon_hook", $hook);
|
50 |
-
}
|
51 |
-
}
|
52 |
-
|
53 |
-
function content() {
|
54 |
-
|
55 |
-
$this->process_link = add_query_arg('um-addon-hook','gravatar_transfer');
|
56 |
-
|
57 |
-
?>
|
58 |
-
|
59 |
-
<div class="wrap">
|
60 |
-
|
61 |
-
<h2>Ultimate Member <sup style="font-size:15px"><?php echo ultimatemember_version; ?></sup></h2>
|
62 |
-
|
63 |
-
<h3><?php echo $this->addon[0]; ?></h3>
|
64 |
-
|
65 |
-
<?php if ( isset( $this->content ) ) {
|
66 |
-
echo $this->content;
|
67 |
-
} else { ?>
|
68 |
-
|
69 |
-
<p>This tool allows you to add gravatars to Ultimate Member users. This can help you to link gravatar photos to user accounts with their email address.</p>
|
70 |
-
<p>Depending on your users database, this could take a few moments. To start the process, click the following button.</p>
|
71 |
-
|
72 |
-
<p><a href="<?php echo $this->process_link; ?>" class="button button-primary">Start adding gravatars</a></p>
|
73 |
-
|
74 |
-
<?php } ?>
|
75 |
-
|
76 |
-
</div><div class="clear"></div>
|
77 |
-
|
78 |
-
<?php
|
79 |
-
|
80 |
-
}
|
81 |
-
}
|
82 |
-
|
83 |
$UM_ADDON_gravatar_transfer = new UM_ADDON_gravatar_transfer();
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class UM_ADDON_gravatar_transfer {
|
4 |
+
|
5 |
+
function __construct() {
|
6 |
+
|
7 |
+
add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
|
8 |
+
|
9 |
+
add_action('admin_init', array(&$this, 'admin_init'), 1);
|
10 |
+
|
11 |
+
add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
|
12 |
+
|
13 |
+
}
|
14 |
+
|
15 |
+
function gravatar_hash(){
|
16 |
+
global $wpdb;
|
17 |
+
$wpdb->query('DELETE FROM '.$wpdb->usermeta.' WHERE meta_key = "synced_gravatar_hashed_id" ');
|
18 |
+
|
19 |
+
$wpdb->query('INSERT INTO '.$wpdb->usermeta.'(user_id, meta_key, meta_value)
|
20 |
+
SELECT ID, "synced_gravatar_hashed_id", MD5( LOWER( TRIM(user_email) ) ) FROM '.$wpdb->users.' ');
|
21 |
+
|
22 |
+
return true;
|
23 |
+
}
|
24 |
+
|
25 |
+
function admin_menu() {
|
26 |
+
|
27 |
+
global $ultimatemember;
|
28 |
+
$this->addon = $ultimatemember->addons['gravatar_transfer'];
|
29 |
+
add_submenu_page('ultimatemember', $this->addon[0], $this->addon[0], 'manage_options', 'gravatar_transfer', array(&$this, 'content') );
|
30 |
+
|
31 |
+
}
|
32 |
+
|
33 |
+
function um_admin_addon_hook( $hook ) {
|
34 |
+
global $ultimatemember;
|
35 |
+
switch( $hook ) {
|
36 |
+
case 'gravatar_transfer':
|
37 |
+
if( $this->gravatar_hash() ){
|
38 |
+
$this->content = '<p><strong>Done. Process completed!</p>';
|
39 |
+
$result = count_users();
|
40 |
+
$this->content .= $result['total_users'] . ' user(s) changed.</strong></p>';
|
41 |
+
}
|
42 |
+
break;
|
43 |
+
}
|
44 |
+
}
|
45 |
+
|
46 |
+
function admin_init() {
|
47 |
+
if ( isset( $_REQUEST['um-addon-hook'] ) ) {
|
48 |
+
$hook = $_REQUEST['um-addon-hook'];
|
49 |
+
do_action("um_admin_addon_hook", $hook);
|
50 |
+
}
|
51 |
+
}
|
52 |
+
|
53 |
+
function content() {
|
54 |
+
|
55 |
+
$this->process_link = add_query_arg('um-addon-hook','gravatar_transfer');
|
56 |
+
|
57 |
+
?>
|
58 |
+
|
59 |
+
<div class="wrap">
|
60 |
+
|
61 |
+
<h2>Ultimate Member <sup style="font-size:15px"><?php echo ultimatemember_version; ?></sup></h2>
|
62 |
+
|
63 |
+
<h3><?php echo $this->addon[0]; ?></h3>
|
64 |
+
|
65 |
+
<?php if ( isset( $this->content ) ) {
|
66 |
+
echo $this->content;
|
67 |
+
} else { ?>
|
68 |
+
|
69 |
+
<p>This tool allows you to add gravatars to Ultimate Member users. This can help you to link gravatar photos to user accounts with their email address.</p>
|
70 |
+
<p>Depending on your users database, this could take a few moments. To start the process, click the following button.</p>
|
71 |
+
|
72 |
+
<p><a href="<?php echo $this->process_link; ?>" class="button button-primary">Start adding gravatars</a></p>
|
73 |
+
|
74 |
+
<?php } ?>
|
75 |
+
|
76 |
+
</div><div class="clear"></div>
|
77 |
+
|
78 |
+
<?php
|
79 |
+
|
80 |
+
}
|
81 |
+
}
|
82 |
+
|
83 |
$UM_ADDON_gravatar_transfer = new UM_ADDON_gravatar_transfer();
|
addons/system_info.php
CHANGED
@@ -1,411 +1,411 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class UM_ADDON_system_info {
|
4 |
-
|
5 |
-
function __construct() {
|
6 |
-
|
7 |
-
add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
|
8 |
-
|
9 |
-
add_action('admin_init', array(&$this, 'admin_init'), 1);
|
10 |
-
|
11 |
-
add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
|
12 |
-
|
13 |
-
}
|
14 |
-
|
15 |
-
|
16 |
-
function admin_menu() {
|
17 |
-
|
18 |
-
global $ultimatemember;
|
19 |
-
$this->addon = $ultimatemember->addons['system_info'];
|
20 |
-
add_submenu_page('ultimatemember', "System Info","System Info", 'manage_options', 'um_system_info', array(&$this, 'content') );
|
21 |
-
|
22 |
-
}
|
23 |
-
|
24 |
-
function um_admin_addon_hook( $hook ) {
|
25 |
-
global $ultimatemember;
|
26 |
-
|
27 |
-
switch ( $hook ) {
|
28 |
-
|
29 |
-
case 'download_system_info':
|
30 |
-
|
31 |
-
nocache_headers();
|
32 |
-
|
33 |
-
header( "Content-type: text/plain" );
|
34 |
-
header( 'Content-Disposition: attachment; filename="ultimatemember-system-info.txt"' );
|
35 |
-
|
36 |
-
echo wp_strip_all_tags( $_POST['um-sysinfo'] );
|
37 |
-
exit;
|
38 |
-
|
39 |
-
break;
|
40 |
-
|
41 |
-
default:
|
42 |
-
|
43 |
-
break;
|
44 |
-
}
|
45 |
-
|
46 |
-
}
|
47 |
-
|
48 |
-
function admin_init() {
|
49 |
-
if ( isset( $_REQUEST['um-addon-hook'] ) ) {
|
50 |
-
$hook = $_REQUEST['um-addon-hook'];
|
51 |
-
do_action("um_admin_addon_hook", $hook );
|
52 |
-
}
|
53 |
-
}
|
54 |
-
|
55 |
-
function content() {
|
56 |
-
global $wpdb, $ultimatemember;
|
57 |
-
|
58 |
-
if( !class_exists( 'Browser' ) )
|
59 |
-
require_once um_path . 'core/lib/browser.php';
|
60 |
-
|
61 |
-
// Detect browser
|
62 |
-
$browser = new Browser();
|
63 |
-
|
64 |
-
// Get theme info
|
65 |
-
$theme_data = wp_get_theme();
|
66 |
-
$theme = $theme_data->Name . ' ' . $theme_data->Version;
|
67 |
-
|
68 |
-
// Identify Hosting Provider
|
69 |
-
$host = um_get_host();
|
70 |
-
|
71 |
-
?>
|
72 |
-
|
73 |
-
<div class="wrap">
|
74 |
-
|
75 |
-
<h2>Ultimate Member</h2>
|
76 |
-
|
77 |
-
<h3><?php echo $this->addon[0]; ?></h3>
|
78 |
-
|
79 |
-
<?php if ( isset( $this->content ) ) {
|
80 |
-
echo $this->content;
|
81 |
-
} else { ?>
|
82 |
-
|
83 |
-
<form action="<?php echo esc_url( admin_url( 'admin.php?page=um_system_info' ) ); ?>" method="post" dir="ltr">
|
84 |
-
<textarea style="width:100%; height:400px;" readonly="readonly" onclick="this.focus();this.select()" id="system-info-textarea" name="um-sysinfo" title="<?php _e( 'To copy the system info, click below then press Ctrl + C (PC) or Cmd + C (Mac).', 'edd' ); ?>">
|
85 |
-
### Begin System Info ###
|
86 |
-
|
87 |
-
## Please include this information when posting support requests ##
|
88 |
-
|
89 |
-
<?php do_action( 'um_system_info_before' ); ?>
|
90 |
-
|
91 |
-
--- Site Info ---
|
92 |
-
|
93 |
-
Site URL: <?php echo site_url() . "\n"; ?>
|
94 |
-
Home URL: <?php echo home_url() . "\n"; ?>
|
95 |
-
Multisite: <?php echo is_multisite() ? 'Yes' . "\n" : 'No' . "\n" ?>
|
96 |
-
|
97 |
-
--- Hosting Provider ---
|
98 |
-
|
99 |
-
<?php if( $host ) : ?>
|
100 |
-
Host: <?php echo $host . "\n"; ?>
|
101 |
-
<?php endif; ?>
|
102 |
-
|
103 |
-
--- User Browser ---
|
104 |
-
|
105 |
-
<?php echo $browser ; ?>
|
106 |
-
|
107 |
-
--- WordPress Configurations ---
|
108 |
-
|
109 |
-
Version: <?php echo get_bloginfo( 'version' ) . "\n"; ?>
|
110 |
-
Language: <?php echo get_locale()."\n"; ?>
|
111 |
-
Permalink Structure: <?php echo get_option( 'permalink_structure' ) . "\n"; ?>
|
112 |
-
Active Theme: <?php echo $theme . "\n"; ?>
|
113 |
-
<?php $show_on_front = get_option( 'show_on_front' ); ?>
|
114 |
-
<?php if( $show_on_front == "posts" ): ?>
|
115 |
-
Show On Front: <?php echo get_option( 'show_on_front' ) . "/static\n" ?>
|
116 |
-
<?php elseif( $show_on_front == "page" ): ?>
|
117 |
-
Page On Front: <?php $id = get_option( 'page_on_front' ); echo get_the_title( $id ) . ' (#' . $id . ')' . "\n" ?>
|
118 |
-
Page For Posts: <?php $id = get_option( 'page_for_posts' ); echo get_the_title( $id ) . ' (#' . $id . ')' . "\n" ?>
|
119 |
-
<?php endif; ?>
|
120 |
-
ABSPATH: <?php echo ABSPATH."\n"; ?>
|
121 |
-
<?php $wp_count_posts = wp_count_posts(); ?>
|
122 |
-
All Posts/Pages: <?php echo array_sum((array)$wp_count_posts)."\n";?>
|
123 |
-
<?php
|
124 |
-
$request['cmd'] = '_notify-validate';
|
125 |
-
|
126 |
-
$params = array(
|
127 |
-
'sslverify' => false,
|
128 |
-
'timeout' => 60,
|
129 |
-
'user-agent' => 'UltimateMember/' . ultimatemember_version,
|
130 |
-
'body' => $request
|
131 |
-
);
|
132 |
-
|
133 |
-
$response = wp_remote_post( 'https://www.paypal.com/cgi-bin/webscr', $params );
|
134 |
-
|
135 |
-
if ( ! is_wp_error( $response ) && $response['response']['code'] >= 200 && $response['response']['code'] < 300 ) {
|
136 |
-
$WP_REMOTE_POST = 'wp_remote_post() works' . "\n";
|
137 |
-
} else {
|
138 |
-
$WP_REMOTE_POST = 'wp_remote_post() does not work' . "\n";
|
139 |
-
}
|
140 |
-
?>
|
141 |
-
WP Remote Post: <?php echo $WP_REMOTE_POST; ?>
|
142 |
-
WP_DEBUG: <?php echo defined( 'WP_DEBUG' ) ? WP_DEBUG ? 'Enabled' . "\n" : 'Disabled' . "\n" : 'Not set' . "\n" ?>
|
143 |
-
WP Table Prefix: <?php echo "Length: ". strlen( $wpdb->prefix ); echo ", Status:"; if ( strlen( $wpdb->prefix )>16 ) {echo " ERROR: Too Long";} else {echo " Acceptable";} echo "\n"; ?>
|
144 |
-
Memory Limit: <?php echo ( um_let_to_num( WP_MEMORY_LIMIT )/( 1024 ) )."MB"; ?><?php echo "\n"; ?>
|
145 |
-
|
146 |
-
--- UM Configurations ---
|
147 |
-
|
148 |
-
Version: <?php echo ultimatemember_version . "\n"; ?>
|
149 |
-
Upgraded From: <?php echo get_option( 'um_version_upgraded_from', 'None' ) . "\n"; ?>
|
150 |
-
Current URL Method: <?php echo um_get_option( 'current_url_method' ). "\n"; ?>
|
151 |
-
Cache User Profile: <?php if( um_get_option( 'um_profile_object_cache_stop' ) == 1 ){ echo "No"; }else{ echo "Yes"; } echo "\n"; ?>
|
152 |
-
Generate Slugs on Directories: <?php if( um_get_option( 'um_generate_slug_in_directory' ) == 1 ){ echo "No"; }else{ echo "Yes"; } echo "\n"; ?>
|
153 |
-
Rewrite Rules: <?php if( um_get_option( 'um_flush_stop' ) == 1 ){ echo "No"; }else{ echo "Yes"; } echo "\n"; ?>
|
154 |
-
Force UTF-8 Encoding: <?php if( um_get_option( 'um_force_utf8_strings' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
155 |
-
Time Check Security: <?php if( um_get_option( 'enable_timebot' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
156 |
-
JS/CSS Compression: <?php if( um_get_option( 'disable_minify' ) == 0 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
157 |
-
<?php if( is_multisite() ): ?>
|
158 |
-
Network Structure: <?php echo um_get_option( 'network_permalink_structure' ). "\n"; ?>
|
159 |
-
<?php endif; ?>
|
160 |
-
Nav Menu Settings: <?php if( um_get_option( 'disable_menu' ) == 0 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
161 |
-
Port Forwarding in URL: <?php if( um_get_option( 'um_port_forwarding_url' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
162 |
-
Exclude CSS/JS on Home: <?php if( um_get_option( 'js_css_exlcude_home' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
163 |
-
|
164 |
-
--- UM Pages Configuration ---
|
165 |
-
|
166 |
-
<?php do_action("um_system_info_before_page_config") ?>
|
167 |
-
User: <?php echo get_permalink( um_get_option('core_user') ) . "\n"; ?>
|
168 |
-
Account: <?php echo get_permalink( um_get_option('core_account') ) . "\n"; ?>
|
169 |
-
Members: <?php echo get_permalink( um_get_option('core_members') ) . "\n"; ?>
|
170 |
-
Register: <?php echo get_permalink( um_get_option('core_register') ) . "\n"; ?>
|
171 |
-
Login: <?php echo get_permalink( um_get_option('core_login') ) . "\n"; ?>
|
172 |
-
Logout: <?php echo get_permalink( um_get_option('core_logout') ) . "\n"; ?>
|
173 |
-
Password Reset: <?php echo get_permalink( um_get_option('core_password-reset') ) . "\n"; ?>
|
174 |
-
<?php do_action("um_system_info_after_page_config") ?>
|
175 |
-
|
176 |
-
-- UM Users Configuration ---
|
177 |
-
|
178 |
-
Default New User Role: <?php echo um_get_option('default_role') . "\n"; ?>
|
179 |
-
Profile Permalink Base: <?php echo um_get_option('permalink_base') . "\n"; ?>
|
180 |
-
User Display Name: <?php echo um_get_option('display_name') . "\n"; ?>
|
181 |
-
Force Name to Uppercase: <?php echo $this->value( um_get_option('force_display_name_capitlized'), 'yesno', true ); ?>
|
182 |
-
Redirect author to profile: <?php echo $this->value( um_get_option('author_redirect'), 'yesno', true ); ?>
|
183 |
-
Enable Members Directory: <?php echo $this->value( um_get_option('members_page'), 'yesno', true ); ?>
|
184 |
-
Use Gravatars: <?php echo $this->value( um_get_option('use_gravatars'), 'yesno', true ); ?>
|
185 |
-
<?php if( um_get_option('use_gravatars') ): ?>Gravatar builtin image: <?php echo um_get_option('use_um_gravatar_default_builtin_image') . "\n"; ?>
|
186 |
-
UM Avatar as blank Gravatar: <?php echo $this->value( um_get_option('use_um_gravatar_default_image'), 'yesno', true ); ?><?php endif; ?>
|
187 |
-
Require a strong password: <?php echo $this->value( um_get_option('reset_require_strongpass'), 'onoff', true ); ?>
|
188 |
-
Editable primary email field in profile view: <?php echo $this->value( um_get_option('editable_primary_email_in_profile'), 'onoff', true ); ?>
|
189 |
-
|
190 |
-
-- UM Access Configuration ---
|
191 |
-
|
192 |
-
Panic Key: <?php echo um_get_option('panic_key') . "\n"; ?>
|
193 |
-
Global Site Access: <?php $arr = array('Site accessible to Everyone','','Site accessible to Logged In Users'); echo $arr[ intval( um_get_option('accessible') ) ] . "\n"; ?>
|
194 |
-
<?php if( um_get_option('accessible') == 2 ):?>
|
195 |
-
Custom Redirect URL: <?php echo um_get_option('access_redirect')."\n";?>
|
196 |
-
Exclude the following URLs:<?php echo "\t\t\t\t".implode("\t\n\t\t\t\t\t\t\t\t\t\t",um_get_option('access_exclude_uris') )."\n";?><?php endif;?>
|
197 |
-
Backend Login Screen for Guests: <?php echo $this->value( um_get_option('wpadmin_login'), 'yesno', true ); ?>
|
198 |
-
<?php if( ! um_get_option('wpadmin_login') ):?>Redirect to alternative login page: <?php if( um_get_option('wpadmin_login_redirect') == 'um_login_page' ){ echo um_get_core_page('login')."\n"; }else{ echo um_get_option('wpadmin_login_redirect_url')."\n"; }?><?php endif; ?>
|
199 |
-
Backend Register Screen for Guests: <?php echo $this->value( um_get_option('wpadmin_register'), 'yesno', true ); ?>
|
200 |
-
<?php if( ! um_get_option('wpadmin_register') ):?>Redirect to alternative register page: <?php if( um_get_option('wpadmin_register_redirect') == 'um_register_page' ){ echo um_get_core_page('register')."\n"; }else{ echo um_get_option('wpadmin_register_redirect_url')."\n"; }?><?php endif; ?>
|
201 |
-
Access Control widget for Admins only: <?php echo $this->value( um_get_option('access_widget_admin_only'), 'yesno', true ); ?>
|
202 |
-
Enable the Reset Password Limit: <?php echo $this->value( um_get_option('enable_reset_password_limit'), 'yesno', true ); ?>
|
203 |
-
<?php if( um_get_option('enable_reset_password_limit') ) {
|
204 |
-
echo "Reset Password Limit:\t\t\t\t\t\t".um_get_option('reset_password_limit_number')."\n";
|
205 |
-
echo "Disable Reset Password Limit for Admins:\t".$this->value( um_get_option('disable_admin_reset_password_limit'), 'yesno', true );
|
206 |
-
} ?>
|
207 |
-
<?php $wpadmin_allow_ips = um_get_option('wpadmin_allow_ips'); if( ! empty( $wpadmin_allow_ips ) ){ ?>
|
208 |
-
Whitelisted Backend IPs: <?php echo count( explode("\n",trim(um_get_option('wpadmin_allow_ips') ) ) )."\n"; ?>
|
209 |
-
<?php }?>
|
210 |
-
<?php $blocked_ips = um_get_option('blocked_ips'); if( ! empty( $blocked_ips ) ){ ?>
|
211 |
-
Blocked IP Addresses: <?php echo count( explode("\n",um_get_option('blocked_ips') ) )."\n"; ?>
|
212 |
-
<?php }?>
|
213 |
-
<?php $blocked_emails = um_get_option('blocked_emails'); if( ! empty( $blocked_emails ) ){ ?>
|
214 |
-
Blocked Email Addresses: <?php echo count( explode("\n",um_get_option('blocked_emails') ) )."\n"; ?>
|
215 |
-
<?php }?>
|
216 |
-
<?php $blocked_words = um_get_option('blocked_words'); if( ! empty( $blocked_words ) ){ ?>
|
217 |
-
Blacklist Words: <?php echo count( explode("\n",um_get_option('blocked_words') ) )."\n"; ?>
|
218 |
-
<?php }?>
|
219 |
-
|
220 |
-
|
221 |
-
--- UM Email Configurations --
|
222 |
-
|
223 |
-
Mail appears from: <?php $mail_from = um_get_option('mail_from'); if( ! empty( $mail_from ) ){echo um_get_option('mail_from');}else{echo "-";}; echo "\n";?>
|
224 |
-
Mail appears from address: <?php $mail_from_addr = um_get_option('mail_from_addr'); if( ! empty( $mail_from_addr ) ){echo um_get_option('mail_from_addr');}else{echo "-";}; echo "\n";?>
|
225 |
-
Use HTML for E-mails: <?php echo $this->value( um_get_option('email_html'), 'yesno', true ); ?>
|
226 |
-
Account Welcome Email: <?php echo $this->value( um_get_option('welcome_email_on'), 'yesno', true ); ?>
|
227 |
-
Account Activation Email: <?php echo $this->value( um_get_option('checkmail_email_on'), 'yesno', true ); ?>
|
228 |
-
Pending Review Email: <?php echo $this->value( um_get_option('pending_email_on'), 'yesno', true ); ?>
|
229 |
-
Account Approved Email: <?php echo $this->value( um_get_option('approved_email_on'), 'yesno', true ); ?>
|
230 |
-
Account Rejected Email: <?php echo $this->value( um_get_option('rejected_email_on'), 'yesno', true ); ?>
|
231 |
-
Account Deactivated Email: <?php echo $this->value( um_get_option('inactive_email_on'), 'yesno', true ); ?>
|
232 |
-
Account Deleted Email: <?php echo $this->value( um_get_option('deletion_email_on'), 'yesno', true ); ?>
|
233 |
-
Password Reset Email: <?php echo $this->value( um_get_option('resetpw_email_on'), 'yesno', true ); ?>
|
234 |
-
Password Changed Email: <?php echo $this->value( um_get_option('changedpw_email_on'), 'yesno', true ); ?>
|
235 |
-
|
236 |
-
|
237 |
-
--- UM Total Users ---
|
238 |
-
|
239 |
-
<?php
|
240 |
-
|
241 |
-
$result = count_users();
|
242 |
-
echo 'All Users('.$result['total_users'].")\n";
|
243 |
-
foreach($result['avail_roles'] as $role => $count){
|
244 |
-
echo $role."(".$count.")\n";
|
245 |
-
}
|
246 |
-
?>
|
247 |
-
|
248 |
-
|
249 |
-
--- UM Roles ---
|
250 |
-
|
251 |
-
<?php
|
252 |
-
|
253 |
-
foreach( $ultimatemember->query->get_roles() as $role_id => $role ) {
|
254 |
-
echo $role." ({$role_id})\n";
|
255 |
-
}
|
256 |
-
|
257 |
-
?>
|
258 |
-
|
259 |
-
|
260 |
-
--- UM Custom Templates ---
|
261 |
-
|
262 |
-
<?php
|
263 |
-
// Show templates that have been copied to the theme's edd_templates dir
|
264 |
-
|
265 |
-
$dir = get_stylesheet_directory() . '/ultimate-member/templates/*.php';
|
266 |
-
if ( ! empty( $dir ) ){
|
267 |
-
$found = glob( $dir );
|
268 |
-
if( ! empty( $found ) ){
|
269 |
-
foreach ( glob( $dir ) as $file ) {
|
270 |
-
echo "File: " . $file . "\n";
|
271 |
-
}
|
272 |
-
}else {
|
273 |
-
echo 'N/A'."\n";
|
274 |
-
}
|
275 |
-
}
|
276 |
-
echo "\n\n";
|
277 |
-
|
278 |
-
$dir = get_stylesheet_directory() . '/ultimate-member/templates/emails/*.html';
|
279 |
-
echo "-- UM Email HTML Templates -- \n\n";
|
280 |
-
|
281 |
-
if ( ! empty( $dir ) ){
|
282 |
-
$found = glob( $dir );
|
283 |
-
if( ! empty( $found ) ){
|
284 |
-
foreach ( glob( $dir ) as $file ) {
|
285 |
-
echo "File: ". $file . "\n";
|
286 |
-
}
|
287 |
-
}else {
|
288 |
-
echo 'N/A'."\n";
|
289 |
-
}
|
290 |
-
}
|
291 |
-
|
292 |
-
?>
|
293 |
-
|
294 |
-
--- Web Server Configurations ---
|
295 |
-
|
296 |
-
PHP Version: <?php echo PHP_VERSION . "\n"; ?>
|
297 |
-
MySQL Version: <?php echo $wpdb->db_version() . "\n"; ?>
|
298 |
-
Web Server Info: <?php echo $_SERVER['SERVER_SOFTWARE'] . "\n"; ?>
|
299 |
-
|
300 |
-
--- PHP Configurations --
|
301 |
-
|
302 |
-
PHP Safe Mode: <?php echo $this->value( ini_get( 'safe_mode' ), 'yesno', true ); ?>
|
303 |
-
PHP Memory Limit: <?php echo ini_get( 'memory_limit' ) . "\n"; ?>
|
304 |
-
PHP Upload Max Size: <?php echo ini_get( 'upload_max_filesize' ) . "\n"; ?>
|
305 |
-
PHP Post Max Size: <?php echo ini_get( 'post_max_size' ) . "\n"; ?>
|
306 |
-
PHP Upload Max Filesize: <?php echo ini_get( 'upload_max_filesize' ) . "\n"; ?>
|
307 |
-
PHP Time Limit: <?php echo ini_get( 'max_execution_time' ) . "\n"; ?>
|
308 |
-
PHP Max Input Vars: <?php echo ini_get( 'max_input_vars' ) . "\n"; ?>
|
309 |
-
PHP Arg Separator: <?php echo ini_get( 'arg_separator.output' ) . "\n"; ?>
|
310 |
-
PHP Allow URL File Open: <?php echo ini_get( 'allow_url_fopen' ) ? "Yes\n" : "No\n"; ?>
|
311 |
-
|
312 |
-
|
313 |
-
--- Web Server Extensions/Modules ---
|
314 |
-
|
315 |
-
DISPLAY ERRORS: <?php echo ( ini_get( 'display_errors' ) ) ? 'On (' . ini_get( 'display_errors' ) . ')' : 'N/A'; ?><?php echo "\n"; ?>
|
316 |
-
FSOCKOPEN: <?php echo ( function_exists( 'fsockopen' ) ) ? 'Your server supports fsockopen.' : 'Your server does not support fsockopen.'; ?><?php echo "\n"; ?>
|
317 |
-
cURL: <?php echo ( function_exists( 'curl_init' ) ) ? 'Your server supports cURL.' : 'Your server does not support cURL.'; ?><?php echo "\n"; ?>
|
318 |
-
SOAP Client: <?php echo ( class_exists( 'SoapClient' ) ) ? 'Your server has the SOAP Client enabled.' : 'Your server does not have the SOAP Client enabled.'; ?><?php echo "\n"; ?>
|
319 |
-
SUHOSIN: <?php echo ( extension_loaded( 'suhosin' ) ) ? 'Your server has SUHOSIN installed.' : 'Your server does not have SUHOSIN installed.'; ?><?php echo "\n"; ?>
|
320 |
-
|
321 |
-
|
322 |
-
--- Session Configurations ---
|
323 |
-
|
324 |
-
Session: <?php echo isset( $_SESSION ) ? 'Enabled' : 'Disabled'; ?><?php echo "\n"; ?>
|
325 |
-
Session Name: <?php echo esc_html( ini_get( 'session.name' ) ); ?><?php echo "\n"; ?>
|
326 |
-
Cookie Path: <?php echo esc_html( ini_get( 'session.cookie_path' ) ); ?><?php echo "\n"; ?>
|
327 |
-
Save Path: <?php echo esc_html( ini_get( 'session.save_path' ) ); ?><?php echo "\n"; ?>
|
328 |
-
Use Cookies: <?php echo ini_get( 'session.use_cookies' ) ? 'On' : 'Off'; ?><?php echo "\n"; ?>
|
329 |
-
Use Only Cookies: <?php echo ini_get( 'session.use_only_cookies' ) ? 'On' : 'Off'; ?><?php echo "\n"; ?>
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
--- WordPress Active Plugins ---
|
334 |
-
|
335 |
-
<?php
|
336 |
-
$plugins = get_plugins();
|
337 |
-
$active_plugins = get_option( 'active_plugins', array() );
|
338 |
-
|
339 |
-
foreach ( $plugins as $plugin_path => $plugin ) {
|
340 |
-
// If the plugin isn't active, don't show it.
|
341 |
-
if ( ! in_array( $plugin_path, $active_plugins ) )
|
342 |
-
continue;
|
343 |
-
|
344 |
-
echo $plugin['Name'] . ': ' . $plugin['Version'] ."\n";
|
345 |
-
}
|
346 |
-
|
347 |
-
if ( is_multisite() ) :
|
348 |
-
?>
|
349 |
-
|
350 |
-
--- WordPress Network Active Plugins ---
|
351 |
-
|
352 |
-
<?php
|
353 |
-
$plugins = wp_get_active_network_plugins();
|
354 |
-
$active_plugins = get_site_option( 'active_sitewide_plugins', array() );
|
355 |
-
|
356 |
-
foreach ( $plugins as $plugin_path ) {
|
357 |
-
$plugin_base = plugin_basename( $plugin_path );
|
358 |
-
|
359 |
-
// If the plugin isn't active, don't show it.
|
360 |
-
if ( ! array_key_exists( $plugin_base, $active_plugins ) )
|
361 |
-
continue;
|
362 |
-
|
363 |
-
$plugin = get_plugin_data( $plugin_path );
|
364 |
-
|
365 |
-
echo $plugin['Name'] . ' :' . $plugin['Version'] ."\n";
|
366 |
-
}
|
367 |
-
|
368 |
-
endif;
|
369 |
-
?>
|
370 |
-
<?php
|
371 |
-
do_action( 'um_system_info_after' );
|
372 |
-
?>
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
### End System Info ###</textarea>
|
378 |
-
<p class="submit">
|
379 |
-
<input type="hidden" name="um-addon-hook" value="download_system_info" />
|
380 |
-
<?php submit_button( 'Download System Info File', 'primary', 'download_system_info', false ); ?>
|
381 |
-
</p>
|
382 |
-
</form>
|
383 |
-
|
384 |
-
<?php } ?>
|
385 |
-
|
386 |
-
<?php
|
387 |
-
|
388 |
-
}
|
389 |
-
|
390 |
-
function value( $raw_value = '', $type = 'yesno', $default = '', $default_negate = '' ){
|
391 |
-
|
392 |
-
if( $type == 'yesno' ){
|
393 |
-
if( $default == $raw_value ){
|
394 |
-
$raw_value = "Yes";
|
395 |
-
}else{
|
396 |
-
$raw_value = "No";
|
397 |
-
}
|
398 |
-
}else if( $type == 'onoff' ){
|
399 |
-
if( $default == $raw_value ){
|
400 |
-
$raw_value = "On";
|
401 |
-
}else{
|
402 |
-
$raw_value = "Off";
|
403 |
-
}
|
404 |
-
}
|
405 |
-
|
406 |
-
return $raw_value."\n";
|
407 |
-
}
|
408 |
-
|
409 |
-
}
|
410 |
-
|
411 |
$UM_ADDON_system_info = new UM_ADDON_system_info();
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class UM_ADDON_system_info {
|
4 |
+
|
5 |
+
function __construct() {
|
6 |
+
|
7 |
+
add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
|
8 |
+
|
9 |
+
add_action('admin_init', array(&$this, 'admin_init'), 1);
|
10 |
+
|
11 |
+
add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
|
12 |
+
|
13 |
+
}
|
14 |
+
|
15 |
+
|
16 |
+
function admin_menu() {
|
17 |
+
|
18 |
+
global $ultimatemember;
|
19 |
+
$this->addon = $ultimatemember->addons['system_info'];
|
20 |
+
add_submenu_page('ultimatemember', "System Info","System Info", 'manage_options', 'um_system_info', array(&$this, 'content') );
|
21 |
+
|
22 |
+
}
|
23 |
+
|
24 |
+
function um_admin_addon_hook( $hook ) {
|
25 |
+
global $ultimatemember;
|
26 |
+
|
27 |
+
switch ( $hook ) {
|
28 |
+
|
29 |
+
case 'download_system_info':
|
30 |
+
|
31 |
+
nocache_headers();
|
32 |
+
|
33 |
+
header( "Content-type: text/plain" );
|
34 |
+
header( 'Content-Disposition: attachment; filename="ultimatemember-system-info.txt"' );
|
35 |
+
|
36 |
+
echo wp_strip_all_tags( $_POST['um-sysinfo'] );
|
37 |
+
exit;
|
38 |
+
|
39 |
+
break;
|
40 |
+
|
41 |
+
default:
|
42 |
+
|
43 |
+
break;
|
44 |
+
}
|
45 |
+
|
46 |
+
}
|
47 |
+
|
48 |
+
function admin_init() {
|
49 |
+
if ( isset( $_REQUEST['um-addon-hook'] ) ) {
|
50 |
+
$hook = $_REQUEST['um-addon-hook'];
|
51 |
+
do_action("um_admin_addon_hook", $hook );
|
52 |
+
}
|
53 |
+
}
|
54 |
+
|
55 |
+
function content() {
|
56 |
+
global $wpdb, $ultimatemember;
|
57 |
+
|
58 |
+
if( !class_exists( 'Browser' ) )
|
59 |
+
require_once um_path . 'core/lib/browser.php';
|
60 |
+
|
61 |
+
// Detect browser
|
62 |
+
$browser = new Browser();
|
63 |
+
|
64 |
+
// Get theme info
|
65 |
+
$theme_data = wp_get_theme();
|
66 |
+
$theme = $theme_data->Name . ' ' . $theme_data->Version;
|
67 |
+
|
68 |
+
// Identify Hosting Provider
|
69 |
+
$host = um_get_host();
|
70 |
+
|
71 |
+
?>
|
72 |
+
|
73 |
+
<div class="wrap">
|
74 |
+
|
75 |
+
<h2>Ultimate Member</h2>
|
76 |
+
|
77 |
+
<h3><?php echo $this->addon[0]; ?></h3>
|
78 |
+
|
79 |
+
<?php if ( isset( $this->content ) ) {
|
80 |
+
echo $this->content;
|
81 |
+
} else { ?>
|
82 |
+
|
83 |
+
<form action="<?php echo esc_url( admin_url( 'admin.php?page=um_system_info' ) ); ?>" method="post" dir="ltr">
|
84 |
+
<textarea style="width:100%; height:400px;" readonly="readonly" onclick="this.focus();this.select()" id="system-info-textarea" name="um-sysinfo" title="<?php _e( 'To copy the system info, click below then press Ctrl + C (PC) or Cmd + C (Mac).', 'edd' ); ?>">
|
85 |
+
### Begin System Info ###
|
86 |
+
|
87 |
+
## Please include this information when posting support requests ##
|
88 |
+
|
89 |
+
<?php do_action( 'um_system_info_before' ); ?>
|
90 |
+
|
91 |
+
--- Site Info ---
|
92 |
+
|
93 |
+
Site URL: <?php echo site_url() . "\n"; ?>
|
94 |
+
Home URL: <?php echo home_url() . "\n"; ?>
|
95 |
+
Multisite: <?php echo is_multisite() ? 'Yes' . "\n" : 'No' . "\n" ?>
|
96 |
+
|
97 |
+
--- Hosting Provider ---
|
98 |
+
|
99 |
+
<?php if( $host ) : ?>
|
100 |
+
Host: <?php echo $host . "\n"; ?>
|
101 |
+
<?php endif; ?>
|
102 |
+
|
103 |
+
--- User Browser ---
|
104 |
+
|
105 |
+
<?php echo $browser ; ?>
|
106 |
+
|
107 |
+
--- WordPress Configurations ---
|
108 |
+
|
109 |
+
Version: <?php echo get_bloginfo( 'version' ) . "\n"; ?>
|
110 |
+
Language: <?php echo get_locale()."\n"; ?>
|
111 |
+
Permalink Structure: <?php echo get_option( 'permalink_structure' ) . "\n"; ?>
|
112 |
+
Active Theme: <?php echo $theme . "\n"; ?>
|
113 |
+
<?php $show_on_front = get_option( 'show_on_front' ); ?>
|
114 |
+
<?php if( $show_on_front == "posts" ): ?>
|
115 |
+
Show On Front: <?php echo get_option( 'show_on_front' ) . "/static\n" ?>
|
116 |
+
<?php elseif( $show_on_front == "page" ): ?>
|
117 |
+
Page On Front: <?php $id = get_option( 'page_on_front' ); echo get_the_title( $id ) . ' (#' . $id . ')' . "\n" ?>
|
118 |
+
Page For Posts: <?php $id = get_option( 'page_for_posts' ); echo get_the_title( $id ) . ' (#' . $id . ')' . "\n" ?>
|
119 |
+
<?php endif; ?>
|
120 |
+
ABSPATH: <?php echo ABSPATH."\n"; ?>
|
121 |
+
<?php $wp_count_posts = wp_count_posts(); ?>
|
122 |
+
All Posts/Pages: <?php echo array_sum((array)$wp_count_posts)."\n";?>
|
123 |
+
<?php
|
124 |
+
$request['cmd'] = '_notify-validate';
|
125 |
+
|
126 |
+
$params = array(
|
127 |
+
'sslverify' => false,
|
128 |
+
'timeout' => 60,
|
129 |
+
'user-agent' => 'UltimateMember/' . ultimatemember_version,
|
130 |
+
'body' => $request
|
131 |
+
);
|
132 |
+
|
133 |
+
$response = wp_remote_post( 'https://www.paypal.com/cgi-bin/webscr', $params );
|
134 |
+
|
135 |
+
if ( ! is_wp_error( $response ) && $response['response']['code'] >= 200 && $response['response']['code'] < 300 ) {
|
136 |
+
$WP_REMOTE_POST = 'wp_remote_post() works' . "\n";
|
137 |
+
} else {
|
138 |
+
$WP_REMOTE_POST = 'wp_remote_post() does not work' . "\n";
|
139 |
+
}
|
140 |
+
?>
|
141 |
+
WP Remote Post: <?php echo $WP_REMOTE_POST; ?>
|
142 |
+
WP_DEBUG: <?php echo defined( 'WP_DEBUG' ) ? WP_DEBUG ? 'Enabled' . "\n" : 'Disabled' . "\n" : 'Not set' . "\n" ?>
|
143 |
+
WP Table Prefix: <?php echo "Length: ". strlen( $wpdb->prefix ); echo ", Status:"; if ( strlen( $wpdb->prefix )>16 ) {echo " ERROR: Too Long";} else {echo " Acceptable";} echo "\n"; ?>
|
144 |
+
Memory Limit: <?php echo ( um_let_to_num( WP_MEMORY_LIMIT )/( 1024 ) )."MB"; ?><?php echo "\n"; ?>
|
145 |
+
|
146 |
+
--- UM Configurations ---
|
147 |
+
|
148 |
+
Version: <?php echo ultimatemember_version . "\n"; ?>
|
149 |
+
Upgraded From: <?php echo get_option( 'um_version_upgraded_from', 'None' ) . "\n"; ?>
|
150 |
+
Current URL Method: <?php echo um_get_option( 'current_url_method' ). "\n"; ?>
|
151 |
+
Cache User Profile: <?php if( um_get_option( 'um_profile_object_cache_stop' ) == 1 ){ echo "No"; }else{ echo "Yes"; } echo "\n"; ?>
|
152 |
+
Generate Slugs on Directories: <?php if( um_get_option( 'um_generate_slug_in_directory' ) == 1 ){ echo "No"; }else{ echo "Yes"; } echo "\n"; ?>
|
153 |
+
Rewrite Rules: <?php if( um_get_option( 'um_flush_stop' ) == 1 ){ echo "No"; }else{ echo "Yes"; } echo "\n"; ?>
|
154 |
+
Force UTF-8 Encoding: <?php if( um_get_option( 'um_force_utf8_strings' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
155 |
+
Time Check Security: <?php if( um_get_option( 'enable_timebot' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
156 |
+
JS/CSS Compression: <?php if( um_get_option( 'disable_minify' ) == 0 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
157 |
+
<?php if( is_multisite() ): ?>
|
158 |
+
Network Structure: <?php echo um_get_option( 'network_permalink_structure' ). "\n"; ?>
|
159 |
+
<?php endif; ?>
|
160 |
+
Nav Menu Settings: <?php if( um_get_option( 'disable_menu' ) == 0 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
161 |
+
Port Forwarding in URL: <?php if( um_get_option( 'um_port_forwarding_url' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
162 |
+
Exclude CSS/JS on Home: <?php if( um_get_option( 'js_css_exlcude_home' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
|
163 |
+
|
164 |
+
--- UM Pages Configuration ---
|
165 |
+
|
166 |
+
<?php do_action("um_system_info_before_page_config") ?>
|
167 |
+
User: <?php echo get_permalink( um_get_option('core_user') ) . "\n"; ?>
|
168 |
+
Account: <?php echo get_permalink( um_get_option('core_account') ) . "\n"; ?>
|
169 |
+
Members: <?php echo get_permalink( um_get_option('core_members') ) . "\n"; ?>
|
170 |
+
Register: <?php echo get_permalink( um_get_option('core_register') ) . "\n"; ?>
|
171 |
+
Login: <?php echo get_permalink( um_get_option('core_login') ) . "\n"; ?>
|
172 |
+
Logout: <?php echo get_permalink( um_get_option('core_logout') ) . "\n"; ?>
|
173 |
+
Password Reset: <?php echo get_permalink( um_get_option('core_password-reset') ) . "\n"; ?>
|
174 |
+
<?php do_action("um_system_info_after_page_config") ?>
|
175 |
+
|
176 |
+
-- UM Users Configuration ---
|
177 |
+
|
178 |
+
Default New User Role: <?php echo um_get_option('default_role') . "\n"; ?>
|
179 |
+
Profile Permalink Base: <?php echo um_get_option('permalink_base') . "\n"; ?>
|
180 |
+
User Display Name: <?php echo um_get_option('display_name') . "\n"; ?>
|
181 |
+
Force Name to Uppercase: <?php echo $this->value( um_get_option('force_display_name_capitlized'), 'yesno', true ); ?>
|
182 |
+
Redirect author to profile: <?php echo $this->value( um_get_option('author_redirect'), 'yesno', true ); ?>
|
183 |
+
Enable Members Directory: <?php echo $this->value( um_get_option('members_page'), 'yesno', true ); ?>
|
184 |
+
Use Gravatars: <?php echo $this->value( um_get_option('use_gravatars'), 'yesno', true ); ?>
|
185 |
+
<?php if( um_get_option('use_gravatars') ): ?>Gravatar builtin image: <?php echo um_get_option('use_um_gravatar_default_builtin_image') . "\n"; ?>
|
186 |
+
UM Avatar as blank Gravatar: <?php echo $this->value( um_get_option('use_um_gravatar_default_image'), 'yesno', true ); ?><?php endif; ?>
|
187 |
+
Require a strong password: <?php echo $this->value( um_get_option('reset_require_strongpass'), 'onoff', true ); ?>
|
188 |
+
Editable primary email field in profile view: <?php echo $this->value( um_get_option('editable_primary_email_in_profile'), 'onoff', true ); ?>
|
189 |
+
|
190 |
+
-- UM Access Configuration ---
|
191 |
+
|
192 |
+
Panic Key: <?php echo um_get_option('panic_key') . "\n"; ?>
|
193 |
+
Global Site Access: <?php $arr = array('Site accessible to Everyone','','Site accessible to Logged In Users'); echo $arr[ intval( um_get_option('accessible') ) ] . "\n"; ?>
|
194 |
+
<?php if( um_get_option('accessible') == 2 ):?>
|
195 |
+
Custom Redirect URL: <?php echo um_get_option('access_redirect')."\n";?>
|
196 |
+
Exclude the following URLs:<?php echo "\t\t\t\t".implode("\t\n\t\t\t\t\t\t\t\t\t\t",um_get_option('access_exclude_uris') )."\n";?><?php endif;?>
|
197 |
+
Backend Login Screen for Guests: <?php echo $this->value( um_get_option('wpadmin_login'), 'yesno', true ); ?>
|
198 |
+
<?php if( ! um_get_option('wpadmin_login') ):?>Redirect to alternative login page: <?php if( um_get_option('wpadmin_login_redirect') == 'um_login_page' ){ echo um_get_core_page('login')."\n"; }else{ echo um_get_option('wpadmin_login_redirect_url')."\n"; }?><?php endif; ?>
|
199 |
+
Backend Register Screen for Guests: <?php echo $this->value( um_get_option('wpadmin_register'), 'yesno', true ); ?>
|
200 |
+
<?php if( ! um_get_option('wpadmin_register') ):?>Redirect to alternative register page: <?php if( um_get_option('wpadmin_register_redirect') == 'um_register_page' ){ echo um_get_core_page('register')."\n"; }else{ echo um_get_option('wpadmin_register_redirect_url')."\n"; }?><?php endif; ?>
|
201 |
+
Access Control widget for Admins only: <?php echo $this->value( um_get_option('access_widget_admin_only'), 'yesno', true ); ?>
|
202 |
+
Enable the Reset Password Limit: <?php echo $this->value( um_get_option('enable_reset_password_limit'), 'yesno', true ); ?>
|
203 |
+
<?php if( um_get_option('enable_reset_password_limit') ) {
|
204 |
+
echo "Reset Password Limit:\t\t\t\t\t\t".um_get_option('reset_password_limit_number')."\n";
|
205 |
+
echo "Disable Reset Password Limit for Admins:\t".$this->value( um_get_option('disable_admin_reset_password_limit'), 'yesno', true );
|
206 |
+
} ?>
|
207 |
+
<?php $wpadmin_allow_ips = um_get_option('wpadmin_allow_ips'); if( ! empty( $wpadmin_allow_ips ) ){ ?>
|
208 |
+
Whitelisted Backend IPs: <?php echo count( explode("\n",trim(um_get_option('wpadmin_allow_ips') ) ) )."\n"; ?>
|
209 |
+
<?php }?>
|
210 |
+
<?php $blocked_ips = um_get_option('blocked_ips'); if( ! empty( $blocked_ips ) ){ ?>
|
211 |
+
Blocked IP Addresses: <?php echo count( explode("\n",um_get_option('blocked_ips') ) )."\n"; ?>
|
212 |
+
<?php }?>
|
213 |
+
<?php $blocked_emails = um_get_option('blocked_emails'); if( ! empty( $blocked_emails ) ){ ?>
|
214 |
+
Blocked Email Addresses: <?php echo count( explode("\n",um_get_option('blocked_emails') ) )."\n"; ?>
|
215 |
+
<?php }?>
|
216 |
+
<?php $blocked_words = um_get_option('blocked_words'); if( ! empty( $blocked_words ) ){ ?>
|
217 |
+
Blacklist Words: <?php echo count( explode("\n",um_get_option('blocked_words') ) )."\n"; ?>
|
218 |
+
<?php }?>
|
219 |
+
|
220 |
+
|
221 |
+
--- UM Email Configurations --
|
222 |
+
|
223 |
+
Mail appears from: <?php $mail_from = um_get_option('mail_from'); if( ! empty( $mail_from ) ){echo um_get_option('mail_from');}else{echo "-";}; echo "\n";?>
|
224 |
+
Mail appears from address: <?php $mail_from_addr = um_get_option('mail_from_addr'); if( ! empty( $mail_from_addr ) ){echo um_get_option('mail_from_addr');}else{echo "-";}; echo "\n";?>
|
225 |
+
Use HTML for E-mails: <?php echo $this->value( um_get_option('email_html'), 'yesno', true ); ?>
|
226 |
+
Account Welcome Email: <?php echo $this->value( um_get_option('welcome_email_on'), 'yesno', true ); ?>
|
227 |
+
Account Activation Email: <?php echo $this->value( um_get_option('checkmail_email_on'), 'yesno', true ); ?>
|
228 |
+
Pending Review Email: <?php echo $this->value( um_get_option('pending_email_on'), 'yesno', true ); ?>
|
229 |
+
Account Approved Email: <?php echo $this->value( um_get_option('approved_email_on'), 'yesno', true ); ?>
|
230 |
+
Account Rejected Email: <?php echo $this->value( um_get_option('rejected_email_on'), 'yesno', true ); ?>
|
231 |
+
Account Deactivated Email: <?php echo $this->value( um_get_option('inactive_email_on'), 'yesno', true ); ?>
|
232 |
+
Account Deleted Email: <?php echo $this->value( um_get_option('deletion_email_on'), 'yesno', true ); ?>
|
233 |
+
Password Reset Email: <?php echo $this->value( um_get_option('resetpw_email_on'), 'yesno', true ); ?>
|
234 |
+
Password Changed Email: <?php echo $this->value( um_get_option('changedpw_email_on'), 'yesno', true ); ?>
|
235 |
+
|
236 |
+
|
237 |
+
--- UM Total Users ---
|
238 |
+
|
239 |
+
<?php
|
240 |
+
|
241 |
+
$result = count_users();
|
242 |
+
echo 'All Users('.$result['total_users'].")\n";
|
243 |
+
foreach($result['avail_roles'] as $role => $count){
|
244 |
+
echo $role."(".$count.")\n";
|
245 |
+
}
|
246 |
+
?>
|
247 |
+
|
248 |
+
|
249 |
+
--- UM Roles ---
|
250 |
+
|
251 |
+
<?php
|
252 |
+
|
253 |
+
foreach( $ultimatemember->query->get_roles() as $role_id => $role ) {
|
254 |
+
echo $role." ({$role_id})\n";
|
255 |
+
}
|
256 |
+
|
257 |
+
?>
|
258 |
+
|
259 |
+
|
260 |
+
--- UM Custom Templates ---
|
261 |
+
|
262 |
+
<?php
|
263 |
+
// Show templates that have been copied to the theme's edd_templates dir
|
264 |
+
|
265 |
+
$dir = get_stylesheet_directory() . '/ultimate-member/templates/*.php';
|
266 |
+
if ( ! empty( $dir ) ){
|
267 |
+
$found = glob( $dir );
|
268 |
+
if( ! empty( $found ) ){
|
269 |
+
foreach ( glob( $dir ) as $file ) {
|
270 |
+
echo "File: " . $file . "\n";
|
271 |
+
}
|
272 |
+
}else {
|
273 |
+
echo 'N/A'."\n";
|
274 |
+
}
|
275 |
+
}
|
276 |
+
echo "\n\n";
|
277 |
+
|
278 |
+
$dir = get_stylesheet_directory() . '/ultimate-member/templates/emails/*.html';
|
279 |
+
echo "-- UM Email HTML Templates -- \n\n";
|
280 |
+
|
281 |
+
if ( ! empty( $dir ) ){
|
282 |
+
$found = glob( $dir );
|
283 |
+
if( ! empty( $found ) ){
|
284 |
+
foreach ( glob( $dir ) as $file ) {
|
285 |
+
echo "File: ". $file . "\n";
|
286 |
+
}
|
287 |
+
}else {
|
288 |
+
echo 'N/A'."\n";
|
289 |
+
}
|
290 |
+
}
|
291 |
+
|
292 |
+
?>
|
293 |
+
|
294 |
+
--- Web Server Configurations ---
|
295 |
+
|
296 |
+
PHP Version: <?php echo PHP_VERSION . "\n"; ?>
|
297 |
+
MySQL Version: <?php echo $wpdb->db_version() . "\n"; ?>
|
298 |
+
Web Server Info: <?php echo $_SERVER['SERVER_SOFTWARE'] . "\n"; ?>
|
299 |
+
|
300 |
+
--- PHP Configurations --
|
301 |
+
|
302 |
+
PHP Safe Mode: <?php echo $this->value( ini_get( 'safe_mode' ), 'yesno', true ); ?>
|
303 |
+
PHP Memory Limit: <?php echo ini_get( 'memory_limit' ) . "\n"; ?>
|
304 |
+
PHP Upload Max Size: <?php echo ini_get( 'upload_max_filesize' ) . "\n"; ?>
|
305 |
+
PHP Post Max Size: <?php echo ini_get( 'post_max_size' ) . "\n"; ?>
|
306 |
+
PHP Upload Max Filesize: <?php echo ini_get( 'upload_max_filesize' ) . "\n"; ?>
|
307 |
+
PHP Time Limit: <?php echo ini_get( 'max_execution_time' ) . "\n"; ?>
|
308 |
+
PHP Max Input Vars: <?php echo ini_get( 'max_input_vars' ) . "\n"; ?>
|
309 |
+
PHP Arg Separator: <?php echo ini_get( 'arg_separator.output' ) . "\n"; ?>
|
310 |
+
PHP Allow URL File Open: <?php echo ini_get( 'allow_url_fopen' ) ? "Yes\n" : "No\n"; ?>
|
311 |
+
|
312 |
+
|
313 |
+
--- Web Server Extensions/Modules ---
|
314 |
+
|
315 |
+
DISPLAY ERRORS: <?php echo ( ini_get( 'display_errors' ) ) ? 'On (' . ini_get( 'display_errors' ) . ')' : 'N/A'; ?><?php echo "\n"; ?>
|
316 |
+
FSOCKOPEN: <?php echo ( function_exists( 'fsockopen' ) ) ? 'Your server supports fsockopen.' : 'Your server does not support fsockopen.'; ?><?php echo "\n"; ?>
|
317 |
+
cURL: <?php echo ( function_exists( 'curl_init' ) ) ? 'Your server supports cURL.' : 'Your server does not support cURL.'; ?><?php echo "\n"; ?>
|
318 |
+
SOAP Client: <?php echo ( class_exists( 'SoapClient' ) ) ? 'Your server has the SOAP Client enabled.' : 'Your server does not have the SOAP Client enabled.'; ?><?php echo "\n"; ?>
|
319 |
+
SUHOSIN: <?php echo ( extension_loaded( 'suhosin' ) ) ? 'Your server has SUHOSIN installed.' : 'Your server does not have SUHOSIN installed.'; ?><?php echo "\n"; ?>
|
320 |
+
|
321 |
+
|
322 |
+
--- Session Configurations ---
|
323 |
+
|
324 |
+
Session: <?php echo isset( $_SESSION ) ? 'Enabled' : 'Disabled'; ?><?php echo "\n"; ?>
|
325 |
+
Session Name: <?php echo esc_html( ini_get( 'session.name' ) ); ?><?php echo "\n"; ?>
|
326 |
+
Cookie Path: <?php echo esc_html( ini_get( 'session.cookie_path' ) ); ?><?php echo "\n"; ?>
|
327 |
+
Save Path: <?php echo esc_html( ini_get( 'session.save_path' ) ); ?><?php echo "\n"; ?>
|
328 |
+
Use Cookies: <?php echo ini_get( 'session.use_cookies' ) ? 'On' : 'Off'; ?><?php echo "\n"; ?>
|
329 |
+
Use Only Cookies: <?php echo ini_get( 'session.use_only_cookies' ) ? 'On' : 'Off'; ?><?php echo "\n"; ?>
|
330 |
+
|
331 |
+
|
332 |
+
|
333 |
+
--- WordPress Active Plugins ---
|
334 |
+
|
335 |
+
<?php
|
336 |
+
$plugins = get_plugins();
|
337 |
+
$active_plugins = get_option( 'active_plugins', array() );
|
338 |
+
|
339 |
+
foreach ( $plugins as $plugin_path => $plugin ) {
|
340 |
+
// If the plugin isn't active, don't show it.
|
341 |
+
if ( ! in_array( $plugin_path, $active_plugins ) )
|
342 |
+
continue;
|
343 |
+
|
344 |
+
echo $plugin['Name'] . ': ' . $plugin['Version'] ."\n";
|
345 |
+
}
|
346 |
+
|
347 |
+
if ( is_multisite() ) :
|
348 |
+
?>
|
349 |
+
|
350 |
+
--- WordPress Network Active Plugins ---
|
351 |
+
|
352 |
+
<?php
|
353 |
+
$plugins = wp_get_active_network_plugins();
|
354 |
+
$active_plugins = get_site_option( 'active_sitewide_plugins', array() );
|
355 |
+
|
356 |
+
foreach ( $plugins as $plugin_path ) {
|
357 |
+
$plugin_base = plugin_basename( $plugin_path );
|
358 |
+
|
359 |
+
// If the plugin isn't active, don't show it.
|
360 |
+
if ( ! array_key_exists( $plugin_base, $active_plugins ) )
|
361 |
+
continue;
|
362 |
+
|
363 |
+
$plugin = get_plugin_data( $plugin_path );
|
364 |
+
|
365 |
+
echo $plugin['Name'] . ' :' . $plugin['Version'] ."\n";
|
366 |
+
}
|
367 |
+
|
368 |
+
endif;
|
369 |
+
?>
|
370 |
+
<?php
|
371 |
+
do_action( 'um_system_info_after' );
|
372 |
+
?>
|
373 |
+
|
374 |
+
|
375 |
+
|
376 |
+
|
377 |
+
### End System Info ###</textarea>
|
378 |
+
<p class="submit">
|
379 |
+
<input type="hidden" name="um-addon-hook" value="download_system_info" />
|
380 |
+
<?php submit_button( 'Download System Info File', 'primary', 'download_system_info', false ); ?>
|
381 |
+
</p>
|
382 |
+
</form>
|
383 |
+
|
384 |
+
<?php } ?>
|
385 |
+
|
386 |
+
<?php
|
387 |
+
|
388 |
+
}
|
389 |
+
|
390 |
+
function value( $raw_value = '', $type = 'yesno', $default = '', $default_negate = '' ){
|
391 |
+
|
392 |
+
if( $type == 'yesno' ){
|
393 |
+
if( $default == $raw_value ){
|
394 |
+
$raw_value = "Yes";
|
395 |
+
}else{
|
396 |
+
$raw_value = "No";
|
397 |
+
}
|
398 |
+
}else if( $type == 'onoff' ){
|
399 |
+
if( $default == $raw_value ){
|
400 |
+
$raw_value = "On";
|
401 |
+
}else{
|
402 |
+
$raw_value = "Off";
|
403 |
+
}
|
404 |
+
}
|
405 |
+
|
406 |
+
return $raw_value."\n";
|
407 |
+
}
|
408 |
+
|
409 |
+
}
|
410 |
+
|
411 |
$UM_ADDON_system_info = new UM_ADDON_system_info();
|
admin/assets/css/um-admin-builder.css
CHANGED
@@ -1,302 +1,302 @@
|
|
1 |
-
/*
|
2 |
-
- General
|
3 |
-
*/
|
4 |
-
|
5 |
-
.um-admin-builder * {
|
6 |
-
-webkit-font-smoothing: antialiased !important;
|
7 |
-
-moz-osx-font-smoothing: grayscale;
|
8 |
-
}
|
9 |
-
|
10 |
-
.um-admin-builder i {
|
11 |
-
font-size: 15px !important;
|
12 |
-
height: 100% !important;
|
13 |
-
line-height: 100% !important;
|
14 |
-
margin: 0 5px 0 0 !important;
|
15 |
-
}
|
16 |
-
|
17 |
-
.um-admin-builder .um-admin-drag {margin-top: 40px}
|
18 |
-
|
19 |
-
/*
|
20 |
-
- Add field
|
21 |
-
*/
|
22 |
-
.um-admin-drag-add-field {
|
23 |
-
display: block;
|
24 |
-
width: 100%;
|
25 |
-
height: 30px;
|
26 |
-
line-height: 30px;
|
27 |
-
text-align: center;
|
28 |
-
color: #aaa;
|
29 |
-
text-decoration: none;
|
30 |
-
}
|
31 |
-
|
32 |
-
.um-admin-drag-add-field:hover {color: #3ba1da}
|
33 |
-
|
34 |
-
.um-admin-drag-add-field i {
|
35 |
-
font-size: 23px !important;
|
36 |
-
margin: 0 !important;
|
37 |
-
}
|
38 |
-
|
39 |
-
/*
|
40 |
-
- Drag controls
|
41 |
-
*/
|
42 |
-
|
43 |
-
.um-admin-drag-ctrls-demo.um-admin-drag-ctrls {
|
44 |
-
position: absolute;
|
45 |
-
right: 7px;
|
46 |
-
top: -30px;
|
47 |
-
left: auto;
|
48 |
-
}
|
49 |
-
|
50 |
-
.um-admin-drag-ctrls {
|
51 |
-
position: absolute;
|
52 |
-
top: -30px;
|
53 |
-
left: 0;
|
54 |
-
}
|
55 |
-
|
56 |
-
.um-admin-drag-ctrls a {
|
57 |
-
float: left;
|
58 |
-
margin: 0 5px 0 0;
|
59 |
-
height: 30px;
|
60 |
-
line-height: 30px;
|
61 |
-
background: #eee;
|
62 |
-
color: #888;
|
63 |
-
padding: 0 8px;
|
64 |
-
text-decoration: none;
|
65 |
-
border-radius: 2px 2px 0 0;
|
66 |
-
}
|
67 |
-
|
68 |
-
.um-admin-drag-ctrls a:hover {background-color: #e5e5e5}
|
69 |
-
|
70 |
-
.um-admin-drag-ctrls a.active,
|
71 |
-
.um-admin-drag-ctrls a.active:hover {
|
72 |
-
background-color: #3ba1da;
|
73 |
-
color: #fff;
|
74 |
-
}
|
75 |
-
|
76 |
-
.um-admin-drag-ctrls.columns a {width: 30px !important;background-image: url(../img/1-column.gif); background-repeat: no-repeat; background-position: center;}
|
77 |
-
.um-admin-drag-ctrls.columns a:nth-child(2) {background-image: url(../img/2-columns.gif);}
|
78 |
-
.um-admin-drag-ctrls.columns a:last-child {background-image: url(../img/3-columns.gif);}
|
79 |
-
|
80 |
-
.um-admin-drag-ctrls.columns a.active {background-image: url(../img/1-column-active.gif)}
|
81 |
-
.um-admin-drag-ctrls.columns a.active:nth-child(2) {background-image: url(../img/2-columns-active.gif);}
|
82 |
-
.um-admin-drag-ctrls.columns a.active:last-child {background-image: url(../img/3-columns-active.gif);}
|
83 |
-
|
84 |
-
/*
|
85 |
-
- Drag Area
|
86 |
-
*/
|
87 |
-
|
88 |
-
.um-admin-drag {
|
89 |
-
width: 100%;
|
90 |
-
background: #f1f1f1;
|
91 |
-
box-sizing: border-box;
|
92 |
-
position: relative;
|
93 |
-
padding: 60px 20px 20px 20px;
|
94 |
-
}
|
95 |
-
|
96 |
-
.um-admin-drag-row {
|
97 |
-
width: 100%;
|
98 |
-
background: #fefefe;
|
99 |
-
box-sizing: border-box;
|
100 |
-
position: relative;
|
101 |
-
padding: 60px 20px 20px 20px;
|
102 |
-
margin: 0 0 60px 0;
|
103 |
-
}
|
104 |
-
.um-admin-drag-row:last-child {margin-bottom: 0}
|
105 |
-
|
106 |
-
.um-admin-drag-row-icons {
|
107 |
-
position: absolute;
|
108 |
-
right: 0;
|
109 |
-
top: -30px;
|
110 |
-
height: 30px;
|
111 |
-
}
|
112 |
-
|
113 |
-
.um-admin-drag-rowsub {
|
114 |
-
position: relative;
|
115 |
-
box-sizing: border-box;
|
116 |
-
background: #f1f1f1;
|
117 |
-
padding: 20px;
|
118 |
-
margin: 0 0 60px 0;
|
119 |
-
}
|
120 |
-
.um-admin-drag-rowsub:last-child {margin-bottom: 0}
|
121 |
-
|
122 |
-
.um-admin-drag-rowsub-icons {
|
123 |
-
position: absolute;
|
124 |
-
right: 0;
|
125 |
-
top: -30px;
|
126 |
-
height: 30px;
|
127 |
-
}
|
128 |
-
|
129 |
-
.um-admin-drag-col {
|
130 |
-
float: left;
|
131 |
-
width: 100%;
|
132 |
-
background: #fff;
|
133 |
-
border: 1px dashed #bbb;
|
134 |
-
box-sizing: border-box;
|
135 |
-
padding: 20px;
|
136 |
-
}
|
137 |
-
|
138 |
-
.um-admin-drag-col.cols-3 {width: 32%;}
|
139 |
-
.um-admin-drag-col.cols-3.cols-last {width: 32%;}
|
140 |
-
.um-admin-drag-col.cols-3.cols-middle {width: 32%;margin: 0 2%;}
|
141 |
-
|
142 |
-
.um-admin-drag-col.cols-1 {width: 100%;}
|
143 |
-
.um-admin-drag-col.cols-1.cols-last {width: 100%;}
|
144 |
-
.um-admin-drag-col.cols-1.cols-middle {}
|
145 |
-
|
146 |
-
.um-admin-drag-col.cols-2 {width: 49%;margin: 0 1% 0 0}
|
147 |
-
.um-admin-drag-col.cols-2.cols-last {width: 49%;margin: 0 0 0 1%;}
|
148 |
-
.um-admin-drag-col.cols-2.cols-middle {}
|
149 |
-
|
150 |
-
.um-admin-drag-addrow {
|
151 |
-
text-align: center;
|
152 |
-
font-size: 14px;
|
153 |
-
color: #888;
|
154 |
-
cursor: pointer;
|
155 |
-
border: 1px dashed #bbb;
|
156 |
-
padding: 10px 0;
|
157 |
-
margin: 20px 0 0 0;
|
158 |
-
}
|
159 |
-
.um-admin-drag-addrow i {
|
160 |
-
font-size: 23px !important;
|
161 |
-
margin: 0 !important;
|
162 |
-
}
|
163 |
-
.um-admin-drag-addrow:hover {color: #3ba1da}
|
164 |
-
|
165 |
-
/*
|
166 |
-
- Fields
|
167 |
-
*/
|
168 |
-
|
169 |
-
.um-admin-drag-fld {
|
170 |
-
display: block;
|
171 |
-
position: relative;
|
172 |
-
border: 1px solid #dddddd;
|
173 |
-
margin: 0 0 15px 0;
|
174 |
-
background: #F5F5F5;
|
175 |
-
cursor: move !important;
|
176 |
-
}
|
177 |
-
|
178 |
-
.um-admin-drag-fld-title i {
|
179 |
-
width: 24px;
|
180 |
-
display: inline-block;
|
181 |
-
text-align: center;
|
182 |
-
}
|
183 |
-
|
184 |
-
.um-admin-drag-fld.um-field-type-group {background: #555;border: 0}
|
185 |
-
.um-admin-drag-fld-title.um-field-type-group,.um-admin-drag-fld-type.um-field-type-group {color: #fff}
|
186 |
-
.um-admin-drag-group {background: #FCFCFC;cursor: default;padding: 20px;border: 1px dashed #bbb;}
|
187 |
-
.um-admin-drag-col.cols-3 .um-admin-drag-fld-icons.um-field-type-group{float: left;position: relative;bottom: auto;right: auto;height: 30px;display: block;}
|
188 |
-
.um-admin-drag-fld-icons.um-field-type-group a.um_admin_duplicate_field {display: none !important}
|
189 |
-
|
190 |
-
.um-admin-drag-fld-title,
|
191 |
-
.um-admin-drag-fld-type {
|
192 |
-
float: left;
|
193 |
-
font-weight: bold;
|
194 |
-
font-size: 13px;
|
195 |
-
color: #666;
|
196 |
-
height: 30px;
|
197 |
-
line-height: 30px;
|
198 |
-
margin: 0 0 0 20px;
|
199 |
-
}
|
200 |
-
|
201 |
-
.um-admin-drag-fld-type {
|
202 |
-
font-weight: 400;
|
203 |
-
color: #999;
|
204 |
-
}
|
205 |
-
|
206 |
-
.um-admin-drag-fld-icons {
|
207 |
-
float: right;
|
208 |
-
}
|
209 |
-
|
210 |
-
/*
|
211 |
-
- Responsive cols appearance
|
212 |
-
*/
|
213 |
-
|
214 |
-
.um-admin-drag-col.cols-3 .um-admin-drag-fld-title,
|
215 |
-
.um-admin-drag-col.cols-3 .um-admin-drag-fld-type {
|
216 |
-
height: auto;
|
217 |
-
line-height: 18px;
|
218 |
-
margin: 10px;
|
219 |
-
margin-bottom: 0;
|
220 |
-
}
|
221 |
-
|
222 |
-
.um-admin-drag-col.cols-3 .um-admin-drag-fld-type {
|
223 |
-
margin: 10px;
|
224 |
-
}
|
225 |
-
|
226 |
-
.um-admin-drag-col.cols-3 .um-admin-drag-fld-icons {
|
227 |
-
float: none;
|
228 |
-
position: absolute;
|
229 |
-
bottom: 0;
|
230 |
-
right: 0;
|
231 |
-
height: 30px;
|
232 |
-
display: none;
|
233 |
-
}
|
234 |
-
|
235 |
-
.um-admin-drag-col.cols-3 .um-admin-drag-fld:hover .um-admin-drag-fld-icons{display: block;}
|
236 |
-
|
237 |
-
/*
|
238 |
-
- Icons
|
239 |
-
*/
|
240 |
-
|
241 |
-
.um-admin-drag-row-icons a,
|
242 |
-
.um-admin-drag-row-icons span,
|
243 |
-
.um-admin-drag-rowsub-icons a,
|
244 |
-
.um-admin-drag-rowsub-icons span,
|
245 |
-
.um-admin-drag-fld-icons a{
|
246 |
-
text-decoration: none;
|
247 |
-
color: #fff;
|
248 |
-
width: 40px;
|
249 |
-
height: 30px;
|
250 |
-
line-height: 30px;
|
251 |
-
text-align: center;
|
252 |
-
display: block !important;
|
253 |
-
float: left;
|
254 |
-
background: #44b0ec;
|
255 |
-
padding: 0 4px;
|
256 |
-
transition: all .2s linear;
|
257 |
-
border-left: 1px solid #379dd5;
|
258 |
-
}
|
259 |
-
|
260 |
-
.um-admin-drag-row-icons span,
|
261 |
-
.um-admin-drag-rowsub-icons span
|
262 |
-
{cursor: move!important}
|
263 |
-
|
264 |
-
.um-admin-drag-row-icons a:hover,
|
265 |
-
.um-admin-drag-row-icons span:hover,
|
266 |
-
.um-admin-drag-rowsub-icons a:hover,
|
267 |
-
.um-admin-drag-rowsub-icons span:hover,
|
268 |
-
.um-admin-drag-fld-icons a:hover {background: #3396cd;}
|
269 |
-
|
270 |
-
.um-admin-drag-row-icons i,
|
271 |
-
.um-admin-drag-rowsub-icons i,
|
272 |
-
.um-admin-drag-fld-icons i{
|
273 |
-
font-size: 18px !important;
|
274 |
-
margin: 0 !important;
|
275 |
-
top: 2px;
|
276 |
-
position: relative;
|
277 |
-
}
|
278 |
-
|
279 |
-
/*
|
280 |
-
- UI Placeholders
|
281 |
-
*/
|
282 |
-
|
283 |
-
.um-row-placeholder {
|
284 |
-
width: 100%;
|
285 |
-
border: 2px dashed #aaa;
|
286 |
-
box-sizing: border-box;
|
287 |
-
}
|
288 |
-
|
289 |
-
.um-rowsub-placeholder {
|
290 |
-
width: 100%;
|
291 |
-
border: 2px dashed #ccc;
|
292 |
-
box-sizing: border-box;
|
293 |
-
display: block;
|
294 |
-
}
|
295 |
-
|
296 |
-
.um-fld-placeholder {
|
297 |
-
display: block;
|
298 |
-
border: 1px dashed #dddddd;
|
299 |
-
background: #fff;
|
300 |
-
box-sizing: border-box;
|
301 |
-
width: 100%;
|
302 |
}
|
1 |
+
/*
|
2 |
+
- General
|
3 |
+
*/
|
4 |
+
|
5 |
+
.um-admin-builder * {
|
6 |
+
-webkit-font-smoothing: antialiased !important;
|
7 |
+
-moz-osx-font-smoothing: grayscale;
|
8 |
+
}
|
9 |
+
|
10 |
+
.um-admin-builder i {
|
11 |
+
font-size: 15px !important;
|
12 |
+
height: 100% !important;
|
13 |
+
line-height: 100% !important;
|
14 |
+
margin: 0 5px 0 0 !important;
|
15 |
+
}
|
16 |
+
|
17 |
+
.um-admin-builder .um-admin-drag {margin-top: 40px}
|
18 |
+
|
19 |
+
/*
|
20 |
+
- Add field
|
21 |
+
*/
|
22 |
+
.um-admin-drag-add-field {
|
23 |
+
display: block;
|
24 |
+
width: 100%;
|
25 |
+
height: 30px;
|
26 |
+
line-height: 30px;
|
27 |
+
text-align: center;
|
28 |
+
color: #aaa;
|
29 |
+
text-decoration: none;
|
30 |
+
}
|
31 |
+
|
32 |
+
.um-admin-drag-add-field:hover {color: #3ba1da}
|
33 |
+
|
34 |
+
.um-admin-drag-add-field i {
|
35 |
+
font-size: 23px !important;
|
36 |
+
margin: 0 !important;
|
37 |
+
}
|
38 |
+
|
39 |
+
/*
|
40 |
+
- Drag controls
|
41 |
+
*/
|
42 |
+
|
43 |
+
.um-admin-drag-ctrls-demo.um-admin-drag-ctrls {
|
44 |
+
position: absolute;
|
45 |
+
right: 7px;
|
46 |
+
top: -30px;
|
47 |
+
left: auto;
|
48 |
+
}
|
49 |
+
|
50 |
+
.um-admin-drag-ctrls {
|
51 |
+
position: absolute;
|
52 |
+
top: -30px;
|
53 |
+
left: 0;
|
54 |
+
}
|
55 |
+
|
56 |
+
.um-admin-drag-ctrls a {
|
57 |
+
float: left;
|
58 |
+
margin: 0 5px 0 0;
|
59 |
+
height: 30px;
|
60 |
+
line-height: 30px;
|
61 |
+
background: #eee;
|
62 |
+
color: #888;
|
63 |
+
padding: 0 8px;
|
64 |
+
text-decoration: none;
|
65 |
+
border-radius: 2px 2px 0 0;
|
66 |
+
}
|
67 |
+
|
68 |
+
.um-admin-drag-ctrls a:hover {background-color: #e5e5e5}
|
69 |
+
|
70 |
+
.um-admin-drag-ctrls a.active,
|
71 |
+
.um-admin-drag-ctrls a.active:hover {
|
72 |
+
background-color: #3ba1da;
|
73 |
+
color: #fff;
|
74 |
+
}
|
75 |
+
|
76 |
+
.um-admin-drag-ctrls.columns a {width: 30px !important;background-image: url(../img/1-column.gif); background-repeat: no-repeat; background-position: center;}
|
77 |
+
.um-admin-drag-ctrls.columns a:nth-child(2) {background-image: url(../img/2-columns.gif);}
|
78 |
+
.um-admin-drag-ctrls.columns a:last-child {background-image: url(../img/3-columns.gif);}
|
79 |
+
|
80 |
+
.um-admin-drag-ctrls.columns a.active {background-image: url(../img/1-column-active.gif)}
|
81 |
+
.um-admin-drag-ctrls.columns a.active:nth-child(2) {background-image: url(../img/2-columns-active.gif);}
|
82 |
+
.um-admin-drag-ctrls.columns a.active:last-child {background-image: url(../img/3-columns-active.gif);}
|
83 |
+
|
84 |
+
/*
|
85 |
+
- Drag Area
|
86 |
+
*/
|
87 |
+
|
88 |
+
.um-admin-drag {
|
89 |
+
width: 100%;
|
90 |
+
background: #f1f1f1;
|
91 |
+
box-sizing: border-box;
|
92 |
+
position: relative;
|
93 |
+
padding: 60px 20px 20px 20px;
|
94 |
+
}
|
95 |
+
|
96 |
+
.um-admin-drag-row {
|
97 |
+
width: 100%;
|
98 |
+
background: #fefefe;
|
99 |
+
box-sizing: border-box;
|
100 |
+
position: relative;
|
101 |
+
padding: 60px 20px 20px 20px;
|
102 |
+
margin: 0 0 60px 0;
|
103 |
+
}
|
104 |
+
.um-admin-drag-row:last-child {margin-bottom: 0}
|
105 |
+
|
106 |
+
.um-admin-drag-row-icons {
|
107 |
+
position: absolute;
|
108 |
+
right: 0;
|
109 |
+
top: -30px;
|
110 |
+
height: 30px;
|
111 |
+
}
|
112 |
+
|
113 |
+
.um-admin-drag-rowsub {
|
114 |
+
position: relative;
|
115 |
+
box-sizing: border-box;
|
116 |
+
background: #f1f1f1;
|
117 |
+
padding: 20px;
|
118 |
+
margin: 0 0 60px 0;
|
119 |
+
}
|
120 |
+
.um-admin-drag-rowsub:last-child {margin-bottom: 0}
|
121 |
+
|
122 |
+
.um-admin-drag-rowsub-icons {
|
123 |
+
position: absolute;
|
124 |
+
right: 0;
|
125 |
+
top: -30px;
|
126 |
+
height: 30px;
|
127 |
+
}
|
128 |
+
|
129 |
+
.um-admin-drag-col {
|
130 |
+
float: left;
|
131 |
+
width: 100%;
|
132 |
+
background: #fff;
|
133 |
+
border: 1px dashed #bbb;
|
134 |
+
box-sizing: border-box;
|
135 |
+
padding: 20px;
|
136 |
+
}
|
137 |
+
|
138 |
+
.um-admin-drag-col.cols-3 {width: 32%;}
|
139 |
+
.um-admin-drag-col.cols-3.cols-last {width: 32%;}
|
140 |
+
.um-admin-drag-col.cols-3.cols-middle {width: 32%;margin: 0 2%;}
|
141 |
+
|
142 |
+
.um-admin-drag-col.cols-1 {width: 100%;}
|
143 |
+
.um-admin-drag-col.cols-1.cols-last {width: 100%;}
|
144 |
+
.um-admin-drag-col.cols-1.cols-middle {}
|
145 |
+
|
146 |
+
.um-admin-drag-col.cols-2 {width: 49%;margin: 0 1% 0 0}
|
147 |
+
.um-admin-drag-col.cols-2.cols-last {width: 49%;margin: 0 0 0 1%;}
|
148 |
+
.um-admin-drag-col.cols-2.cols-middle {}
|
149 |
+
|
150 |
+
.um-admin-drag-addrow {
|
151 |
+
text-align: center;
|
152 |
+
font-size: 14px;
|
153 |
+
color: #888;
|
154 |
+
cursor: pointer;
|
155 |
+
border: 1px dashed #bbb;
|
156 |
+
padding: 10px 0;
|
157 |
+
margin: 20px 0 0 0;
|
158 |
+
}
|
159 |
+
.um-admin-drag-addrow i {
|
160 |
+
font-size: 23px !important;
|
161 |
+
margin: 0 !important;
|
162 |
+
}
|
163 |
+
.um-admin-drag-addrow:hover {color: #3ba1da}
|
164 |
+
|
165 |
+
/*
|
166 |
+
- Fields
|
167 |
+
*/
|
168 |
+
|
169 |
+
.um-admin-drag-fld {
|
170 |
+
display: block;
|
171 |
+
position: relative;
|
172 |
+
border: 1px solid #dddddd;
|
173 |
+
margin: 0 0 15px 0;
|
174 |
+
background: #F5F5F5;
|
175 |
+
cursor: move !important;
|
176 |
+
}
|
177 |
+
|
178 |
+
.um-admin-drag-fld-title i {
|
179 |
+
width: 24px;
|
180 |
+
display: inline-block;
|
181 |
+
text-align: center;
|
182 |
+
}
|
183 |
+
|
184 |
+
.um-admin-drag-fld.um-field-type-group {background: #555;border: 0}
|
185 |
+
.um-admin-drag-fld-title.um-field-type-group,.um-admin-drag-fld-type.um-field-type-group {color: #fff}
|
186 |
+
.um-admin-drag-group {background: #FCFCFC;cursor: default;padding: 20px;border: 1px dashed #bbb;}
|
187 |
+
.um-admin-drag-col.cols-3 .um-admin-drag-fld-icons.um-field-type-group{float: left;position: relative;bottom: auto;right: auto;height: 30px;display: block;}
|
188 |
+
.um-admin-drag-fld-icons.um-field-type-group a.um_admin_duplicate_field {display: none !important}
|
189 |
+
|
190 |
+
.um-admin-drag-fld-title,
|
191 |
+
.um-admin-drag-fld-type {
|
192 |
+
float: left;
|
193 |
+
font-weight: bold;
|
194 |
+
font-size: 13px;
|
195 |
+
color: #666;
|
196 |
+
height: 30px;
|
197 |
+
line-height: 30px;
|
198 |
+
margin: 0 0 0 20px;
|
199 |
+
}
|
200 |
+
|
201 |
+
.um-admin-drag-fld-type {
|
202 |
+
font-weight: 400;
|
203 |
+
color: #999;
|
204 |
+
}
|
205 |
+
|
206 |
+
.um-admin-drag-fld-icons {
|
207 |
+
float: right;
|
208 |
+
}
|
209 |
+
|
210 |
+
/*
|
211 |
+
- Responsive cols appearance
|
212 |
+
*/
|
213 |
+
|
214 |
+
.um-admin-drag-col.cols-3 .um-admin-drag-fld-title,
|
215 |
+
.um-admin-drag-col.cols-3 .um-admin-drag-fld-type {
|
216 |
+
height: auto;
|
217 |
+
line-height: 18px;
|
218 |
+
margin: 10px;
|
219 |
+
margin-bottom: 0;
|
220 |
+
}
|
221 |
+
|
222 |
+
.um-admin-drag-col.cols-3 .um-admin-drag-fld-type {
|
223 |
+
margin: 10px;
|
224 |
+
}
|
225 |
+
|
226 |
+
.um-admin-drag-col.cols-3 .um-admin-drag-fld-icons {
|
227 |
+
float: none;
|
228 |
+
position: absolute;
|
229 |
+
bottom: 0;
|
230 |
+
right: 0;
|
231 |
+
height: 30px;
|
232 |
+
display: none;
|
233 |
+
}
|
234 |
+
|
235 |
+
.um-admin-drag-col.cols-3 .um-admin-drag-fld:hover .um-admin-drag-fld-icons{display: block;}
|
236 |
+
|
237 |
+
/*
|
238 |
+
- Icons
|
239 |
+
*/
|
240 |
+
|
241 |
+
.um-admin-drag-row-icons a,
|
242 |
+
.um-admin-drag-row-icons span,
|
243 |
+
.um-admin-drag-rowsub-icons a,
|
244 |
+
.um-admin-drag-rowsub-icons span,
|
245 |
+
.um-admin-drag-fld-icons a{
|
246 |
+
text-decoration: none;
|
247 |
+
color: #fff;
|
248 |
+
width: 40px;
|
249 |
+
height: 30px;
|
250 |
+
line-height: 30px;
|
251 |
+
text-align: center;
|
252 |
+
display: block !important;
|
253 |
+
float: left;
|
254 |
+
background: #44b0ec;
|
255 |
+
padding: 0 4px;
|
256 |
+
transition: all .2s linear;
|
257 |
+
border-left: 1px solid #379dd5;
|
258 |
+
}
|
259 |
+
|
260 |
+
.um-admin-drag-row-icons span,
|
261 |
+
.um-admin-drag-rowsub-icons span
|
262 |
+
{cursor: move!important}
|
263 |
+
|
264 |
+
.um-admin-drag-row-icons a:hover,
|
265 |
+
.um-admin-drag-row-icons span:hover,
|
266 |
+
.um-admin-drag-rowsub-icons a:hover,
|
267 |
+
.um-admin-drag-rowsub-icons span:hover,
|
268 |
+
.um-admin-drag-fld-icons a:hover {background: #3396cd;}
|
269 |
+
|
270 |
+
.um-admin-drag-row-icons i,
|
271 |
+
.um-admin-drag-rowsub-icons i,
|
272 |
+
.um-admin-drag-fld-icons i{
|
273 |
+
font-size: 18px !important;
|
274 |
+
margin: 0 !important;
|
275 |
+
top: 2px;
|
276 |
+
position: relative;
|
277 |
+
}
|
278 |
+
|
279 |
+
/*
|
280 |
+
- UI Placeholders
|
281 |
+
*/
|
282 |
+
|
283 |
+
.um-row-placeholder {
|
284 |
+
width: 100%;
|
285 |
+
border: 2px dashed #aaa;
|
286 |
+
box-sizing: border-box;
|
287 |
+
}
|
288 |
+
|
289 |
+
.um-rowsub-placeholder {
|
290 |
+
width: 100%;
|
291 |
+
border: 2px dashed #ccc;
|
292 |
+
box-sizing: border-box;
|
293 |
+
display: block;
|
294 |
+
}
|
295 |
+
|
296 |
+
.um-fld-placeholder {
|
297 |
+
display: block;
|
298 |
+
border: 1px dashed #dddddd;
|
299 |
+
background: #fff;
|
300 |
+
box-sizing: border-box;
|
301 |
+
width: 100%;
|
302 |
}
|
admin/assets/css/um-admin-columns.css
CHANGED
@@ -1,67 +1,67 @@
|
|
1 |
-
.um-admin td, .um-admin th {
|
2 |
-
-webkit-font-smoothing: antialiased !important;
|
3 |
-
-moz-osx-font-smoothing: grayscale;
|
4 |
-
}
|
5 |
-
|
6 |
-
.um-admin.post-type-um_form .manage-column.column-id {width: 60px}
|
7 |
-
.um-admin.post-type-um_form .manage-column.column-mode {width: 100px}
|
8 |
-
.um-admin.post-type-um_form .manage-column.column-title {width: 200px}
|
9 |
-
.um-admin.post-type-um_form .manage-column.column-shortcode {width: 200px}
|
10 |
-
.um-admin.post-type-um_form .manage-column.column-impressions {width: 100px}
|
11 |
-
.um-admin.post-type-um_form .manage-column.column-conversions {width: 100px}
|
12 |
-
|
13 |
-
.um-admin.post-type-um_directory .manage-column.column-id {width: 60px}
|
14 |
-
.um-admin.post-type-um_directory .manage-column.column-title {width: 250px}
|
15 |
-
|
16 |
-
.um-admin.post-type-um_role .manage-column.column-title {width: 200px}
|
17 |
-
.um-admin.post-type-um_role .manage-column.column-count {width: 150px}
|
18 |
-
.um-admin.post-type-um_role .manage-column.column-core {width: 150px}
|
19 |
-
|
20 |
-
.um-admin.post-type-um_form td.column-shortcode,
|
21 |
-
.um-admin.post-type-um_form td.column-id,
|
22 |
-
.um-admin.post-type-um_directory td.column-shortcode,
|
23 |
-
.um-admin.post-type-um_directory td.column-id,
|
24 |
-
.um-admin.post-type-um_role td.column-count
|
25 |
-
{font-size: 14px;}
|
26 |
-
|
27 |
-
.um-admin.users-php td.column-um_actions {padding-top: 12px}
|
28 |
-
|
29 |
-
.um-admin.users-php td.column-um_actions a.button {
|
30 |
-
height: 29px !important;
|
31 |
-
margin: 0 0 0 2px !important;
|
32 |
-
position: relative;
|
33 |
-
}
|
34 |
-
|
35 |
-
.um-admin-tag {
|
36 |
-
display: inline-block;
|
37 |
-
border-radius: 2px;
|
38 |
-
width: 100%;
|
39 |
-
box-sizing: border-box;
|
40 |
-
text-align: center;
|
41 |
-
background: #3ba1da;
|
42 |
-
color: #fff;
|
43 |
-
font-size: 14px;
|
44 |
-
height: 34px;
|
45 |
-
line-height: 34px;
|
46 |
-
}
|
47 |
-
.um-admin-tag.small {font-size: 13px;height:28px;line-height: 28px;display:inline;padding: 4px 10px;background: transparent;color: #666;border-radius:0;}
|
48 |
-
.um-admin-tag.approved {border-left: 2px solid #7ACF58}
|
49 |
-
.um-admin-tag.pending {border-left: 2px solid #C74A4A}
|
50 |
-
|
51 |
-
.um-admin-txtspace {margin: 0 0 0 10px;}
|
52 |
-
|
53 |
-
.um-adm-ico {
|
54 |
-
font-size: 18px;
|
55 |
-
width: 18px;
|
56 |
-
text-align: center;
|
57 |
-
display: inline-block;
|
58 |
-
color: #7ACF58;
|
59 |
-
}
|
60 |
-
|
61 |
-
.um-adm-ico.inactive {color: #C74A4A}
|
62 |
-
.um-adm-ico.pointer {cursor: pointer}
|
63 |
-
|
64 |
-
.um-admin-icontext i {
|
65 |
-
font-size: 18px;
|
66 |
-
margin: 0 5px 0 0;
|
67 |
}
|
1 |
+
.um-admin td, .um-admin th {
|
2 |
+
-webkit-font-smoothing: antialiased !important;
|
3 |
+
-moz-osx-font-smoothing: grayscale;
|
4 |
+
}
|
5 |
+
|
6 |
+
.um-admin.post-type-um_form .manage-column.column-id {width: 60px}
|
7 |
+
.um-admin.post-type-um_form .manage-column.column-mode {width: 100px}
|
8 |
+
.um-admin.post-type-um_form .manage-column.column-title {width: 200px}
|
9 |
+
.um-admin.post-type-um_form .manage-column.column-shortcode {width: 200px}
|
10 |
+
.um-admin.post-type-um_form .manage-column.column-impressions {width: 100px}
|
11 |
+
.um-admin.post-type-um_form .manage-column.column-conversions {width: 100px}
|
12 |
+
|
13 |
+
.um-admin.post-type-um_directory .manage-column.column-id {width: 60px}
|
14 |
+
.um-admin.post-type-um_directory .manage-column.column-title {width: 250px}
|
15 |
+
|
16 |
+
.um-admin.post-type-um_role .manage-column.column-title {width: 200px}
|
17 |
+
.um-admin.post-type-um_role .manage-column.column-count {width: 150px}
|
18 |
+
.um-admin.post-type-um_role .manage-column.column-core {width: 150px}
|
19 |
+
|
20 |
+
.um-admin.post-type-um_form td.column-shortcode,
|
21 |
+
.um-admin.post-type-um_form td.column-id,
|
22 |
+
.um-admin.post-type-um_directory td.column-shortcode,
|
23 |
+
.um-admin.post-type-um_directory td.column-id,
|
24 |
+
.um-admin.post-type-um_role td.column-count
|
25 |
+
{font-size: 14px;}
|
26 |
+
|
27 |
+
.um-admin.users-php td.column-um_actions {padding-top: 12px}
|
28 |
+
|
29 |
+
.um-admin.users-php td.column-um_actions a.button {
|
30 |
+
height: 29px !important;
|
31 |
+
margin: 0 0 0 2px !important;
|
32 |
+
position: relative;
|
33 |
+
}
|
34 |
+
|
35 |
+
.um-admin-tag {
|
36 |
+
display: inline-block;
|
37 |
+
border-radius: 2px;
|
38 |
+
width: 100%;
|
39 |
+
box-sizing: border-box;
|
40 |
+
text-align: center;
|
41 |
+
background: #3ba1da;
|
42 |
+
color: #fff;
|
43 |
+
font-size: 14px;
|
44 |
+
height: 34px;
|
45 |
+
line-height: 34px;
|
46 |
+
}
|
47 |
+
.um-admin-tag.small {font-size: 13px;height:28px;line-height: 28px;display:inline;padding: 4px 10px;background: transparent;color: #666;border-radius:0;}
|
48 |
+
.um-admin-tag.approved {border-left: 2px solid #7ACF58}
|
49 |
+
.um-admin-tag.pending {border-left: 2px solid #C74A4A}
|
50 |
+
|
51 |
+
.um-admin-txtspace {margin: 0 0 0 10px;}
|
52 |
+
|
53 |
+
.um-adm-ico {
|
54 |
+
font-size: 18px;
|
55 |
+
width: 18px;
|
56 |
+
text-align: center;
|
57 |
+
display: inline-block;
|
58 |
+
color: #7ACF58;
|
59 |
+
}
|
60 |
+
|
61 |
+
.um-adm-ico.inactive {color: #C74A4A}
|
62 |
+
.um-adm-ico.pointer {cursor: pointer}
|
63 |
+
|
64 |
+
.um-admin-icontext i {
|
65 |
+
font-size: 18px;
|
66 |
+
margin: 0 5px 0 0;
|
67 |
}
|
admin/assets/css/um-admin-dashboard.css
CHANGED
@@ -1,128 +1,128 @@
|
|
1 |
-
#um-extensions-wrap a.plugin-image,
|
2 |
-
#um-extensions-wrap a.plugin-image img {
|
3 |
-
max-width: 100%;
|
4 |
-
display: block;
|
5 |
-
}
|
6 |
-
|
7 |
-
#um-extensions-wrap .plugin-card .name,
|
8 |
-
#um-extensions-wrap .plugin-card .desc {
|
9 |
-
margin-left: 0;
|
10 |
-
}
|
11 |
-
|
12 |
-
#um-metaboxes-general h2 sup {
|
13 |
-
font-size: 14px;
|
14 |
-
position: relative;
|
15 |
-
font-weight: 400;
|
16 |
-
background: #3ba1da;
|
17 |
-
color: #fff !important;
|
18 |
-
padding: 2px 4px !important;
|
19 |
-
border-radius: 3px;
|
20 |
-
position: relative;
|
21 |
-
top: 5px;
|
22 |
-
left: 3px;
|
23 |
-
border: none !important;
|
24 |
-
}
|
25 |
-
|
26 |
-
.wrap a.red, .wrap span.red {color:#C74A4A}
|
27 |
-
.wrap span.ok {color:#7ACF58}
|
28 |
-
|
29 |
-
/* Misc */
|
30 |
-
|
31 |
-
.um-admin-dash-review {
|
32 |
-
text-decoration: none !important;
|
33 |
-
font-size: 16px;
|
34 |
-
position: absolute;
|
35 |
-
top: -2px;
|
36 |
-
right: 4px;
|
37 |
-
}
|
38 |
-
|
39 |
-
/* Dashboard widgets */
|
40 |
-
|
41 |
-
.p_seperate {
|
42 |
-
margin-top: 12px;
|
43 |
-
border-top: 1px solid #ddd;
|
44 |
-
}
|
45 |
-
|
46 |
-
.um-metabox-holder p.sub {
|
47 |
-
padding: 0 4px 2px 4px;
|
48 |
-
margin: 0 0 8px 0;
|
49 |
-
color: #8F8F8F;
|
50 |
-
font-size: 14px;
|
51 |
-
border-bottom: 1px solid #ECECEC;
|
52 |
-
}
|
53 |
-
|
54 |
-
.um-metabox-holder .table {
|
55 |
-
float: left;
|
56 |
-
width: 45%;
|
57 |
-
}
|
58 |
-
|
59 |
-
.um-metabox-holder a.warning {
|
60 |
-
color: #C74A4A !important;
|
61 |
-
background: transparent !important;
|
62 |
-
border: 0;
|
63 |
-
}
|
64 |
-
|
65 |
-
.um-metabox-holder .table_right {
|
66 |
-
float: right;
|
67 |
-
width: 45%;
|
68 |
-
}
|
69 |
-
|
70 |
-
.um-metabox-holder td.b {
|
71 |
-
padding-right: 6px;
|
72 |
-
text-align: right;
|
73 |
-
font-family: Georgia,"Times New Roman","Bitstream Charter",Times,serif;
|
74 |
-
font-size: 14px;
|
75 |
-
width: 1%;
|
76 |
-
}
|
77 |
-
|
78 |
-
.um-metabox-holder td.b {
|
79 |
-
text-align: right;
|
80 |
-
font-family: Georgia,"Times New Roman","Bitstream Charter",Times,serif;
|
81 |
-
font-size: 14px;
|
82 |
-
}
|
83 |
-
|
84 |
-
.um-metabox-holder table td {
|
85 |
-
white-space: nowrap;
|
86 |
-
font-size: 12px;
|
87 |
-
}
|
88 |
-
|
89 |
-
.um-metabox-holder td.b a {
|
90 |
-
font-size: 18px;
|
91 |
-
}
|
92 |
-
|
93 |
-
.um-metabox-holder .norm i {
|
94 |
-
display: inline-block;
|
95 |
-
width: 30px;
|
96 |
-
text-align: center;
|
97 |
-
}
|
98 |
-
|
99 |
-
.um-metabox-holder .norm p {
|
100 |
-
margin: 5px 0;
|
101 |
-
}
|
102 |
-
|
103 |
-
.um-metabox-holder .norm .count {
|
104 |
-
font-size: 16px;
|
105 |
-
font-family: Gerogia;
|
106 |
-
color: #999;
|
107 |
-
width: 40px;
|
108 |
-
display: inline-block;
|
109 |
-
text-align: right;
|
110 |
-
margin-right: 10px;
|
111 |
-
}
|
112 |
-
|
113 |
-
/* Share bar */
|
114 |
-
|
115 |
-
.um-admin-dash-share {
|
116 |
-
margin-top: 11px !important;
|
117 |
-
float: left;
|
118 |
-
line-height: 28px;
|
119 |
-
font-size: 15px;
|
120 |
-
}
|
121 |
-
|
122 |
-
.um-admin-dash-share a {
|
123 |
-
margin: 0 15px 0 0 !important;
|
124 |
-
text-decoration: none !important;
|
125 |
-
color: #777 !important;
|
126 |
-
font-size: 22px !important;
|
127 |
-
}
|
128 |
.um-admin-dash-share a:hover {color: #3ba1da !important}
|
1 |
+
#um-extensions-wrap a.plugin-image,
|
2 |
+
#um-extensions-wrap a.plugin-image img {
|
3 |
+
max-width: 100%;
|
4 |
+
display: block;
|
5 |
+
}
|
6 |
+
|
7 |
+
#um-extensions-wrap .plugin-card .name,
|
8 |
+
#um-extensions-wrap .plugin-card .desc {
|
9 |
+
margin-left: 0;
|
10 |
+
}
|
11 |
+
|
12 |
+
#um-metaboxes-general h2 sup {
|
13 |
+
font-size: 14px;
|
14 |
+
position: relative;
|
15 |
+
font-weight: 400;
|
16 |
+
background: #3ba1da;
|
17 |
+
color: #fff !important;
|
18 |
+
padding: 2px 4px !important;
|
19 |
+
border-radius: 3px;
|
20 |
+
position: relative;
|
21 |
+
top: 5px;
|
22 |
+
left: 3px;
|
23 |
+
border: none !important;
|
24 |
+
}
|
25 |
+
|
26 |
+
.wrap a.red, .wrap span.red {color:#C74A4A}
|
27 |
+
.wrap span.ok {color:#7ACF58}
|
28 |
+
|
29 |
+
/* Misc */
|
30 |
+
|
31 |
+
.um-admin-dash-review {
|
32 |
+
text-decoration: none !important;
|
33 |
+
font-size: 16px;
|
34 |
+
position: absolute;
|
35 |
+
top: -2px;
|
36 |
+
right: 4px;
|
37 |
+
}
|
38 |
+
|
39 |
+
/* Dashboard widgets */
|
40 |
+
|
41 |
+
.p_seperate {
|
42 |
+
margin-top: 12px;
|
43 |
+
border-top: 1px solid #ddd;
|
44 |
+
}
|
45 |
+
|
46 |
+
.um-metabox-holder p.sub {
|
47 |
+
padding: 0 4px 2px 4px;
|
48 |
+
margin: 0 0 8px 0;
|
49 |
+
color: #8F8F8F;
|
50 |
+
font-size: 14px;
|
51 |
+
border-bottom: 1px solid #ECECEC;
|
52 |
+
}
|
53 |
+
|
54 |
+
.um-metabox-holder .table {
|
55 |
+
float: left;
|
56 |
+
width: 45%;
|
57 |
+
}
|
58 |
+
|
59 |
+
.um-metabox-holder a.warning {
|
60 |
+
color: #C74A4A !important;
|
61 |
+
background: transparent !important;
|
62 |
+
border: 0;
|
63 |
+
}
|
64 |
+
|
65 |
+
.um-metabox-holder .table_right {
|
66 |
+
float: right;
|
67 |
+
width: 45%;
|
68 |
+
}
|
69 |
+
|
70 |
+
.um-metabox-holder td.b {
|
71 |
+
padding-right: 6px;
|
72 |
+
text-align: right;
|
73 |
+
font-family: Georgia,"Times New Roman","Bitstream Charter",Times,serif;
|
74 |
+
font-size: 14px;
|
75 |
+
width: 1%;
|
76 |
+
}
|
77 |
+
|
78 |
+
.um-metabox-holder td.b {
|
79 |
+
text-align: right;
|
80 |
+
font-family: Georgia,"Times New Roman","Bitstream Charter",Times,serif;
|
81 |
+
font-size: 14px;
|
82 |
+
}
|
83 |
+
|
84 |
+
.um-metabox-holder table td {
|
85 |
+
white-space: nowrap;
|
86 |
+
font-size: 12px;
|
87 |
+
}
|
88 |
+
|
89 |
+
.um-metabox-holder td.b a {
|
90 |
+
font-size: 18px;
|
91 |
+
}
|
92 |
+
|
93 |
+
.um-metabox-holder .norm i {
|
94 |
+
display: inline-block;
|
95 |
+
width: 30px;
|
96 |
+
text-align: center;
|
97 |
+
}
|
98 |
+
|
99 |
+
.um-metabox-holder .norm p {
|
100 |
+
margin: 5px 0;
|
101 |
+
}
|
102 |
+
|
103 |
+
.um-metabox-holder .norm .count {
|
104 |
+
font-size: 16px;
|
105 |
+
font-family: Gerogia;
|
106 |
+
color: #999;
|
107 |
+
width: 40px;
|
108 |
+
display: inline-block;
|
109 |
+
text-align: right;
|
110 |
+
margin-right: 10px;
|
111 |
+
}
|
112 |
+
|
113 |
+
/* Share bar */
|
114 |
+
|
115 |
+
.um-admin-dash-share {
|
116 |
+
margin-top: 11px !important;
|
117 |
+
float: left;
|
118 |
+
line-height: 28px;
|
119 |
+
font-size: 15px;
|
120 |
+
}
|
121 |
+
|
122 |
+
.um-admin-dash-share a {
|
123 |
+
margin: 0 15px 0 0 !important;
|
124 |
+
text-decoration: none !important;
|
125 |
+
color: #777 !important;
|
126 |
+
font-size: 22px !important;
|
127 |
+
}
|
128 |
.um-admin-dash-share a:hover {color: #3ba1da !important}
|
admin/assets/css/um-admin-form.css
CHANGED
@@ -1,61 +1,61 @@
|
|
1 |
-
/*
|
2 |
-
- General
|
3 |
-
*/
|
4 |
-
|
5 |
-
.um-admin-metabox * {
|
6 |
-
-webkit-font-smoothing: antialiased !important;
|
7 |
-
-moz-osx-font-smoothing: grayscale !important;
|
8 |
-
}
|
9 |
-
|
10 |
-
.um-admin-metabox h6 {
|
11 |
-
font-size: 14px;
|
12 |
-
margin: 12px 0 0 0;
|
13 |
-
}
|
14 |
-
|
15 |
-
/*
|
16 |
-
- Metabox layout
|
17 |
-
*/
|
18 |
-
|
19 |
-
.um-admin.post-type-um_form div#submitdiv,
|
20 |
-
.um-admin.post-type-um_form div#side-sortables
|
21 |
-
{display:none}
|
22 |
-
|
23 |
-
/*
|
24 |
-
- Boxed Links
|
25 |
-
*/
|
26 |
-
|
27 |
-
.um-admin-boxed-links {
|
28 |
-
width: 100%;
|
29 |
-
text-align: center;
|
30 |
-
}
|
31 |
-
|
32 |
-
.um-admin-boxed-links a {
|
33 |
-
width: 33.3%;
|
34 |
-
float: left;
|
35 |
-
border-left: 1px solid #fff;
|
36 |
-
border-right: 1px solid #fff;
|
37 |
-
padding: 30px 25px !important;
|
38 |
-
background: #f8f8f8;
|
39 |
-
text-align: center;
|
40 |
-
display: inline-block !important;
|
41 |
-
font-size: 14px;
|
42 |
-
transition: all .2s linear;
|
43 |
-
text-decoration: none;
|
44 |
-
color: #666;
|
45 |
-
margin: 0 !important;
|
46 |
-
box-sizing: border-box !important;
|
47 |
-
border-radius: 2px;
|
48 |
-
-webkit-font-smoothing: antialiased;
|
49 |
-
-moz-osx-font-smoothing: grayscale;
|
50 |
-
font-weight: 600;
|
51 |
-
}
|
52 |
-
|
53 |
-
.um-admin-boxed-links i {
|
54 |
-
font-size: 28px;
|
55 |
-
vertical-align: middle;
|
56 |
-
margin: 0 10px 0 0;
|
57 |
-
}
|
58 |
-
|
59 |
-
.um-admin-boxed-links a:hover {
|
60 |
-
background: #eee;
|
61 |
}
|
1 |
+
/*
|
2 |
+
- General
|
3 |
+
*/
|
4 |
+
|
5 |
+
.um-admin-metabox * {
|
6 |
+
-webkit-font-smoothing: antialiased !important;
|
7 |
+
-moz-osx-font-smoothing: grayscale !important;
|
8 |
+
}
|
9 |
+
|
10 |
+
.um-admin-metabox h6 {
|
11 |
+
font-size: 14px;
|
12 |
+
margin: 12px 0 0 0;
|
13 |
+
}
|
14 |
+
|
15 |
+
/*
|
16 |
+
- Metabox layout
|
17 |
+
*/
|
18 |
+
|
19 |
+
.um-admin.post-type-um_form div#submitdiv,
|
20 |
+
.um-admin.post-type-um_form div#side-sortables
|
21 |
+
{display:none}
|
22 |
+
|
23 |
+
/*
|
24 |
+
- Boxed Links
|
25 |
+
*/
|
26 |
+
|
27 |
+
.um-admin-boxed-links {
|
28 |
+
width: 100%;
|
29 |
+
text-align: center;
|
30 |
+
}
|
31 |
+
|
32 |
+
.um-admin-boxed-links a {
|
33 |
+
width: 33.3%;
|
34 |
+
float: left;
|
35 |
+
border-left: 1px solid #fff;
|
36 |
+
border-right: 1px solid #fff;
|
37 |
+
padding: 30px 25px !important;
|
38 |
+
background: #f8f8f8;
|
39 |
+
text-align: center;
|
40 |
+
display: inline-block !important;
|
41 |
+
font-size: 14px;
|
42 |
+
transition: all .2s linear;
|
43 |
+
text-decoration: none;
|
44 |
+
color: #666;
|
45 |
+
margin: 0 !important;
|
46 |
+
box-sizing: border-box !important;
|
47 |
+
border-radius: 2px;
|
48 |
+
-webkit-font-smoothing: antialiased;
|
49 |
+
-moz-osx-font-smoothing: grayscale;
|
50 |
+
font-weight: 600;
|
51 |
+
}
|
52 |
+
|
53 |
+
.um-admin-boxed-links i {
|
54 |
+
font-size: 28px;
|
55 |
+
vertical-align: middle;
|
56 |
+
margin: 0 10px 0 0;
|
57 |
+
}
|
58 |
+
|
59 |
+
.um-admin-boxed-links a:hover {
|
60 |
+
background: #eee;
|
61 |
}
|
admin/assets/css/um-admin-global.css
CHANGED
@@ -1,90 +1,90 @@
|
|
1 |
-
.um-admin-notice {
|
2 |
-
border-color: #3ba1da !important;
|
3 |
-
color: #555;
|
4 |
-
}
|
5 |
-
|
6 |
-
.um-admin-notice a.button-primary {
|
7 |
-
background-color: #3ba1da !important;
|
8 |
-
border-color: #3ba1da !important;
|
9 |
-
}
|
10 |
-
|
11 |
-
.um-admin-notice a.button-primary:hover {
|
12 |
-
background-color: #2295d8 !important;
|
13 |
-
border-color: #2295d8 !important;
|
14 |
-
}
|
15 |
-
|
16 |
-
.um-admin-notice a.button-secondary {opacity: 0.7}
|
17 |
-
.um-admin-notice a.button-secondary:hover {opacity: 0.9}
|
18 |
-
.um-admin-notice a {text-decoration: none;color: #3ba1da}
|
19 |
-
.um-admin-notice a:hover {color: #44b0ec}
|
20 |
-
|
21 |
-
.um-filter {
|
22 |
-
padding: 12px;
|
23 |
-
border-color: #ddd !important;
|
24 |
-
margin: 20px 0 0 0 !important;
|
25 |
-
font-size: 14px;
|
26 |
-
line-height: 24px;
|
27 |
-
}
|
28 |
-
|
29 |
-
/*
|
30 |
-
- General metabox styling
|
31 |
-
*/
|
32 |
-
|
33 |
-
#um-admin-access-settings h3 {
|
34 |
-
padding: 10px 20px 10px 60px;
|
35 |
-
color: #fff;
|
36 |
-
background: #3ba1da url(../img/logo-small.png) no-repeat 12px center;
|
37 |
-
font-weight: bold;
|
38 |
-
font-size: 14px !important;
|
39 |
-
-webkit-font-smoothing: antialiased !important;
|
40 |
-
-moz-osx-font-smoothing: grayscale !important;
|
41 |
-
}
|
42 |
-
|
43 |
-
#um-admin-access-settings h4 { margin: 10px 0 4px 0!important}
|
44 |
-
|
45 |
-
#um-admin-access-settings div.handlediv {
|
46 |
-
color: #fff !important;
|
47 |
-
-webkit-font-smoothing: antialiased !important;
|
48 |
-
-moz-osx-font-smoothing: grayscale !important;
|
49 |
-
}
|
50 |
-
|
51 |
-
#um-admin-access-settings p {font-size: 13px}
|
52 |
-
|
53 |
-
#um-admin-access-settings input[type=text] {font-size: 13px}
|
54 |
-
|
55 |
-
/*
|
56 |
-
- Nav Menu
|
57 |
-
*/
|
58 |
-
|
59 |
-
.um-nav-edit * {
|
60 |
-
-webkit-font-smoothing: antialiased !important;
|
61 |
-
-moz-osx-font-smoothing: grayscale !important;
|
62 |
-
}
|
63 |
-
|
64 |
-
.um-nav-edit-h2 {
|
65 |
-
padding: 10px 20px 10px 60px;
|
66 |
-
margin: 14px 12px 0 0;
|
67 |
-
border-radius: 3px;
|
68 |
-
color: #fff;
|
69 |
-
background: #3ba1da url(../img/logo-small.png) no-repeat 12px center;
|
70 |
-
font-weight: bold;
|
71 |
-
}
|
72 |
-
|
73 |
-
.um-nav-mode {margin-top:10px}
|
74 |
-
.um-nav-roles {display: none;margin-top:5px}
|
75 |
-
|
76 |
-
/*
|
77 |
-
- jQuery Tooltips
|
78 |
-
*/
|
79 |
-
|
80 |
-
.um-admin-tip {
|
81 |
-
margin: 0 0 0 2px;
|
82 |
-
color: #3ba1da !important;
|
83 |
-
vertical-align: middle;
|
84 |
-
position: relative;
|
85 |
-
top: -3px;
|
86 |
-
opacity: 0.8;
|
87 |
-
}
|
88 |
-
.um-admin-tip.n {margin-left: 5px}
|
89 |
-
.um-admin-tip i {cursor: pointer; vertical-align: middle; font-size: 20px; line-height: 20px;color: #3ba1da !important;}
|
90 |
a.um-delete{ color: #a00; }
|
1 |
+
.um-admin-notice {
|
2 |
+
border-color: #3ba1da !important;
|
3 |
+
color: #555;
|
4 |
+
}
|
5 |
+
|
6 |
+
.um-admin-notice a.button-primary {
|
7 |
+
background-color: #3ba1da !important;
|
8 |
+
border-color: #3ba1da !important;
|
9 |
+
}
|
10 |
+
|
11 |
+
.um-admin-notice a.button-primary:hover {
|
12 |
+
background-color: #2295d8 !important;
|
13 |
+
border-color: #2295d8 !important;
|
14 |
+
}
|
15 |
+
|
16 |
+
.um-admin-notice a.button-secondary {opacity: 0.7}
|
17 |
+
.um-admin-notice a.button-secondary:hover {opacity: 0.9}
|
18 |
+
.um-admin-notice a {text-decoration: none;color: #3ba1da}
|
19 |
+
.um-admin-notice a:hover {color: #44b0ec}
|
20 |
+
|
21 |
+
.um-filter {
|
22 |
+
padding: 12px;
|
23 |
+
border-color: #ddd !important;
|
24 |
+
margin: 20px 0 0 0 !important;
|
25 |
+
font-size: 14px;
|
26 |
+
line-height: 24px;
|
27 |
+
}
|
28 |
+
|
29 |
+
/*
|
30 |
+
- General metabox styling
|
31 |
+
*/
|
32 |
+
|
33 |
+
#um-admin-access-settings h3 {
|
34 |
+
padding: 10px 20px 10px 60px;
|
35 |
+
color: #fff;
|
36 |
+
background: #3ba1da url(../img/logo-small.png) no-repeat 12px center;
|
37 |
+
font-weight: bold;
|
38 |
+
font-size: 14px !important;
|
39 |
+
-webkit-font-smoothing: antialiased !important;
|
40 |
+
-moz-osx-font-smoothing: grayscale !important;
|
41 |
+
}
|
42 |
+
|
43 |
+
#um-admin-access-settings h4 { margin: 10px 0 4px 0!important}
|
44 |
+
|
45 |
+
#um-admin-access-settings div.handlediv {
|
46 |
+
color: #fff !important;
|
47 |
+
-webkit-font-smoothing: antialiased !important;
|
48 |
+
-moz-osx-font-smoothing: grayscale !important;
|
49 |
+
}
|
50 |
+
|
51 |
+
#um-admin-access-settings p {font-size: 13px}
|
52 |
+
|
53 |
+
#um-admin-access-settings input[type=text] {font-size: 13px}
|
54 |
+
|
55 |
+
/*
|
56 |
+
- Nav Menu
|
57 |
+
*/
|
58 |
+
|
59 |
+
.um-nav-edit * {
|
60 |
+
-webkit-font-smoothing: antialiased !important;
|
61 |
+
-moz-osx-font-smoothing: grayscale !important;
|
62 |
+
}
|
63 |
+
|
64 |
+
.um-nav-edit-h2 {
|
65 |
+
padding: 10px 20px 10px 60px;
|
66 |
+
margin: 14px 12px 0 0;
|
67 |
+
border-radius: 3px;
|
68 |
+
color: #fff;
|
69 |
+
background: #3ba1da url(../img/logo-small.png) no-repeat 12px center;
|
70 |
+
font-weight: bold;
|
71 |
+
}
|
72 |
+
|
73 |
+
.um-nav-mode {margin-top:10px}
|
74 |
+
.um-nav-roles {display: none;margin-top:5px}
|
75 |
+
|
76 |
+
/*
|
77 |
+
- jQuery Tooltips
|
78 |
+
*/
|
79 |
+
|
80 |
+
.um-admin-tip {
|
81 |
+
margin: 0 0 0 2px;
|
82 |
+
color: #3ba1da !important;
|
83 |
+
vertical-align: middle;
|
84 |
+
position: relative;
|
85 |
+
top: -3px;
|
86 |
+
opacity: 0.8;
|
87 |
+
}
|
88 |
+
.um-admin-tip.n {margin-left: 5px}
|
89 |
+
.um-admin-tip i {cursor: pointer; vertical-align: middle; font-size: 20px; line-height: 20px;color: #3ba1da !important;}
|
90 |
a.um-delete{ color: #a00; }
|
admin/assets/css/um-admin-menu.css
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
-
ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after {display: none !important}
|
2 |
-
|
3 |
ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{right:-9999999px}
|
1 |
+
ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after {display: none !important}
|
2 |
+
|
3 |
ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{right:-9999999px}
|
admin/assets/css/um-admin-misc.css
CHANGED
@@ -1,259 +1,259 @@
|
|
1 |
-
/*
|
2 |
-
- Welcome
|
3 |
-
*/
|
4 |
-
|
5 |
-
.um-about-wrap * {
|
6 |
-
-webkit-font-smoothing: antialiased;
|
7 |
-
-moz-osx-font-smoothing: grayscale;
|
8 |
-
}
|
9 |
-
|
10 |
-
.um-about-wrap a.um-about-icon {
|
11 |
-
margin: 0 0 0 15px !important;
|
12 |
-
padding: 0 !important;
|
13 |
-
text-decoration: none !important;
|
14 |
-
color: #777 !important;
|
15 |
-
font-size: 22px !important;
|
16 |
-
}
|
17 |
-
|
18 |
-
.um-about-wrap a.um-about-icon:hover {color: #3ba1da !important}
|
19 |
-
|
20 |
-
.um-badge {
|
21 |
-
color: #fff;
|
22 |
-
background: none !important;
|
23 |
-
background: #3ba1da url(../img/logo_small.png) no-repeat center 0px !important;
|
24 |
-
}
|
25 |
-
|
26 |
-
.um-about-wrap .ultimatemember-actions a.button-primary,
|
27 |
-
.um-about-wrap .ultimatemember-actions a.button {
|
28 |
-
vertical-align: top;
|
29 |
-
margin: 0 5px 0 0;
|
30 |
-
}
|
31 |
-
|
32 |
-
.changelog a.button-primary {
|
33 |
-
height: 40px;
|
34 |
-
line-height: 38px;
|
35 |
-
}
|
36 |
-
|
37 |
-
.um-about-wrap a {text-decoration: none}
|
38 |
-
|
39 |
-
/*
|
40 |
-
- General
|
41 |
-
*/
|
42 |
-
|
43 |
-
body.um-admin-modal-open {
|
44 |
-
overflow: hidden;
|
45 |
-
}
|
46 |
-
|
47 |
-
.um-admin #major-publishing-actions{background-color: #fff !important;border-top:0}
|
48 |
-
|
49 |
-
.um-admin-hide {display: none}
|
50 |
-
|
51 |
-
.um-admin-field {
|
52 |
-
display: block;
|
53 |
-
width: 100%;
|
54 |
-
margin-top: 10px;
|
55 |
-
}
|
56 |
-
|
57 |
-
.um-admin-field a.button {
|
58 |
-
position: relative;
|
59 |
-
top: 1px;
|
60 |
-
height: 30px !important;
|
61 |
-
}
|
62 |
-
|
63 |
-
.um-admin-half {
|
64 |
-
float: left;
|
65 |
-
width: 48%;
|
66 |
-
}
|
67 |
-
|
68 |
-
.um-admin-tri {
|
69 |
-
float: left;
|
70 |
-
width: 33%;
|
71 |
-
}
|
72 |
-
|
73 |
-
.um-admin-left{float: left}
|
74 |
-
.um-admin-right {float: right}
|
75 |
-
.um-admin-clear {clear: both}
|
76 |
-
|
77 |
-
.um-admin a.um-admin-activebg,
|
78 |
-
.um-admin a.um-admin-activebg:hover{
|
79 |
-
background: #3ba1da;
|
80 |
-
color: #fff;
|
81 |
-
}
|
82 |
-
|
83 |
-
.um-admin a.button i,
|
84 |
-
.um-admin a.button-primary i {
|
85 |
-
font-size: 15px !important;
|
86 |
-
height: 15px !important;
|
87 |
-
width: 15px !important;
|
88 |
-
text-align: center !important;
|
89 |
-
margin: 0 5px 0 0 !important;
|
90 |
-
display: inline-block;
|
91 |
-
}
|
92 |
-
|
93 |
-
.um-admin a.button i:before,
|
94 |
-
.um-admin a.button-primary i:before {
|
95 |
-
position: relative;
|
96 |
-
top: 1px;
|
97 |
-
}
|
98 |
-
|
99 |
-
/*
|
100 |
-
- Form Inputs
|
101 |
-
*/
|
102 |
-
|
103 |
-
.um-admin-metabox h3 {
|
104 |
-
padding-left: 0 !important;
|
105 |
-
}
|
106 |
-
|
107 |
-
.um-admin-metabox h4 {
|
108 |
-
font-size: 14px;
|
109 |
-
background: #f5f5f5;
|
110 |
-
padding: 8px 4px;
|
111 |
-
color: #333;
|
112 |
-
}
|
113 |
-
|
114 |
-
.um-admin-metabox p {margin: 10px 0 0 0}
|
115 |
-
|
116 |
-
.um-admin-metabox label{
|
117 |
-
display: block;
|
118 |
-
cursor: default;
|
119 |
-
margin: 0 0 8px 0 !important;
|
120 |
-
padding: 0!important;
|
121 |
-
font-size: 13px;
|
122 |
-
color: #666;
|
123 |
-
}
|
124 |
-
|
125 |
-
.um-admin-metabox input[type=text]:disabled{
|
126 |
-
opacity: 0.7 !important;
|
127 |
-
color: #aaa !important;
|
128 |
-
}
|
129 |
-
|
130 |
-
.um-admin-metabox input[type=text] {
|
131 |
-
height: auto !important;
|
132 |
-
}
|
133 |
-
|
134 |
-
.um-admin-metabox input[type=text],
|
135 |
-
.um-admin-metabox textarea {
|
136 |
-
width: 100%;
|
137 |
-
max-width: 100%;
|
138 |
-
display: block;
|
139 |
-
box-sizing: border-box !important;
|
140 |
-
font-size: 13px !important;
|
141 |
-
line-height: 1.4em !important;
|
142 |
-
padding: 4px 10px !important;
|
143 |
-
}
|
144 |
-
|
145 |
-
.um-admin-metabox textarea {
|
146 |
-
padding: 8px !important;
|
147 |
-
line-height: 1.6em;
|
148 |
-
color: #888 !important;
|
149 |
-
}
|
150 |
-
|
151 |
-
.um-admin-metabox input[type=text].um-admin-error,
|
152 |
-
.um-admin-metabox textarea.um-admin-error
|
153 |
-
{border-color: #C74A4A!important}
|
154 |
-
|
155 |
-
.um-admin-metabox input[type=text].small {width: 54px}
|
156 |
-
|
157 |
-
.um-admin-metabox textarea {min-height: 100px;height: 100px}
|
158 |
-
.um-admin-metabox textarea.tall {min-height: 200px;height: 200px}
|
159 |
-
|
160 |
-
.wp-picker-container input.wp-color-picker[type="text"] {
|
161 |
-
width: 68px !important;
|
162 |
-
float: left !important;
|
163 |
-
padding: 2px 4px !important;
|
164 |
-
border-width: 1px !important;
|
165 |
-
}
|
166 |
-
|
167 |
-
/*
|
168 |
-
- Error blocks
|
169 |
-
*/
|
170 |
-
|
171 |
-
.um-admin-error-block, .um-admin-success-block{
|
172 |
-
display: none;
|
173 |
-
width: 100%;
|
174 |
-
background: #C74A4A;
|
175 |
-
border-radius: 3px;
|
176 |
-
color: #fff;
|
177 |
-
box-sizing: border-box;
|
178 |
-
position: relative;
|
179 |
-
padding: 12px;
|
180 |
-
font-size: 13px;
|
181 |
-
line-height: 1em !important;
|
182 |
-
margin: 0 0 16px 0;
|
183 |
-
}
|
184 |
-
|
185 |
-
.um-admin-success-block {
|
186 |
-
background: #7ACF58;
|
187 |
-
}
|
188 |
-
|
189 |
-
/*
|
190 |
-
- Yes or NO UI
|
191 |
-
*/
|
192 |
-
|
193 |
-
p.disabled-on-off .um-admin-yesno {
|
194 |
-
opacity: 0.5!important;
|
195 |
-
cursor: default !important;
|
196 |
-
}
|
197 |
-
p.disabled-on-off .um-admin-yesno *{
|
198 |
-
cursor: default !important;
|
199 |
-
}
|
200 |
-
|
201 |
-
.um-admin-yesno {
|
202 |
-
width: 100px !important;
|
203 |
-
height: 26px;
|
204 |
-
display: block;
|
205 |
-
position: relative;
|
206 |
-
color: #fff;
|
207 |
-
}
|
208 |
-
|
209 |
-
.um-admin-yesno span.btn {
|
210 |
-
position: absolute;
|
211 |
-
left: 0;
|
212 |
-
top: -2px;
|
213 |
-
width: 50px;
|
214 |
-
height: 28px;
|
215 |
-
text-align: center;
|
216 |
-
background: #f9f9f9;
|
217 |
-
z-index: 999;
|
218 |
-
border-radius: 3px;
|
219 |
-
cursor: pointer;
|
220 |
-
border: solid 1px #D0D9DB;
|
221 |
-
margin: 0;
|
222 |
-
padding: 0 !important;
|
223 |
-
}
|
224 |
-
|
225 |
-
.um-admin-yesno span.btn.pos-1 {left: 48px}
|
226 |
-
|
227 |
-
.um-admin-yesno span.yes, .um-admin-yesno span.no {
|
228 |
-
width: 50px;
|
229 |
-
float: left;
|
230 |
-
line-height: 24px;
|
231 |
-
height: 26px;
|
232 |
-
cursor: default;
|
233 |
-
font-size: 14px;
|
234 |
-
color: #fff;
|
235 |
-
padding: 0 0 0 10px;
|
236 |
-
box-sizing: border-box;
|
237 |
-
}
|
238 |
-
|
239 |
-
.um-admin-yesno .yes {
|
240 |
-
background: #3ba1da;
|
241 |
-
border-radius: 3px 0 0 3px;
|
242 |
-
border: 1px solid rgba(0,0,0,.2);
|
243 |
-
}
|
244 |
-
|
245 |
-
.um-admin-yesno .no {
|
246 |
-
padding: 0 10px 0 0 !important;
|
247 |
-
text-align: right;
|
248 |
-
float: right;
|
249 |
-
background: #fff;
|
250 |
-
color: #222 !important;
|
251 |
-
border-radius: 0 3px 3px 0;
|
252 |
-
border: 1px solid #ddd;
|
253 |
-
}
|
254 |
-
|
255 |
-
.um-admin.users-php .subsubsub li.subsep {
|
256 |
-
display: block;
|
257 |
-
visibility: hidden;
|
258 |
-
height: 0;
|
259 |
-
}
|
1 |
+
/*
|
2 |
+
- Welcome
|
3 |
+
*/
|
4 |
+
|
5 |
+
.um-about-wrap * {
|
6 |
+
-webkit-font-smoothing: antialiased;
|
7 |
+
-moz-osx-font-smoothing: grayscale;
|
8 |
+
}
|
9 |
+
|
10 |
+
.um-about-wrap a.um-about-icon {
|
11 |
+
margin: 0 0 0 15px !important;
|
12 |
+
padding: 0 !important;
|
13 |
+
text-decoration: none !important;
|
14 |
+
color: #777 !important;
|
15 |
+
font-size: 22px !important;
|
16 |
+
}
|
17 |
+
|
18 |
+
.um-about-wrap a.um-about-icon:hover {color: #3ba1da !important}
|
19 |
+
|
20 |
+
.um-badge {
|
21 |
+
color: #fff;
|
22 |
+
background: none !important;
|
23 |
+
background: #3ba1da url(../img/logo_small.png) no-repeat center 0px !important;
|
24 |
+
}
|
25 |
+
|
26 |
+
.um-about-wrap .ultimatemember-actions a.button-primary,
|
27 |
+
.um-about-wrap .ultimatemember-actions a.button {
|
28 |
+
vertical-align: top;
|
29 |
+
margin: 0 5px 0 0;
|
30 |
+
}
|
31 |
+
|
32 |
+
.changelog a.button-primary {
|
33 |
+
height: 40px;
|
34 |
+
line-height: 38px;
|
35 |
+
}
|
36 |
+
|
37 |
+
.um-about-wrap a {text-decoration: none}
|
38 |
+
|
39 |
+
/*
|
40 |
+
- General
|
41 |
+
*/
|
42 |
+
|
43 |
+
body.um-admin-modal-open {
|
44 |
+
overflow: hidden;
|
45 |
+
}
|
46 |
+
|
47 |
+
.um-admin #major-publishing-actions{background-color: #fff !important;border-top:0}
|
48 |
+
|
49 |
+
.um-admin-hide {display: none}
|
50 |
+
|
51 |
+
.um-admin-field {
|
52 |
+
display: block;
|
53 |
+
width: 100%;
|
54 |
+
margin-top: 10px;
|
55 |
+
}
|
56 |
+
|
57 |
+
.um-admin-field a.button {
|
58 |
+
position: relative;
|
59 |
+
top: 1px;
|
60 |
+
height: 30px !important;
|
61 |
+
}
|
62 |
+
|
63 |
+
.um-admin-half {
|
64 |
+
float: left;
|
65 |
+
width: 48%;
|
66 |
+
}
|
67 |
+
|
68 |
+
.um-admin-tri {
|
69 |
+
float: left;
|
70 |
+
width: 33%;
|
71 |
+
}
|
72 |
+
|
73 |
+
.um-admin-left{float: left}
|
74 |
+
.um-admin-right {float: right}
|
75 |
+
.um-admin-clear {clear: both}
|
76 |
+
|
77 |
+
.um-admin a.um-admin-activebg,
|
78 |
+
.um-admin a.um-admin-activebg:hover{
|
79 |
+
background: #3ba1da;
|
80 |
+
color: #fff;
|
81 |
+
}
|
82 |
+
|
83 |
+
.um-admin a.button i,
|
84 |
+
.um-admin a.button-primary i {
|
85 |
+
font-size: 15px !important;
|
86 |
+
height: 15px !important;
|
87 |
+
width: 15px !important;
|
88 |
+
text-align: center !important;
|
89 |
+
margin: 0 5px 0 0 !important;
|
90 |
+
display: inline-block;
|
91 |
+
}
|
92 |
+
|
93 |
+
.um-admin a.button i:before,
|
94 |
+
.um-admin a.button-primary i:before {
|
95 |
+
position: relative;
|
96 |
+
top: 1px;
|
97 |
+
}
|
98 |
+
|
99 |
+
/*
|
100 |
+
- Form Inputs
|
101 |
+
*/
|
102 |
+
|
103 |
+
.um-admin-metabox h3 {
|
104 |
+
padding-left: 0 !important;
|
105 |
+
}
|
106 |
+
|
107 |
+
.um-admin-metabox h4 {
|
108 |
+
font-size: 14px;
|
109 |
+
background: #f5f5f5;
|
110 |
+
padding: 8px 4px;
|
111 |
+
color: #333;
|
112 |
+
}
|
113 |
+
|
114 |
+
.um-admin-metabox p {margin: 10px 0 0 0}
|
115 |
+
|
116 |
+
.um-admin-metabox label{
|
117 |
+
display: block;
|
118 |
+
cursor: default;
|
119 |
+
margin: 0 0 8px 0 !important;
|
120 |
+
padding: 0!important;
|
121 |
+
font-size: 13px;
|
122 |
+
color: #666;
|
123 |
+
}
|
124 |
+
|
125 |
+
.um-admin-metabox input[type=text]:disabled{
|
126 |
+
opacity: 0.7 !important;
|
127 |
+
color: #aaa !important;
|
128 |
+
}
|
129 |
+
|
130 |
+
.um-admin-metabox input[type=text] {
|
131 |
+
height: auto !important;
|
132 |
+
}
|
133 |
+
|
134 |
+
.um-admin-metabox input[type=text],
|
135 |
+
.um-admin-metabox textarea {
|
136 |
+
width: 100%;
|
137 |
+
max-width: 100%;
|
138 |
+
display: block;
|
139 |
+
box-sizing: border-box !important;
|
140 |
+
font-size: 13px !important;
|
141 |
+
line-height: 1.4em !important;
|
142 |
+
padding: 4px 10px !important;
|
143 |
+
}
|
144 |
+
|
145 |
+
.um-admin-metabox textarea {
|
146 |
+
padding: 8px !important;
|
147 |
+
line-height: 1.6em;
|
148 |
+
color: #888 !important;
|
149 |
+
}
|
150 |
+
|
151 |
+
.um-admin-metabox input[type=text].um-admin-error,
|
152 |
+
.um-admin-metabox textarea.um-admin-error
|
153 |
+
{border-color: #C74A4A!important}
|
154 |
+
|
155 |
+
.um-admin-metabox input[type=text].small {width: 54px}
|
156 |
+
|
157 |
+
.um-admin-metabox textarea {min-height: 100px;height: 100px}
|
158 |
+
.um-admin-metabox textarea.tall {min-height: 200px;height: 200px}
|
159 |
+
|
160 |
+
.wp-picker-container input.wp-color-picker[type="text"] {
|
161 |
+
width: 68px !important;
|
162 |
+
float: left !important;
|
163 |
+
padding: 2px 4px !important;
|
164 |
+
border-width: 1px !important;
|
165 |
+
}
|
166 |
+
|
167 |
+
/*
|
168 |
+
- Error blocks
|
169 |
+
*/
|
170 |
+
|
171 |
+
.um-admin-error-block, .um-admin-success-block{
|
172 |
+
display: none;
|
173 |
+
width: 100%;
|
174 |
+
background: #C74A4A;
|
175 |
+
border-radius: 3px;
|
176 |
+
color: #fff;
|
177 |
+
box-sizing: border-box;
|
178 |
+
position: relative;
|
179 |
+
padding: 12px;
|
180 |
+
font-size: 13px;
|
181 |
+
line-height: 1em !important;
|
182 |
+
margin: 0 0 16px 0;
|
183 |
+
}
|
184 |
+
|
185 |
+
.um-admin-success-block {
|
186 |
+
background: #7ACF58;
|
187 |
+
}
|
188 |
+
|
189 |
+
/*
|
190 |
+
- Yes or NO UI
|
191 |
+
*/
|
192 |
+
|
193 |
+
p.disabled-on-off .um-admin-yesno {
|
194 |
+
opacity: 0.5!important;
|
195 |
+
cursor: default !important;
|
196 |
+
}
|
197 |
+
p.disabled-on-off .um-admin-yesno *{
|
198 |
+
cursor: default !important;
|
199 |
+
}
|
200 |
+
|
201 |
+
.um-admin-yesno {
|
202 |
+
width: 100px !important;
|
203 |
+
height: 26px;
|
204 |
+
display: block;
|
205 |
+
position: relative;
|
206 |
+
color: #fff;
|
207 |
+
}
|
208 |
+
|
209 |
+
.um-admin-yesno span.btn {
|
210 |
+
position: absolute;
|
211 |
+
left: 0;
|
212 |
+
top: -2px;
|
213 |
+
width: 50px;
|
214 |
+
height: 28px;
|
215 |
+
text-align: center;
|
216 |
+
background: #f9f9f9;
|
217 |
+
z-index: 999;
|
218 |
+
border-radius: 3px;
|
219 |
+
cursor: pointer;
|
220 |
+
border: solid 1px #D0D9DB;
|
221 |
+
margin: 0;
|
222 |
+
padding: 0 !important;
|
223 |
+
}
|
224 |
+
|
225 |
+
.um-admin-yesno span.btn.pos-1 {left: 48px}
|
226 |
+
|
227 |
+
.um-admin-yesno span.yes, .um-admin-yesno span.no {
|
228 |
+
width: 50px;
|
229 |
+
float: left;
|
230 |
+
line-height: 24px;
|
231 |
+
height: 26px;
|
232 |
+
cursor: default;
|
233 |
+
font-size: 14px;
|
234 |
+
color: #fff;
|
235 |
+
padding: 0 0 0 10px;
|
236 |
+
box-sizing: border-box;
|
237 |
+
}
|
238 |
+
|
239 |
+
.um-admin-yesno .yes {
|
240 |
+
background: #3ba1da;
|
241 |
+
border-radius: 3px 0 0 3px;
|
242 |
+
border: 1px solid rgba(0,0,0,.2);
|
243 |
+
}
|
244 |
+
|
245 |
+
.um-admin-yesno .no {
|
246 |
+
padding: 0 10px 0 0 !important;
|
247 |
+
text-align: right;
|
248 |
+
float: right;
|
249 |
+
background: #fff;
|
250 |
+
color: #222 !important;
|
251 |
+
border-radius: 0 3px 3px 0;
|
252 |
+
border: 1px solid #ddd;
|
253 |
+
}
|
254 |
+
|
255 |
+
.um-admin.users-php .subsubsub li.subsep {
|
256 |
+
display: block;
|
257 |
+
visibility: hidden;
|
258 |
+
height: 0;
|
259 |
+
}
|
admin/assets/css/um-admin-modal.css
CHANGED
@@ -1,298 +1,298 @@
|
|
1 |
-
/*
|
2 |
-
- Overlay
|
3 |
-
*/
|
4 |
-
|
5 |
-
.um-admin-overlay {
|
6 |
-
background: rgba(0,0,0, .7);
|
7 |
-
width: 100%;
|
8 |
-
height: 100%;
|
9 |
-
position: fixed;
|
10 |
-
top: 0;
|
11 |
-
left: 0;
|
12 |
-
z-index: 10000;
|
13 |
-
}
|
14 |
-
|
15 |
-
/*
|
16 |
-
- modal
|
17 |
-
*/
|
18 |
-
|
19 |
-
.um-admin-modal * {
|
20 |
-
-webkit-font-smoothing: antialiased !important;
|
21 |
-
-moz-osx-font-smoothing: grayscale;
|
22 |
-
}
|
23 |
-
|
24 |
-
.um-admin-modal input[type=submit].button-primary,
|
25 |
-
.um-admin-modal a.button-primary,
|
26 |
-
.um-admin-modal a.button {
|
27 |
-
padding: 0 12px !important;
|
28 |
-
vertical-align: middle !important;
|
29 |
-
}
|
30 |
-
|
31 |
-
.um-admin .um-admin-modal a.button i:before {
|
32 |
-
display: block;
|
33 |
-
top: 0px;
|
34 |
-
}
|
35 |
-
|
36 |
-
.um-admin-modal input[type=submit].button-primary {
|
37 |
-
line-height: 24px !important;
|
38 |
-
}
|
39 |
-
|
40 |
-
.um-admin-modal {
|
41 |
-
border-radius: 3px;
|
42 |
-
background: #fff;
|
43 |
-
position: fixed;
|
44 |
-
top: 50% !important;
|
45 |
-
left: 50% !important;
|
46 |
-
display: none;
|
47 |
-
z-index: 10001;
|
48 |
-
box-sizing: border-box;
|
49 |
-
|
50 |
-
width: 730px;
|
51 |
-
margin-left: -365px;
|
52 |
-
}
|
53 |
-
|
54 |
-
.um-admin-modal.normal {width: 730px;margin-left: -365px;}
|
55 |
-
.um-admin-modal.smaller {width: 500px;margin-left: -250px;}
|
56 |
-
.um-admin-modal.small {width: 400px;margin-left: -200px;}
|
57 |
-
|
58 |
-
.um-admin-modal-close {
|
59 |
-
position: absolute;
|
60 |
-
color: #fff !important;
|
61 |
-
right: 16px;
|
62 |
-
top: 14px;
|
63 |
-
font-size: 22px;
|
64 |
-
text-decoration: none;
|
65 |
-
opacity: 0.4;
|
66 |
-
}
|
67 |
-
.um-admin-modal-close:hover{opacity:1}
|
68 |
-
|
69 |
-
.um-admin-modal-head {
|
70 |
-
padding: 4px 20px;
|
71 |
-
background: #3ba1da;
|
72 |
-
position: relative;
|
73 |
-
border-radius: 3px 3px 0 0;
|
74 |
-
}
|
75 |
-
|
76 |
-
.um-admin-modal-body {
|
77 |
-
padding: 10px 20px 10px 20px;
|
78 |
-
max-height: 500px;
|
79 |
-
overflow: auto;
|
80 |
-
}
|
81 |
-
|
82 |
-
.um-admin-modal-body.um-admin-metabox label {margin: 0!important}
|
83 |
-
|
84 |
-
.um-admin-modal.loading .um-admin-modal-body {
|
85 |
-
height: 200px;
|
86 |
-
background: url(../img/ajax-loader.gif) no-repeat center;
|
87 |
-
}
|
88 |
-
|
89 |
-
.um-admin-modal-foot {
|
90 |
-
padding: 20px 0 !important;
|
91 |
-
border-top: 1px solid #ddd;
|
92 |
-
text-align: center;
|
93 |
-
background: #eee;
|
94 |
-
border-radius: 0 0 3px 3px;
|
95 |
-
}
|
96 |
-
|
97 |
-
.um-admin-modal-foot a,
|
98 |
-
.um-admin-modal-foot input{
|
99 |
-
margin: 0 10px !important;
|
100 |
-
font-size: 14px !important;
|
101 |
-
}
|
102 |
-
|
103 |
-
.um-admin-modal h3 {
|
104 |
-
font-size: 14px;
|
105 |
-
line-height: 14px;
|
106 |
-
font-weight: normal;
|
107 |
-
color: #fff;
|
108 |
-
}
|
109 |
-
|
110 |
-
.um-admin-modal h4 {
|
111 |
-
margin: 0 0 10px 0 !important;
|
112 |
-
}
|
113 |
-
|
114 |
-
.um-admin-modal label,
|
115 |
-
.um-admin-modal p {
|
116 |
-
font-size: 13px;
|
117 |
-
color: #aaa;
|
118 |
-
}
|
119 |
-
|
120 |
-
.um-admin-infobox p,
|
121 |
-
.um-admin-infobox label {
|
122 |
-
color: #666;
|
123 |
-
}
|
124 |
-
|
125 |
-
.um-admin-infobox p {
|
126 |
-
border-top: 1px solid #e5e5e5;
|
127 |
-
padding-top: 15px;
|
128 |
-
}
|
129 |
-
|
130 |
-
.um-admin-infobox label {
|
131 |
-
font-weight: bold;
|
132 |
-
display: block;
|
133 |
-
color: #333;
|
134 |
-
cursor: default;
|
135 |
-
}
|
136 |
-
|
137 |
-
/*
|
138 |
-
- Conditional fields
|
139 |
-
*/
|
140 |
-
|
141 |
-
.um-admin-btn-toggle {
|
142 |
-
padding: 10px 0;
|
143 |
-
}
|
144 |
-
|
145 |
-
.um-admin-btn-toggle p {
|
146 |
-
margin: 0 5px 0 0 !important;
|
147 |
-
}
|
148 |
-
|
149 |
-
.um-admin-btn-toggle p.um-admin-reset-conditions {
|
150 |
-
margin: 0 0 5px 0 !important;
|
151 |
-
}
|
152 |
-
|
153 |
-
.um-admin-btn-toggle a {
|
154 |
-
text-decoration: none;
|
155 |
-
color: #999;
|
156 |
-
}
|
157 |
-
|
158 |
-
.um-admin-btn-toggle a.active, .um-admin-btn-toggle a.active:hover {
|
159 |
-
color: #3ba1da;
|
160 |
-
}
|
161 |
-
|
162 |
-
.um-admin-btn-toggle i {
|
163 |
-
margin: 0 5px 0 0 !important;
|
164 |
-
height: 100%;
|
165 |
-
color: #666;
|
166 |
-
position: relative;
|
167 |
-
top: 1px;
|
168 |
-
}
|
169 |
-
|
170 |
-
.um-admin-btn-content {
|
171 |
-
display: none;
|
172 |
-
padding: 10px 0 0 0;
|
173 |
-
}
|
174 |
-
|
175 |
-
.um-admin-btn-content p {
|
176 |
-
float: left;
|
177 |
-
margin-right: 10px !important;
|
178 |
-
padding: 0 !important;
|
179 |
-
}
|
180 |
-
|
181 |
-
.dynamic-mce-content {display: none}
|
182 |
-
|
183 |
-
/*
|
184 |
-
- Buttons and Links
|
185 |
-
*/
|
186 |
-
|
187 |
-
.um-admin-btns {
|
188 |
-
line-height: 1.5em;
|
189 |
-
margin: 0 0 5px 0;
|
190 |
-
}
|
191 |
-
|
192 |
-
.um-admin-btns a {
|
193 |
-
margin: 0 3px 8px 0!important;
|
194 |
-
font-size: 12px !important;
|
195 |
-
display: inline-block !important;
|
196 |
-
position: relative;
|
197 |
-
}
|
198 |
-
|
199 |
-
.um-admin-btns a.button.with-icon {
|
200 |
-
padding-right: 25px !important;
|
201 |
-
}
|
202 |
-
.um-admin-btns a span {
|
203 |
-
color: #aaa;
|
204 |
-
position: absolute !important;
|
205 |
-
width: 25px;
|
206 |
-
text-align: center;
|
207 |
-
right: 0;
|
208 |
-
top: 0;
|
209 |
-
font-size: 15px !important;
|
210 |
-
}
|
211 |
-
|
212 |
-
.um-admin-btns a span.remove:before{
|
213 |
-
font-family: "Ionicons" !important;
|
214 |
-
content: "\f128";
|
215 |
-
}
|
216 |
-
.um-admin-btns a span:hover{color: #cb3838}
|
217 |
-
|
218 |
-
/*
|
219 |
-
- WP Editor
|
220 |
-
*/
|
221 |
-
|
222 |
-
.um-admin-modal-body.um-admin-metabox .um-admin-editor-h {
|
223 |
-
margin-top: 12px;
|
224 |
-
}
|
225 |
-
|
226 |
-
.um-admin-modal-body.um-admin-metabox .um-admin-editor-h label,
|
227 |
-
.um-admin-modal-body.um-admin-metabox .wp-editor-wrap
|
228 |
-
{margin: 0 0 4px 0 !important}
|
229 |
-
|
230 |
-
.um-admin-modal-body.um-admin-metabox .wp-editor-wrap textarea {
|
231 |
-
border: 0 !important;
|
232 |
-
}
|
233 |
-
|
234 |
-
/*
|
235 |
-
- Boxes / Icons
|
236 |
-
*/
|
237 |
-
|
238 |
-
#UM_fonticons div.um-admin-metabox {
|
239 |
-
padding-bottom: 22px !important;
|
240 |
-
}
|
241 |
-
|
242 |
-
p._icon_search{
|
243 |
-
position: relative;
|
244 |
-
width: 85% !important;
|
245 |
-
margin: 0 auto !important;
|
246 |
-
padding: 12px 0 0 0 !important;
|
247 |
-
}
|
248 |
-
|
249 |
-
p._icon_search:before {
|
250 |
-
position: absolute;
|
251 |
-
right: 6px;
|
252 |
-
top: 12px;
|
253 |
-
font-size: 20px;
|
254 |
-
content: "\f4a4";
|
255 |
-
font-family: "Ionicons";
|
256 |
-
color: #999;
|
257 |
-
}
|
258 |
-
p._icon_search input[type=text]{padding-right: 40px!important}
|
259 |
-
|
260 |
-
.um-admin-icons {
|
261 |
-
padding: 0 0 15px 12px;
|
262 |
-
float: left;
|
263 |
-
}
|
264 |
-
|
265 |
-
.um-admin-icons span {
|
266 |
-
cursor: pointer;
|
267 |
-
float: left;
|
268 |
-
margin: 5px;
|
269 |
-
color: #777;
|
270 |
-
border: 4px solid #eee;
|
271 |
-
border-radius: 3px;
|
272 |
-
}
|
273 |
-
.um-admin-icons span:hover,
|
274 |
-
.um-admin-icons span.highlighted
|
275 |
-
{color: #3ba1da;border-color: #3ba1da}
|
276 |
-
|
277 |
-
.um-admin-icons i{vertical-align: middle !important;font-size: 24px;width: 24px;text-align: center;padding: 15px 20px;display: inline-block;}
|
278 |
-
|
279 |
-
span.um-admin-icon-value {
|
280 |
-
margin: 0 10px;
|
281 |
-
font-size: 13px;
|
282 |
-
}
|
283 |
-
span.um-admin-icon-value i {
|
284 |
-
font-size: 28px;
|
285 |
-
color: #3ba1da;
|
286 |
-
position: relative;
|
287 |
-
top: 5px;
|
288 |
-
}
|
289 |
-
|
290 |
-
span.um-admin-icon-clear{
|
291 |
-
display: none;
|
292 |
-
cursor: pointer;
|
293 |
-
position: relative;
|
294 |
-
color: #ccc;
|
295 |
-
}
|
296 |
-
span.um-admin-icon-clear.show {display: inline-block}
|
297 |
-
span.um-admin-icon-clear:hover {color: #777}
|
298 |
span.um-admin-icon-clear i {font-size: 20px;vertical-align: middle;}
|
1 |
+
/*
|
2 |
+
- Overlay
|
3 |
+
*/
|
4 |
+
|
5 |
+
.um-admin-overlay {
|
6 |
+
background: rgba(0,0,0, .7);
|
7 |
+
width: 100%;
|
8 |
+
height: 100%;
|
9 |
+
position: fixed;
|
10 |
+
top: 0;
|
11 |
+
left: 0;
|
12 |
+
z-index: 10000;
|
13 |
+
}
|
14 |
+
|
15 |
+
/*
|
16 |
+
- modal
|
17 |
+
*/
|
18 |
+
|
19 |
+
.um-admin-modal * {
|
20 |
+
-webkit-font-smoothing: antialiased !important;
|
21 |
+
-moz-osx-font-smoothing: grayscale;
|
22 |
+
}
|
23 |
+
|
24 |
+
.um-admin-modal input[type=submit].button-primary,
|
25 |
+
.um-admin-modal a.button-primary,
|
26 |
+
.um-admin-modal a.button {
|
27 |
+
padding: 0 12px !important;
|
28 |
+
vertical-align: middle !important;
|
29 |
+
}
|
30 |
+
|
31 |
+
.um-admin .um-admin-modal a.button i:before {
|
32 |
+
display: block;
|
33 |
+
top: 0px;
|
34 |
+
}
|
35 |
+
|
36 |
+
.um-admin-modal input[type=submit].button-primary {
|
37 |
+
line-height: 24px !important;
|
38 |
+
}
|
39 |
+
|
40 |
+
.um-admin-modal {
|
41 |
+
border-radius: 3px;
|
42 |
+
background: #fff;
|
43 |
+
position: fixed;
|
44 |
+
top: 50% !important;
|
45 |
+
left: 50% !important;
|
46 |
+
display: none;
|
47 |
+
z-index: 10001;
|
48 |
+
box-sizing: border-box;
|
49 |
+
|
50 |
+
width: 730px;
|
51 |
+
margin-left: -365px;
|
52 |
+
}
|
53 |
+
|
54 |
+
.um-admin-modal.normal {width: 730px;margin-left: -365px;}
|
55 |
+
.um-admin-modal.smaller {width: 500px;margin-left: -250px;}
|
56 |
+
.um-admin-modal.small {width: 400px;margin-left: -200px;}
|
57 |
+
|
58 |
+
.um-admin-modal-close {
|
59 |
+
position: absolute;
|
60 |
+
color: #fff !important;
|
61 |
+
right: 16px;
|
62 |
+
top: 14px;
|
63 |
+
font-size: 22px;
|
64 |
+
text-decoration: none;
|
65 |
+
opacity: 0.4;
|
66 |
+
}
|
67 |
+
.um-admin-modal-close:hover{opacity:1}
|
68 |
+
|
69 |
+
.um-admin-modal-head {
|
70 |
+
padding: 4px 20px;
|
71 |
+
background: #3ba1da;
|
72 |
+
position: relative;
|
73 |
+
border-radius: 3px 3px 0 0;
|
74 |
+
}
|
75 |
+
|
76 |
+
.um-admin-modal-body {
|
77 |
+
padding: 10px 20px 10px 20px;
|
78 |
+
max-height: 500px;
|
79 |
+
overflow: auto;
|
80 |
+
}
|
81 |
+
|
82 |
+
.um-admin-modal-body.um-admin-metabox label {margin: 0!important}
|
83 |
+
|
84 |
+
.um-admin-modal.loading .um-admin-modal-body {
|
85 |
+
height: 200px;
|
86 |
+
background: url(../img/ajax-loader.gif) no-repeat center;
|
87 |
+
}
|
88 |
+
|
89 |
+
.um-admin-modal-foot {
|
90 |
+
padding: 20px 0 !important;
|
91 |
+
border-top: 1px solid #ddd;
|
92 |
+
text-align: center;
|
93 |
+
background: #eee;
|
94 |
+
border-radius: 0 0 3px 3px;
|
95 |
+
}
|
96 |
+
|
97 |
+
.um-admin-modal-foot a,
|
98 |
+
.um-admin-modal-foot input{
|
99 |
+
margin: 0 10px !important;
|
100 |
+
font-size: 14px !important;
|
101 |
+
}
|
102 |
+
|
103 |
+
.um-admin-modal h3 {
|
104 |
+
font-size: 14px;
|
105 |
+
line-height: 14px;
|
106 |
+
font-weight: normal;
|
107 |
+
color: #fff;
|
108 |
+
}
|
109 |
+
|
110 |
+
.um-admin-modal h4 {
|
111 |
+
margin: 0 0 10px 0 !important;
|
112 |
+
}
|
113 |
+
|
114 |
+
.um-admin-modal label,
|
115 |
+
.um-admin-modal p {
|
116 |
+
font-size: 13px;
|
117 |
+
color: #aaa;
|
118 |
+
}
|
119 |
+
|
120 |
+
.um-admin-infobox p,
|
121 |
+
.um-admin-infobox label {
|
122 |
+
color: #666;
|
123 |
+
}
|
124 |
+
|
125 |
+
.um-admin-infobox p {
|
126 |
+
border-top: 1px solid #e5e5e5;
|
127 |
+
padding-top: 15px;
|
128 |
+
}
|
129 |
+
|
130 |
+
.um-admin-infobox label {
|
131 |
+
font-weight: bold;
|
132 |
+
display: block;
|
133 |
+
color: #333;
|
134 |
+
cursor: default;
|
135 |
+
}
|
136 |
+
|
137 |
+
/*
|
138 |
+
- Conditional fields
|
139 |
+
*/
|
140 |
+
|
141 |
+
.um-admin-btn-toggle {
|
142 |
+
padding: 10px 0;
|
143 |
+
}
|
144 |
+
|
145 |
+
.um-admin-btn-toggle p {
|
146 |
+
margin: 0 5px 0 0 !important;
|
147 |
+
}
|
148 |
+
|
149 |
+
.um-admin-btn-toggle p.um-admin-reset-conditions {
|
150 |
+
margin: 0 0 5px 0 !important;
|
151 |
+
}
|
152 |
+
|
153 |
+
.um-admin-btn-toggle a {
|
154 |
+
text-decoration: none;
|
155 |
+
color: #999;
|
156 |
+
}
|
157 |
+
|
158 |
+
.um-admin-btn-toggle a.active, .um-admin-btn-toggle a.active:hover {
|
159 |
+
color: #3ba1da;
|
160 |
+
}
|
161 |
+
|
162 |
+
.um-admin-btn-toggle i {
|
163 |
+
margin: 0 5px 0 0 !important;
|
164 |
+
height: 100%;
|
165 |
+
color: #666;
|
166 |
+
position: relative;
|
167 |
+
top: 1px;
|
168 |
+
}
|
169 |
+
|
170 |
+
.um-admin-btn-content {
|
171 |
+
display: none;
|
172 |
+
padding: 10px 0 0 0;
|
173 |
+
}
|
174 |
+
|
175 |
+
.um-admin-btn-content p {
|
176 |
+
float: left;
|
177 |
+
margin-right: 10px !important;
|
178 |
+
padding: 0 !important;
|
179 |
+
}
|
180 |
+
|
181 |
+
.dynamic-mce-content {display: none}
|
182 |
+
|
183 |
+
/*
|
184 |
+
- Buttons and Links
|
185 |
+
*/
|
186 |
+
|
187 |
+
.um-admin-btns {
|
188 |
+
line-height: 1.5em;
|
189 |
+
margin: 0 0 5px 0;
|
190 |
+
}
|
191 |
+
|
192 |
+
.um-admin-btns a {
|
193 |
+
margin: 0 3px 8px 0!important;
|
194 |
+
font-size: 12px !important;
|
195 |
+
display: inline-block !important;
|
196 |
+
position: relative;
|
197 |
+
}
|
198 |
+
|
199 |
+
.um-admin-btns a.button.with-icon {
|
200 |
+
padding-right: 25px !important;
|
201 |
+
}
|
202 |
+
.um-admin-btns a span {
|
203 |
+
color: #aaa;
|
204 |
+
position: absolute !important;
|
205 |
+
width: 25px;
|
206 |
+
text-align: center;
|
207 |
+
right: 0;
|
208 |
+
top: 0;
|
209 |
+
font-size: 15px !important;
|
210 |
+
}
|
211 |
+
|
212 |
+
.um-admin-btns a span.remove:before{
|
213 |
+
font-family: "Ionicons" !important;
|
214 |
+
content: "\f128";
|
215 |
+
}
|
216 |
+
.um-admin-btns a span:hover{color: #cb3838}
|
217 |
+
|
218 |
+
/*
|
219 |
+
- WP Editor
|
220 |
+
*/
|
221 |
+
|
222 |
+
.um-admin-modal-body.um-admin-metabox .um-admin-editor-h {
|
223 |
+
margin-top: 12px;
|
224 |
+
}
|
225 |
+
|
226 |
+
.um-admin-modal-body.um-admin-metabox .um-admin-editor-h label,
|
227 |
+
.um-admin-modal-body.um-admin-metabox .wp-editor-wrap
|
228 |
+
{margin: 0 0 4px 0 !important}
|
229 |
+
|
230 |
+
.um-admin-modal-body.um-admin-metabox .wp-editor-wrap textarea {
|
231 |
+
border: 0 !important;
|
232 |
+
}
|
233 |
+
|
234 |
+
/*
|
235 |
+
- Boxes / Icons
|
236 |
+
*/
|
237 |
+
|
238 |
+
#UM_fonticons div.um-admin-metabox {
|
239 |
+
padding-bottom: 22px !important;
|
240 |
+
}
|
241 |
+
|
242 |
+
p._icon_search{
|
243 |
+
position: relative;
|
244 |
+
width: 85% !important;
|
245 |
+
margin: 0 auto !important;
|
246 |
+
padding: 12px 0 0 0 !important;
|
247 |
+
}
|
248 |
+
|
249 |
+
p._icon_search:before {
|
250 |
+
position: absolute;
|
251 |
+
right: 6px;
|
252 |
+
top: 12px;
|
253 |
+
font-size: 20px;
|
254 |
+
content: "\f4a4";
|
255 |
+
font-family: "Ionicons";
|
256 |
+
color: #999;
|
257 |
+
}
|
258 |
+
p._icon_search input[type=text]{padding-right: 40px!important}
|
259 |
+
|
260 |
+
.um-admin-icons {
|
261 |
+
padding: 0 0 15px 12px;
|
262 |
+
float: left;
|
263 |
+
}
|
264 |
+
|
265 |
+
.um-admin-icons span {
|
266 |
+
cursor: pointer;
|
267 |
+
float: left;
|
268 |
+
margin: 5px;
|
269 |
+
color: #777;
|
270 |
+
border: 4px solid #eee;
|
271 |
+
border-radius: 3px;
|
272 |
+
}
|
273 |
+
.um-admin-icons span:hover,
|
274 |
+
.um-admin-icons span.highlighted
|
275 |
+
{color: #3ba1da;border-color: #3ba1da}
|
276 |
+
|
277 |
+
.um-admin-icons i{vertical-align: middle !important;font-size: 24px;width: 24px;text-align: center;padding: 15px 20px;display: inline-block;}
|
278 |
+
|
279 |
+
span.um-admin-icon-value {
|
280 |
+
margin: 0 10px;
|
281 |
+
font-size: 13px;
|
282 |
+
}
|
283 |
+
span.um-admin-icon-value i {
|
284 |
+
font-size: 28px;
|
285 |
+
color: #3ba1da;
|
286 |
+
position: relative;
|
287 |
+
top: 5px;
|
288 |
+
}
|
289 |
+
|
290 |
+
span.um-admin-icon-clear{
|
291 |
+
display: none;
|
292 |
+
cursor: pointer;
|
293 |
+
position: relative;
|
294 |
+
color: #ccc;
|
295 |
+
}
|
296 |
+
span.um-admin-icon-clear.show {display: inline-block}
|
297 |
+
span.um-admin-icon-clear:hover {color: #777}
|
298 |
span.um-admin-icon-clear i {font-size: 20px;vertical-align: middle;}
|
admin/assets/css/um-admin-redux.css
CHANGED
@@ -1,227 +1,227 @@
|
|
1 |
-
/*
|
2 |
-
- ReduxPanel
|
3 |
-
*/
|
4 |
-
|
5 |
-
.redux-container {
|
6 |
-
border-radius: 0 !important;
|
7 |
-
-webkit-font-smoothing: antialiased;
|
8 |
-
-moz-osx-font-smoothing: grayscale;
|
9 |
-
background: none !important;
|
10 |
-
box-shadow: none !important;
|
11 |
-
border: 0 !important;
|
12 |
-
}
|
13 |
-
|
14 |
-
.redux-container #import_export_default_section_group h4 {
|
15 |
-
margin: 0 0 12px 0 !important;
|
16 |
-
}
|
17 |
-
|
18 |
-
.redux-container #import_export_default_section_group .hr {
|
19 |
-
height: 4px !important;
|
20 |
-
}
|
21 |
-
|
22 |
-
.redux-sidebar .redux-group-menu li.active a, .redux-sidebar .redux-group-menu li.active a:hover, .redux-sidebar .redux-group-menu li.activeChild a, .redux-sidebar .redux-group-menu li.activeChild a:hover {
|
23 |
-
background: transparent;
|
24 |
-
}
|
25 |
-
|
26 |
-
.redux-container #info_bar {
|
27 |
-
display: none;
|
28 |
-
}
|
29 |
-
|
30 |
-
.redux-sidebar .redux-group-menu {
|
31 |
-
font-size: 14px;
|
32 |
-
}
|
33 |
-
|
34 |
-
.redux-sidebar .redux-group-menu li.active a, .admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild a {
|
35 |
-
color: #3ba1da !important;
|
36 |
-
background: #e5e5e5 !important;
|
37 |
-
}
|
38 |
-
|
39 |
-
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections a {
|
40 |
-
color: #fff !important;
|
41 |
-
}
|
42 |
-
|
43 |
-
.redux-container .redux_field_th {
|
44 |
-
font-size: 14px;
|
45 |
-
font-weight: 600;
|
46 |
-
color: #222;
|
47 |
-
}
|
48 |
-
|
49 |
-
.redux-main {
|
50 |
-
background: none !important;
|
51 |
-
box-shadow: none !important;
|
52 |
-
border-left: 0 !important;
|
53 |
-
padding: 0 25px;
|
54 |
-
}
|
55 |
-
|
56 |
-
.redux-container-sortable .checkbox-container input {
|
57 |
-
display: none;
|
58 |
-
}
|
59 |
-
|
60 |
-
#redux-header {
|
61 |
-
background: transparent !important;
|
62 |
-
border: none !important;
|
63 |
-
padding: 0 !important;
|
64 |
-
}
|
65 |
-
|
66 |
-
.redux-container #redux-header .display_header {
|
67 |
-
margin: 0 0 10px 0 !important;
|
68 |
-
}
|
69 |
-
|
70 |
-
#redux-header .display_header span {
|
71 |
-
font-size: 14px;
|
72 |
-
position: relative;
|
73 |
-
font-weight: 400;
|
74 |
-
background: #3ba1da;
|
75 |
-
color: #fff !important;
|
76 |
-
padding: 2px 4px !important;
|
77 |
-
border-radius: 3px;
|
78 |
-
position: relative;
|
79 |
-
top: -3px;
|
80 |
-
left: 0;
|
81 |
-
}
|
82 |
-
|
83 |
-
#redux-header h2 {
|
84 |
-
color: #222;
|
85 |
-
-webkit-font-smoothing: antialiased;
|
86 |
-
-moz-osx-font-smoothing: grayscale;
|
87 |
-
font-size: 23px;
|
88 |
-
font-weight: 400;
|
89 |
-
padding: 1px 15px 4px 0px;
|
90 |
-
line-height: 29px;
|
91 |
-
margin: 5px 0 0 0;
|
92 |
-
}
|
93 |
-
|
94 |
-
#redux-share {margin-top: 11px !important}
|
95 |
-
|
96 |
-
#redux-share a {
|
97 |
-
margin: 0 15px 0 0 !important;
|
98 |
-
text-decoration: none !important;
|
99 |
-
color: #777 !important;
|
100 |
-
font-size: 22px !important;
|
101 |
-
}
|
102 |
-
#redux-share a:hover {color: #3ba1da !important}
|
103 |
-
|
104 |
-
.redux-main .form-table tr {
|
105 |
-
border-bottom: 0;
|
106 |
-
}
|
107 |
-
|
108 |
-
.redux-main .redux-option-image {
|
109 |
-
max-width: 200px;
|
110 |
-
max-height: 200px;
|
111 |
-
}
|
112 |
-
|
113 |
-
.redux-container #redux-footer {
|
114 |
-
border-radius: 0;
|
115 |
-
background: none !important;
|
116 |
-
padding: 10px 0;
|
117 |
-
border-top: 1px solid #D8D8D8;
|
118 |
-
}
|
119 |
-
|
120 |
-
.redux-container #redux-footer .redux-action_bar {
|
121 |
-
padding-top: 9px !important;
|
122 |
-
}
|
123 |
-
|
124 |
-
.redux-container textarea, .redux-container input[type=text], .redux-container ul.data-full li {
|
125 |
-
font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif;
|
126 |
-
font-size: 13px;
|
127 |
-
line-height: 19px;
|
128 |
-
color: #333;
|
129 |
-
}
|
130 |
-
|
131 |
-
.redux-sidebar .redux-group-tab-link-a i {
|
132 |
-
vertical-align: middle;
|
133 |
-
font-size: 1.2em;
|
134 |
-
position: absolute;
|
135 |
-
width: 20px;
|
136 |
-
text-align: center;
|
137 |
-
top: 6px;
|
138 |
-
color: #888;
|
139 |
-
}
|
140 |
-
|
141 |
-
@media screen and (max-width:1124px){
|
142 |
-
.redux-sidebar .redux-group-tab-link-a i {
|
143 |
-
position: relative;
|
144 |
-
top: auto;
|
145 |
-
}
|
146 |
-
.redux-sidebar .redux-group-menu li a {
|
147 |
-
text-align: center;
|
148 |
-
padding: 6px !important;
|
149 |
-
}
|
150 |
-
}
|
151 |
-
|
152 |
-
.redux-sidebar .redux-menu-warning i, .redux-sidebar .redux-menu-error i, .redux-sidebar .hasSubSections .extraIconSubsections i {
|
153 |
-
top: 11px;
|
154 |
-
}
|
155 |
-
|
156 |
-
.redux-container ul.data-full{padding:0!important;margin:0!important}
|
157 |
-
|
158 |
-
.redux-container .description {
|
159 |
-
color: #666 !important;
|
160 |
-
font-size: 14px !important;
|
161 |
-
font-style: italic !important;
|
162 |
-
margin-top: 10px !important;
|
163 |
-
}
|
164 |
-
|
165 |
-
.redux-container-switch {font-size: 13px}
|
166 |
-
|
167 |
-
.redux-sidebar .redux-group-menu li {
|
168 |
-
margin-top: 4px;
|
169 |
-
}
|
170 |
-
|
171 |
-
.redux-sidebar .redux-group-menu li a {
|
172 |
-
color: #555;
|
173 |
-
opacity: 1 !important;
|
174 |
-
padding: 6px 4px 6px 14px;
|
175 |
-
border-radius: 3px;
|
176 |
-
border: none;
|
177 |
-
transition: all .2s linear !important;
|
178 |
-
}
|
179 |
-
|
180 |
-
.redux-sidebar .redux-group-menu li a:hover {
|
181 |
-
background: #e5e5e5;
|
182 |
-
color: #333;
|
183 |
-
}
|
184 |
-
|
185 |
-
.redux-main #redux-sticky {
|
186 |
-
margin: 0;
|
187 |
-
min-height: auto;
|
188 |
-
}
|
189 |
-
|
190 |
-
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections a {
|
191 |
-
background: #3ba1da !important;
|
192 |
-
color: #fff;
|
193 |
-
}
|
194 |
-
|
195 |
-
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections a i {color: #fff !important}
|
196 |
-
|
197 |
-
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active {
|
198 |
-
border-right: 0;
|
199 |
-
}
|
200 |
-
|
201 |
-
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li {
|
202 |
-
border-right: 0;
|
203 |
-
margin-top: 4px;
|
204 |
-
padding-left: 12px;
|
205 |
-
}
|
206 |
-
|
207 |
-
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a {
|
208 |
-
background: transparent !important;
|
209 |
-
color: #555 !important;
|
210 |
-
border-bottom: 0;
|
211 |
-
padding: 6px 4px 6px 14px !important;
|
212 |
-
}
|
213 |
-
|
214 |
-
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a:hover {
|
215 |
-
background: #e5e5e5 !important;
|
216 |
-
color: #333 !important;
|
217 |
-
}
|
218 |
-
|
219 |
-
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a {
|
220 |
-
color: #3ba1da !important;
|
221 |
-
background: #e5e5e5 !important;
|
222 |
-
text-shadow: none !important;
|
223 |
-
}
|
224 |
-
|
225 |
-
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after {
|
226 |
-
border: none !important;
|
227 |
}
|
1 |
+
/*
|
2 |
+
- ReduxPanel
|
3 |
+
*/
|
4 |
+
|
5 |
+
.redux-container {
|
6 |
+
border-radius: 0 !important;
|
7 |
+
-webkit-font-smoothing: antialiased;
|
8 |
+
-moz-osx-font-smoothing: grayscale;
|
9 |
+
background: none !important;
|
10 |
+
box-shadow: none !important;
|
11 |
+
border: 0 !important;
|
12 |
+
}
|
13 |
+
|
14 |
+
.redux-container #import_export_default_section_group h4 {
|
15 |
+
margin: 0 0 12px 0 !important;
|
16 |
+
}
|
17 |
+
|
18 |
+
.redux-container #import_export_default_section_group .hr {
|
19 |
+
height: 4px !important;
|
20 |
+
}
|
21 |
+
|
22 |
+
.redux-sidebar .redux-group-menu li.active a, .redux-sidebar .redux-group-menu li.active a:hover, .redux-sidebar .redux-group-menu li.activeChild a, .redux-sidebar .redux-group-menu li.activeChild a:hover {
|
23 |
+
background: transparent;
|
24 |
+
}
|
25 |
+
|
26 |
+
.redux-container #info_bar {
|
27 |
+
display: none;
|
28 |
+
}
|
29 |
+
|
30 |
+
.redux-sidebar .redux-group-menu {
|
31 |
+
font-size: 14px;
|
32 |
+
}
|
33 |
+
|
34 |
+
.redux-sidebar .redux-group-menu li.active a, .admin-color-fresh .redux-sidebar .redux-group-menu li.activeChild a {
|
35 |
+
color: #3ba1da !important;
|
36 |
+
background: #e5e5e5 !important;
|
37 |
+
}
|
38 |
+
|
39 |
+
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections a {
|
40 |
+
color: #fff !important;
|
41 |
+
}
|
42 |
+
|
43 |
+
.redux-container .redux_field_th {
|
44 |
+
font-size: 14px;
|
45 |
+
font-weight: 600;
|
46 |
+
color: #222;
|
47 |
+
}
|
48 |
+
|
49 |
+
.redux-main {
|
50 |
+
background: none !important;
|
51 |
+
box-shadow: none !important;
|
52 |
+
border-left: 0 !important;
|
53 |
+
padding: 0 25px;
|
54 |
+
}
|
55 |
+
|
56 |
+
.redux-container-sortable .checkbox-container input {
|
57 |
+
display: none;
|
58 |
+
}
|
59 |
+
|
60 |
+
#redux-header {
|
61 |
+
background: transparent !important;
|
62 |
+
border: none !important;
|
63 |
+
padding: 0 !important;
|
64 |
+
}
|
65 |
+
|
66 |
+
.redux-container #redux-header .display_header {
|
67 |
+
margin: 0 0 10px 0 !important;
|
68 |
+
}
|
69 |
+
|
70 |
+
#redux-header .display_header span {
|
71 |
+
font-size: 14px;
|
72 |
+
position: relative;
|
73 |
+
font-weight: 400;
|
74 |
+
background: #3ba1da;
|
75 |
+
color: #fff !important;
|
76 |
+
padding: 2px 4px !important;
|
77 |
+
border-radius: 3px;
|
78 |
+
position: relative;
|
79 |
+
top: -3px;
|
80 |
+
left: 0;
|
81 |
+
}
|
82 |
+
|
83 |
+
#redux-header h2 {
|
84 |
+
color: #222;
|
85 |
+
-webkit-font-smoothing: antialiased;
|
86 |
+
-moz-osx-font-smoothing: grayscale;
|
87 |
+
font-size: 23px;
|
88 |
+
font-weight: 400;
|
89 |
+
padding: 1px 15px 4px 0px;
|
90 |
+
line-height: 29px;
|
91 |
+
margin: 5px 0 0 0;
|
92 |
+
}
|
93 |
+
|
94 |
+
#redux-share {margin-top: 11px !important}
|
95 |
+
|
96 |
+
#redux-share a {
|
97 |
+
margin: 0 15px 0 0 !important;
|
98 |
+
text-decoration: none !important;
|
99 |
+
color: #777 !important;
|
100 |
+
font-size: 22px !important;
|
101 |
+
}
|
102 |
+
#redux-share a:hover {color: #3ba1da !important}
|
103 |
+
|
104 |
+
.redux-main .form-table tr {
|
105 |
+
border-bottom: 0;
|
106 |
+
}
|
107 |
+
|
108 |
+
.redux-main .redux-option-image {
|
109 |
+
max-width: 200px;
|
110 |
+
max-height: 200px;
|
111 |
+
}
|
112 |
+
|
113 |
+
.redux-container #redux-footer {
|
114 |
+
border-radius: 0;
|
115 |
+
background: none !important;
|
116 |
+
padding: 10px 0;
|
117 |
+
border-top: 1px solid #D8D8D8;
|
118 |
+
}
|
119 |
+
|
120 |
+
.redux-container #redux-footer .redux-action_bar {
|
121 |
+
padding-top: 9px !important;
|
122 |
+
}
|
123 |
+
|
124 |
+
.redux-container textarea, .redux-container input[type=text], .redux-container ul.data-full li {
|
125 |
+
font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif;
|
126 |
+
font-size: 13px;
|
127 |
+
line-height: 19px;
|
128 |
+
color: #333;
|
129 |
+
}
|
130 |
+
|
131 |
+
.redux-sidebar .redux-group-tab-link-a i {
|
132 |
+
vertical-align: middle;
|
133 |
+
font-size: 1.2em;
|
134 |
+
position: absolute;
|
135 |
+
width: 20px;
|
136 |
+
text-align: center;
|
137 |
+
top: 6px;
|
138 |
+
color: #888;
|
139 |
+
}
|
140 |
+
|
141 |
+
@media screen and (max-width:1124px){
|
142 |
+
.redux-sidebar .redux-group-tab-link-a i {
|
143 |
+
position: relative;
|
144 |
+
top: auto;
|
145 |
+
}
|
146 |
+
.redux-sidebar .redux-group-menu li a {
|
147 |
+
text-align: center;
|
148 |
+
padding: 6px !important;
|
149 |
+
}
|
150 |
+
}
|
151 |
+
|
152 |
+
.redux-sidebar .redux-menu-warning i, .redux-sidebar .redux-menu-error i, .redux-sidebar .hasSubSections .extraIconSubsections i {
|
153 |
+
top: 11px;
|
154 |
+
}
|
155 |
+
|
156 |
+
.redux-container ul.data-full{padding:0!important;margin:0!important}
|
157 |
+
|
158 |
+
.redux-container .description {
|
159 |
+
color: #666 !important;
|
160 |
+
font-size: 14px !important;
|
161 |
+
font-style: italic !important;
|
162 |
+
margin-top: 10px !important;
|
163 |
+
}
|
164 |
+
|
165 |
+
.redux-container-switch {font-size: 13px}
|
166 |
+
|
167 |
+
.redux-sidebar .redux-group-menu li {
|
168 |
+
margin-top: 4px;
|
169 |
+
}
|
170 |
+
|
171 |
+
.redux-sidebar .redux-group-menu li a {
|
172 |
+
color: #555;
|
173 |
+
opacity: 1 !important;
|
174 |
+
padding: 6px 4px 6px 14px;
|
175 |
+
border-radius: 3px;
|
176 |
+
border: none;
|
177 |
+
transition: all .2s linear !important;
|
178 |
+
}
|
179 |
+
|
180 |
+
.redux-sidebar .redux-group-menu li a:hover {
|
181 |
+
background: #e5e5e5;
|
182 |
+
color: #333;
|
183 |
+
}
|
184 |
+
|
185 |
+
.redux-main #redux-sticky {
|
186 |
+
margin: 0;
|
187 |
+
min-height: auto;
|
188 |
+
}
|
189 |
+
|
190 |
+
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections a {
|
191 |
+
background: #3ba1da !important;
|
192 |
+
color: #fff;
|
193 |
+
}
|
194 |
+
|
195 |
+
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections a i {color: #fff !important}
|
196 |
+
|
197 |
+
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active {
|
198 |
+
border-right: 0;
|
199 |
+
}
|
200 |
+
|
201 |
+
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li {
|
202 |
+
border-right: 0;
|
203 |
+
margin-top: 4px;
|
204 |
+
padding-left: 12px;
|
205 |
+
}
|
206 |
+
|
207 |
+
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a {
|
208 |
+
background: transparent !important;
|
209 |
+
color: #555 !important;
|
210 |
+
border-bottom: 0;
|
211 |
+
padding: 6px 4px 6px 14px !important;
|
212 |
+
}
|
213 |
+
|
214 |
+
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li a:hover {
|
215 |
+
background: #e5e5e5 !important;
|
216 |
+
color: #333 !important;
|
217 |
+
}
|
218 |
+
|
219 |
+
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections ul.subsection li.active a {
|
220 |
+
color: #3ba1da !important;
|
221 |
+
background: #e5e5e5 !important;
|
222 |
+
text-shadow: none !important;
|
223 |
+
}
|
224 |
+
|
225 |
+
.redux-sidebar .redux-group-menu li.activeChild.hasSubSections .active a:after {
|
226 |
+
border: none !important;
|
227 |
}
|
admin/assets/css/um-admin-rtl.css
CHANGED
@@ -1,74 +1,74 @@
|
|
1 |
-
.um-admin-yesno span.yes, .um-admin-yesno span.no {
|
2 |
-
padding: 0 10px 0 0;
|
3 |
-
}
|
4 |
-
|
5 |
-
.um-admin-drag-ctrls-demo.um-admin-drag-ctrls {
|
6 |
-
left: 12px;
|
7 |
-
right: auto;
|
8 |
-
}
|
9 |
-
|
10 |
-
.um-admin-drag-row-icons {
|
11 |
-
left: 0;
|
12 |
-
right: auto;
|
13 |
-
}
|
14 |
-
|
15 |
-
.um-admin-drag-ctrls.columns {
|
16 |
-
right: 0 !important;
|
17 |
-
left: auto;
|
18 |
-
}
|
19 |
-
|
20 |
-
.um-admin-drag-ctrls.columns a {
|
21 |
-
float: right;
|
22 |
-
}
|
23 |
-
|
24 |
-
.um-admin-drag-rowsub-icons {
|
25 |
-
right: auto;
|
26 |
-
left: 0;
|
27 |
-
}
|
28 |
-
|
29 |
-
.um-admin-drag-row-icons a {
|
30 |
-
float: right;
|
31 |
-
}
|
32 |
-
|
33 |
-
.um-admin-drag-fld-icons a {
|
34 |
-
float: right;
|
35 |
-
}
|
36 |
-
|
37 |
-
.um-admin-drag-fld-icons {
|
38 |
-
float: left;
|
39 |
-
}
|
40 |
-
|
41 |
-
.um-admin-drag-fld-title, .um-admin-drag-fld-type {
|
42 |
-
float: right;
|
43 |
-
margin: 0 20px 0 0;
|
44 |
-
}
|
45 |
-
|
46 |
-
.redux-main {
|
47 |
-
margin-left: 0!important;
|
48 |
-
margin-right: 201px !important;
|
49 |
-
}
|
50 |
-
|
51 |
-
#redux-header h2 {
|
52 |
-
padding: 2px 0 4px 15px;
|
53 |
-
}
|
54 |
-
|
55 |
-
.redux-container #redux-header .display_header {float: right}
|
56 |
-
|
57 |
-
.admin-color-fresh .redux-sidebar .redux-group-menu li.hasSubSections a .extraIconSubsections {float: left}
|
58 |
-
|
59 |
-
.select2-container .select2-choice > .select2-chosen {
|
60 |
-
text-align: right !important;
|
61 |
-
}
|
62 |
-
|
63 |
-
.select2-container .select2-choice .select2-arrow {
|
64 |
-
border: none !important;
|
65 |
-
right: auto !important;
|
66 |
-
left: 0 !important;
|
67 |
-
}
|
68 |
-
|
69 |
-
.select2-container .select2-choice > .select2-chosen {
|
70 |
-
margin-right: 10px !important;
|
71 |
-
margin-left: 26px !important;
|
72 |
-
}
|
73 |
-
|
74 |
.redux-container-switch .switch-options {float: right;margin-right:0!important}
|
1 |
+
.um-admin-yesno span.yes, .um-admin-yesno span.no {
|
2 |
+
padding: 0 10px 0 0;
|
3 |
+
}
|
4 |
+
|
5 |
+
.um-admin-drag-ctrls-demo.um-admin-drag-ctrls {
|
6 |
+
left: 12px;
|
7 |
+
right: auto;
|
8 |
+
}
|
9 |
+
|
10 |
+
.um-admin-drag-row-icons {
|
11 |
+
left: 0;
|
12 |
+
right: auto;
|
13 |
+
}
|
14 |
+
|
15 |
+
.um-admin-drag-ctrls.columns {
|
16 |
+
right: 0 !important;
|
17 |
+
left: auto;
|
18 |
+
}
|
19 |
+
|
20 |
+
.um-admin-drag-ctrls.columns a {
|
21 |
+
float: right;
|
22 |
+
}
|
23 |
+
|
24 |
+
.um-admin-drag-rowsub-icons {
|
25 |
+
right: auto;
|
26 |
+
left: 0;
|
27 |
+
}
|
28 |
+
|
29 |
+
.um-admin-drag-row-icons a {
|
30 |
+
float: right;
|
31 |
+
}
|
32 |
+
|
33 |
+
.um-admin-drag-fld-icons a {
|
34 |
+
float: right;
|
35 |
+
}
|
36 |
+
|
37 |
+
.um-admin-drag-fld-icons {
|
38 |
+
float: left;
|
39 |
+
}
|
40 |
+
|
41 |
+
.um-admin-drag-fld-title, .um-admin-drag-fld-type {
|
42 |
+
float: right;
|
43 |
+
margin: 0 20px 0 0;
|
44 |
+
}
|
45 |
+
|
46 |
+
.redux-main {
|
47 |
+
margin-left: 0!important;
|
48 |
+
margin-right: 201px !important;
|
49 |
+
}
|
50 |
+
|
51 |
+
#redux-header h2 {
|
52 |
+
padding: 2px 0 4px 15px;
|
53 |
+
}
|
54 |
+
|
55 |
+
.redux-container #redux-header .display_header {float: right}
|
56 |
+
|
57 |
+
.admin-color-fresh .redux-sidebar .redux-group-menu li.hasSubSections a .extraIconSubsections {float: left}
|
58 |
+
|
59 |
+
.select2-container .select2-choice > .select2-chosen {
|
60 |
+
text-align: right !important;
|
61 |
+
}
|
62 |
+
|
63 |
+
.select2-container .select2-choice .select2-arrow {
|
64 |
+
border: none !important;
|
65 |
+
right: auto !important;
|
66 |
+
left: 0 !important;
|
67 |
+
}
|
68 |
+
|
69 |
+
.select2-container .select2-choice > .select2-chosen {
|
70 |
+
margin-right: 10px !important;
|
71 |
+
margin-left: 26px !important;
|
72 |
+
}
|
73 |
+
|
74 |
.redux-container-switch .switch-options {float: right;margin-right:0!important}
|
admin/assets/css/um-admin-select2.css
CHANGED
@@ -1,193 +1,193 @@
|
|
1 |
-
/*body.um-admin .select2-container {margin-right: 2px!important;}
|
2 |
-
|
3 |
-
body.um-admin .select2-drop,
|
4 |
-
body.um-admin .select2-drop.select2-drop-above,
|
5 |
-
body.um-admin .select2-drop-active,
|
6 |
-
body.um-admin .select2-container-multi .select2-choices
|
7 |
-
{border: 1px solid #ddd !important}
|
8 |
-
|
9 |
-
body.um-admin .select2-container .select2-choice
|
10 |
-
{
|
11 |
-
height: 27px !important;
|
12 |
-
line-height: 27px !important;
|
13 |
-
border: 1px solid #ddd !important;
|
14 |
-
color: #888 !important;
|
15 |
-
}
|
16 |
-
|
17 |
-
body.um-admin .select2-container .select2-choice > .select2-chosen {
|
18 |
-
font-size: 13px !important;
|
19 |
-
}
|
20 |
-
|
21 |
-
body.um-admin .select2-container .select2-choice {
|
22 |
-
font-size: 13px !important;
|
23 |
-
}
|
24 |
-
|
25 |
-
body.um-admin .select2-container .select2-choice .select2-arrow:before {
|
26 |
-
font-size: 23px !important;
|
27 |
-
line-height: 27px;
|
28 |
-
}
|
29 |
-
|
30 |
-
body.um-admin .select2-search-choice-close:before {
|
31 |
-
font-size: 20px !important;
|
32 |
-
color: #aaa;
|
33 |
-
line-height: 27px;
|
34 |
-
}
|
35 |
-
|
36 |
-
body.um-admin .select2-container-multi .select2-search-choice-close:before {
|
37 |
-
font-size: 15px !important;
|
38 |
-
}
|
39 |
-
|
40 |
-
body.um-admin .select2-search input[type=text] {
|
41 |
-
font-size: 13px !important;
|
42 |
-
}
|
43 |
-
|
44 |
-
body.um-admin .select2-results li {
|
45 |
-
font-size: 13px !important;
|
46 |
-
}
|
47 |
-
|
48 |
-
body.um-admin .select2-results .select2-no-results,
|
49 |
-
body.um-admin .select2-results .select2-searching,
|
50 |
-
body.um-admin .select2-results .select2-selection-limit {
|
51 |
-
font-size: 13px !important;
|
52 |
-
}
|
53 |
-
|
54 |
-
body.um-admin .select2-container-multi .select2-choices .select2-search-choice {
|
55 |
-
line-height: 13px !important;
|
56 |
-
font-size: 13px !important;
|
57 |
-
}
|
58 |
-
|
59 |
-
body.um-admin .select2-drop-mask {
|
60 |
-
z-index: 10020 !important;
|
61 |
-
}
|
62 |
-
|
63 |
-
body.um-admin .select2-drop {
|
64 |
-
z-index: 999999 !important;
|
65 |
-
}
|
66 |
-
|
67 |
-
body.um-admin .select2-search {
|
68 |
-
z-index: 10040 !important;
|
69 |
-
}*/
|
70 |
-
|
71 |
-
/* Select2 4.0*/
|
72 |
-
body.um-admin .select2.select2-container .select2-selection{
|
73 |
-
display: block !important;
|
74 |
-
height: 28px !important;
|
75 |
-
padding: 0 0 0 12px !important;
|
76 |
-
overflow: hidden !important;
|
77 |
-
position: relative !important;
|
78 |
-
white-space: nowrap !important;
|
79 |
-
line-height: 25px !important;
|
80 |
-
color: #666 !important;
|
81 |
-
font-size: 13px !important;
|
82 |
-
text-align: left !important;
|
83 |
-
text-decoration: none !important;
|
84 |
-
-moz-border-radius: 2px !important;
|
85 |
-
-webkit-border-radius: 2px !important;
|
86 |
-
border-radius: 2px !important;
|
87 |
-
background-clip: padding-box !important;
|
88 |
-
-webkit-touch-callout: none;
|
89 |
-
-webkit-user-select: none;
|
90 |
-
-moz-user-select: none;
|
91 |
-
-ms-user-select: none;
|
92 |
-
user-select: none;
|
93 |
-
background: none !important;
|
94 |
-
background-color: #fff !important;
|
95 |
-
border: 2px solid #ddd !important;
|
96 |
-
}
|
97 |
-
body.um-admin .select2.select2-container .select2-selection .select2-selection__arrow b[role=presentation]{
|
98 |
-
display:none;
|
99 |
-
}
|
100 |
-
body.um-admin .select2.select2-container .select2-selection .select2-selection__arrow:before{
|
101 |
-
content: "\f3d0" !important;
|
102 |
-
font-size: 27px !important;
|
103 |
-
font-family: "Ionicons" !important;
|
104 |
-
width: 100% !important;
|
105 |
-
display: block;
|
106 |
-
height: 100%;
|
107 |
-
line-height: 28px;
|
108 |
-
color: #aaaaaa;
|
109 |
-
}
|
110 |
-
body.um-admin .select2.select2-container .select2-selection .select2-selection__arrow {
|
111 |
-
display: inline-block !important;
|
112 |
-
width: 34px !important;
|
113 |
-
height: 100% !important;
|
114 |
-
position: absolute !important;
|
115 |
-
right: 0 !important;
|
116 |
-
top: 0 !important;
|
117 |
-
-moz-border-radius: 0 2px 2px 0 !important;
|
118 |
-
-webkit-border-radius: 0 2px 2px 0 !important;
|
119 |
-
border-radius: 0 2px 2px 0 !important;
|
120 |
-
background-clip: padding-box !important;
|
121 |
-
text-align: center !important;
|
122 |
-
background: transparent !important;
|
123 |
-
border-left: 0 !important;
|
124 |
-
}
|
125 |
-
body.um-admin .select2-container.select2-container--open .select2-dropdown{
|
126 |
-
border: 2px solid #ddd !important;
|
127 |
-
}
|
128 |
-
body.um-admin .select2-results li{
|
129 |
-
list-style: none;
|
130 |
-
display: list-item;
|
131 |
-
background-image: none;
|
132 |
-
font-size: 13px;
|
133 |
-
margin: 5px !important;
|
134 |
-
padding: 3px 0 !important;
|
135 |
-
color: #666 !important;
|
136 |
-
}
|
137 |
-
body.um-admin .select2-results li {
|
138 |
-
padding: 3px 7px 4px !important;
|
139 |
-
cursor: pointer;
|
140 |
-
min-height: 1em !important;
|
141 |
-
}
|
142 |
-
|
143 |
-
body.um-admin .select2-container--default .select2-selection--single .select2-selection__rendered {
|
144 |
-
line-height: 25px;
|
145 |
-
}
|
146 |
-
body.um-admin .select2-results li.select2-results__option.select2-results__option--highlighted{
|
147 |
-
background: none !important;
|
148 |
-
background: #f4f4f4 !important;
|
149 |
-
color: #666 !important;
|
150 |
-
}
|
151 |
-
body.um-admin .select2-container--default .select2-results__option[aria-selected=true] {
|
152 |
-
background: transparent !important;
|
153 |
-
}
|
154 |
-
body.um-admin .select2-selection__clear {
|
155 |
-
right: 10px;
|
156 |
-
font-size: 25px;
|
157 |
-
color: #aaaaaa !important;
|
158 |
-
font-weight: 300 !important;
|
159 |
-
}
|
160 |
-
|
161 |
-
body.um-admin .select2-container--default .select2-selection--multiple .select2-selection__rendered {
|
162 |
-
box-sizing: border-box;
|
163 |
-
list-style: none;
|
164 |
-
margin: 0;
|
165 |
-
padding: 0px;
|
166 |
-
width: 100%;
|
167 |
-
line-height: 20px;
|
168 |
-
font-size: 13px;
|
169 |
-
}
|
170 |
-
|
171 |
-
body.um-admin .select2.select2-container .select2-selection.select2-selection--multiple {
|
172 |
-
height: auto !important;
|
173 |
-
}
|
174 |
-
|
175 |
-
body.um-admin .select2-container--default .select2-selection--multiple .select2-selection__clear {
|
176 |
-
cursor: pointer;
|
177 |
-
float: right;
|
178 |
-
margin-top: 0px;
|
179 |
-
margin-right: 5px;
|
180 |
-
font-size: 25px;
|
181 |
-
}
|
182 |
-
|
183 |
-
body.um-admin .select2-container--default .select2-results__option[aria-selected=true] {
|
184 |
-
background-color: #ddd !important;
|
185 |
-
}
|
186 |
-
|
187 |
-
body.um-admin .select2-container .select2-search--inline {
|
188 |
-
line-height: 37px !important;
|
189 |
-
}
|
190 |
-
|
191 |
-
body.um-admin .select2-drop-active {
|
192 |
-
z-index: 99999 !important;
|
193 |
}
|
1 |
+
/*body.um-admin .select2-container {margin-right: 2px!important;}
|
2 |
+
|
3 |
+
body.um-admin .select2-drop,
|
4 |
+
body.um-admin .select2-drop.select2-drop-above,
|
5 |
+
body.um-admin .select2-drop-active,
|
6 |
+
body.um-admin .select2-container-multi .select2-choices
|
7 |
+
{border: 1px solid #ddd !important}
|
8 |
+
|
9 |
+
body.um-admin .select2-container .select2-choice
|
10 |
+
{
|
11 |
+
height: 27px !important;
|
12 |
+
line-height: 27px !important;
|
13 |
+
border: 1px solid #ddd !important;
|
14 |
+
color: #888 !important;
|
15 |
+
}
|
16 |
+
|
17 |
+
body.um-admin .select2-container .select2-choice > .select2-chosen {
|
18 |
+
font-size: 13px !important;
|
19 |
+
}
|
20 |
+
|
21 |
+
body.um-admin .select2-container .select2-choice {
|
22 |
+
font-size: 13px !important;
|
23 |
+
}
|
24 |
+
|
25 |
+
body.um-admin .select2-container .select2-choice .select2-arrow:before {
|
26 |
+
font-size: 23px !important;
|
27 |
+
line-height: 27px;
|
28 |
+
}
|
29 |
+
|
30 |
+
body.um-admin .select2-search-choice-close:before {
|
31 |
+
font-size: 20px !important;
|
32 |
+
color: #aaa;
|
33 |
+
line-height: 27px;
|
34 |
+
}
|
35 |
+
|
36 |
+
body.um-admin .select2-container-multi .select2-search-choice-close:before {
|
37 |
+
font-size: 15px !important;
|
38 |
+
}
|
39 |
+
|
40 |
+
body.um-admin .select2-search input[type=text] {
|
41 |
+
font-size: 13px !important;
|
42 |
+
}
|
43 |
+
|
44 |
+
body.um-admin .select2-results li {
|
45 |
+
font-size: 13px !important;
|
46 |
+
}
|
47 |
+
|
48 |
+
body.um-admin .select2-results .select2-no-results,
|
49 |
+
body.um-admin .select2-results .select2-searching,
|
50 |
+
body.um-admin .select2-results .select2-selection-limit {
|
51 |
+
font-size: 13px !important;
|
52 |
+
}
|
53 |
+
|
54 |
+
body.um-admin .select2-container-multi .select2-choices .select2-search-choice {
|
55 |
+
line-height: 13px !important;
|
56 |
+
font-size: 13px !important;
|
57 |
+
}
|
58 |
+
|
59 |
+
body.um-admin .select2-drop-mask {
|
60 |
+
z-index: 10020 !important;
|
61 |
+
}
|
62 |
+
|
63 |
+
body.um-admin .select2-drop {
|
64 |
+
z-index: 999999 !important;
|
65 |
+
}
|
66 |
+
|
67 |
+
body.um-admin .select2-search {
|
68 |
+
z-index: 10040 !important;
|
69 |
+
}*/
|
70 |
+
|
71 |
+
/* Select2 4.0*/
|
72 |
+
body.um-admin .select2.select2-container .select2-selection{
|
73 |
+
display: block !important;
|
74 |
+
height: 28px !important;
|
75 |
+
padding: 0 0 0 12px !important;
|
76 |
+
overflow: hidden !important;
|
77 |
+
position: relative !important;
|
78 |
+
white-space: nowrap !important;
|
79 |
+
line-height: 25px !important;
|
80 |
+
color: #666 !important;
|
81 |
+
font-size: 13px !important;
|
82 |
+
text-align: left !important;
|
83 |
+
text-decoration: none !important;
|
84 |
+
-moz-border-radius: 2px !important;
|
85 |
+
-webkit-border-radius: 2px !important;
|
86 |
+
border-radius: 2px !important;
|
87 |
+
background-clip: padding-box !important;
|
88 |
+
-webkit-touch-callout: none;
|
89 |
+
-webkit-user-select: none;
|
90 |
+
-moz-user-select: none;
|
91 |
+
-ms-user-select: none;
|
92 |
+
user-select: none;
|
93 |
+
background: none !important;
|
94 |
+
background-color: #fff !important;
|
95 |
+
border: 2px solid #ddd !important;
|
96 |
+
}
|
97 |
+
body.um-admin .select2.select2-container .select2-selection .select2-selection__arrow b[role=presentation]{
|
98 |
+
display:none;
|
99 |
+
}
|
100 |
+
body.um-admin .select2.select2-container .select2-selection .select2-selection__arrow:before{
|
101 |
+
content: "\f3d0" !important;
|
102 |
+
font-size: 27px !important;
|
103 |
+
font-family: "Ionicons" !important;
|
104 |
+
width: 100% !important;
|
105 |
+
display: block;
|
106 |
+
height: 100%;
|
107 |
+
line-height: 28px;
|
108 |
+
color: #aaaaaa;
|
109 |
+
}
|
110 |
+
body.um-admin .select2.select2-container .select2-selection .select2-selection__arrow {
|
111 |
+
display: inline-block !important;
|
112 |
+
width: 34px !important;
|
113 |
+
height: 100% !important;
|
114 |
+
position: absolute !important;
|
115 |
+
right: 0 !important;
|
116 |
+
top: 0 !important;
|
117 |
+
-moz-border-radius: 0 2px 2px 0 !important;
|
118 |
+
-webkit-border-radius: 0 2px 2px 0 !important;
|
119 |
+
border-radius: 0 2px 2px 0 !important;
|
120 |
+
background-clip: padding-box !important;
|
121 |
+
text-align: center !important;
|
122 |
+
background: transparent !important;
|
123 |
+
border-left: 0 !important;
|
124 |
+
}
|
125 |
+
body.um-admin .select2-container.select2-container--open .select2-dropdown{
|
126 |
+
border: 2px solid #ddd !important;
|
127 |
+
}
|
128 |
+
body.um-admin .select2-results li{
|
129 |
+
list-style: none;
|
130 |
+
display: list-item;
|
131 |
+
background-image: none;
|
132 |
+
font-size: 13px;
|
133 |
+
margin: 5px !important;
|
134 |
+
padding: 3px 0 !important;
|
135 |
+
color: #666 !important;
|
136 |
+
}
|
137 |
+
body.um-admin .select2-results li {
|
138 |
+
padding: 3px 7px 4px !important;
|
139 |
+
cursor: pointer;
|
140 |
+
min-height: 1em !important;
|
141 |
+
}
|
142 |
+
|
143 |
+
body.um-admin .select2-container--default .select2-selection--single .select2-selection__rendered {
|
144 |
+
line-height: 25px;
|
145 |
+
}
|
146 |
+
body.um-admin .select2-results li.select2-results__option.select2-results__option--highlighted{
|
147 |
+
background: none !important;
|
148 |
+
background: #f4f4f4 !important;
|
149 |
+
color: #666 !important;
|
150 |
+
}
|
151 |
+
body.um-admin .select2-container--default .select2-results__option[aria-selected=true] {
|
152 |
+
background: transparent !important;
|
153 |
+
}
|
154 |
+
body.um-admin .select2-selection__clear {
|
155 |
+
right: 10px;
|
156 |
+
font-size: 25px;
|
157 |
+
color: #aaaaaa !important;
|
158 |
+
font-weight: 300 !important;
|
159 |
+
}
|
160 |
+
|
161 |
+
body.um-admin .select2-container--default .select2-selection--multiple .select2-selection__rendered {
|
162 |
+
box-sizing: border-box;
|
163 |
+
list-style: none;
|
164 |
+
margin: 0;
|
165 |
+
padding: 0px;
|
166 |
+
width: 100%;
|
167 |
+
line-height: 20px;
|
168 |
+
font-size: 13px;
|
169 |
+
}
|
170 |
+
|
171 |
+
body.um-admin .select2.select2-container .select2-selection.select2-selection--multiple {
|
172 |
+
height: auto !important;
|
173 |
+
}
|
174 |
+
|
175 |
+
body.um-admin .select2-container--default .select2-selection--multiple .select2-selection__clear {
|
176 |
+
cursor: pointer;
|
177 |
+
float: right;
|
178 |
+
margin-top: 0px;
|
179 |
+
margin-right: 5px;
|
180 |
+
font-size: 25px;
|
181 |
+
}
|
182 |
+
|
183 |
+
body.um-admin .select2-container--default .select2-results__option[aria-selected=true] {
|
184 |
+
background-color: #ddd !important;
|
185 |
+
}
|
186 |
+
|
187 |
+
body.um-admin .select2-container .select2-search--inline {
|
188 |
+
line-height: 37px !important;
|
189 |
+
}
|
190 |
+
|
191 |
+
body.um-admin .select2-drop-active {
|
192 |
+
z-index: 99999 !important;
|
193 |
}
|
admin/assets/js/um-admin-ajax.js
CHANGED
@@ -1,53 +1,53 @@
|
|
1 |
-
jQuery(document).ready(function() {
|
2 |
-
|
3 |
-
jQuery(document).ajaxStart(function(){
|
4 |
-
jQuery('.tipsy').hide();
|
5 |
-
});
|
6 |
-
|
7 |
-
jQuery(document).on('click', 'a[data-silent_action^="um_"]',function(){
|
8 |
-
|
9 |
-
in_row = '';
|
10 |
-
in_sub_row = '';
|
11 |
-
in_column = '';
|
12 |
-
in_group = '';
|
13 |
-
|
14 |
-
if ( jQuery('.um-col-demon-settings').data('in_column') ) {
|
15 |
-
in_row = jQuery('.um-col-demon-settings').data('in_row');
|
16 |
-
in_sub_row = jQuery('.um-col-demon-settings').data('in_sub_row');
|
17 |
-
in_column = jQuery('.um-col-demon-settings').data('in_column');
|
18 |
-
in_group = jQuery('.um-col-demon-settings').data('in_group');
|
19 |
-
}
|
20 |
-
|
21 |
-
act_id = jQuery(this).data('silent_action');
|
22 |
-
arg1 = jQuery(this).data('arg1');
|
23 |
-
arg2 = jQuery(this).data('arg2');
|
24 |
-
|
25 |
-
jQuery('.tipsy').hide();
|
26 |
-
|
27 |
-
um_admin_remove_modal();
|
28 |
-
|
29 |
-
jQuery.ajax({
|
30 |
-
url: ultimatemember_ajax_url,
|
31 |
-
type: 'POST',
|
32 |
-
data: {action: 'ultimatemember_do_ajax_action', act_id : act_id, arg1 : arg1, arg2 : arg2, in_row: in_row, in_sub_row: in_sub_row, in_column: in_column, in_group: in_group },
|
33 |
-
success: function(data){
|
34 |
-
|
35 |
-
jQuery('.um-col-demon-settings').data('in_row', '');
|
36 |
-
jQuery('.um-col-demon-settings').data('in_sub_row', '');
|
37 |
-
jQuery('.um-col-demon-settings').data('in_column', '');
|
38 |
-
jQuery('.um-col-demon-settings').data('in_group', '');
|
39 |
-
|
40 |
-
um_admin_modal_responsive();
|
41 |
-
um_admin_update_builder();
|
42 |
-
|
43 |
-
},
|
44 |
-
error: function(data){
|
45 |
-
|
46 |
-
}
|
47 |
-
});
|
48 |
-
|
49 |
-
return false;
|
50 |
-
|
51 |
-
});
|
52 |
-
|
53 |
});
|
1 |
+
jQuery(document).ready(function() {
|
2 |
+
|
3 |
+
jQuery(document).ajaxStart(function(){
|
4 |
+
jQuery('.tipsy').hide();
|
5 |
+
});
|
6 |
+
|
7 |
+
jQuery(document).on('click', 'a[data-silent_action^="um_"]',function(){
|
8 |
+
|
9 |
+
in_row = '';
|
10 |
+
in_sub_row = '';
|
11 |
+
in_column = '';
|
12 |
+
in_group = '';
|
13 |
+
|
14 |
+
if ( jQuery('.um-col-demon-settings').data('in_column') ) {
|
15 |
+
in_row = jQuery('.um-col-demon-settings').data('in_row');
|
16 |
+
in_sub_row = jQuery('.um-col-demon-settings').data('in_sub_row');
|
17 |
+
in_column = jQuery('.um-col-demon-settings').data('in_column');
|
18 |
+
in_group = jQuery('.um-col-demon-settings').data('in_group');
|
19 |
+
}
|
20 |
+
|
21 |
+
act_id = jQuery(this).data('silent_action');
|
22 |
+
arg1 = jQuery(this).data('arg1');
|
23 |
+
arg2 = jQuery(this).data('arg2');
|
24 |
+
|
25 |
+
jQuery('.tipsy').hide();
|
26 |
+
|
27 |
+
um_admin_remove_modal();
|
28 |
+
|
29 |
+
jQuery.ajax({
|
30 |
+
url: ultimatemember_ajax_url,
|
31 |
+
type: 'POST',
|
32 |
+
data: {action: 'ultimatemember_do_ajax_action', act_id : act_id, arg1 : arg1, arg2 : arg2, in_row: in_row, in_sub_row: in_sub_row, in_column: in_column, in_group: in_group },
|
33 |
+
success: function(data){
|
34 |
+
|
35 |
+
jQuery('.um-col-demon-settings').data('in_row', '');
|
36 |
+
jQuery('.um-col-demon-settings').data('in_sub_row', '');
|
37 |
+
jQuery('.um-col-demon-settings').data('in_column', '');
|
38 |
+
jQuery('.um-col-demon-settings').data('in_group', '');
|
39 |
+
|
40 |
+
um_admin_modal_responsive();
|
41 |
+
um_admin_update_builder();
|
42 |
+
|
43 |
+
},
|
44 |
+
error: function(data){
|
45 |
+
|
46 |
+
}
|
47 |
+
});
|
48 |
+
|
49 |
+
return false;
|
50 |
+
|
51 |
+
});
|
52 |
+
|
53 |
});
|
admin/assets/js/um-admin-builder.js
CHANGED
@@ -1,42 +1,42 @@
|
|
1 |
-
/**
|
2 |
-
This function updates the
|
3 |
-
builder area with fields
|
4 |
-
**/
|
5 |
-
|
6 |
-
function um_admin_update_builder(){
|
7 |
-
|
8 |
-
form_id = jQuery('.um-admin-builder').data('form_id');
|
9 |
-
|
10 |
-
jQuery('.tipsy').hide();
|
11 |
-
|
12 |
-
jQuery.ajax({
|
13 |
-
url: ultimatemember_ajax_url,
|
14 |
-
type: 'POST',
|
15 |
-
data: {action: 'update_builder', form_id: form_id },
|
16 |
-
success: function(data){
|
17 |
-
|
18 |
-
jQuery('.um-admin-drag-ajax').html(data);
|
19 |
-
|
20 |
-
jQuery('.tipsy').hide();
|
21 |
-
|
22 |
-
/* trigger columns at start */
|
23 |
-
allow_update_via_col_click = false;
|
24 |
-
jQuery('.um-admin-drag-ctrls.columns a.active').each(function(){
|
25 |
-
jQuery(this).trigger('click');
|
26 |
-
}).promise().done( function(){ allow_update_via_col_click = true; } );
|
27 |
-
|
28 |
-
UM_Rows_Refresh();
|
29 |
-
|
30 |
-
},
|
31 |
-
error: function(data){
|
32 |
-
|
33 |
-
}
|
34 |
-
});
|
35 |
-
|
36 |
-
return false;
|
37 |
-
|
38 |
-
}
|
39 |
-
|
40 |
-
jQuery(document).ready(function() {
|
41 |
-
|
42 |
});
|
1 |
+
/**
|
2 |
+
This function updates the
|
3 |
+
builder area with fields
|
4 |
+
**/
|
5 |
+
|
6 |
+
function um_admin_update_builder(){
|
7 |
+
|
8 |
+
form_id = jQuery('.um-admin-builder').data('form_id');
|
9 |
+
|
10 |
+
jQuery('.tipsy').hide();
|
11 |
+
|
12 |
+
jQuery.ajax({
|
13 |
+
url: ultimatemember_ajax_url,
|
14 |
+
type: 'POST',
|
15 |
+
data: {action: 'update_builder', form_id: form_id },
|
16 |
+
success: function(data){
|
17 |
+
|
18 |
+
jQuery('.um-admin-drag-ajax').html(data);
|
19 |
+
|
20 |
+
jQuery('.tipsy').hide();
|
21 |
+
|
22 |
+
/* trigger columns at start */
|
23 |
+
allow_update_via_col_click = false;
|
24 |
+
jQuery('.um-admin-drag-ctrls.columns a.active').each(function(){
|
25 |
+
jQuery(this).trigger('click');
|
26 |
+
}).promise().done( function(){ allow_update_via_col_click = true; } );
|
27 |
+
|
28 |
+
UM_Rows_Refresh();
|
29 |
+
|
30 |
+
},
|
31 |
+
error: function(data){
|
32 |
+
|
33 |
+
}
|
34 |
+
});
|
35 |
+
|
36 |
+
return false;
|
37 |
+
|
38 |
+
}
|
39 |
+
|
40 |
+
jQuery(document).ready(function() {
|
41 |
+
|
42 |
});
|
admin/assets/js/um-admin-dashboard.js
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
-
jQuery(document).ready(function() {
|
2 |
-
|
3 |
});
|
1 |
+
jQuery(document).ready(function() {
|
2 |
+
|
3 |
});
|
admin/assets/js/um-admin-dragdrop.js
CHANGED
@@ -1,410 +1,410 @@
|
|
1 |
-
function UM_Drag_and_Drop(){
|
2 |
-
|
3 |
-
jQuery('.um-admin-drag-col,.um-admin-drag-group').sortable({
|
4 |
-
items: '.um-admin-drag-fld',
|
5 |
-
connectWith: '.um-admin-drag-col,.um-admin-drag-group',
|
6 |
-
placeholder: "um-fld-placeholder",
|
7 |
-
forcePlaceholderSize:true,
|
8 |
-
update: function(event, ui){
|
9 |
-
|
10 |
-
jQuery('#publish').attr('disabled','disabled');
|
11 |
-
|
12 |
-
if ( ui.item.hasClass('um-field-type-group') && ui.item.parents('.um-field-type-group').length > 0 ) {
|
13 |
-
|
14 |
-
jQuery('.um-admin-drag-col,.um-admin-drag-group').sortable('cancel');
|
15 |
-
|
16 |
-
jQuery('#publish').removeAttr('disabled');
|
17 |
-
|
18 |
-
} else {
|
19 |
-
|
20 |
-
UM_Change_Field_Col();
|
21 |
-
|
22 |
-
UM_Change_Field_Grp();
|
23 |
-
|
24 |
-
UM_Rows_Refresh();
|
25 |
-
|
26 |
-
}
|
27 |
-
|
28 |
-
}
|
29 |
-
});
|
30 |
-
|
31 |
-
jQuery('.um-admin-drag-rowsubs').sortable({
|
32 |
-
items: '.um-admin-drag-rowsub',
|
33 |
-
placeholder: "um-rowsub-placeholder",
|
34 |
-
forcePlaceholderSize:true,
|
35 |
-
zIndex: 9999999999,
|
36 |
-
update: function(){
|
37 |
-
|
38 |
-
jQuery('#publish').attr('disabled','disabled');
|
39 |
-
|
40 |
-
UM_update_subrows();
|
41 |
-
|
42 |
-
UM_Rows_Refresh();
|
43 |
-
|
44 |
-
}
|
45 |
-
}).disableSelection();
|
46 |
-
|
47 |
-
jQuery('.um-admin-drag-rowsub').sortable({
|
48 |
-
items: '.um-admin-drag-col',
|
49 |
-
zIndex: 9999999999,
|
50 |
-
update: function(){
|
51 |
-
|
52 |
-
jQuery('#publish').attr('disabled','disabled');
|
53 |
-
|
54 |
-
row = jQuery(this);
|
55 |
-
row.find('.um-admin-drag-col').removeClass('cols-1 cols-2 cols-3 cols-last cols-middle');
|
56 |
-
row.find('.um-admin-drag-col').addClass('cols-' + row.find('.um-admin-drag-col').length );
|
57 |
-
row.find('.um-admin-drag-col:last').addClass('cols-last');
|
58 |
-
if ( row.find('.um-admin-drag-col').length == 3 ) {row.find('.um-admin-drag-col:eq(1)').addClass('cols-middle');}
|
59 |
-
|
60 |
-
UM_Change_Field_Col();
|
61 |
-
|
62 |
-
UM_Change_Field_Grp();
|
63 |
-
|
64 |
-
UM_Rows_Refresh();
|
65 |
-
|
66 |
-
}
|
67 |
-
}).disableSelection();
|
68 |
-
|
69 |
-
jQuery('.um-admin-drag-ajax').sortable({
|
70 |
-
items: '.um-admin-drag-row',
|
71 |
-
handle: ".um-admin-drag-row-start",
|
72 |
-
zIndex: 9999999999,
|
73 |
-
placeholder: "um-row-placeholder",
|
74 |
-
forcePlaceholderSize:true,
|
75 |
-
out: function(){
|
76 |
-
jQuery('.tipsy').remove();
|
77 |
-
},
|
78 |
-
update: function(){
|
79 |
-
|
80 |
-
jQuery('#publish').attr('disabled','disabled');
|
81 |
-
|
82 |
-
UM_update_rows();
|
83 |
-
|
84 |
-
UM_Change_Field_Col();
|
85 |
-
|
86 |
-
UM_Change_Field_Grp();
|
87 |
-
|
88 |
-
UM_Rows_Refresh();
|
89 |
-
|
90 |
-
}
|
91 |
-
}).disableSelection();
|
92 |
-
|
93 |
-
}
|
94 |
-
|
95 |
-
function UM_update_rows(){
|
96 |
-
var c = 0;
|
97 |
-
jQuery('a[data-remove_element="um-admin-drag-row"]').remove();
|
98 |
-
jQuery('.um-admin-drag-row').each(function(){
|
99 |
-
c++;
|
100 |
-
row = jQuery(this);
|
101 |
-
if ( c != 1 ) {
|
102 |
-
row.find('.um-admin-drag-row-icons').append( '<a href="#" class="um-admin-tipsy-n" title="Delete Row" data-remove_element="um-admin-drag-row"><i class="um-faicon-trash-o"></i></a>' );
|
103 |
-
}
|
104 |
-
});
|
105 |
-
}
|
106 |
-
|
107 |
-
function UM_update_subrows(){
|
108 |
-
jQuery('a[data-remove_element="um-admin-drag-rowsub"]').remove();
|
109 |
-
jQuery('.um-admin-drag-row').each(function(){
|
110 |
-
c = 0;
|
111 |
-
jQuery(this).find('.um-admin-drag-rowsub').each(function(){
|
112 |
-
c++;
|
113 |
-
row = jQuery(this);
|
114 |
-
if ( c != 1 ) {
|
115 |
-
row.find('.um-admin-drag-rowsub-icons').append('<a href="#" class="um-admin-tipsy-n" title="Delete Row" data-remove_element="um-admin-drag-rowsub"><i class="um-faicon-trash-o"></i></a>');
|
116 |
-
}
|
117 |
-
});
|
118 |
-
});
|
119 |
-
}
|
120 |
-
|
121 |
-
function UM_Change_Field_Col(){
|
122 |
-
jQuery('.um-admin-drag-col .um-admin-drag-fld').each(function(){
|
123 |
-
cols = jQuery(this).parents('.um-admin-drag-rowsub').find('.um-admin-drag-col').length;
|
124 |
-
col = jQuery(this).parents('.um-admin-drag-col');
|
125 |
-
if ( col.hasClass('cols-last') ) {
|
126 |
-
if ( cols == 1 ) {
|
127 |
-
saved_col = 1;
|
128 |
-
}
|
129 |
-
if ( cols == 3 ) {
|
130 |
-
saved_col = 3;
|
131 |
-
} else if ( cols == 2 ) {
|
132 |
-
saved_col = 2;
|
133 |
-
}
|
134 |
-
} else if ( col.hasClass('cols-middle') && cols == 3 ) {
|
135 |
-
saved_col = 2;
|
136 |
-
} else {
|
137 |
-
saved_col = 1;
|
138 |
-
}
|
139 |
-
|
140 |
-
jQuery(this).data('column', saved_col);
|
141 |
-
});
|
142 |
-
}
|
143 |
-
|
144 |
-
function UM_Change_Field_Grp(){
|
145 |
-
jQuery('.um-admin-drag-col .um-admin-drag-fld:not(.um-field-type-group)').each(function(){
|
146 |
-
if ( jQuery(this).parents('.um-admin-drag-group').length == 0 ){
|
147 |
-
jQuery(this).data('group', '');
|
148 |
-
} else {
|
149 |
-
jQuery(this).data('group', jQuery(this).parents('.um-admin-drag-fld.um-field-type-group').data('key') );
|
150 |
-
}
|
151 |
-
});
|
152 |
-
}
|
153 |
-
|
154 |
-
function UM_Rows_Refresh(){
|
155 |
-
|
156 |
-
jQuery('.um_update_order_fields').empty();
|
157 |
-
|
158 |
-
/* ROWS */
|
159 |
-
var c = 0;
|
160 |
-
jQuery('.um-admin-drag-row').each(function(){
|
161 |
-
c++;
|
162 |
-
|
163 |
-
row = jQuery(this);
|
164 |
-
|
165 |
-
col_num = '';
|
166 |
-
row.find('.um-admin-drag-rowsub').each(function(){
|
167 |
-
|
168 |
-
subrow = jQuery(this);
|
169 |
-
|
170 |
-
subrow.find('.um-admin-drag-col').removeClass('cols-1 cols-2 cols-3 cols-last cols-middle');
|
171 |
-
subrow.find('.um-admin-drag-col').addClass('cols-' + subrow.find('.um-admin-drag-col').length );
|
172 |
-
subrow.find('.um-admin-drag-col:last').addClass('cols-last');
|
173 |
-
if ( subrow.find('.um-admin-drag-col').length == 3 ) {subrow.find('.um-admin-drag-col:eq(1)').addClass('cols-middle');}
|
174 |
-
|
175 |
-
if ( !col_num ) {
|
176 |
-
col_num = subrow.find('.um-admin-drag-col').length;
|
177 |
-
} else {
|
178 |
-
col_num = col_num + ':' + subrow.find('.um-admin-drag-col').length;
|
179 |
-
}
|
180 |
-
|
181 |
-
});
|
182 |
-
|
183 |
-
jQuery('.um_update_order_fields').append('<input type="hidden" name="_um_rowcols_'+c+'_cols" id="_um_rowcols_'+c+'_cols" value="'+col_num+'" />');
|
184 |
-
|
185 |
-
sub_rows_count = row.find('.um-admin-drag-rowsub').length;
|
186 |
-
|
187 |
-
var origin_id = jQuery(this).attr('data-original');
|
188 |
-
|
189 |
-
jQuery('.um_update_order_fields').append('<input type="hidden" name="_um_row_'+c+'" id="_um_row_'+c+'" value="_um_row_'+c+'" />');
|
190 |
-
jQuery('.um_update_order_fields').append('<input type="hidden" name="_um_roworigin_'+c+'_val" id="_um_roworigin_'+c+'_val" value="'+origin_id+'" />');
|
191 |
-
jQuery('.um_update_order_fields').append('<input type="hidden" name="_um_rowsub_'+c+'_rows" id="_um_rowsub_'+c+'_rows" value="'+sub_rows_count+'" />');
|
192 |
-
|
193 |
-
jQuery(this).attr('data-original', '_um_row_'+c );
|
194 |
-
|
195 |
-
});
|
196 |
-
|
197 |
-
/* FIELDS */
|
198 |
-
var order;
|
199 |
-
order = 0;
|
200 |
-
jQuery('.um-admin-drag-col .um-admin-drag-fld').each(function(){
|
201 |
-
|
202 |
-
if ( !jQuery(this).hasClass('group') ) {
|
203 |
-
var group = jQuery(this).data('group');
|
204 |
-
if ( group != '' ) {
|
205 |
-
if ( jQuery('.um-admin-drag-fld.um-field-type-group.' + group ).find('.um-admin-drag-group').find( jQuery(this) ).length == 0 ) {
|
206 |
-
jQuery(this).appendTo( jQuery('.um-admin-drag-fld.um-field-type-group.' + group ).find('.um-admin-drag-group') );
|
207 |
-
} else {
|
208 |
-
//jQuery(this).prependTo( jQuery('.um-admin-drag-fld.um-field-type-group.' + group ).find('.um-admin-drag-group') );
|
209 |
-
}
|
210 |
-
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_group_'+jQuery(this).data('key')+'" id="um_group_'+jQuery(this).data('key')+'" value="'+group+'" />');
|
211 |
-
} else {
|
212 |
-
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_group_'+jQuery(this).data('key')+'" id="um_group_'+jQuery(this).data('key')+'" value="" />');
|
213 |
-
}
|
214 |
-
}
|
215 |
-
|
216 |
-
order++;
|
217 |
-
|
218 |
-
row = jQuery(this).parents('.um-admin-drag-row').index()+1;
|
219 |
-
row = '_um_row_'+row;
|
220 |
-
|
221 |
-
saved_col = jQuery(this).data('column');
|
222 |
-
|
223 |
-
if ( saved_col == 3 ){
|
224 |
-
jQuery(this).appendTo( jQuery(this).parents('.um-admin-drag-rowsub').find('.um-admin-drag-col:eq(2)') );
|
225 |
-
}
|
226 |
-
if ( saved_col == 2 ){
|
227 |
-
jQuery(this).appendTo( jQuery(this).parents('.um-admin-drag-rowsub').find('.um-admin-drag-col:eq(1)') );
|
228 |
-
}
|
229 |
-
|
230 |
-
sub_row = jQuery(this).parents('.um-admin-drag-rowsub').index();
|
231 |
-
|
232 |
-
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_position_'+jQuery(this).data('key')+'" id="um_position_'+jQuery(this).data('key')+'" value="'+order+'" />');
|
233 |
-
|
234 |
-
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_row_'+jQuery(this).data('key')+'" id="um_row_'+jQuery(this).data('key')+'" value="'+row+'" />');
|
235 |
-
|
236 |
-
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_subrow_'+jQuery(this).data('key')+'" id="um_subrow_'+jQuery(this).data('key')+'" value="'+sub_row+'" />');
|
237 |
-
|
238 |
-
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_col_'+jQuery(this).data('key')+'" id="um_col_'+jQuery(this).data('key')+'" value="'+saved_col+'" />');
|
239 |
-
|
240 |
-
});
|
241 |
-
|
242 |
-
UM_Drag_and_Drop();
|
243 |
-
|
244 |
-
UM_Add_Icon();
|
245 |
-
|
246 |
-
jQuery.ajax({
|
247 |
-
url: ultimatemember_ajax_url,
|
248 |
-
type: 'POST',
|
249 |
-
data: jQuery('.um_update_order').serialize(),
|
250 |
-
success: function(){
|
251 |
-
jQuery('#publish').removeAttr('disabled');
|
252 |
-
}
|
253 |
-
});
|
254 |
-
|
255 |
-
}
|
256 |
-
|
257 |
-
function UM_Add_Icon(){
|
258 |
-
|
259 |
-
var add_icon_html = '<a href="#" class="um-admin-drag-add-field um-admin-tipsy-n" title="Add Field" data-modal="UM_fields" data-modal-size="normal" data-dynamic-content="um_admin_show_fields" data-arg2="'+jQuery('.um-admin-drag-ajax').data('form_id')+'" data-arg1=""><i class="um-icon-plus"></i></a>';
|
260 |
-
|
261 |
-
jQuery('.um-admin-drag-col').each(function(){
|
262 |
-
if ( jQuery(this).find('.um-admin-drag-add-field').length == 0 ) {
|
263 |
-
jQuery(this).append(add_icon_html);
|
264 |
-
} else {
|
265 |
-
jQuery(this).find('.um-admin-drag-add-field').remove();
|
266 |
-
jQuery(this).append(add_icon_html);
|
267 |
-
}
|
268 |
-
});
|
269 |
-
|
270 |
-
jQuery('.um-admin-drag-group').each(function(){
|
271 |
-
if ( jQuery(this).find('.um-admin-drag-add-field').length == 0 ) {
|
272 |
-
jQuery(this).append(add_icon_html);
|
273 |
-
} else {
|
274 |
-
jQuery(this).find('.um-admin-drag-add-field').remove();
|
275 |
-
jQuery(this).append(add_icon_html);
|
276 |
-
}
|
277 |
-
});
|
278 |
-
|
279 |
-
}
|
280 |
-
|
281 |
-
jQuery(document).ready(function() {
|
282 |
-
|
283 |
-
if ( !jQuery('.um-admin-drag').length ) return false;
|
284 |
-
|
285 |
-
UM_Drag_and_Drop();
|
286 |
-
|
287 |
-
/* add field to respected area */
|
288 |
-
jQuery(document).on('click', 'a.um-admin-drag-add-field', function(){
|
289 |
-
in_row = jQuery(this).parents('.um-admin-drag-row').index();
|
290 |
-
in_sub_row = jQuery(this).parents('.um-admin-drag-rowsub').index();
|
291 |
-
if ( jQuery(this).parents('.um-admin-drag-rowsub').find('.um-admin-drag-col').length == 1 ) {
|
292 |
-
in_column = 1;
|
293 |
-
} else {
|
294 |
-
if ( jQuery(this).parents('.um-admin-drag-col').hasClass('cols-middle')){
|
295 |
-
in_column = 2;
|
296 |
-
} else if ( jQuery(this).parents('.um-admin-drag-col').hasClass('cols-last') ) {
|
297 |
-
if ( jQuery(this).parents('.um-admin-drag-rowsub').find('.um-admin-drag-col').length == 3 ) {
|
298 |
-
in_column = 3;
|
299 |
-
} else {
|
300 |
-
in_column = 2;
|
301 |
-
}
|
302 |
-
} else {
|
303 |
-
in_column = 1;
|
304 |
-
}
|
305 |
-
}
|
306 |
-
|
307 |
-
if ( jQuery(this).parents('.um-admin-drag-group').length ) {
|
308 |
-
in_group = jQuery(this).parents('.um-admin-drag-fld.um-field-type-group').data('key');
|
309 |
-
} else {
|
310 |
-
in_group = '';
|
311 |
-
}
|
312 |
-
|
313 |
-
jQuery('.um-col-demon-settings').data('in_row', in_row);
|
314 |
-
jQuery('.um-col-demon-settings').data('in_sub_row', in_sub_row);
|
315 |
-
jQuery('.um-col-demon-settings').data('in_column', in_column);
|
316 |
-
jQuery('.um-col-demon-settings').data('in_group', in_group);
|
317 |
-
});
|
318 |
-
|
319 |
-
/* add row */
|
320 |
-
jQuery(document).on('click', '*[data-row_action="add_row"]', function(){
|
321 |
-
var dragg = jQuery('.um-admin-drag-ajax');
|
322 |
-
dragg.append( '<div class="um-admin-drag-row">' + jQuery('.um-col-demon-row').html() + '</div>' );
|
323 |
-
dragg.find('.um-admin-drag-row:last').find('.um-admin-drag-row-icons').find('a.um-admin-drag-row-edit').attr('data-arg3', '_um_row_' + ( dragg.find('.um-admin-drag-row').length ) );
|
324 |
-
dragg.find('.um-admin-drag-row:last').attr('data-original', '_um_row_' + ( dragg.find('.um-admin-drag-row').length ) );
|
325 |
-
UM_update_rows();
|
326 |
-
UM_update_subrows();
|
327 |
-
UM_Rows_Refresh();
|
328 |
-
});
|
329 |
-
|
330 |
-
/* add sub row */
|
331 |
-
jQuery(document).on('click', '*[data-row_action="add_subrow"]', function(){
|
332 |
-
var dragg = jQuery(this).parents('.um-admin-drag-row').find('.um-admin-drag-rowsubs');
|
333 |
-
dragg.append( '<div class="um-admin-drag-rowsub">' + jQuery('.um-col-demon-subrow').html() + '</div>' );
|
334 |
-
UM_update_subrows();
|
335 |
-
UM_Rows_Refresh();
|
336 |
-
});
|
337 |
-
|
338 |
-
/* remove element */
|
339 |
-
jQuery(document).on('click', 'a[data-remove_element^="um-"]',function(){
|
340 |
-
element = jQuery(this).data('remove_element');
|
341 |
-
|
342 |
-
jQuery(this).parents('.' +element).find('.um-admin-drag-fld').each(function(){
|
343 |
-
jQuery(this).find('a[data-silent_action="um_admin_remove_field"]').trigger('click');
|
344 |
-
});
|
345 |
-
|
346 |
-
jQuery(this).parents('.' +element).remove();
|
347 |
-
jQuery('.tipsy').remove();
|
348 |
-
UM_Rows_Refresh();
|
349 |
-
});
|
350 |
-
|
351 |
-
/* dynamically change columns */
|
352 |
-
jQuery(document).on('click', '.um-admin-drag-ctrls.columns a', function(){
|
353 |
-
|
354 |
-
var row = jQuery(this).parents('.um-admin-drag-rowsub');
|
355 |
-
var tab = jQuery(this);
|
356 |
-
var tabs = jQuery(this).parent();
|
357 |
-
tabs.find('a').removeClass('active');
|
358 |
-
tab.addClass('active');
|
359 |
-
var existing_cols = row.find('.um-admin-drag-col').length;
|
360 |
-
var required_cols = tab.data('cols');
|
361 |
-
var needed_cols = required_cols - existing_cols;
|
362 |
-
|
363 |
-
if ( needed_cols > 0 ) {
|
364 |
-
|
365 |
-
for (i = 0; i < needed_cols; i++){
|
366 |
-
row.find('.um-admin-drag-col-dynamic').append('<div class="um-admin-drag-col"></div>');
|
367 |
-
}
|
368 |
-
|
369 |
-
row.find('.um-admin-drag-col').removeClass('cols-1 cols-2 cols-3 cols-last cols-middle');
|
370 |
-
row.find('.um-admin-drag-col').addClass('cols-' + row.find('.um-admin-drag-col').length );
|
371 |
-
row.find('.um-admin-drag-col:last').addClass('cols-last');
|
372 |
-
|
373 |
-
if ( row.find('.um-admin-drag-col').length == 3 ) {row.find('.um-admin-drag-col:eq(1)').addClass('cols-middle');}
|
374 |
-
|
375 |
-
} else if ( needed_cols < 0 ) {
|
376 |
-
|
377 |
-
needed_cols = needed_cols + 3;
|
378 |
-
if ( needed_cols == 2 ) {
|
379 |
-
row.find('.um-admin-drag-col:first').append( row.find('.um-admin-drag-col.cols-last').html() );
|
380 |
-
row.find('.um-admin-drag-col.cols-last').remove();
|
381 |
-
}
|
382 |
-
if ( needed_cols == 1 ) {
|
383 |
-
row.find('.um-admin-drag-col:first').append( row.find('.um-admin-drag-col.cols-last').html() );
|
384 |
-
row.find('.um-admin-drag-col:first').append( row.find('.um-admin-drag-col.cols-middle').html() );
|
385 |
-
row.find('.um-admin-drag-col.cols-last').remove();
|
386 |
-
row.find('.um-admin-drag-col.cols-middle').remove();
|
387 |
-
}
|
388 |
-
|
389 |
-
row.find('.um-admin-drag-col').removeClass('cols-1 cols-2 cols-3 cols-last cols-middle');
|
390 |
-
row.find('.um-admin-drag-col').addClass('cols-' + row.find('.um-admin-drag-col:visible').length );
|
391 |
-
row.find('.um-admin-drag-col:last').addClass('cols-last');
|
392 |
-
|
393 |
-
}
|
394 |
-
|
395 |
-
if ( allow_update_via_col_click == true ) {
|
396 |
-
UM_Change_Field_Col();
|
397 |
-
UM_Rows_Refresh();
|
398 |
-
}
|
399 |
-
|
400 |
-
});
|
401 |
-
|
402 |
-
/* trigger columns at start */
|
403 |
-
allow_update_via_col_click = false;
|
404 |
-
jQuery('.um-admin-drag-ctrls.columns a.active').each(function(){
|
405 |
-
jQuery(this).trigger('click');
|
406 |
-
}).promise().done( function(){ allow_update_via_col_click = true; } );
|
407 |
-
|
408 |
-
UM_Rows_Refresh();
|
409 |
-
|
410 |
});
|
1 |
+
function UM_Drag_and_Drop(){
|
2 |
+
|
3 |
+
jQuery('.um-admin-drag-col,.um-admin-drag-group').sortable({
|
4 |
+
items: '.um-admin-drag-fld',
|
5 |
+
connectWith: '.um-admin-drag-col,.um-admin-drag-group',
|
6 |
+
placeholder: "um-fld-placeholder",
|
7 |
+
forcePlaceholderSize:true,
|
8 |
+
update: function(event, ui){
|
9 |
+
|
10 |
+
jQuery('#publish').attr('disabled','disabled');
|
11 |
+
|
12 |
+
if ( ui.item.hasClass('um-field-type-group') && ui.item.parents('.um-field-type-group').length > 0 ) {
|
13 |
+
|
14 |
+
jQuery('.um-admin-drag-col,.um-admin-drag-group').sortable('cancel');
|
15 |
+
|
16 |
+
jQuery('#publish').removeAttr('disabled');
|
17 |
+
|
18 |
+
} else {
|
19 |
+
|
20 |
+
UM_Change_Field_Col();
|
21 |
+
|
22 |
+
UM_Change_Field_Grp();
|
23 |
+
|
24 |
+
UM_Rows_Refresh();
|
25 |
+
|
26 |
+
}
|
27 |
+
|
28 |
+
}
|
29 |
+
});
|
30 |
+
|
31 |
+
jQuery('.um-admin-drag-rowsubs').sortable({
|
32 |
+
items: '.um-admin-drag-rowsub',
|
33 |
+
placeholder: "um-rowsub-placeholder",
|
34 |
+
forcePlaceholderSize:true,
|
35 |
+
zIndex: 9999999999,
|
36 |
+
update: function(){
|
37 |
+
|
38 |
+
jQuery('#publish').attr('disabled','disabled');
|
39 |
+
|
40 |
+
UM_update_subrows();
|
41 |
+
|
42 |
+
UM_Rows_Refresh();
|
43 |
+
|
44 |
+
}
|
45 |
+
}).disableSelection();
|
46 |
+
|
47 |
+
jQuery('.um-admin-drag-rowsub').sortable({
|
48 |
+
items: '.um-admin-drag-col',
|
49 |
+
zIndex: 9999999999,
|
50 |
+
update: function(){
|
51 |
+
|
52 |
+
jQuery('#publish').attr('disabled','disabled');
|
53 |
+
|
54 |
+
row = jQuery(this);
|
55 |
+
row.find('.um-admin-drag-col').removeClass('cols-1 cols-2 cols-3 cols-last cols-middle');
|
56 |
+
row.find('.um-admin-drag-col').addClass('cols-' + row.find('.um-admin-drag-col').length );
|
57 |
+
row.find('.um-admin-drag-col:last').addClass('cols-last');
|
58 |
+
if ( row.find('.um-admin-drag-col').length == 3 ) {row.find('.um-admin-drag-col:eq(1)').addClass('cols-middle');}
|
59 |
+
|
60 |
+
UM_Change_Field_Col();
|
61 |
+
|
62 |
+
UM_Change_Field_Grp();
|
63 |
+
|
64 |
+
UM_Rows_Refresh();
|
65 |
+
|
66 |
+
}
|
67 |
+
}).disableSelection();
|
68 |
+
|
69 |
+
jQuery('.um-admin-drag-ajax').sortable({
|
70 |
+
items: '.um-admin-drag-row',
|
71 |
+
handle: ".um-admin-drag-row-start",
|
72 |
+
zIndex: 9999999999,
|
73 |
+
placeholder: "um-row-placeholder",
|
74 |
+
forcePlaceholderSize:true,
|
75 |
+
out: function(){
|
76 |
+
jQuery('.tipsy').remove();
|
77 |
+
},
|
78 |
+
update: function(){
|
79 |
+
|
80 |
+
jQuery('#publish').attr('disabled','disabled');
|
81 |
+
|
82 |
+
UM_update_rows();
|
83 |
+
|
84 |
+
UM_Change_Field_Col();
|
85 |
+
|
86 |
+
UM_Change_Field_Grp();
|
87 |
+
|
88 |
+
UM_Rows_Refresh();
|
89 |
+
|
90 |
+
}
|
91 |
+
}).disableSelection();
|
92 |
+
|
93 |
+
}
|
94 |
+
|
95 |
+
function UM_update_rows(){
|
96 |
+
var c = 0;
|
97 |
+
jQuery('a[data-remove_element="um-admin-drag-row"]').remove();
|
98 |
+
jQuery('.um-admin-drag-row').each(function(){
|
99 |
+
c++;
|
100 |
+
row = jQuery(this);
|
101 |
+
if ( c != 1 ) {
|
102 |
+
row.find('.um-admin-drag-row-icons').append( '<a href="#" class="um-admin-tipsy-n" title="Delete Row" data-remove_element="um-admin-drag-row"><i class="um-faicon-trash-o"></i></a>' );
|
103 |
+
}
|
104 |
+
});
|
105 |
+
}
|
106 |
+
|
107 |
+
function UM_update_subrows(){
|
108 |
+
jQuery('a[data-remove_element="um-admin-drag-rowsub"]').remove();
|
109 |
+
jQuery('.um-admin-drag-row').each(function(){
|
110 |
+
c = 0;
|
111 |
+
jQuery(this).find('.um-admin-drag-rowsub').each(function(){
|
112 |
+
c++;
|
113 |
+
row = jQuery(this);
|
114 |
+
if ( c != 1 ) {
|
115 |
+
row.find('.um-admin-drag-rowsub-icons').append('<a href="#" class="um-admin-tipsy-n" title="Delete Row" data-remove_element="um-admin-drag-rowsub"><i class="um-faicon-trash-o"></i></a>');
|
116 |
+
}
|
117 |
+
});
|
118 |
+
});
|
119 |
+
}
|
120 |
+
|
121 |
+
function UM_Change_Field_Col(){
|
122 |
+
jQuery('.um-admin-drag-col .um-admin-drag-fld').each(function(){
|
123 |
+
cols = jQuery(this).parents('.um-admin-drag-rowsub').find('.um-admin-drag-col').length;
|
124 |
+
col = jQuery(this).parents('.um-admin-drag-col');
|
125 |
+
if ( col.hasClass('cols-last') ) {
|
126 |
+
if ( cols == 1 ) {
|
127 |
+
saved_col = 1;
|
128 |
+
}
|
129 |
+
if ( cols == 3 ) {
|
130 |
+
saved_col = 3;
|
131 |
+
} else if ( cols == 2 ) {
|
132 |
+
saved_col = 2;
|
133 |
+
}
|
134 |
+
} else if ( col.hasClass('cols-middle') && cols == 3 ) {
|
135 |
+
saved_col = 2;
|
136 |
+
} else {
|
137 |
+
saved_col = 1;
|
138 |
+
}
|
139 |
+
|
140 |
+
jQuery(this).data('column', saved_col);
|
141 |
+
});
|
142 |
+
}
|
143 |
+
|
144 |
+
function UM_Change_Field_Grp(){
|
145 |
+
jQuery('.um-admin-drag-col .um-admin-drag-fld:not(.um-field-type-group)').each(function(){
|
146 |
+
if ( jQuery(this).parents('.um-admin-drag-group').length == 0 ){
|
147 |
+
jQuery(this).data('group', '');
|
148 |
+
} else {
|
149 |
+
jQuery(this).data('group', jQuery(this).parents('.um-admin-drag-fld.um-field-type-group').data('key') );
|
150 |
+
}
|
151 |
+
});
|
152 |
+
}
|
153 |
+
|
154 |
+
function UM_Rows_Refresh(){
|
155 |
+
|
156 |
+
jQuery('.um_update_order_fields').empty();
|
157 |
+
|
158 |
+
/* ROWS */
|
159 |
+
var c = 0;
|
160 |
+
jQuery('.um-admin-drag-row').each(function(){
|
161 |
+
c++;
|
162 |
+
|
163 |
+
row = jQuery(this);
|
164 |
+
|
165 |
+
col_num = '';
|
166 |
+
row.find('.um-admin-drag-rowsub').each(function(){
|
167 |
+
|
168 |
+
subrow = jQuery(this);
|
169 |
+
|
170 |
+
subrow.find('.um-admin-drag-col').removeClass('cols-1 cols-2 cols-3 cols-last cols-middle');
|
171 |
+
subrow.find('.um-admin-drag-col').addClass('cols-' + subrow.find('.um-admin-drag-col').length );
|
172 |
+
subrow.find('.um-admin-drag-col:last').addClass('cols-last');
|
173 |
+
if ( subrow.find('.um-admin-drag-col').length == 3 ) {subrow.find('.um-admin-drag-col:eq(1)').addClass('cols-middle');}
|
174 |
+
|
175 |
+
if ( !col_num ) {
|
176 |
+
col_num = subrow.find('.um-admin-drag-col').length;
|
177 |
+
} else {
|
178 |
+
col_num = col_num + ':' + subrow.find('.um-admin-drag-col').length;
|
179 |
+
}
|
180 |
+
|
181 |
+
});
|
182 |
+
|
183 |
+
jQuery('.um_update_order_fields').append('<input type="hidden" name="_um_rowcols_'+c+'_cols" id="_um_rowcols_'+c+'_cols" value="'+col_num+'" />');
|
184 |
+
|
185 |
+
sub_rows_count = row.find('.um-admin-drag-rowsub').length;
|
186 |
+
|
187 |
+
var origin_id = jQuery(this).attr('data-original');
|
188 |
+
|
189 |
+
jQuery('.um_update_order_fields').append('<input type="hidden" name="_um_row_'+c+'" id="_um_row_'+c+'" value="_um_row_'+c+'" />');
|
190 |
+
jQuery('.um_update_order_fields').append('<input type="hidden" name="_um_roworigin_'+c+'_val" id="_um_roworigin_'+c+'_val" value="'+origin_id+'" />');
|
191 |
+
jQuery('.um_update_order_fields').append('<input type="hidden" name="_um_rowsub_'+c+'_rows" id="_um_rowsub_'+c+'_rows" value="'+sub_rows_count+'" />');
|
192 |
+
|
193 |
+
jQuery(this).attr('data-original', '_um_row_'+c );
|
194 |
+
|
195 |
+
});
|
196 |
+
|
197 |
+
/* FIELDS */
|
198 |
+
var order;
|
199 |
+
order = 0;
|
200 |
+
jQuery('.um-admin-drag-col .um-admin-drag-fld').each(function(){
|
201 |
+
|
202 |
+
if ( !jQuery(this).hasClass('group') ) {
|
203 |
+
var group = jQuery(this).data('group');
|
204 |
+
if ( group != '' ) {
|
205 |
+
if ( jQuery('.um-admin-drag-fld.um-field-type-group.' + group ).find('.um-admin-drag-group').find( jQuery(this) ).length == 0 ) {
|
206 |
+
jQuery(this).appendTo( jQuery('.um-admin-drag-fld.um-field-type-group.' + group ).find('.um-admin-drag-group') );
|
207 |
+
} else {
|
208 |
+
//jQuery(this).prependTo( jQuery('.um-admin-drag-fld.um-field-type-group.' + group ).find('.um-admin-drag-group') );
|
209 |
+
}
|
210 |
+
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_group_'+jQuery(this).data('key')+'" id="um_group_'+jQuery(this).data('key')+'" value="'+group+'" />');
|
211 |
+
} else {
|
212 |
+
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_group_'+jQuery(this).data('key')+'" id="um_group_'+jQuery(this).data('key')+'" value="" />');
|
213 |
+
}
|
214 |
+
}
|
215 |
+
|
216 |
+
order++;
|
217 |
+
|
218 |
+
row = jQuery(this).parents('.um-admin-drag-row').index()+1;
|
219 |
+
row = '_um_row_'+row;
|
220 |
+
|
221 |
+
saved_col = jQuery(this).data('column');
|
222 |
+
|
223 |
+
if ( saved_col == 3 ){
|
224 |
+
jQuery(this).appendTo( jQuery(this).parents('.um-admin-drag-rowsub').find('.um-admin-drag-col:eq(2)') );
|
225 |
+
}
|
226 |
+
if ( saved_col == 2 ){
|
227 |
+
jQuery(this).appendTo( jQuery(this).parents('.um-admin-drag-rowsub').find('.um-admin-drag-col:eq(1)') );
|
228 |
+
}
|
229 |
+
|
230 |
+
sub_row = jQuery(this).parents('.um-admin-drag-rowsub').index();
|
231 |
+
|
232 |
+
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_position_'+jQuery(this).data('key')+'" id="um_position_'+jQuery(this).data('key')+'" value="'+order+'" />');
|
233 |
+
|
234 |
+
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_row_'+jQuery(this).data('key')+'" id="um_row_'+jQuery(this).data('key')+'" value="'+row+'" />');
|
235 |
+
|
236 |
+
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_subrow_'+jQuery(this).data('key')+'" id="um_subrow_'+jQuery(this).data('key')+'" value="'+sub_row+'" />');
|
237 |
+
|
238 |
+
jQuery('.um_update_order_fields').append('<input type="hidden" name="um_col_'+jQuery(this).data('key')+'" id="um_col_'+jQuery(this).data('key')+'" value="'+saved_col+'" />');
|
239 |
+
|
240 |
+
});
|
241 |
+
|
242 |
+
UM_Drag_and_Drop();
|
243 |
+
|
244 |
+
UM_Add_Icon();
|
245 |
+
|
246 |
+
jQuery.ajax({
|
247 |
+
url: ultimatemember_ajax_url,
|
248 |
+
type: 'POST',
|
249 |
+
data: jQuery('.um_update_order').serialize(),
|
250 |
+
success: function(){
|
251 |
+
jQuery('#publish').removeAttr('disabled');
|
252 |
+
}
|
253 |
+
});
|
254 |
+
|
255 |
+
}
|
256 |
+
|
257 |
+
function UM_Add_Icon(){
|
258 |
+
|
259 |
+
var add_icon_html = '<a href="#" class="um-admin-drag-add-field um-admin-tipsy-n" title="Add Field" data-modal="UM_fields" data-modal-size="normal" data-dynamic-content="um_admin_show_fields" data-arg2="'+jQuery('.um-admin-drag-ajax').data('form_id')+'" data-arg1=""><i class="um-icon-plus"></i></a>';
|
260 |
+
|
261 |
+
jQuery('.um-admin-drag-col').each(function(){
|
262 |
+
if ( jQuery(this).find('.um-admin-drag-add-field').length == 0 ) {
|
263 |
+
jQuery(this).append(add_icon_html);
|
264 |
+
} else {
|
265 |
+
jQuery(this).find('.um-admin-drag-add-field').remove();
|
266 |
+
jQuery(this).append(add_icon_html);
|
267 |
+
}
|
268 |
+
});
|
269 |
+
|
270 |
+
jQuery('.um-admin-drag-group').each(function(){
|
271 |
+
if ( jQuery(this).find('.um-admin-drag-add-field').length == 0 ) {
|
272 |
+
jQuery(this).append(add_icon_html);
|
273 |
+
} else {
|
274 |
+
jQuery(this).find('.um-admin-drag-add-field').remove();
|
275 |
+
jQuery(this).append(add_icon_html);
|
276 |
+
}
|
277 |
+
});
|
278 |
+
|
279 |
+
}
|
280 |
+
|
281 |
+
jQuery(document).ready(function() {
|
282 |
+
|
283 |
+
if ( !jQuery('.um-admin-drag').length ) return false;
|
284 |
+
|
285 |
+
UM_Drag_and_Drop();
|
286 |
+
|
287 |
+
/* add field to respected area */
|
288 |
+
jQuery(document).on('click', 'a.um-admin-drag-add-field', function(){
|
289 |
+
in_row = jQuery(this).parents('.um-admin-drag-row').index();
|
290 |
+
in_sub_row = jQuery(this).parents('.um-admin-drag-rowsub').index();
|
291 |
+
if ( jQuery(this).parents('.um-admin-drag-rowsub').find('.um-admin-drag-col').length == 1 ) {
|
292 |
+
in_column = 1;
|
293 |
+
} else {
|
294 |
+
if ( jQuery(this).parents('.um-admin-drag-col').hasClass('cols-middle')){
|
295 |
+
in_column = 2;
|
296 |
+
} else if ( jQuery(this).parents('.um-admin-drag-col').hasClass('cols-last') ) {
|
297 |
+
if ( jQuery(this).parents('.um-admin-drag-rowsub').find('.um-admin-drag-col').length == 3 ) {
|
298 |
+
in_column = 3;
|
299 |
+
} else {
|
300 |
+
in_column = 2;
|
301 |
+
}
|
302 |
+
} else {
|
303 |
+
in_column = 1;
|
304 |
+
}
|
305 |
+
}
|
306 |
+
|
307 |
+
if ( jQuery(this).parents('.um-admin-drag-group').length ) {
|
308 |
+
in_group = jQuery(this).parents('.um-admin-drag-fld.um-field-type-group').data('key');
|
309 |
+
} else {
|
310 |
+
in_group = '';
|
311 |
+
}
|
312 |
+
|
313 |
+
jQuery('.um-col-demon-settings').data('in_row', in_row);
|
314 |
+
jQuery('.um-col-demon-settings').data('in_sub_row', in_sub_row);
|
315 |
+
jQuery('.um-col-demon-settings').data('in_column', in_column);
|
316 |
+
jQuery('.um-col-demon-settings').data('in_group', in_group);
|
317 |
+
});
|
318 |
+
|
319 |
+
/* add row */
|
320 |
+
jQuery(document).on('click', '*[data-row_action="add_row"]', function(){
|
321 |
+
var dragg = jQuery('.um-admin-drag-ajax');
|
322 |
+
dragg.append( '<div class="um-admin-drag-row">' + jQuery('.um-col-demon-row').html() + '</div>' );
|
323 |
+
dragg.find('.um-admin-drag-row:last').find('.um-admin-drag-row-icons').find('a.um-admin-drag-row-edit').attr('data-arg3', '_um_row_' + ( dragg.find('.um-admin-drag-row').length ) );
|
324 |
+
dragg.find('.um-admin-drag-row:last').attr('data-original', '_um_row_' + ( dragg.find('.um-admin-drag-row').length ) );
|
325 |
+
UM_update_rows();
|
326 |
+
UM_update_subrows();
|
327 |
+
UM_Rows_Refresh();
|
328 |
+
});
|
329 |
+
|
330 |
+
/* add sub row */
|
331 |
+
jQuery(document).on('click', '*[data-row_action="add_subrow"]', function(){
|
332 |
+
var dragg = jQuery(this).parents('.um-admin-drag-row').find('.um-admin-drag-rowsubs');
|
333 |
+
dragg.append( '<div class="um-admin-drag-rowsub">' + jQuery('.um-col-demon-subrow').html() + '</div>' );
|
334 |
+
UM_update_subrows();
|
335 |
+
UM_Rows_Refresh();
|
336 |
+
});
|
337 |
+
|
338 |
+
/* remove element */
|
339 |
+
jQuery(document).on('click', 'a[data-remove_element^="um-"]',function(){
|
340 |
+
element = jQuery(this).data('remove_element');
|
341 |
+
|
342 |
+
jQuery(this).parents('.' +element).find('.um-admin-drag-fld').each(function(){
|
343 |
+
jQuery(this).find('a[data-silent_action="um_admin_remove_field"]').trigger('click');
|
344 |
+
});
|
345 |
+
|
346 |
+
jQuery(this).parents('.' +element).remove();
|
347 |
+
jQuery('.tipsy').remove();
|
348 |
+
UM_Rows_Refresh();
|
349 |
+
});
|
350 |
+
|
351 |
+
/* dynamically change columns */
|
352 |
+
jQuery(document).on('click', '.um-admin-drag-ctrls.columns a', function(){
|
353 |
+
|
354 |
+
var row = jQuery(this).parents('.um-admin-drag-rowsub');
|
355 |
+
var tab = jQuery(this);
|
356 |
+
var tabs = jQuery(this).parent();
|
357 |
+
tabs.find('a').removeClass('active');
|
358 |
+
tab.addClass('active');
|
359 |
+
var existing_cols = row.find('.um-admin-drag-col').length;
|
360 |
+
var required_cols = tab.data('cols');
|
361 |
+
var needed_cols = required_cols - existing_cols;
|
362 |
+
|
363 |
+
if ( needed_cols > 0 ) {
|
364 |
+
|
365 |
+
for (i = 0; i < needed_cols; i++){
|
366 |
+
row.find('.um-admin-drag-col-dynamic').append('<div class="um-admin-drag-col"></div>');
|
367 |
+
}
|
368 |
+
|
369 |
+
row.find('.um-admin-drag-col').removeClass('cols-1 cols-2 cols-3 cols-last cols-middle');
|
370 |
+
row.find('.um-admin-drag-col').addClass('cols-' + row.find('.um-admin-drag-col').length );
|
371 |
+
row.find('.um-admin-drag-col:last').addClass('cols-last');
|
372 |
+
|
373 |
+
if ( row.find('.um-admin-drag-col').length == 3 ) {row.find('.um-admin-drag-col:eq(1)').addClass('cols-middle');}
|
374 |
+
|
375 |
+
} else if ( needed_cols < 0 ) {
|
376 |
+
|
377 |
+
needed_cols = needed_cols + 3;
|
378 |
+
if ( needed_cols == 2 ) {
|
379 |
+
row.find('.um-admin-drag-col:first').append( row.find('.um-admin-drag-col.cols-last').html() );
|
380 |
+
row.find('.um-admin-drag-col.cols-last').remove();
|
381 |
+
}
|
382 |
+
if ( needed_cols == 1 ) {
|
383 |
+
row.find('.um-admin-drag-col:first').append( row.find('.um-admin-drag-col.cols-last').html() );
|
384 |
+
row.find('.um-admin-drag-col:first').append( row.find('.um-admin-drag-col.cols-middle').html() );
|
385 |
+
row.find('.um-admin-drag-col.cols-last').remove();
|
386 |
+
row.find('.um-admin-drag-col.cols-middle').remove();
|
387 |
+
}
|
388 |
+
|
389 |
+
row.find('.um-admin-drag-col').removeClass('cols-1 cols-2 cols-3 cols-last cols-middle');
|
390 |
+
row.find('.um-admin-drag-col').addClass('cols-' + row.find('.um-admin-drag-col:visible').length );
|
391 |
+
row.find('.um-admin-drag-col:last').addClass('cols-last');
|
392 |
+
|
393 |
+
}
|
394 |
+
|
395 |
+
if ( allow_update_via_col_click == true ) {
|
396 |
+
UM_Change_Field_Col();
|
397 |
+
UM_Rows_Refresh();
|
398 |
+
}
|
399 |
+
|
400 |
+
});
|
401 |
+
|
402 |
+
/* trigger columns at start */
|
403 |
+
allow_update_via_col_click = false;
|
404 |
+
jQuery('.um-admin-drag-ctrls.columns a.active').each(function(){
|
405 |
+
jQuery(this).trigger('click');
|
406 |
+
}).promise().done( function(){ allow_update_via_col_click = true; } );
|
407 |
+
|
408 |
+
UM_Rows_Refresh();
|
409 |
+
|
410 |
});
|
admin/assets/js/um-admin-field.js
CHANGED
@@ -1,89 +1,89 @@
|
|
1 |
-
jQuery(document).ready(function() {
|
2 |
-
|
3 |
-
/* Remove field permanently */
|
4 |
-
jQuery(document).on('click', '.um-admin-btns a span.remove', function(e){
|
5 |
-
e.preventDefault();
|
6 |
-
|
7 |
-
if (confirm('This will permanently delete this custom field from database')) {
|
8 |
-
|
9 |
-
jQuery(this).parents('a').remove();
|
10 |
-
|
11 |
-
arg1 = jQuery(this).parents('a').data('arg1');
|
12 |
-
|
13 |
-
jQuery.ajax({
|
14 |
-
url: ultimatemember_ajax_url,
|
15 |
-
type: 'POST',
|
16 |
-
data: {action: 'ultimatemember_do_ajax_action', act_id : 'um_admin_remove_field_global', arg1 : arg1 },
|
17 |
-
success: function(data){
|
18 |
-
|
19 |
-
},
|
20 |
-
error: function(data){
|
21 |
-
|
22 |
-
}
|
23 |
-
});
|
24 |
-
|
25 |
-
|
26 |
-
}
|
27 |
-
|
28 |
-
return false;
|
29 |
-
});
|
30 |
-
|
31 |
-
/* Add a Field */
|
32 |
-
jQuery(document).on('submit', 'form.um_add_field', function(e){
|
33 |
-
|
34 |
-
e.preventDefault();
|
35 |
-
|
36 |
-
var form = jQuery(this);
|
37 |
-
|
38 |
-
jQuery.ajax({
|
39 |
-
url: ultimatemember_ajax_url,
|
40 |
-
type: 'POST',
|
41 |
-
dataType: 'json',
|
42 |
-
data: form.serialize(),
|
43 |
-
beforeSend: function(){
|
44 |
-
form.css({'opacity': 0.5});
|
45 |
-
jQuery('.um-admin-error').removeClass('um-admin-error');
|
46 |
-
form.find('.um-admin-error-block').hide();
|
47 |
-
form.find('.um-admin-success-block').hide();
|
48 |
-
},
|
49 |
-
complete: function(){
|
50 |
-
form.css({'opacity': 1});
|
51 |
-
},
|
52 |
-
success: function(data){
|
53 |
-
|
54 |
-
if (data.error){
|
55 |
-
|
56 |
-
c = 0;
|
57 |
-
jQuery.each(data.error, function(i, v){
|
58 |
-
c++;
|
59 |
-
if ( c == 1 ) {
|
60 |
-
form.find('#'+i).addClass('um-admin-error').focus();
|
61 |
-
form.find('.um-admin-error-block').show().html(v);
|
62 |
-
}
|
63 |
-
});
|
64 |
-
|
65 |
-
um_admin_modal_responsive();
|
66 |
-
|
67 |
-
} else {
|
68 |
-
|
69 |
-
jQuery('.um-col-demon-settings').data('in_row', '');
|
70 |
-
jQuery('.um-col-demon-settings').data('in_sub_row', '');
|
71 |
-
jQuery('.um-col-demon-settings').data('in_column', '');
|
72 |
-
jQuery('.um-col-demon-settings').data('in_group', '');
|
73 |
-
|
74 |
-
um_admin_remove_modal();
|
75 |
-
um_admin_update_builder();
|
76 |
-
|
77 |
-
}
|
78 |
-
|
79 |
-
},
|
80 |
-
error: function(data){
|
81 |
-
|
82 |
-
}
|
83 |
-
});
|
84 |
-
|
85 |
-
return false;
|
86 |
-
|
87 |
-
});
|
88 |
-
|
89 |
});
|
1 |
+
jQuery(document).ready(function() {
|
2 |
+
|
3 |
+
/* Remove field permanently */
|
4 |
+
jQuery(document).on('click', '.um-admin-btns a span.remove', function(e){
|
5 |
+
e.preventDefault();
|
6 |
+
|
7 |
+
if (confirm('This will permanently delete this custom field from database')) {
|
8 |
+
|
9 |
+
jQuery(this).parents('a').remove();
|
10 |
+
|
11 |
+
arg1 = jQuery(this).parents('a').data('arg1');
|
12 |
+
|
13 |
+
jQuery.ajax({
|
14 |
+
url: ultimatemember_ajax_url,
|
15 |
+
type: 'POST',
|
16 |
+
data: {action: 'ultimatemember_do_ajax_action', act_id : 'um_admin_remove_field_global', arg1 : arg1 },
|
17 |
+
success: function(data){
|
18 |
+
|
19 |
+
},
|
20 |
+
error: function(data){
|
21 |
+
|
22 |
+
}
|
23 |
+
});
|
24 |
+
|
25 |
+
|
26 |
+
}
|
27 |
+
|
28 |
+
return false;
|
29 |
+
});
|
30 |
+
|
31 |
+
/* Add a Field */
|
32 |
+
jQuery(document).on('submit', 'form.um_add_field', function(e){
|
33 |
+
|
34 |
+
e.preventDefault();
|
35 |
+
|
36 |
+
var form = jQuery(this);
|
37 |
+
|
38 |
+
jQuery.ajax({
|
39 |
+
url: ultimatemember_ajax_url,
|
40 |
+
type: 'POST',
|
41 |
+
dataType: 'json',
|
42 |
+
data: form.serialize(),
|
43 |
+
beforeSend: function(){
|
44 |
+
form.css({'opacity': 0.5});
|
45 |
+
jQuery('.um-admin-error').removeClass('um-admin-error');
|
46 |
+
form.find('.um-admin-error-block').hide();
|
47 |
+
form.find('.um-admin-success-block').hide();
|
48 |
+
},
|
49 |
+
complete: function(){
|
50 |
+
form.css({'opacity': 1});
|
51 |
+
},
|
52 |
+
success: function(data){
|
53 |
+
|
54 |
+
if (data.error){
|
55 |
+
|
56 |
+
c = 0;
|
57 |
+
jQuery.each(data.error, function(i, v){
|
58 |
+
c++;
|
59 |
+
if ( c == 1 ) {
|
60 |
+
form.find('#'+i).addClass('um-admin-error').focus();
|
61 |
+
form.find('.um-admin-error-block').show().html(v);
|
62 |
+
}
|
63 |
+
});
|
64 |
+
|
65 |
+
um_admin_modal_responsive();
|
66 |
+
|
67 |
+
} else {
|
68 |
+
|
69 |
+
jQuery('.um-col-demon-settings').data('in_row', '');
|
70 |
+
jQuery('.um-col-demon-settings').data('in_sub_row', '');
|
71 |
+
jQuery('.um-col-demon-settings').data('in_column', '');
|
72 |
+
jQuery('.um-col-demon-settings').data('in_group', '');
|
73 |
+
|
74 |
+
um_admin_remove_modal();
|
75 |
+
um_admin_update_builder();
|
76 |
+
|
77 |
+
}
|
78 |
+
|
79 |
+
},
|
80 |
+
error: function(data){
|
81 |
+
|
82 |
+
}
|
83 |
+
});
|
84 |
+
|
85 |
+
return false;
|
86 |
+
|
87 |
+
});
|
88 |
+
|
89 |
});
|
admin/assets/js/um-admin-form.js
CHANGED
@@ -1,38 +1,38 @@
|
|
1 |
-
jQuery(document).ready(function() {
|
2 |
-
|
3 |
-
/* Default form tab */
|
4 |
-
if ( jQuery('.um-admin-boxed-links').length > 0 ) {
|
5 |
-
|
6 |
-
var tab = jQuery('.um-admin-boxed-links a[data-role="'+jQuery('input#_um_mode').val()+'"]');
|
7 |
-
|
8 |
-
tab.parents('.um-admin-boxed-links').find('a').removeClass('um-admin-activebg');
|
9 |
-
tab.addClass('um-admin-activebg');
|
10 |
-
jQuery('.um-admin div#side-sortables').show();
|
11 |
-
jQuery('div[id^="um-admin-form"]').hide();
|
12 |
-
jQuery('#submitdiv').show();
|
13 |
-
jQuery('div#um-admin-form-mode,div#um-admin-form-title,div#um-admin-form-builder,div#um-admin-form-shortcode').show();
|
14 |
-
jQuery('div[id^="um-admin-form-'+tab.data('role')+'"]').show();
|
15 |
-
jQuery('.empty-container').css({'border' : 'none'});
|
16 |
-
jQuery('.um-admin-builder').removeClass().addClass( 'um-admin-builder ' + jQuery('input#_um_mode').val() );
|
17 |
-
|
18 |
-
}
|
19 |
-
|
20 |
-
/* Creating new form button */
|
21 |
-
jQuery('.um-admin-boxed-links:not(.is-core-form) a').click(function(){
|
22 |
-
|
23 |
-
var tab = jQuery(this);
|
24 |
-
|
25 |
-
tab.parents('.um-admin-boxed-links').find('a').removeClass('um-admin-activebg');
|
26 |
-
tab.addClass('um-admin-activebg');
|
27 |
-
jQuery('.um-admin div#side-sortables').show();
|
28 |
-
jQuery('div[id^="um-admin-form"]').hide();
|
29 |
-
jQuery('#submitdiv').show();
|
30 |
-
jQuery('div#um-admin-form-mode,div#um-admin-form-title,div#um-admin-form-builder,div#um-admin-form-shortcode').show();
|
31 |
-
jQuery('div[id^="um-admin-form-'+tab.data('role')+'"]').show();
|
32 |
-
jQuery('input#_um_mode').val( tab.data('role') );
|
33 |
-
jQuery('.empty-container').css({'border' : 'none'});
|
34 |
-
jQuery('.um-admin-builder').removeClass().addClass( 'um-admin-builder ' + jQuery('input#_um_mode').val() );
|
35 |
-
|
36 |
-
});
|
37 |
-
|
38 |
});
|
1 |
+
jQuery(document).ready(function() {
|
2 |
+
|
3 |
+
/* Default form tab */
|
4 |
+
if ( jQuery('.um-admin-boxed-links').length > 0 ) {
|
5 |
+
|
6 |
+
var tab = jQuery('.um-admin-boxed-links a[data-role="'+jQuery('input#_um_mode').val()+'"]');
|
7 |
+
|
8 |
+
tab.parents('.um-admin-boxed-links').find('a').removeClass('um-admin-activebg');
|
9 |
+
tab.addClass('um-admin-activebg');
|
10 |
+
jQuery('.um-admin div#side-sortables').show();
|
11 |
+
jQuery('div[id^="um-admin-form"]').hide();
|
12 |
+
jQuery('#submitdiv').show();
|
13 |
+
jQuery('div#um-admin-form-mode,div#um-admin-form-title,div#um-admin-form-builder,div#um-admin-form-shortcode').show();
|
14 |
+
jQuery('div[id^="um-admin-form-'+tab.data('role')+'"]').show();
|
15 |
+
jQuery('.empty-container').css({'border' : 'none'});
|
16 |
+
jQuery('.um-admin-builder').removeClass().addClass( 'um-admin-builder ' + jQuery('input#_um_mode').val() );
|
17 |
+
|
18 |
+
}
|
19 |
+
|
20 |
+
/* Creating new form button */
|
21 |
+
jQuery('.um-admin-boxed-links:not(.is-core-form) a').click(function(){
|
22 |
+
|
23 |
+
var tab = jQuery(this);
|
24 |
+
|
25 |
+
tab.parents('.um-admin-boxed-links').find('a').removeClass('um-admin-activebg');
|
26 |
+
tab.addClass('um-admin-activebg');
|
27 |
+
jQuery('.um-admin div#side-sortables').show();
|
28 |
+
jQuery('div[id^="um-admin-form"]').hide();
|
29 |
+
jQuery('#submitdiv').show();
|
30 |
+
jQuery('div#um-admin-form-mode,div#um-admin-form-title,div#um-admin-form-builder,div#um-admin-form-shortcode').show();
|
31 |
+
jQuery('div[id^="um-admin-form-'+tab.data('role')+'"]').show();
|
32 |
+
jQuery('input#_um_mode').val( tab.data('role') );
|
33 |
+
jQuery('.empty-container').css({'border' : 'none'});
|
34 |
+
jQuery('.um-admin-builder').removeClass().addClass( 'um-admin-builder ' + jQuery('input#_um_mode').val() );
|
35 |
+
|
36 |
+
});
|
37 |
+
|
38 |
});
|
admin/assets/js/um-admin-modal.js
CHANGED
@@ -1,331 +1,364 @@
|
|
1 |
-
function um_admin_live_update_scripts() {
|
2 |
-
|
3 |
-
jQuery('.um-admin-modal-body:visible select').select2({
|
4 |
-
allowClear: false,
|
5 |
-
minimumResultsForSearch: 10
|
6 |
-
});
|
7 |
-
|
8 |
-
jQuery('.um-adm-conditional').each(function(){jQuery(this).trigger('change');});
|
9 |
-
|
10 |
-
jQuery('.um-admin-colorpicker').wpColorPicker();
|
11 |
-
|
12 |
-
}
|
13 |
-
|
14 |
-
function um_admin_new_modal( id, ajax, size ){
|
15 |
-
|
16 |
-
var modal = jQuery('body').find('.um-admin-overlay');
|
17 |
-
|
18 |
-
jQuery('.tipsy').hide();
|
19 |
-
|
20 |
-
um_admin_remove_modal();
|
21 |
-
|
22 |
-
jQuery('body').addClass('um-admin-modal-open').append('<div class="um-admin-overlay" /><div class="um-admin-modal" />');
|
23 |
-
jQuery('#' + id).prependTo('.um-admin-modal');
|
24 |
-
jQuery('#' + id).show();
|
25 |
-
jQuery('.um-admin-modal').show();
|
26 |
-
|
27 |
-
jQuery('.um-admin-modal-head').append('<a href="#" data-action="UM_remove_modal" class="um-admin-modal-close"><i class="um-faicon-times"></i></a>');
|
28 |
-
|
29 |
-
if ( ajax == true ) {
|
30 |
-
um_admin_modal_size( size );
|
31 |
-
um_admin_modal_preload();
|
32 |
-
um_admin_modal_responsive();
|
33 |
-
} else {
|
34 |
-
um_admin_modal_responsive();
|
35 |
-
}
|
36 |
-
|
37 |
-
}
|
38 |
-
|
39 |
-
function um_admin_modal_ajaxcall( act_id, arg1, arg2, arg3 ) {
|
40 |
-
|
41 |
-
in_row = '';
|
42 |
-
in_sub_row = '';
|
43 |
-
in_column = '';
|
44 |
-
in_group = '';
|
45 |
-
|
46 |
-
if ( jQuery('.um-col-demon-settings').data('in_column') ) {
|
47 |
-
in_row = jQuery('.um-col-demon-settings').data('in_row');
|
48 |
-
in_sub_row = jQuery('.um-col-demon-settings').data('in_sub_row');
|
49 |
-
in_column = jQuery('.um-col-demon-settings').data('in_column');
|
50 |
-
in_group = jQuery('.um-col-demon-settings').data('in_group');
|
51 |
-
}
|
52 |
-
|
53 |
-
jQuery.ajax({
|
54 |
-
url: ultimatemember_ajax_url,
|
55 |
-
type: 'POST',
|
56 |
-
data: {action: 'ultimatemember_dynamic_modal_content', act_id: act_id, arg1 : arg1, arg2 : arg2, arg3: arg3, in_row: in_row, in_sub_row: in_sub_row, in_column: in_column, in_group: in_group },
|
57 |
-
complete: function(){
|
58 |
-
um_admin_modal_loaded();
|
59 |
-
um_admin_modal_responsive();
|
60 |
-
},
|
61 |
-
success: function(data){
|
62 |
-
|
63 |
-
jQuery('.um-admin-modal').find('.um-admin-modal-body').html( data );
|
64 |
-
|
65 |
-
um_responsive();
|
66 |
-
|
67 |
-
um_admin_live_update_scripts();
|
68 |
-
|
69 |
-
if ( jQuery('.um-admin-editor:visible').length > 0 ) {
|
70 |
-
|
71 |
-
if ( act_id == 'um_admin_edit_field_popup' ) {
|
72 |
-
|
73 |
-
tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_edit');
|
74 |
-
jQuery('.um-admin-editor:visible').html( jQuery('.um-hidden-editor-edit').contents() );
|
75 |
-
tinyMCE.execCommand('mceAddEditor', true, 'um_editor_edit');
|
76 |
-
|
77 |
-
jQuery('.switch-html').trigger('click');
|
78 |
-
jQuery('.switch-html').trigger('click');
|
79 |
-
jQuery('.switch-tmce').trigger('click');
|
80 |
-
|
81 |
-
jQuery('#um_editor_edit_ifr').height(200);
|
82 |
-
|
83 |
-
var editor = tinyMCE.get('um_editor_edit');
|
84 |
-
var content = editor.getContent();
|
85 |
-
editor.setContent( jQuery('.um-admin-modal:visible .dynamic-mce-content').html() );
|
86 |
-
|
87 |
-
} else {
|
88 |
-
|
89 |
-
tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_new');
|
90 |
-
jQuery('.um-admin-editor:visible').html( jQuery('.um-hidden-editor-new').contents() );
|
91 |
-
tinyMCE.execCommand('mceAddEditor', true, 'um_editor_new');
|
92 |
-
|
93 |
-
jQuery('.switch-html').trigger('click');
|
94 |
-
jQuery('.switch-html').trigger('click');
|
95 |
-
jQuery('.switch-tmce').trigger('click');
|
96 |
-
|
97 |
-
jQuery('#um_editor_new_ifr').height(200);
|
98 |
-
|
99 |
-
}
|
100 |
-
|
101 |
-
}
|
102 |
-
|
103 |
-
},
|
104 |
-
error: function(data){
|
105 |
-
|
106 |
-
}
|
107 |
-
});
|
108 |
-
return false;
|
109 |
-
}
|
110 |
-
|
111 |
-
function um_admin_modal_responsive() {
|
112 |
-
var required_margin = jQuery('.um-admin-modal:visible').innerHeight() / 2 + 'px';
|
113 |
-
jQuery('.um-admin-modal:visible').css({'margin-top': '-' + required_margin });
|
114 |
-
}
|
115 |
-
|
116 |
-
function um_admin_remove_modal(){
|
117 |
-
|
118 |
-
if ( jQuery('.um-admin-editor:visible').length > 0 ) {
|
119 |
-
|
120 |
-
if ( jQuery('.um-admin-modal:visible').find('form').parent().attr('id') == 'UM_edit_field' ) {
|
121 |
-
|
122 |
-
tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_edit');
|
123 |
-
jQuery('.um-hidden-editor-edit').html( jQuery('.um-admin-editor:visible').contents() );
|
124 |
-
tinyMCE.execCommand('mceAddEditor', true, 'um_editor_edit');
|
125 |
-
|
126 |
-
} else {
|
127 |
-
|
128 |
-
tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_new');
|
129 |
-
jQuery('.um-hidden-editor-new').html( jQuery('.um-admin-editor:visible').contents() );
|
130 |
-
tinyMCE.execCommand('mceAddEditor', true, 'um_editor_new');
|
131 |
-
|
132 |
-
}
|
133 |
-
|
134 |
-
}
|
135 |
-
|
136 |
-
jQuery('body').removeClass('um-admin-modal-open');
|
137 |
-
jQuery('.um-admin-modal div[id^="UM_"]').hide().appendTo('body');
|
138 |
-
jQuery('.um-admin-modal,.um-admin-overlay').remove();
|
139 |
-
}
|
140 |
-
|
141 |
-
function um_admin_modal_preload() {
|
142 |
-
jQuery('.um-admin-modal:visible').addClass('loading');
|
143 |
-
jQuery('.um-admin-modal-body:visible').empty();
|
144 |
-
}
|
145 |
-
|
146 |
-
function um_admin_modal_loaded() {
|
147 |
-
jQuery('.um-admin-modal:visible').removeClass('loading');
|
148 |
-
}
|
149 |
-
|
150 |
-
function um_admin_modal_size( aclass ) {
|
151 |
-
jQuery('.um-admin-modal:visible').addClass(aclass);
|
152 |
-
}
|
153 |
-
|
154 |
-
function um_admin_modal_add_attr( id, value ) {
|
155 |
-
jQuery('.um-admin-modal:visible').data( id, value );
|
156 |
-
}
|
157 |
-
|
158 |
-
/**
|
159 |
-
Custom modal scripting starts
|
160 |
-
**/
|
161 |
-
|
162 |
-
jQuery(document).ready(function() {
|
163 |
-
|
164 |
-
/**
|
165 |
-
disable link
|
166 |
-
**/
|
167 |
-
jQuery(document).on('click', '.um-admin-builder a, .um-admin-modal a', function(e){
|
168 |
-
e.preventDefault();
|
169 |
-
return false;
|
170 |
-
});
|
171 |
-
|
172 |
-
/**
|
173 |
-
toggle area
|
174 |
-
**/
|
175 |
-
jQuery(document).on('click', '.um-admin-btn-toggle a', function(e){
|
176 |
-
var content = jQuery(this).parent().find('.um-admin-btn-content');
|
177 |
-
var link = jQuery(this);
|
178 |
-
if ( content.is(':hidden') ) {
|
179 |
-
content.show();
|
180 |
-
link.find('i').removeClass().addClass('um-icon-minus');
|
181 |
-
link.addClass('active');
|
182 |
-
} else {
|
183 |
-
content.hide();
|
184 |
-
link.find('i').removeClass().addClass('um-icon-plus');
|
185 |
-
link.removeClass('active');
|
186 |
-
}
|
187 |
-
um_admin_modal_responsive();
|
188 |
-
});
|
189 |
-
|
190 |
-
/**
|
191 |
-
clone a condition
|
192 |
-
**/
|
193 |
-
jQuery(document).on('click', '.um-admin-new-condition', function(){
|
194 |
-
var content = jQuery(this).parents('.um-admin-btn-content');
|
195 |
-
content.find('select').select2('destroy');
|
196 |
-
var length = content.find('.um-admin-cur-condition').length;
|
197 |
-
if ( length < 5 ) {
|
198 |
-
var cloned = jQuery(this).parents('.um-admin-cur-condition').clone();
|
199 |
-
cloned.find('input[type=text],select').each(function(){
|
200 |
-
jQuery(this).attr('id', jQuery(this).attr('id') + length );
|
201 |
-
jQuery(this).attr('name', jQuery(this).attr('name') + length );
|
202 |
-
});
|
203 |
-
cloned.find('input[type=text]').val('');
|
204 |
-
cloned.find('.um-admin-new-condition').replaceWith('<p><a href="#" class="um-admin-remove-condition button um-admin-tipsy-n" title="Remove condition"><i class="um-icon-close" style="margin-right:0!important"></i></a></p>');
|
205 |
-
|
206 |
-
cloned.appendTo( content );
|
207 |
-
cloned.find('select').val('');
|
208 |
-
um_admin_live_update_scripts();
|
209 |
-
um_admin_modal_responsive();
|
210 |
-
} else {
|
211 |
-
alert('You already have 5 rules');
|
212 |
-
}
|
213 |
-
});
|
214 |
-
|
215 |
-
/**
|
216 |
-
reset conditions
|
217 |
-
**/
|
218 |
-
jQuery(document).on('click', '.um-admin-reset-conditions a', function(){
|
219 |
-
var content = jQuery(this).parents('.um-admin-btn-content');
|
220 |
-
content.find('.um-admin-cur-condition').slice(1).remove();
|
221 |
-
content.find('input[type=text]').val('');
|
222 |
-
content.find('select').val('');
|
223 |
-
um_admin_live_update_scripts();
|
224 |
-
um_admin_modal_responsive();
|
225 |
-
});
|
226 |
-
|
227 |
-
/**
|
228 |
-
remove a condition
|
229 |
-
**/
|
230 |
-
jQuery(document).on('click', '.um-admin-remove-condition', function(){
|
231 |
-
var condition = jQuery(this).parents('.um-admin-cur-condition');
|
232 |
-
jQuery('.tipsy').remove();
|
233 |
-
condition.remove();
|
234 |
-
um_admin_live_update_scripts();
|
235 |
-
um_admin_modal_responsive();
|
236 |
-
});
|
237 |
-
|
238 |
-
/**
|
239 |
-
remove modal via action
|
240 |
-
**/
|
241 |
-
jQuery(document).on('click', '.um-admin-overlay, a[data-action="UM_remove_modal"]', function(){
|
242 |
-
um_admin_remove_modal();
|
243 |
-
});
|
244 |
-
|
245 |
-
/**
|
246 |
-
fire new modal
|
247 |
-
**/
|
248 |
-
jQuery(document).on('click', 'a[data-modal^="UM_"], span[data-modal^="UM_"]', function(e){
|
249 |
-
|
250 |
-
e.preventDefault();
|
251 |
-
|
252 |
-
var modal_id = jQuery(this).attr('data-modal');
|
253 |
-
|
254 |
-
if ( jQuery(this).attr('data-back') ) {
|
255 |
-
|
256 |
-
jQuery('#UM_fonticons').find('a.um-admin-modal-back').attr("data-modal", jQuery(this).attr('data-back') );
|
257 |
-
var current_icon = jQuery( '#' + jQuery(this).attr('data-back') ).find('input#_icon').val();
|
258 |
-
if ( current_icon == '' ) {
|
259 |
-
jQuery('#UM_fonticons').find('.um-admin-icons span').removeClass('highlighted');
|
260 |
-
}
|
261 |
-
|
262 |
-
}
|
263 |
-
|
264 |
-
if ( jQuery(this).data('dynamic-content') ) {
|
265 |
-
um_admin_new_modal( modal_id, true, jQuery(this).data('modal-size') );
|
266 |
-
um_admin_modal_ajaxcall( jQuery(this).data('dynamic-content'), jQuery(this).data('arg1'), jQuery(this).data('arg2'), jQuery(this).data('arg3') );
|
267 |
-
} else {
|
268 |
-
um_admin_new_modal( modal_id );
|
269 |
-
}
|
270 |
-
|
271 |
-
return false;
|
272 |
-
|
273 |
-
});
|
274 |
-
|
275 |
-
/**
|
276 |
-
choose font icon
|
277 |
-
**/
|
278 |
-
jQuery(document).on('click', '.um-admin-icons span', function(){
|
279 |
-
var icon = jQuery(this).attr('data-code');
|
280 |
-
jQuery(this).parent().find('span').removeClass('highlighted');
|
281 |
-
jQuery(this).addClass('highlighted');
|
282 |
-
jQuery('#UM_fonticons').find('a.um-admin-modal-back').attr("data-code", icon);
|
283 |
-
});
|
284 |
-
|
285 |
-
/**
|
286 |
-
submit font icon
|
287 |
-
**/
|
288 |
-
jQuery(document).on('click', '#UM_fonticons a.um-admin-modal-back:not(.um-admin-modal-cancel)', function(){
|
289 |
-
var v_id = '';
|
290 |
-
var icon_selected = jQuery(this).attr('data-code');
|
291 |
-
if (icon_selected != ''){
|
292 |
-
if ( jQuery(this).attr('data-modal') ) {
|
293 |
-
v_id = '#' + jQuery(this).attr('data-modal');
|
294 |
-
} else {
|
295 |
-
v_id = '.postbox';
|
296 |
-
}
|
297 |
-
jQuery( v_id ).find('input#_icon,input#_um_icon').val( icon_selected );
|
298 |
-
jQuery( v_id ).find('span.um-admin-icon-value').html('<i class="'+icon_selected+'"></i>');
|
299 |
-
jQuery( v_id ).find('.um-admin-icon-clear').show();
|
300 |
-
}
|
301 |
-
jQuery(this).attr('data-code', '');
|
302 |
-
if ( v_id == '.postbox' ) {
|
303 |
-
um_admin_remove_modal();
|
304 |
-
}
|
305 |
-
});
|
306 |
-
|
307 |
-
/**
|
308 |
-
restore font icon
|
309 |
-
**/
|
310 |
-
jQuery(document).on('click', 'span.um-admin-icon-clear', function(){
|
311 |
-
var element = jQuery(this).parents('p');
|
312 |
-
jQuery('#UM_fonticons a.um-admin-modal-back').attr('data-code', '');
|
313 |
-
element.find('input[type=hidden]').val('');
|
314 |
-
element.find('.um-admin-icon-value').html('No Icon');
|
315 |
-
jQuery(this).hide();
|
316 |
-
});
|
317 |
-
|
318 |
-
/**
|
319 |
-
search font icons
|
320 |
-
**/
|
321 |
-
jQuery(document).on('keyup blur', '#_icon_search', function(){
|
322 |
-
if ( jQuery(this).val().toLowerCase() != '' ) {
|
323 |
-
jQuery('.um-admin-icons span').hide();
|
324 |
-
jQuery('.um-admin-icons span[data-code*="'+jQuery(this).val().toLowerCase()+'"]').show();
|
325 |
-
} else {
|
326 |
-
jQuery('.um-admin-icons span:hidden').show();
|
327 |
-
}
|
328 |
-
um_admin_modal_responsive();
|
329 |
-
});
|
330 |
-
|
331 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
function um_admin_live_update_scripts() {
|
2 |
+
|
3 |
+
jQuery('.um-admin-modal-body:visible select').select2({
|
4 |
+
allowClear: false,
|
5 |
+
minimumResultsForSearch: 10
|
6 |
+
});
|
7 |
+
|
8 |
+
jQuery('.um-adm-conditional').each(function(){jQuery(this).trigger('change');});
|
9 |
+
|
10 |
+
jQuery('.um-admin-colorpicker').wpColorPicker();
|
11 |
+
|
12 |
+
}
|
13 |
+
|
14 |
+
function um_admin_new_modal( id, ajax, size ){
|
15 |
+
|
16 |
+
var modal = jQuery('body').find('.um-admin-overlay');
|
17 |
+
|
18 |
+
jQuery('.tipsy').hide();
|
19 |
+
|
20 |
+
um_admin_remove_modal();
|
21 |
+
|
22 |
+
jQuery('body').addClass('um-admin-modal-open').append('<div class="um-admin-overlay" /><div class="um-admin-modal" />');
|
23 |
+
jQuery('#' + id).prependTo('.um-admin-modal');
|
24 |
+
jQuery('#' + id).show();
|
25 |
+
jQuery('.um-admin-modal').show();
|
26 |
+
|
27 |
+
jQuery('.um-admin-modal-head').append('<a href="#" data-action="UM_remove_modal" class="um-admin-modal-close"><i class="um-faicon-times"></i></a>');
|
28 |
+
|
29 |
+
if ( ajax == true ) {
|
30 |
+
um_admin_modal_size( size );
|
31 |
+
um_admin_modal_preload();
|
32 |
+
um_admin_modal_responsive();
|
33 |
+
} else {
|
34 |
+
um_admin_modal_responsive();
|
35 |
+
}
|
36 |
+
|
37 |
+
}
|
38 |
+
|
39 |
+
function um_admin_modal_ajaxcall( act_id, arg1, arg2, arg3 ) {
|
40 |
+
|
41 |
+
in_row = '';
|
42 |
+
in_sub_row = '';
|
43 |
+
in_column = '';
|
44 |
+
in_group = '';
|
45 |
+
|
46 |
+
if ( jQuery('.um-col-demon-settings').data('in_column') ) {
|
47 |
+
in_row = jQuery('.um-col-demon-settings').data('in_row');
|
48 |
+
in_sub_row = jQuery('.um-col-demon-settings').data('in_sub_row');
|
49 |
+
in_column = jQuery('.um-col-demon-settings').data('in_column');
|
50 |
+
in_group = jQuery('.um-col-demon-settings').data('in_group');
|
51 |
+
}
|
52 |
+
|
53 |
+
jQuery.ajax({
|
54 |
+
url: ultimatemember_ajax_url,
|
55 |
+
type: 'POST',
|
56 |
+
data: {action: 'ultimatemember_dynamic_modal_content', act_id: act_id, arg1 : arg1, arg2 : arg2, arg3: arg3, in_row: in_row, in_sub_row: in_sub_row, in_column: in_column, in_group: in_group },
|
57 |
+
complete: function(){
|
58 |
+
um_admin_modal_loaded();
|
59 |
+
um_admin_modal_responsive();
|
60 |
+
},
|
61 |
+
success: function(data){
|
62 |
+
|
63 |
+
jQuery('.um-admin-modal').find('.um-admin-modal-body').html( data );
|
64 |
+
|
65 |
+
um_responsive();
|
66 |
+
|
67 |
+
um_admin_live_update_scripts();
|
68 |
+
|
69 |
+
if ( jQuery('.um-admin-editor:visible').length > 0 ) {
|
70 |
+
|
71 |
+
if ( act_id == 'um_admin_edit_field_popup' ) {
|
72 |
+
|
73 |
+
tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_edit');
|
74 |
+
jQuery('.um-admin-editor:visible').html( jQuery('.um-hidden-editor-edit').contents() );
|
75 |
+
tinyMCE.execCommand('mceAddEditor', true, 'um_editor_edit');
|
76 |
+
|
77 |
+
jQuery('.switch-html').trigger('click');
|
78 |
+
jQuery('.switch-html').trigger('click');
|
79 |
+
jQuery('.switch-tmce').trigger('click');
|
80 |
+
|
81 |
+
jQuery('#um_editor_edit_ifr').height(200);
|
82 |
+
|
83 |
+
var editor = tinyMCE.get('um_editor_edit');
|
84 |
+
var content = editor.getContent();
|
85 |
+
editor.setContent( jQuery('.um-admin-modal:visible .dynamic-mce-content').html() );
|
86 |
+
|
87 |
+
} else {
|
88 |
+
|
89 |
+
tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_new');
|
90 |
+
jQuery('.um-admin-editor:visible').html( jQuery('.um-hidden-editor-new').contents() );
|
91 |
+
tinyMCE.execCommand('mceAddEditor', true, 'um_editor_new');
|
92 |
+
|
93 |
+
jQuery('.switch-html').trigger('click');
|
94 |
+
jQuery('.switch-html').trigger('click');
|
95 |
+
jQuery('.switch-tmce').trigger('click');
|
96 |
+
|
97 |
+
jQuery('#um_editor_new_ifr').height(200);
|
98 |
+
|
99 |
+
}
|
100 |
+
|
101 |
+
}
|
102 |
+
|
103 |
+
},
|
104 |
+
error: function(data){
|
105 |
+
|
106 |
+
}
|
107 |
+
});
|
108 |
+
return false;
|
109 |
+
}
|
110 |
+
|
111 |
+
function um_admin_modal_responsive() {
|
112 |
+
var required_margin = jQuery('.um-admin-modal:visible').innerHeight() / 2 + 'px';
|
113 |
+
jQuery('.um-admin-modal:visible').css({'margin-top': '-' + required_margin });
|
114 |
+
}
|
115 |
+
|
116 |
+
function um_admin_remove_modal(){
|
117 |
+
|
118 |
+
if ( jQuery('.um-admin-editor:visible').length > 0 ) {
|
119 |
+
|
120 |
+
if ( jQuery('.um-admin-modal:visible').find('form').parent().attr('id') == 'UM_edit_field' ) {
|
121 |
+
|
122 |
+
tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_edit');
|
123 |
+
jQuery('.um-hidden-editor-edit').html( jQuery('.um-admin-editor:visible').contents() );
|
124 |
+
tinyMCE.execCommand('mceAddEditor', true, 'um_editor_edit');
|
125 |
+
|
126 |
+
} else {
|
127 |
+
|
128 |
+
tinyMCE.execCommand('mceRemoveEditor', true, 'um_editor_new');
|
129 |
+
jQuery('.um-hidden-editor-new').html( jQuery('.um-admin-editor:visible').contents() );
|
130 |
+
tinyMCE.execCommand('mceAddEditor', true, 'um_editor_new');
|
131 |
+
|
132 |
+
}
|
133 |
+
|
134 |
+
}
|
135 |
+
|
136 |
+
jQuery('body').removeClass('um-admin-modal-open');
|
137 |
+
jQuery('.um-admin-modal div[id^="UM_"]').hide().appendTo('body');
|
138 |
+
jQuery('.um-admin-modal,.um-admin-overlay').remove();
|
139 |
+
}
|
140 |
+
|
141 |
+
function um_admin_modal_preload() {
|
142 |
+
jQuery('.um-admin-modal:visible').addClass('loading');
|
143 |
+
jQuery('.um-admin-modal-body:visible').empty();
|
144 |
+
}
|
145 |
+
|
146 |
+
function um_admin_modal_loaded() {
|
147 |
+
jQuery('.um-admin-modal:visible').removeClass('loading');
|
148 |
+
}
|
149 |
+
|
150 |
+
function um_admin_modal_size( aclass ) {
|
151 |
+
jQuery('.um-admin-modal:visible').addClass(aclass);
|
152 |
+
}
|
153 |
+
|
154 |
+
function um_admin_modal_add_attr( id, value ) {
|
155 |
+
jQuery('.um-admin-modal:visible').data( id, value );
|
156 |
+
}
|
157 |
+
|
158 |
+
/**
|
159 |
+
Custom modal scripting starts
|
160 |
+
**/
|
161 |
+
|
162 |
+
jQuery(document).ready(function() {
|
163 |
+
|
164 |
+
/**
|
165 |
+
disable link
|
166 |
+
**/
|
167 |
+
jQuery(document).on('click', '.um-admin-builder a, .um-admin-modal a', function(e){
|
168 |
+
e.preventDefault();
|
169 |
+
return false;
|
170 |
+
});
|
171 |
+
|
172 |
+
/**
|
173 |
+
toggle area
|
174 |
+
**/
|
175 |
+
jQuery(document).on('click', '.um-admin-btn-toggle a', function(e){
|
176 |
+
var content = jQuery(this).parent().find('.um-admin-btn-content');
|
177 |
+
var link = jQuery(this);
|
178 |
+
if ( content.is(':hidden') ) {
|
179 |
+
content.show();
|
180 |
+
link.find('i').removeClass().addClass('um-icon-minus');
|
181 |
+
link.addClass('active');
|
182 |
+
} else {
|
183 |
+
content.hide();
|
184 |
+
link.find('i').removeClass().addClass('um-icon-plus');
|
185 |
+
link.removeClass('active');
|
186 |
+
}
|
187 |
+
um_admin_modal_responsive();
|
188 |
+
});
|
189 |
+
|
190 |
+
/**
|
191 |
+
clone a condition
|
192 |
+
**/
|
193 |
+
jQuery(document).on('click', '.um-admin-new-condition', function(){
|
194 |
+
var content = jQuery(this).parents('.um-admin-btn-content');
|
195 |
+
content.find('select').select2('destroy');
|
196 |
+
var length = content.find('.um-admin-cur-condition').length;
|
197 |
+
if ( length < 5 ) {
|
198 |
+
var cloned = jQuery(this).parents('.um-admin-cur-condition').clone();
|
199 |
+
cloned.find('input[type=text],select').each(function(){
|
200 |
+
jQuery(this).attr('id', jQuery(this).attr('id') + length );
|
201 |
+
jQuery(this).attr('name', jQuery(this).attr('name') + length );
|
202 |
+
});
|
203 |
+
cloned.find('input[type=text]').val('');
|
204 |
+
cloned.find('.um-admin-new-condition').replaceWith('<p><a href="#" class="um-admin-remove-condition button um-admin-tipsy-n" title="Remove condition"><i class="um-icon-close" style="margin-right:0!important"></i></a></p>');
|
205 |
+
|
206 |
+
cloned.appendTo( content );
|
207 |
+
cloned.find('select').val('');
|
208 |
+
um_admin_live_update_scripts();
|
209 |
+
um_admin_modal_responsive();
|
210 |
+
} else {
|
211 |
+
alert('You already have 5 rules');
|
212 |
+
}
|
213 |
+
});
|
214 |
+
|
215 |
+
/**
|
216 |
+
reset conditions
|
217 |
+
**/
|
218 |
+
jQuery(document).on('click', '.um-admin-reset-conditions a', function(){
|
219 |
+
var content = jQuery(this).parents('.um-admin-btn-content');
|
220 |
+
content.find('.um-admin-cur-condition').slice(1).remove();
|
221 |
+
content.find('input[type=text]').val('');
|
222 |
+
content.find('select').val('');
|
223 |
+
um_admin_live_update_scripts();
|
224 |
+
um_admin_modal_responsive();
|
225 |
+
});
|
226 |
+
|
227 |
+
/**
|
228 |
+
remove a condition
|
229 |
+
**/
|
230 |
+
jQuery(document).on('click', '.um-admin-remove-condition', function(){
|
231 |
+
var condition = jQuery(this).parents('.um-admin-cur-condition');
|
232 |
+
jQuery('.tipsy').remove();
|
233 |
+
condition.remove();
|
234 |
+
um_admin_live_update_scripts();
|
235 |
+
um_admin_modal_responsive();
|
236 |
+
});
|
237 |
+
|
238 |
+
/**
|
239 |
+
remove modal via action
|
240 |
+
**/
|
241 |
+
jQuery(document).on('click', '.um-admin-overlay, a[data-action="UM_remove_modal"]', function(){
|
242 |
+
um_admin_remove_modal();
|
243 |
+
});
|
244 |
+
|
245 |
+
/**
|
246 |
+
fire new modal
|
247 |
+
**/
|
248 |
+
jQuery(document).on('click', 'a[data-modal^="UM_"], span[data-modal^="UM_"]', function(e){
|
249 |
+
|
250 |
+
e.preventDefault();
|
251 |
+
|
252 |
+
var modal_id = jQuery(this).attr('data-modal');
|
253 |
+
|
254 |
+
if ( jQuery(this).attr('data-back') ) {
|
255 |
+
|
256 |
+
jQuery('#UM_fonticons').find('a.um-admin-modal-back').attr("data-modal", jQuery(this).attr('data-back') );
|
257 |
+
var current_icon = jQuery( '#' + jQuery(this).attr('data-back') ).find('input#_icon').val();
|
258 |
+
if ( current_icon == '' ) {
|
259 |
+
jQuery('#UM_fonticons').find('.um-admin-icons span').removeClass('highlighted');
|
260 |
+
}
|
261 |
+
|
262 |
+
}
|
263 |
+
|
264 |
+
if ( jQuery(this).data('dynamic-content') ) {
|
265 |
+
um_admin_new_modal( modal_id, true, jQuery(this).data('modal-size') );
|
266 |
+
um_admin_modal_ajaxcall( jQuery(this).data('dynamic-content'), jQuery(this).data('arg1'), jQuery(this).data('arg2'), jQuery(this).data('arg3') );
|
267 |
+
} else {
|
268 |
+
um_admin_new_modal( modal_id );
|
269 |
+
}
|
270 |
+
|
271 |
+
return false;
|
272 |
+
|
273 |
+
});
|
274 |
+
|
275 |
+
/**
|
276 |
+
choose font icon
|
277 |
+
**/
|
278 |
+
jQuery(document).on('click', '.um-admin-icons span', function(){
|
279 |
+
var icon = jQuery(this).attr('data-code');
|
280 |
+
jQuery(this).parent().find('span').removeClass('highlighted');
|
281 |
+
jQuery(this).addClass('highlighted');
|
282 |
+
jQuery('#UM_fonticons').find('a.um-admin-modal-back').attr("data-code", icon);
|
283 |
+
});
|
284 |
+
|
285 |
+
/**
|
286 |
+
submit font icon
|
287 |
+
**/
|
288 |
+
jQuery(document).on('click', '#UM_fonticons a.um-admin-modal-back:not(.um-admin-modal-cancel)', function(){
|
289 |
+
var v_id = '';
|
290 |
+
var icon_selected = jQuery(this).attr('data-code');
|
291 |
+
if (icon_selected != ''){
|
292 |
+
if ( jQuery(this).attr('data-modal') ) {
|
293 |
+
v_id = '#' + jQuery(this).attr('data-modal');
|
294 |
+
} else {
|
295 |
+
v_id = '.postbox';
|
296 |
+
}
|
297 |
+
jQuery( v_id ).find('input#_icon,input#_um_icon').val( icon_selected );
|
298 |
+
jQuery( v_id ).find('span.um-admin-icon-value').html('<i class="'+icon_selected+'"></i>');
|
299 |
+
jQuery( v_id ).find('.um-admin-icon-clear').show();
|
300 |
+
}
|
301 |
+
jQuery(this).attr('data-code', '');
|
302 |
+
if ( v_id == '.postbox' ) {
|
303 |
+
um_admin_remove_modal();
|
304 |
+
}
|
305 |
+
});
|
306 |
+
|
307 |
+
/**
|
308 |
+
restore font icon
|
309 |
+
**/
|
310 |
+
jQuery(document).on('click', 'span.um-admin-icon-clear', function(){
|
311 |
+
var element = jQuery(this).parents('p');
|
312 |
+
jQuery('#UM_fonticons a.um-admin-modal-back').attr('data-code', '');
|
313 |
+
element.find('input[type=hidden]').val('');
|
314 |
+
element.find('.um-admin-icon-value').html('No Icon');
|
315 |
+
jQuery(this).hide();
|
316 |
+
});
|
317 |
+
|
318 |
+
/**
|
319 |
+
search font icons
|
320 |
+
**/
|
321 |
+
jQuery(document).on('keyup blur', '#_icon_search', function(){
|
322 |
+
if ( jQuery(this).val().toLowerCase() != '' ) {
|
323 |
+
jQuery('.um-admin-icons span').hide();
|
324 |
+
jQuery('.um-admin-icons span[data-code*="'+jQuery(this).val().toLowerCase()+'"]').show();
|
325 |
+
} else {
|
326 |
+
jQuery('.um-admin-icons span:hidden').show();
|
327 |
+
}
|
328 |
+
um_admin_modal_responsive();
|
329 |
+
});
|
330 |
+
|
331 |
+
|
332 |
+
/**
|
333 |
+
* Retrieve options from a callback function
|
334 |
+
*/
|
335 |
+
jQuery(document).on('blur',"#_custom_dropdown_options_source", function(){
|
336 |
+
var me = jQuery(this);
|
337 |
+
var _options = jQuery('textarea[id=_options]');
|
338 |
+
|
339 |
+
if( me.val() != '' ){
|
340 |
+
var um_option_callback = me.val();
|
341 |
+
jQuery.ajax({
|
342 |
+
url: ultimatemember_ajax_url,
|
343 |
+
type: 'POST',
|
344 |
+
data: {action: 'ultimatemember_populate_dropdown_options', um_option_callback: um_option_callback },
|
345 |
+
complete: function(){
|
346 |
+
|
347 |
+
},
|
348 |
+
success: function( response ){
|
349 |
+
var arr_opts = [];
|
350 |
+
|
351 |
+
for (var key in response.data ){
|
352 |
+
arr_opts.push( response.data[ key ] );
|
353 |
+
}
|
354 |
+
|
355 |
+
_options.val( arr_opts.join('\n') );
|
356 |
+
|
357 |
+
}
|
358 |
+
});
|
359 |
+
}
|
360 |
+
|
361 |
+
});
|
362 |
+
|
363 |
+
}); // end jQuery(document).ready
|
364 |
+
|
admin/assets/js/um-admin-scripts.js
CHANGED
@@ -1,195 +1,195 @@
|
|
1 |
-
jQuery(document).ready(function() {
|
2 |
-
|
3 |
-
/**
|
4 |
-
clone a field dropdown
|
5 |
-
**/
|
6 |
-
jQuery(document).on('click', '.um-admin-clone', function(e){
|
7 |
-
e.preventDefault();
|
8 |
-
var container = jQuery(this).parents('.um-admin-field');
|
9 |
-
var parent = jQuery(this).parents('p').find('.um-admin-field:last-child');
|
10 |
-
container.find('select').select2('destroy');
|
11 |
-
var cloned = container.clone();
|
12 |
-
cloned.find('.um-admin-clone').replaceWith('<a href="#" class="um-admin-clone-remove button um-admin-tipsy-n" title="Remove Field"><i class="um-icon-close" style="margin-right:0!important"></i></a>');
|
13 |
-
cloned.insertAfter( parent );
|
14 |
-
cloned.find('select').val('');
|
15 |
-
jQuery('.um-admin-field select').select2({
|
16 |
-
allowClear: true,
|
17 |
-
minimumResultsForSearch: 10
|
18 |
-
});
|
19 |
-
return false;
|
20 |
-
});
|
21 |
-
|
22 |
-
/**
|
23 |
-
remove a field dropdown
|
24 |
-
**/
|
25 |
-
jQuery(document).on('click', '.um-admin-clone-remove', function(e){
|
26 |
-
e.preventDefault();
|
27 |
-
var container = jQuery(this).parents('.um-admin-field');
|
28 |
-
jQuery('.tipsy').remove();
|
29 |
-
container.remove();
|
30 |
-
jQuery('.um-admin-field select').select2({
|
31 |
-
allowClear: true,
|
32 |
-
minimumResultsForSearch: 10
|
33 |
-
});
|
34 |
-
return false;
|
35 |
-
});
|
36 |
-
|
37 |
-
/**
|
38 |
-
Ajax link
|
39 |
-
**/
|
40 |
-
|
41 |
-
jQuery('.um-admin-ajaxlink').click(function(e){
|
42 |
-
e.preventDefault();
|
43 |
-
return false;
|
44 |
-
});
|
45 |
-
|
46 |
-
/**
|
47 |
-
On/Off Buttons
|
48 |
-
**/
|
49 |
-
|
50 |
-
jQuery(document).on('click', '.um-admin-yesno span.btn', function(){
|
51 |
-
if (!jQuery(this).parents('p').hasClass('disabled-on-off')){
|
52 |
-
if ( jQuery(this).parent().find('input[type=hidden]').val() == 0 ){
|
53 |
-
update_val = 1;
|
54 |
-
jQuery(this).animate({'left': '48px'}, 200);
|
55 |
-
jQuery(this).parent().find('input[type=hidden]').val( update_val ).trigger('change');
|
56 |
-
} else {
|
57 |
-
update_val = 0;
|
58 |
-
jQuery(this).animate({'left': '0'}, 200);
|
59 |
-
jQuery(this).parent().find('input[type=hidden]').val( update_val ).trigger('change');
|
60 |
-
}
|
61 |
-
}
|
62 |
-
});
|
63 |
-
|
64 |
-
/**
|
65 |
-
WP Color Picker
|
66 |
-
**/
|
67 |
-
|
68 |
-
jQuery('.um-admin-colorpicker').wpColorPicker();
|
69 |
-
|
70 |
-
/**
|
71 |
-
Select Dropdowns
|
72 |
-
**/
|
73 |
-
|
74 |
-
jQuery(".umaf-selectjs, .ultimate-member_page_um_options .redux-select-item ").select2({
|
75 |
-
allowClear: false,
|
76 |
-
minimumResultsForSearch: 10
|
77 |
-
});
|
78 |
-
|
79 |
-
jQuery('.um-admin-field select').select2({
|
80 |
-
allowClear: true,
|
81 |
-
minimumResultsForSearch: 10
|
82 |
-
});
|
83 |
-
|
84 |
-
/**
|
85 |
-
Tooltips
|
86 |
-
**/
|
87 |
-
|
88 |
-
if( typeof tipsy !== 'undefined' ){
|
89 |
-
jQuery('.um-admin-tipsy-n,#redux-share a').tipsy({gravity: 'n', opacity: 1, live: 'a.live' });
|
90 |
-
jQuery('.um-admin-tipsy-w').tipsy({gravity: 'w', opacity: 1, live: 'a.live' });
|
91 |
-
jQuery('.um-admin-tipsy-e').tipsy({gravity: 'e', opacity: 1, live: 'a.live' });
|
92 |
-
jQuery('.um-admin-tipsy-s').tipsy({gravity: 's', opacity: 1, live: 'a.live' });
|
93 |
-
}
|
94 |
-
|
95 |
-
/**
|
96 |
-
Conditional fields
|
97 |
-
**/
|
98 |
-
|
99 |
-
jQuery(document).on('change', '.um-adm-conditional', function(){
|
100 |
-
|
101 |
-
if ( jQuery(this).data('cond1') ) {
|
102 |
-
if (jQuery(this).val() == jQuery(this).data('cond1') ){
|
103 |
-
jQuery('.' + jQuery(this).data('cond1-show') ).show();
|
104 |
-
jQuery('.' + jQuery(this).data('cond1-hide') ).hide();
|
105 |
-
|
106 |
-
if ( jQuery(this).data('cond1-show') == '_roles' ) {
|
107 |
-
return false;
|
108 |
-
}
|
109 |
-
|
110 |
-
} else {
|
111 |
-
jQuery('.' + jQuery(this).data('cond1-show') ).hide();
|
112 |
-
jQuery('.' + jQuery(this).data('cond1-hide') ).show();
|
113 |
-
}
|
114 |
-
}
|
115 |
-
|
116 |
-
if ( jQuery(this).data('cond2') ) {
|
117 |
-
if (jQuery(this).val() == jQuery(this).data('cond2') ){
|
118 |
-
jQuery('.' + jQuery(this).data('cond2-show') ).show();
|
119 |
-
jQuery('.' + jQuery(this).data('cond2-hide') ).hide();
|
120 |
-
|
121 |
-
if ( jQuery(this).data('cond2-show') == '_roles' ) {
|
122 |
-
return false;
|
123 |
-
}
|
124 |
-
|
125 |
-
} else {
|
126 |
-
jQuery('.' + jQuery(this).data('cond2-show') ).hide();
|
127 |
-
jQuery('.' + jQuery(this).data('cond2-hide') ).show();
|
128 |
-
}
|
129 |
-
}
|
130 |
-
|
131 |
-
if ( jQuery(this).data('cond3') ) {
|
132 |
-
if (jQuery(this).val() == jQuery(this).data('cond3') ){
|
133 |
-
jQuery('.' + jQuery(this).data('cond3-show') ).show();
|
134 |
-
jQuery('.' + jQuery(this).data('cond3-hide') ).hide();
|
135 |
-
} else {
|
136 |
-
jQuery('.' + jQuery(this).data('cond3-show') ).hide();
|
137 |
-
jQuery('.' + jQuery(this).data('cond3-hide') ).show();
|
138 |
-
}
|
139 |
-
}
|
140 |
-
|
141 |
-
});jQuery('.um-adm-conditional').each(function(){jQuery(this).trigger('change');});
|
142 |
-
|
143 |
-
/**
|
144 |
-
Conditional fields for
|
145 |
-
Radio Group
|
146 |
-
**/
|
147 |
-
jQuery('.um-conditional-radio-group input[type=radio]').click(function(){
|
148 |
-
var holder = jQuery('.um-conditional-radio-group');
|
149 |
-
|
150 |
-
var val = jQuery(this).val();
|
151 |
-
var cond1 = holder.data('cond1');
|
152 |
-
var show1 = holder.data('cond1-show');
|
153 |
-
if ( val == cond1 ) { // condition met
|
154 |
-
jQuery('.' + show1).show();
|
155 |
-
} else {
|
156 |
-
jQuery('.' + show1).hide();
|
157 |
-
}
|
158 |
-
|
159 |
-
var val2 = jQuery(this).val();
|
160 |
-
var cond2 = holder.data('cond2');
|
161 |
-
var show2 = holder.data('cond2-show');
|
162 |
-
if ( val2 == cond2 ) { // condition met
|
163 |
-
jQuery('.' + show2).show();
|
164 |
-
} else {
|
165 |
-
jQuery('.' + show2).hide();
|
166 |
-
}
|
167 |
-
|
168 |
-
});jQuery('.um-conditional-radio-group input[type=radio]:checked').each(function(){jQuery(this).trigger('click');});
|
169 |
-
|
170 |
-
/**
|
171 |
-
Conditional fields for
|
172 |
-
nav-menu editor options
|
173 |
-
**/
|
174 |
-
|
175 |
-
jQuery('.um-nav-mode').each(function(){
|
176 |
-
|
177 |
-
if ( jQuery(this).find('input[type=radio]:checked').val() ) {
|
178 |
-
if ( jQuery(this).find('input[type=radio]:checked').val() == 2 ) {
|
179 |
-
jQuery(this).parents('.um-nav-edit').find('.um-nav-roles').show();
|
180 |
-
} else {
|
181 |
-
jQuery(this).parents('.um-nav-edit').find('.um-nav-roles').hide();
|
182 |
-
}
|
183 |
-
}
|
184 |
-
|
185 |
-
});
|
186 |
-
|
187 |
-
jQuery(document).on('click', '.um-nav-mode input[type=radio]', function(){
|
188 |
-
if ( jQuery(this).val() == 2 ) {
|
189 |
-
jQuery(this).parents('.um-nav-edit').find('.um-nav-roles').show();
|
190 |
-
} else {
|
191 |
-
jQuery(this).parents('.um-nav-edit').find('.um-nav-roles').hide();
|
192 |
-
}
|
193 |
-
});
|
194 |
-
|
195 |
});
|
1 |
+
jQuery(document).ready(function() {
|
2 |
+
|
3 |
+
/**
|
4 |
+
clone a field dropdown
|
5 |
+
**/
|
6 |
+
jQuery(document).on('click', '.um-admin-clone', function(e){
|
7 |
+
e.preventDefault();
|
8 |
+
var container = jQuery(this).parents('.um-admin-field');
|
9 |
+
var parent = jQuery(this).parents('p').find('.um-admin-field:last-child');
|
10 |
+
container.find('select').select2('destroy');
|
11 |
+
var cloned = container.clone();
|
12 |
+
cloned.find('.um-admin-clone').replaceWith('<a href="#" class="um-admin-clone-remove button um-admin-tipsy-n" title="Remove Field"><i class="um-icon-close" style="margin-right:0!important"></i></a>');
|
13 |
+
cloned.insertAfter( parent );
|
14 |
+
cloned.find('select').val('');
|
15 |
+
jQuery('.um-admin-field select').select2({
|
16 |
+
allowClear: true,
|
17 |
+
minimumResultsForSearch: 10
|
18 |
+
});
|
19 |
+
return false;
|
20 |
+
});
|
21 |
+
|
22 |
+
/**
|
23 |
+
remove a field dropdown
|
24 |
+
**/
|
25 |
+
jQuery(document).on('click', '.um-admin-clone-remove', function(e){
|
26 |
+
e.preventDefault();
|
27 |
+
var container = jQuery(this).parents('.um-admin-field');
|
28 |
+
jQuery('.tipsy').remove();
|
29 |
+
container.remove();
|
30 |
+
jQuery('.um-admin-field select').select2({
|
31 |
+
allowClear: true,
|
32 |
+
minimumResultsForSearch: 10
|
33 |
+
});
|
34 |
+
return false;
|
35 |
+
});
|
36 |
+
|
37 |
+
/**
|
38 |
+
Ajax link
|
39 |
+
**/
|
40 |
+
|
41 |
+
jQuery('.um-admin-ajaxlink').click(function(e){
|
42 |
+
e.preventDefault();
|
43 |
+
return false;
|
44 |
+
});
|
45 |
+
|
46 |
+
/**
|
47 |
+
On/Off Buttons
|
48 |
+
**/
|
49 |
+
|
50 |
+
jQuery(document).on('click', '.um-admin-yesno span.btn', function(){
|
51 |
+
if (!jQuery(this).parents('p').hasClass('disabled-on-off')){
|
52 |
+
if ( jQuery(this).parent().find('input[type=hidden]').val() == 0 ){
|
53 |
+
update_val = 1;
|
54 |
+
jQuery(this).animate({'left': '48px'}, 200);
|
55 |
+
jQuery(this).parent().find('input[type=hidden]').val( update_val ).trigger('change');
|
56 |
+
} else {
|
57 |
+
update_val = 0;
|
58 |
+
jQuery(this).animate({'left': '0'}, 200);
|
59 |
+
jQuery(this).parent().find('input[type=hidden]').val( update_val ).trigger('change');
|
60 |
+
}
|
61 |
+
}
|
62 |
+
});
|
63 |
+
|
64 |
+
/**
|
65 |
+
WP Color Picker
|
66 |
+
**/
|
67 |
+
|
68 |
+
jQuery('.um-admin-colorpicker').wpColorPicker();
|
69 |
+
|
70 |
+
/**
|
71 |
+
Select Dropdowns
|
72 |
+
**/
|
73 |
+
|
74 |
+
jQuery(".umaf-selectjs, .ultimate-member_page_um_options .redux-select-item ").select2({
|
75 |
+
allowClear: false,
|
76 |
+
minimumResultsForSearch: 10
|
77 |
+
});
|
78 |
+
|
79 |
+
jQuery('.um-admin-field select').select2({
|
80 |
+
allowClear: true,
|
81 |
+
minimumResultsForSearch: 10
|
82 |
+
});
|
83 |
+
|
84 |
+
/**
|
85 |
+
Tooltips
|
86 |
+
**/
|
87 |
+
|
88 |
+
if( typeof tipsy !== 'undefined' ){
|
89 |
+
jQuery('.um-admin-tipsy-n,#redux-share a').tipsy({gravity: 'n', opacity: 1, live: 'a.live' });
|
90 |
+
jQuery('.um-admin-tipsy-w').tipsy({gravity: 'w', opacity: 1, live: 'a.live' });
|
91 |
+
jQuery('.um-admin-tipsy-e').tipsy({gravity: 'e', opacity: 1, live: 'a.live' });
|
92 |
+
jQuery('.um-admin-tipsy-s').tipsy({gravity: 's', opacity: 1, live: 'a.live' });
|
93 |
+
}
|
94 |
+
|
95 |
+
/**
|
96 |
+
Conditional fields
|
97 |
+
**/
|
98 |
+
|
99 |
+
jQuery(document).on('change', '.um-adm-conditional', function(){
|
100 |
+
|
101 |
+
if ( jQuery(this).data('cond1') ) {
|
102 |
+
if (jQuery(this).val() == jQuery(this).data('cond1') ){
|
103 |
+
jQuery('.' + jQuery(this).data('cond1-show') ).show();
|
104 |
+
jQuery('.' + jQuery(this).data('cond1-hide') ).hide();
|
105 |
+
|
106 |
+
if ( jQuery(this).data('cond1-show') == '_roles' ) {
|
107 |
+
return false;
|
108 |
+
}
|
109 |
+
|
110 |
+
} else {
|
111 |
+
jQuery('.' + jQuery(this).data('cond1-show') ).hide();
|
112 |
+
jQuery('.' + jQuery(this).data('cond1-hide') ).show();
|
113 |
+
}
|
114 |
+
}
|
115 |
+
|
116 |
+
if ( jQuery(this).data('cond2') ) {
|
117 |
+
if (jQuery(this).val() == jQuery(this).data('cond2') ){
|
118 |
+
jQuery('.' + jQuery(this).data('cond2-show') ).show();
|
119 |
+
jQuery('.' + jQuery(this).data('cond2-hide') ).hide();
|
120 |
+
|
121 |
+
if ( jQuery(this).data('cond2-show') == '_roles' ) {
|
122 |
+
return false;
|
123 |
+
}
|
124 |
+
|
125 |
+
} else {
|
126 |
+
jQuery('.' + jQuery(this).data('cond2-show') ).hide();
|
127 |
+
jQuery('.' + jQuery(this).data('cond2-hide') ).show();
|
128 |
+
}
|
129 |
+
}
|
130 |
+
|
131 |
+
if ( jQuery(this).data('cond3') ) {
|
132 |
+
if (jQuery(this).val() == jQuery(this).data('cond3') ){
|
133 |
+
jQuery('.' + jQuery(this).data('cond3-show') ).show();
|
134 |
+
jQuery('.' + jQuery(this).data('cond3-hide') ).hide();
|
135 |
+
} else {
|
136 |
+
jQuery('.' + jQuery(this).data('cond3-show') ).hide();
|
137 |
+
jQuery('.' + jQuery(this).data('cond3-hide') ).show();
|
138 |
+
}
|
139 |
+
}
|
140 |
+
|
141 |
+
});jQuery('.um-adm-conditional').each(function(){jQuery(this).trigger('change');});
|
142 |
+
|
143 |
+
/**
|
144 |
+
Conditional fields for
|
145 |
+
Radio Group
|
146 |
+
**/
|
147 |
+
jQuery('.um-conditional-radio-group input[type=radio]').click(function(){
|
148 |
+
var holder = jQuery('.um-conditional-radio-group');
|
149 |
+
|
150 |
+
var val = jQuery(this).val();
|
151 |
+
var cond1 = holder.data('cond1');
|
152 |
+
var show1 = holder.data('cond1-show');
|
153 |
+
if ( val == cond1 ) { // condition met
|
154 |
+
jQuery('.' + show1).show();
|
155 |
+
} else {
|
156 |
+
jQuery('.' + show1).hide();
|
157 |
+
}
|
158 |
+
|
159 |
+
var val2 = jQuery(this).val();
|
160 |
+
var cond2 = holder.data('cond2');
|
161 |
+
var show2 = holder.data('cond2-show');
|
162 |
+
if ( val2 == cond2 ) { // condition met
|
163 |
+
jQuery('.' + show2).show();
|
164 |
+
} else {
|
165 |
+
jQuery('.' + show2).hide();
|
166 |
+
}
|
167 |
+
|
168 |
+
});jQuery('.um-conditional-radio-group input[type=radio]:checked').each(function(){jQuery(this).trigger('click');});
|
169 |
+
|
170 |
+
/**
|
171 |
+
Conditional fields for
|
172 |
+
nav-menu editor options
|
173 |
+
**/
|
174 |
+
|
175 |
+
jQuery('.um-nav-mode').each(function(){
|
176 |
+
|
177 |
+
if ( jQuery(this).find('input[type=radio]:checked').val() ) {
|
178 |
+
if ( jQuery(this).find('input[type=radio]:checked').val() == 2 ) {
|
179 |
+
jQuery(this).parents('.um-nav-edit').find('.um-nav-roles').show();
|
180 |
+
} else {
|
181 |
+
jQuery(this).parents('.um-nav-edit').find('.um-nav-roles').hide();
|
182 |
+
}
|
183 |
+
}
|
184 |
+
|
185 |
+
});
|
186 |
+
|
187 |
+
jQuery(document).on('click', '.um-nav-mode input[type=radio]', function(){
|
188 |
+
if ( jQuery(this).val() == 2 ) {
|
189 |
+
jQuery(this).parents('.um-nav-edit').find('.um-nav-roles').show();
|
190 |
+
} else {
|
191 |
+
jQuery(this).parents('.um-nav-edit').find('.um-nav-roles').hide();
|
192 |
+
}
|
193 |
+
});
|
194 |
+
|
195 |
});
|
admin/assets/js/um-admin-users.js
CHANGED
@@ -1,30 +1,30 @@
|
|
1 |
-
jQuery(document).ready(function() {
|
2 |
-
|
3 |
-
function getParameterByName(name, url) {
|
4 |
-
if (!url) url = window.location.href;
|
5 |
-
name = name.replace(/[\[\]]/g, "\\$&");
|
6 |
-
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
|
7 |
-
results = regex.exec(url);
|
8 |
-
if (!results) return null;
|
9 |
-
if (!results[2]) return '';
|
10 |
-
return decodeURIComponent(results[2].replace(/\+/g, " "));
|
11 |
-
}
|
12 |
-
|
13 |
-
jQuery("#_um_synced_role").on("change",function(){
|
14 |
-
$sync_button = jQuery("#_um_button_sync_update_button");
|
15 |
-
var url = $sync_button.attr("href");
|
16 |
-
|
17 |
-
if ( ! getParameterByName('wp_role', url) ) {
|
18 |
-
console.log("wp_role is not set");
|
19 |
-
}
|
20 |
-
|
21 |
-
var um_role = getParameterByName('um_role', url);
|
22 |
-
var wp_role = jQuery(this).val();
|
23 |
-
$sync_button.attr("href", window.location.href+'&um_adm_action=mass_role_sync&um_role='+um_role+'&wp_role='+wp_role );
|
24 |
-
|
25 |
-
});
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
});
|
30 |
-
|
1 |
+
jQuery(document).ready(function() {
|
2 |
+
|
3 |
+
function getParameterByName(name, url) {
|
4 |
+
if (!url) url = window.location.href;
|
5 |
+
name = name.replace(/[\[\]]/g, "\\$&");
|
6 |
+
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
|
7 |
+
results = regex.exec(url);
|
8 |
+
if (!results) return null;
|
9 |
+
if (!results[2]) return '';
|
10 |
+
return decodeURIComponent(results[2].replace(/\+/g, " "));
|
11 |
+
}
|
12 |
+
|
13 |
+
jQuery("#_um_synced_role").on("change",function(){
|
14 |
+
$sync_button = jQuery("#_um_button_sync_update_button");
|
15 |
+
var url = $sync_button.attr("href");
|
16 |
+
|
17 |
+
if ( ! getParameterByName('wp_role', url) ) {
|
18 |
+
console.log("wp_role is not set");
|
19 |
+
}
|
20 |
+
|
21 |
+
var um_role = getParameterByName('um_role', url);
|
22 |
+
var wp_role = jQuery(this).val();
|
23 |
+
$sync_button.attr("href", window.location.href+'&um_adm_action=mass_role_sync&um_role='+um_role+'&wp_role='+wp_role );
|
24 |
+
|
25 |
+
});
|
26 |
+
|
27 |
+
|
28 |
+
|
29 |
+
});
|
30 |
+
|
admin/core/lib/ReduxFramework/.jshintrc
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"boss": true,
|
3 |
-
"immed": true,
|
4 |
-
"noarg": true,
|
5 |
-
"onevar": true,
|
6 |
-
|
7 |
-
"browser": true,
|
8 |
-
|
9 |
-
"globals": {
|
10 |
-
"_": false,
|
11 |
-
"jQuery": true,
|
12 |
-
"module": true,
|
13 |
-
"console": true,
|
14 |
-
"document": true,
|
15 |
-
"window": true,
|
16 |
-
"redux_change": true,
|
17 |
-
"redux": true
|
18 |
-
}
|
19 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/CHANGELOG.md
DELETED
@@ -1,1857 +0,0 @@
|
|
1 |
-
# Redux Framework Changelog
|
2 |
-
|
3 |
-
## 3.5.8.1
|
4 |
-
* Fixed: #2652 - load_plugin_textdomain using depreciated argument.
|
5 |
-
|
6 |
-
## 3.5.8
|
7 |
-
* Fixed: Customizer preview callback working again.
|
8 |
-
|
9 |
-
## 3.5.7.12
|
10 |
-
* Fixed: last_tab argument not working.
|
11 |
-
|
12 |
-
## 3.5.7.11
|
13 |
-
* Fixed: #2637 - color picker clear.
|
14 |
-
* Fixed: #2633.
|
15 |
-
|
16 |
-
## 3.5.7.10
|
17 |
-
* Fixed: #2624 - Border field saving/output 0px when no default set. Now accepts no default and outputs no CSS for blank values.
|
18 |
-
* Fixed: color_rgba no long outputs CSS with empty color values.
|
19 |
-
|
20 |
-
## 3.5.7.9
|
21 |
-
* Fixed: #2612 - pseudo classes not appending to multiple selectors in link_color output.
|
22 |
-
|
23 |
-
## 3.5.7.8
|
24 |
-
* Modified: The mass data escaping of Redux Core output. Part I.
|
25 |
-
|
26 |
-
## 3.5.7.7
|
27 |
-
* Fixed: #2609 - Section not folding correctly with class argument specified.
|
28 |
-
|
29 |
-
## 3.5.7.6
|
30 |
-
* Fixed: #2607 - button_set required scalar check for array returned by terms in the data arg. Thanks @Enchiridion.
|
31 |
-
|
32 |
-
## 3.5.7.5
|
33 |
-
* Fixed: Fixing more inconsistencies with wp_filesystem dirlist. How about some proper documentation, Otto?
|
34 |
-
|
35 |
-
## 3.5.7.4
|
36 |
-
* Fixed: #2582: Added extra check for get_terms to avoid error.
|
37 |
-
|
38 |
-
## 3.5.7.3
|
39 |
-
* Fixed Filesystem proxy dirlist triggering file permission errors on empty array.
|
40 |
-
|
41 |
-
## 3.5.7.2
|
42 |
-
* Fixed: #2571 - Sorter adding extra disable column on new entries if 'disabled' is lowercase.
|
43 |
-
* Updated Fields css for dev_mode off.
|
44 |
-
|
45 |
-
## 3.5.7.1
|
46 |
-
* Updated: Updated container.tpl version.
|
47 |
-
* Fixed: #2570 - multi-text field CSS bleeding over into WP.
|
48 |
-
|
49 |
-
## 3.5.7
|
50 |
-
* Fixed Customizer customizer_only and customizer section overrides. Also global customizer => false was not working.
|
51 |
-
|
52 |
-
## 3.5.6.9
|
53 |
-
* Added Security suggestions posed in #2543 by Julio Potier from SecuPress.
|
54 |
-
|
55 |
-
## 3.5.6.8
|
56 |
-
* Fixed: 'dirlist' in filesystem proxy returning permission error on empty dirs.
|
57 |
-
|
58 |
-
## 3.5.6.7
|
59 |
-
* Added setOption and getOption to Redux API.
|
60 |
-
* Added 'hide_save' argument.
|
61 |
-
|
62 |
-
## 3.5.6.6
|
63 |
-
* Added: 'readonly' argument for textarea.
|
64 |
-
|
65 |
-
## 3.5.6.5
|
66 |
-
* Fixed: #2545 - CSS validator error output misconfigured.
|
67 |
-
* Fixed: ACE adding escape slashes to quotes via CSS validation, causing improper error message.
|
68 |
-
|
69 |
-
## 3.5.6.4
|
70 |
-
* Added: `ajax_save` arg for fields. Setting to false will reload the options panel when the set option has changed.
|
71 |
-
* Fixed: #2532 - Spinner field arrow spacing off when dev_mode set to false due to missing `!important` CSS suffix.
|
72 |
-
|
73 |
-
## 3.5.6.3
|
74 |
-
* Added: `autocomplete` arg to text field. This is FALSE by default.
|
75 |
-
|
76 |
-
## 3.5.6.2
|
77 |
-
* Fixed: Color RGBA field missing name_suffix. Will now work in repeater extension.
|
78 |
-
|
79 |
-
## 3.5.6.1
|
80 |
-
* Fixed: Index error regarding icon argument.
|
81 |
-
|
82 |
-
## 3.5.6
|
83 |
-
* Fixed Customizer WP 4.3 final fixes.
|
84 |
-
|
85 |
-
## 3.5.5.9
|
86 |
-
* Fixed #2500 - Conflict with outdated select2 in JW Player plugin.
|
87 |
-
|
88 |
-
## 3.5.5.8
|
89 |
-
* Modified: icon_type no longer needed for section icons. Now detects if URLs are provided for images.
|
90 |
-
* Fixed: Various customizer fixes. HTML in the customizer title.
|
91 |
-
* Modified: Media URL now is 95% wide.
|
92 |
-
* Modified: Select2 now 100% width instead of just resolve (that doesn't always work).
|
93 |
-
|
94 |
-
## 3.5.5.7
|
95 |
-
* Modified: Field enqueue method to allow for more flexibility.
|
96 |
-
* Added: Support for Airplane Mode plugin (https://github.com/norcross/airplane-mode) by @norcross. Thanks @chriscct7 #2463
|
97 |
-
|
98 |
-
## 3.5.5.6
|
99 |
-
* Fixed: Undefined index in theme-check enhancements. Thanks @winwinwebdesign!
|
100 |
-
* Removed: SASS compiler & code. Note needed.
|
101 |
-
* Fixed: Color transparency live-update for Customizer for color, background,
|
102 |
-
and color gradient fields.
|
103 |
-
|
104 |
-
## 3.5.5.5
|
105 |
-
* Fixed: Undefined index when removing a section.
|
106 |
-
|
107 |
-
## 3.5.5.4
|
108 |
-
* Fixed: Typography bug onload always saying settings have changed.
|
109 |
-
* Modified: Added minified customizer JS.
|
110 |
-
|
111 |
-
## 3.5.5.3
|
112 |
-
* Fixed: Redux CUSTOMIZER! YEA!
|
113 |
-
|
114 |
-
## 3.5.5.2
|
115 |
-
* Fixed: Small echo in Redux API
|
116 |
-
|
117 |
-
## 3.5.5.1
|
118 |
-
* Fixed: PHP 5.2 Theme-Check error.
|
119 |
-
|
120 |
-
## 3.5.5
|
121 |
-
* Fixed: Date-time fixes with CSS overloading and positioning.
|
122 |
-
|
123 |
-
## 3.5.4.35
|
124 |
-
* Added: Lite support for https://wordpress.org/plugins/plugin-dependencies/
|
125 |
-
* Modified: CDN to be a more bulletproof solution (http://jsdelivr.net).
|
126 |
-
* Modified: CDN alerts to be more clear, and have proper links.
|
127 |
-
|
128 |
-
## 3.5.4.34
|
129 |
-
* Fixed: Bad code in raw field hosing up the entire panel.
|
130 |
-
|
131 |
-
## 3.5.4.33
|
132 |
-
* Modified: #2436 - Validation check for any validation type ending in 'not_empty' now recognized.
|
133 |
-
|
134 |
-
## 3.5.4.32
|
135 |
-
* Fixed: Undefined index for undeclared variable in Theme-Check checks.
|
136 |
-
* Fixed: Annoying Redux Theme-Check notices.
|
137 |
-
* Fixed: How some functions were called.
|
138 |
-
|
139 |
-
## 3.5.4.31
|
140 |
-
* Fixed: Theme-Check baby! Everything working as it should with extra theme-check hints to prepare
|
141 |
-
your theme for submission!
|
142 |
-
* Fixed: Better .org hinting for theme submission.
|
143 |
-
* Modified: `forced_dev_mode_off` argument that will ensure dev_mode is ALWAYS off.
|
144 |
-
PLEASE do not ship with this enabled. We will NOT provide any support for any instance that
|
145 |
-
has this argument enabled. Disable and test prior to posting on our issue tracker.
|
146 |
-
* Added: `customizer_only` as a global arg that disables all of Redux except for the customizer, in
|
147 |
-
preparation for our customizer integration.
|
148 |
-
|
149 |
-
## 3.5.4.30
|
150 |
-
* Modified: Dissmissable Redux Admin notices now use the WP 4.2 dismiss JS and Ajax. Pretty.
|
151 |
-
* Modified: Admin notice code is now it's own isolated class inside core.
|
152 |
-
* Modified: Use DB for admin notice, not flat-files. Boo.
|
153 |
-
* Modified: Sample configs not to cause errors if multiple users use the same function name.
|
154 |
-
* Fixed: CDN internationalization class.
|
155 |
-
* Modified: Parsedown so as not to throw a shortcode error that didn't actually exist.
|
156 |
-
|
157 |
-
## 3.5.4.29
|
158 |
-
* Fixed: #2446 - Non google font choice not saving in certain instances.
|
159 |
-
|
160 |
-
## 3.5.4.28
|
161 |
-
* Fixed: Added additional check in redux.js to stop errors with panels containing multiple raw fields.
|
162 |
-
* Fixed: Hopefully, the issue of settings not saving on first install when using the Redux API.
|
163 |
-
|
164 |
-
## 3.5.4.27
|
165 |
-
* Fixed: Set use_cdn argument to true, by default.
|
166 |
-
|
167 |
-
## 3.5.4.26
|
168 |
-
* Fixed #2437 - undefined value set to blank line height.
|
169 |
-
|
170 |
-
## 3.5.4.25
|
171 |
-
* Fixed: #2429 - Required evaluator 'contains' not working properly with multi_check
|
172 |
-
|
173 |
-
## 3.5.4.24
|
174 |
-
* Fixed: #2426 - Section field not indenting.
|
175 |
-
|
176 |
-
## 3.5.4.23
|
177 |
-
* Fixed: Divider field not rendering properly.
|
178 |
-
* Added: `fieldset_class` argument for fields. Thanks @Enchiridion.
|
179 |
-
* Added: Option to set checkbox label. Thanks @Enchiridion.
|
180 |
-
* Added: javascript .trigger('change') to switch, spinner, and image_select. Thanks @Enchiridion.
|
181 |
-
|
182 |
-
## 3.5.4.22
|
183 |
-
* Modified: Ajax change output of error and notice via hooks.
|
184 |
-
|
185 |
-
## 3.5.4.21
|
186 |
-
* Fixed: #2414 - Bad ajax save due to mis-initialized variable.
|
187 |
-
|
188 |
-
## 3.5.4.20
|
189 |
-
* Fixed: CSS in metabox fields all wanky.
|
190 |
-
* Added: 'reload_on_change' arg for fields, to force page reload after setting change.
|
191 |
-
|
192 |
-
## 3.5.4.19
|
193 |
-
* Fixed: #2377 - Replaced mysql_gets_server_info with $wpdb.
|
194 |
-
|
195 |
-
## 3.5.4.18
|
196 |
-
* Modified: Templates to properly excape values.
|
197 |
-
* Fixed: Import/Export to properly be full-width and use lazy-load JS.
|
198 |
-
* Modified: CSS for sections to bound to the section, not all of Redux.
|
199 |
-
|
200 |
-
## 3.5.4.17
|
201 |
-
* Fixed: #2368 - Options panel layout offset.
|
202 |
-
* Fixed: #2369 - validate_callback not working for color, color_gradient, and date.
|
203 |
-
|
204 |
-
## 3.5.4.16
|
205 |
-
* Fixed: #2355 - Space missing in switch class arg.
|
206 |
-
* Fixed: Fixed all fields without leading space in class arg.
|
207 |
-
|
208 |
-
## 3.5.4.15
|
209 |
-
* Modified: Restrict table modification to redux-container.
|
210 |
-
* Fixed: Container overflow for pre's.
|
211 |
-
* Modified: Redux API to include removeSection and removeField.
|
212 |
-
* Added: Added before and after hooks to any panel template file.
|
213 |
-
|
214 |
-
## 3.5.4.14
|
215 |
-
* Fixed: #2351 - WP_Error check added to admin blast remote get.
|
216 |
-
|
217 |
-
## 3.5.4.13
|
218 |
-
* Modified: Moved styling for the divide field into it's own CSS file.
|
219 |
-
* Modified: All WP Color Pickers to properly save the value before save.
|
220 |
-
* Added: CSS Styles for the customizer. ;)
|
221 |
-
|
222 |
-
## 3.5.4.12
|
223 |
-
* Modified: Panel is MUCH more responsive now.
|
224 |
-
* Fixed: Small stylings for a few fields.
|
225 |
-
* Fixed: Added extra qTip class.
|
226 |
-
|
227 |
-
## 3.5.4.11
|
228 |
-
* Modified: Ajax save animation. Added fallback for pre 4.2 CSS.
|
229 |
-
* Fixed: Small issue with Redux info boxes and spacing.
|
230 |
-
* Fixed: Small bug with the Redux API where divide sections were causing errors.
|
231 |
-
* Fixed: Small admin blast fix.
|
232 |
-
|
233 |
-
## 3.5.4.10
|
234 |
-
* Modified: Qtip and Spectrum vendor libraries restored to local.
|
235 |
-
* Fixed: Admin notice loading on front end.
|
236 |
-
* Modified: Callback actions run with do_action_ref_array now.
|
237 |
-
* Added: show_options_object argument to enable or disable option object.
|
238 |
-
|
239 |
-
## 3.5.4.9
|
240 |
-
* Added: Error suppressing to filesystem class to avoid notice errors when site goes down.
|
241 |
-
|
242 |
-
## 3.5.4.8
|
243 |
-
* Fixed: Panels not rendering, again
|
244 |
-
* Added: Vendor support plugin link to CDN fallback message.
|
245 |
-
|
246 |
-
## 3.5.4.7
|
247 |
-
* Modified: Moved vendor libraries ACE, select2, qtip, and spectrum to CDN.
|
248 |
-
* Removed: Local installs of above libraries.
|
249 |
-
|
250 |
-
## 3.5.4.6
|
251 |
-
* Fixed: Option panel not rendering due to experimental code.
|
252 |
-
|
253 |
-
## 3.5.4.5
|
254 |
-
* Fixed: How sorter works with data
|
255 |
-
* Modified: How the data arg is stored in Redux.
|
256 |
-
|
257 |
-
## 3.5.4.4
|
258 |
-
* Removed: sysinfo.php. No longer needed in lieu of our support URL feature.
|
259 |
-
* Removed: debug.php. Moved to options_object extension.
|
260 |
-
* Modified: #2274 - PHP Unit test compatibility. Thanks @daithi-coombes.
|
261 |
-
* Modified: #2144 - Optional class argument per image. Thanks @paulthecoder.
|
262 |
-
* Fixed: #2278 - More W3 Total Cache hacks.
|
263 |
-
|
264 |
-
## 3.5.4.3
|
265 |
-
* Fixed: #2258 - welcome redirect error with embedding plugin scenarios.
|
266 |
-
* Fixed: Redux plugin load order when activating plugins.
|
267 |
-
|
268 |
-
## 3.5.4.2
|
269 |
-
* Fixed: #2271 - stuck redirect on godaddy (seriously, get a real host, people) servers.
|
270 |
-
|
271 |
-
## 3.5.4.1
|
272 |
-
* Fixed: #2216 - Reset section not always working within FF.
|
273 |
-
|
274 |
-
## 3.5.4
|
275 |
-
* Modified: update_notice arg only truly shows up if dev_mode is on.
|
276 |
-
|
277 |
-
## 3.5.3.3
|
278 |
-
* Added: Tooltip to developer mode badge, for informational purposes.
|
279 |
-
* Modified: Added css_layout ext to default value filter, to avoid errors.
|
280 |
-
|
281 |
-
## 3.5.3.2
|
282 |
-
* Fixed: #2239 - Various extensions didn't support default values for default arg. Filtered out offending extensions.
|
283 |
-
|
284 |
-
## 3.5.3.1
|
285 |
-
* Fixed: WP.org ONLY SVN mixup.
|
286 |
-
|
287 |
-
## 3.5.3
|
288 |
-
* Fixed: #2228 - Submenu items still visible if permissions not allowed.
|
289 |
-
* Fixed: Import/Export showing up in customizer.
|
290 |
-
* Modified: Admin-fresh theme to match new WordPress 4.2
|
291 |
-
* Modified: Redux widget now has a proper ID. Thanks @corradomatt!
|
292 |
-
* Modified: Added text-shadow to submenu items to give a stronger "pop"
|
293 |
-
* Modified: Page_slug now dynamically generated if not specified.
|
294 |
-
|
295 |
-
## 3.5.2.2
|
296 |
-
* Modified: Admin blast message pinging server on each load after three day expiration. Possible slow down of the overall panel loading time.
|
297 |
-
|
298 |
-
## 3.5.2.1
|
299 |
-
* Fixed: #2221 - Background field media not enqueueing when used with no other media based fields.
|
300 |
-
|
301 |
-
## 3.5.2
|
302 |
-
* Fixed: #2214: Bad path for import/export enqueue.
|
303 |
-
* Release: Wp.org release.
|
304 |
-
|
305 |
-
## 3.5.1
|
306 |
-
* Release: Wp.org release.
|
307 |
-
|
308 |
-
## 3.5.0.7
|
309 |
-
* Modified: Redux News dashboard widget appears only when dev_mode is true or in a local host environment.
|
310 |
-
|
311 |
-
## 3.5.0.6
|
312 |
-
* Fixed #2127 - Elusive icons not working in footer as before.
|
313 |
-
* Fixed Issue where Status tab not showing extension versions properly.
|
314 |
-
* Fixed Issue in support URL not passing data correctly.
|
315 |
-
|
316 |
-
## 3.5.0.5
|
317 |
-
* Fixed Support URLs now work even if max_input_vars is way low in PHP 5.3+
|
318 |
-
|
319 |
-
## 3.5.0.4
|
320 |
-
* Fixed #2197 - Import/export not loading proper for those who have opted to install Wordpress in ways it was never intended.
|
321 |
-
|
322 |
-
## 3.5.0.3
|
323 |
-
* Fixed: 'Generate Support URL' feature kicking back error.
|
324 |
-
|
325 |
-
## 3.5.0.2
|
326 |
-
* Fixed Sortable checkbox labels not displaying properly.
|
327 |
-
* Fixed Sortable textbox not displaying default value as placeholder.
|
328 |
-
* Updated: sample-config with accurate example for both sortable modes.
|
329 |
-
|
330 |
-
## 3.5.0.1
|
331 |
-
* Fixed #2181 - Fixed issue with Ajax Save when PHP 5.3 Magic Quotes were disabled.
|
332 |
-
|
333 |
-
## 3.5.0 OFFICIAL RELEASE
|
334 |
-
Various fixes and improvements for release.
|
335 |
-
|
336 |
-
## 3.4.4.9.4
|
337 |
-
* Fixed: #2181 - Issue with PHP < 5.4 and the Ace Editor field. Oy.
|
338 |
-
|
339 |
-
## 3.4.4.9.3
|
340 |
-
* Fixed: #2163 - Undefined error in JS.
|
341 |
-
|
342 |
-
## 3.4.4.9.2
|
343 |
-
* Fixed: #2176 - Infinite loop in the customizer for live preview of themes.
|
344 |
-
|
345 |
-
## 3.4.4.9.1
|
346 |
-
* Fixed: Support page now works.
|
347 |
-
* Fixed: Fix for MySQL deprecated functions in php 5.5+.
|
348 |
-
|
349 |
-
## 3.4.4.9
|
350 |
-
* Added: Dynamic admin messages (aka Newsflash). Dismissable admin messages announcing breaking Redux news.
|
351 |
-
Messages will not appear for users when dev_mode is set to `false`. However, messages remain active
|
352 |
-
on localhosts, so devs may benefit.
|
353 |
-
|
354 |
-
## 3.4.4.8
|
355 |
-
* Fixed: #2155 - Fixed import with ajax_save.
|
356 |
-
* Fixed: Changelog now uses raw field parsedown if present.
|
357 |
-
|
358 |
-
## 3.4.4.7
|
359 |
-
* Added: Redux Framework News Widget on the WP Dashboard.
|
360 |
-
|
361 |
-
## 3.4.4.6
|
362 |
-
* Fixed: #2156: `label` argument not recognized when using sortable as textbox.
|
363 |
-
|
364 |
-
## 3.4.4.5
|
365 |
-
* Fixed: #2140 Another PHP 5.2 issue with ajax_save.
|
366 |
-
* Modified: Opt groups for select field now working in customizer even if not supported.
|
367 |
-
|
368 |
-
## 3.4.4.4
|
369 |
-
* Added: `full_width` arg now makes ANY field full-width. :)
|
370 |
-
|
371 |
-
## 3.4.4.3
|
372 |
-
* Fixed: #2133 - Ajax save adding extra backspashes in PHP 5.2 only (They didn't use array map properly).
|
373 |
-
* Fixed: Customizer wasn't working. Thanks @sgssandhu!
|
374 |
-
|
375 |
-
## 3.4.4.2
|
376 |
-
* Fixed: #2125 - Compiler not firing on first save, when using ajax_save.
|
377 |
-
|
378 |
-
## 3.4.4.1
|
379 |
-
* Fixed: #2118 - Typography JS error.
|
380 |
-
|
381 |
-
## 3.4.4
|
382 |
-
* Fixed: Odd typography bug no one has reported.
|
383 |
-
* Modified: Sticky header and footer to remain within the redux-main container.
|
384 |
-
|
385 |
-
## 3.4.3.9
|
386 |
-
* Fixed #2097 - Slash fix for ajax_save that was previously believed to be an isolated issue. Now applied on all ajax saves.
|
387 |
-
|
388 |
-
## 3.4.3.8
|
389 |
-
* Fixed: #2086 - color_rgba improperly functioning when transparent mode set to false.
|
390 |
-
|
391 |
-
## 3.4.3.7
|
392 |
-
* Fixed Import/Export bug where it wasn't running.
|
393 |
-
* Modified Locations of the core extensions directory as well as grunt configuration.
|
394 |
-
|
395 |
-
## 3.4.3.6
|
396 |
-
* Fixed #2047 - Validation will now accept 0 as a value to be tested. Thanks @Ninos!
|
397 |
-
* Added url_slug validation with option flush_permalinks!
|
398 |
-
* Fixed Issue where the remove of background field was always showing an empty preview box.
|
399 |
-
* Modified Turned ajax_save on by default for additional bug reports. ;)
|
400 |
-
* Modified Added some margin above validation errors/warnings so they look better.
|
401 |
-
* Modified Removed previous element border for any section so it looks better.
|
402 |
-
|
403 |
-
## 3.4.3.5
|
404 |
-
* Fixed #2081 - Section field hiding any field after. Weird.
|
405 |
-
|
406 |
-
## 3.4.3.4
|
407 |
-
* Added #2047 - `output_transparent` argument to output the blank color feature as 'transparent'.
|
408 |
-
* Fixed #2080 - missing 'rem' unit and inability to process float values. Thanks to @HELWATANY for the fixes!
|
409 |
-
* Fixed #2043 - misaligned images in image_select field.
|
410 |
-
|
411 |
-
## 3.4.3.3
|
412 |
-
* Added: #2064 - Merge argument for image_select. Thanks @Ninos
|
413 |
-
* Modified: Import/Export is now an extensiona and decoupled from the core.
|
414 |
-
* Fixed: Spinner had a nasty number bug, now resolved.
|
415 |
-
* Fixed: #2076 - RTL bug with old ID's. Thanks @mahfoozroy.
|
416 |
-
* Fixed: #2072 - Ajax_save editor type bug fix.
|
417 |
-
|
418 |
-
## 3.4.3.2
|
419 |
-
* Fixed: #2058 - Incorrect path in include statement for sysinfo.php
|
420 |
-
|
421 |
-
## 3.4.3.1
|
422 |
-
* Modified: Templates now have versioning with a warning (dev_mode only) if they are outdated from the core templates.
|
423 |
-
|
424 |
-
## 3.4.3
|
425 |
-
* Modified: Ajax saving now has overlay during save to avoid confusion for users.
|
426 |
-
|
427 |
-
## 3.4.2.9
|
428 |
-
* Modified: Template files even more for simplicity and ease.
|
429 |
-
* Modified: Saving. Redux now has the ajax_save argument if you want it!
|
430 |
-
* Modified: Validation warnings now work.
|
431 |
-
|
432 |
-
## 3.4.2.8
|
433 |
-
* Fixed: Changed set_transient function to public to avoid errors in new templating code.
|
434 |
-
|
435 |
-
## 3.4.2.7
|
436 |
-
* Modified: Entire panel template is now decoupled from the theme and implemented with many filters for easy customization.
|
437 |
-
|
438 |
-
## 3.4.2.6
|
439 |
-
* Fixed: #1478 - Import/export failing when two instances if Redux in use. Thanks, @desaiuditd!
|
440 |
-
* Fixed: Section field not indenting properly, if at all.
|
441 |
-
|
442 |
-
## 3.4.2.5
|
443 |
-
* Added: #2031 - Proper CSS sanitization for compliancy with WP.org.
|
444 |
-
|
445 |
-
## 3.4.2.4
|
446 |
-
* Fixed: #2027 - added isset()
|
447 |
-
|
448 |
-
## 3.4.2.3
|
449 |
-
* Fixed: #2019 - Reset issues with PHP 5.2. Thanks a bunch, @Webcreations907!
|
450 |
-
|
451 |
-
## 3.4.2.2
|
452 |
-
* Fixed: #2023: Issue with custom submenus in menu.
|
453 |
-
|
454 |
-
## 3.4.2.1
|
455 |
-
* Fixed: #2025: Issue with select sorting.
|
456 |
-
|
457 |
-
## 3.4.2
|
458 |
-
* Update: ACE Editor. Thanks @corradomatt.
|
459 |
-
|
460 |
-
## 3.4.1
|
461 |
-
* Fixed: Small filesystem option with bad filter key reference.
|
462 |
-
* Added: Small return if $section filter returned the section empty.
|
463 |
-
|
464 |
-
## 3.4.0
|
465 |
-
* WP.org Release
|
466 |
-
|
467 |
-
## 3.3.10.7
|
468 |
-
* Fixed: Reset section hook firing too early.
|
469 |
-
|
470 |
-
## 3.3.10.6
|
471 |
-
* Modified: The Redux Repeater field has landed!
|
472 |
-
|
473 |
-
## 3.3.10.5
|
474 |
-
* Fixed: #1983 - color_rgba not outputting default values on first load (before save).
|
475 |
-
|
476 |
-
## 3.3.10.4
|
477 |
-
* Fixed: Google font enqueues with opt_name to avoid collision with multiple Redux instances.
|
478 |
-
|
479 |
-
## 3.3.10.3
|
480 |
-
* Fixed: #1980 - JS errors with sorter & sortable.
|
481 |
-
* Fixed: color_rgba field outputting incorrect information via output/compiler.
|
482 |
-
|
483 |
-
## 3.3.10.2
|
484 |
-
* Fixed: #1979 - Goole fonts not properly loading in typography dropdown.
|
485 |
-
|
486 |
-
## 3.3.10.1
|
487 |
-
* Fixed: Undefined index error on MU installs.
|
488 |
-
|
489 |
-
## 3.3.10
|
490 |
-
* Removed: SASS compile of field CSS, for the time being. Compiler remains in core.
|
491 |
-
* Improved: Panel load time, most notable when not in dev_mode. Better for your clients. :)
|
492 |
-
* Updated: Elusive Font library.
|
493 |
-
* Fixed: #1961 - color_rgba field defaulting to black on reset.
|
494 |
-
|
495 |
-
## 3.3.9.35
|
496 |
-
* Fixed: #1941 - Datepicker opened off screen.
|
497 |
-
* Fixed: #1756, #1957 - Slider issues. Thanks @FFIN!
|
498 |
-
* Fixed: #1960 - Duplicate slide when clicking Add. Again, thanks to @FFIN for the fix.
|
499 |
-
* Added: New filter: apply_filters 'redux/validate/{opt_name}/before_validation'
|
500 |
-
* Fixed: #1745 - Adding settings submenu to empty submenu now works. Many, many thanks to @No3x for cracking this one!
|
501 |
-
|
502 |
-
## 3.3.9.34
|
503 |
-
* Fixed: #1955 - Undefined index rgba in output routine.
|
504 |
-
|
505 |
-
## 3.3.9.33
|
506 |
-
* Modified: #1947 - Added display:none to TR tag under info field.
|
507 |
-
|
508 |
-
## 3.3.9.32
|
509 |
-
* Replaced: #1951 - Replaced develop branch of scssphp to master branch due to PHP 5.2 incompatibililty.
|
510 |
-
|
511 |
-
## 3.3.9.31
|
512 |
-
* Fixed: #1943 - Removed premature DIV close.
|
513 |
-
* Fixed: #1945 - Media preview not rendering when default ID specified.
|
514 |
-
|
515 |
-
## 3.3.9.30
|
516 |
-
* Modified: #1930 - reorder 'psedo-class of link_color field. Thanks @freddessaint
|
517 |
-
* Modified: SASS compiler outputs to page by default. Faster.
|
518 |
-
* Fixed: #1927 - Incorrect dir path to spectrum library in color_rgba field corrected.
|
519 |
-
|
520 |
-
## 3.3.9.29
|
521 |
-
* Modified: color_rgba field now usees spectrum color picker. minicolors removed. Just...too buggy.
|
522 |
-
|
523 |
-
## 3.3.9.28
|
524 |
-
* Modified: #1922 - Filesystem output function.
|
525 |
-
|
526 |
-
## 3.3.9.27
|
527 |
-
* Fixed: Added PHP 5.2 support (ugh!) for SASS compiler.
|
528 |
-
|
529 |
-
## 3.3.9.26
|
530 |
-
* Fixed: More SASS compiler tweaking.
|
531 |
-
|
532 |
-
## 3.3.9.25
|
533 |
-
* Fixed: PHP errors when disabling SASS.
|
534 |
-
|
535 |
-
## 3.3.9.24
|
536 |
-
* Fixed #1909 - malformed DIV class HTML in slider field.
|
537 |
-
|
538 |
-
## 3.3.9.23
|
539 |
-
* Removed Argument for SASS compile file output location removed. Didn't work, too much trouble.
|
540 |
-
|
541 |
-
## 3.3.9.22
|
542 |
-
* Fixed: #1904 - select_image field not displaying saved value on page reload.
|
543 |
-
|
544 |
-
## 3.3.9.21
|
545 |
-
* Fixed: SASS compile under multi-instance outputting incorrect CSS file
|
546 |
-
|
547 |
-
## 3.3.9.20
|
548 |
-
* Fixed: redux-admin scss images converted to base64
|
549 |
-
|
550 |
-
## 3.3.9.17
|
551 |
-
* Added SASS compiler for admin CSS.
|
552 |
-
* Added SASS to CSS for grunt compiler.
|
553 |
-
|
554 |
-
## 3.3.9.16
|
555 |
-
* Added SASS compiler for fields.
|
556 |
-
|
557 |
-
## 3.3.9.16
|
558 |
-
* Updated: select2 3.5.2
|
559 |
-
|
560 |
-
## 3.3.9.15
|
561 |
-
* Fixed: #1856 - Illegal offset string warnings in framework.php. Thanks @CGlingener.
|
562 |
-
* Fixed: #1874 - Required operator 'contains' and 'not_contains' not working with select set to multi.
|
563 |
-
* Fixed: #1829 - Required operator '=' and '!=' not working with select set to multi.
|
564 |
-
|
565 |
-
## 3.3.9.14
|
566 |
-
* Fixed: #1870 - Border field doubling up on px in output/compiler.
|
567 |
-
* Added: `hidden` argument for fields.
|
568 |
-
* Added: `hidden` argument for sections.
|
569 |
-
|
570 |
-
## 3.3.9.12
|
571 |
-
* Fixed: #1868 - Improper panel render when opening expanded, when `open_expanded` set to true.
|
572 |
-
* Added: `hide_expand` argument, to hide the expand options button.
|
573 |
-
|
574 |
-
## 3.3.9.11
|
575 |
-
* Fixed: #1865 - Sortable select not saving proper order.
|
576 |
-
* Fixed: #1864 - Footer z-index CSS adjusted.
|
577 |
-
|
578 |
-
## 3.3.9.10
|
579 |
-
* Fixed: #1848 - Import-export filed buttons not functioning properly.
|
580 |
-
|
581 |
-
## 3.3.9.9
|
582 |
-
* Fixed: #1834 - Wordpress data dealing with IDs as array keys not rendering properly.
|
583 |
-
* Fixed: #1830 - Font lists were added in quotes. Thanks @karimhossenbux.
|
584 |
-
|
585 |
-
## 3.3.9.8
|
586 |
-
* Fixed: #1798 - Fixed lazy load JS to only load visible sections. Much more optimized.
|
587 |
-
|
588 |
-
## 3.3.9.7
|
589 |
-
* Fixed: #1821 - Exo 2 font not working, issue with typography and escaping.
|
590 |
-
|
591 |
-
## 3.3.9.6
|
592 |
-
* Added: #1803 - Optgroup support for select field.
|
593 |
-
|
594 |
-
## 3.3.9.5
|
595 |
-
* Added: Decimal increments to spinner.
|
596 |
-
|
597 |
-
## 3.3.9.4
|
598 |
-
* Added: Customizer now supports PANEL! Yay 4.0.
|
599 |
-
|
600 |
-
## 3.3.9.3
|
601 |
-
* Fixed: #1789 - Customizer now properly working again with WP 4.0. Odd bug.
|
602 |
-
* Modified: README.md updates as per @cmwwebfx suggestions.
|
603 |
-
|
604 |
-
## 3.3.9.2
|
605 |
-
* Fixed: #1782 - Fixed some extra themecheck and customizer issues.
|
606 |
-
|
607 |
-
## 3.3.9.1
|
608 |
-
* Fixed: #1782 - Media field not showing files after upload? Hopefully this fixes it.
|
609 |
-
|
610 |
-
## 3.3.9
|
611 |
-
* Fixed: #1775 - Call to undefined function is_customize_preview() in pre WP 4.0.
|
612 |
-
* Fixed: Issue where in some cases tracking still occuring after opt-out.
|
613 |
-
* Modified: Documentation URL.
|
614 |
-
|
615 |
-
## 3.3.8.8
|
616 |
-
* Fixed: #1742 - Sidebar subsections don't always expand.
|
617 |
-
|
618 |
-
## 3.3.8.7
|
619 |
-
* Fixed: #1758 - Thanks @echo1consulting!
|
620 |
-
* Added: 'hidden' to menu_type argument to allow for hidden menus until available.
|
621 |
-
|
622 |
-
## 3.3.8.6
|
623 |
-
* Fixed: #1749 - Remove font-wight and font-style from css output when not in use.
|
624 |
-
|
625 |
-
## 3.3.8.5
|
626 |
-
* Modified: Added the "redux/options/{$this->args['opt_name']}/compiler/advanced" hook for more advanced compiling.
|
627 |
-
* Added: Suggestions as per #1709. Thanks @echo1consulting.
|
628 |
-
|
629 |
-
## 3.3.8.4
|
630 |
-
* Modified: Removed a cURL instance from the core and fixed the developer ad resizing.
|
631 |
-
* Fixed: PHP 5.2 issues. *sigh*
|
632 |
-
|
633 |
-
## 3.3.8.3
|
634 |
-
* Added: #1593 - Great pull request by @JonasDoebertin. Now you can enqueue dynamic output to the login screen or admin backend.
|
635 |
-
|
636 |
-
## 3.3.8.2
|
637 |
-
* Fixed: Customizer wasn't saving at all! That's been like 4 months. No one's reported it. Hmm.
|
638 |
-
* Fixed: #1702 - Customizer only fields were being erased on panel save.
|
639 |
-
|
640 |
-
## 3.3.8.1
|
641 |
-
* Fixed: Various Theme-Check errors with languages.
|
642 |
-
* Added: Theme-Check class to help devs know what is what.
|
643 |
-
* Fixed: The way we include files from include_once to require_once everywhere.
|
644 |
-
* Modified: Language files to reflect new strings.
|
645 |
-
* Modified: Formatted a bunch of old class files.
|
646 |
-
* Added: Notice on the updates for non-devs to use the new dev_mode disabler plugin and notify their developer. ;)
|
647 |
-
|
648 |
-
## 3.3.8
|
649 |
-
* Modified: Updated potomo, thanks @shivapoudel.
|
650 |
-
* Added: Grunt checktextdomain and made improvements. Thanks @shivapoudel.
|
651 |
-
|
652 |
-
## 3.3.7.11
|
653 |
-
* Modified: #1685 - Specifying no default argument for image_select caused errors on reset.
|
654 |
-
|
655 |
-
## 3.3.7.10
|
656 |
-
* Fixed: #1667 - Slides Upload button causing JS error.
|
657 |
-
|
658 |
-
## 3.3.7.9
|
659 |
-
* Fixed: #1670 - Fix for Theme Check -> `add_setting() method needs to have a sanitization callback function passed.`
|
660 |
-
|
661 |
-
## 3.3.7.8
|
662 |
-
* Fixed: #1661 - Fix for undefined index in some versions of PHP. Thanks @gianbalex!
|
663 |
-
* Modified: #1658 - Improvements from @shivapoudel, including:
|
664 |
-
* Removed makepot and used grunt-wp-i18n instead.
|
665 |
-
* Added a jshintrc file
|
666 |
-
* Added a `grunt addtextdomain` to correct any bad textdomains in the core.
|
667 |
-
* Updated .gitignore for better readability
|
668 |
-
* Updates to a few other files including package.json.
|
669 |
-
* Updated language files.
|
670 |
-
* Update codestyles/.editorconfig to reflect the project's standards.
|
671 |
-
|
672 |
-
## 3.3.7.7
|
673 |
-
* Modified: #1653 - Better admin bar with external links: Admin bar menu priority, icon, and external links. Thanks @shivapoudel!
|
674 |
-
|
675 |
-
## 3.3.7.6
|
676 |
-
* Added: #1651 - `library_filter` argument. Allows specification of what files to display in the media library.
|
677 |
-
* Modified: #1651 - `mode` argument accepts either file type or mime type (but not both).
|
678 |
-
|
679 |
-
## 3.3.7.5
|
680 |
-
* Fixed: #1650 - Toogle error with responsive CSS.
|
681 |
-
|
682 |
-
## 3.3.7.4
|
683 |
-
* Fixed: #1643 - Slight border issue (2px) on sticky footer.
|
684 |
-
|
685 |
-
## 3.3.7.3
|
686 |
-
* Fixed: #1642 - Added `font_family_clear` arg, enabling the clear option for font-family.
|
687 |
-
* Fixed: #1638 - Spacing field not outputting when units values attached to default values.
|
688 |
-
* Modified #1644 - `import_icon` argument now accepts wordpress dashicons
|
689 |
-
|
690 |
-
## 3.3.7.2
|
691 |
-
* Fixed: #1634 - Double border for sections field. Thanks @AlexandruDoda
|
692 |
-
* Modified: Changelog location to now Changelog.md.
|
693 |
-
|
694 |
-
## 3.3.7.1
|
695 |
-
* Fixed: #1632 - Sortable with no defaults set revert to false (instead of options values).
|
696 |
-
* Fixed: Labels for sortable in text mode updated to match framework.
|
697 |
-
|
698 |
-
## 3.3.7
|
699 |
-
* Added: #1586 - Class-level declaration for callbacks and validation. Thanks @echo1consulting.
|
700 |
-
* Modified: Typography field now fully dynamic.
|
701 |
-
* Modified: No longer require a google_api_key for the typography module. :)
|
702 |
-
* Fixed: FTP credentials screen giving a "undefined submit_button function". Resolved.
|
703 |
-
* Modified: #1628 - Spacing and dimensions now only output 0 if the entry is a 0, not empty.
|
704 |
-
Thanks @Webcreations907
|
705 |
-
* Modified: CSS for menu items when active (no hover).
|
706 |
-
* Added: Visual feedback to left menu if active.
|
707 |
-
|
708 |
-
## 3.3.6.9
|
709 |
-
* Fixed: #1623 - Registered older noUISlider JS under a new name to avoid conflicts.
|
710 |
-
* Modified: #1622 - Removed googlefonts.js dependency.
|
711 |
-
|
712 |
-
## 3.3.6.8
|
713 |
-
* Fixed: #1600 - ACE Editor bombing in PHP 5.2 environments.
|
714 |
-
|
715 |
-
## 3.3.6.7
|
716 |
-
* Fixed: #1591 - Erroneous outputting of font-weight and font-style when no font-family selected.
|
717 |
-
* Updated: #1569 - Improved submenu highlighting.
|
718 |
-
* Added: #1487 - Added `get_default_value` function into the framework.php
|
719 |
-
|
720 |
-
## 3.3.6.6
|
721 |
-
* Fixed: Framework URI errors when using child themes. Some restructuring.
|
722 |
-
|
723 |
-
## 3.3.6.5
|
724 |
-
* Fixed: Framework URI errors when embedded in theme with Windows.
|
725 |
-
|
726 |
-
## 3.3.6.4
|
727 |
-
* Added: image_size as an option for the data argument. Thanks @Gyroscopic!
|
728 |
-
|
729 |
-
## 3.3.6.3
|
730 |
-
* Modified: How Redux paths are run. Should cover all use cases now. Child themes can also embed
|
731 |
-
Redux properly now. Thanks @cfoellmann for the suggestions. Fix for issue #1566.
|
732 |
-
|
733 |
-
## 3.3.6.2
|
734 |
-
* Modified: How we declare the uploads directory and URL. Using core WP functions now.
|
735 |
-
|
736 |
-
## 3.3.6.1
|
737 |
-
* Modified: Now if a section is empty, but has subsections, that section will be "skipped" when
|
738 |
-
clicked and the first subsection will then be shown.
|
739 |
-
|
740 |
-
## 3.3.6
|
741 |
-
* Modified: Language files.
|
742 |
-
* Fixed: #1560 - IE8 RGBA fallack
|
743 |
-
|
744 |
-
## 3.3.5.12
|
745 |
-
* Fixed: #1543 - Hint icon not changing when set in args.
|
746 |
-
|
747 |
-
## 3.3.5.11
|
748 |
-
* Fixed: #1537 - Media field not accepting images with mode set to false.
|
749 |
-
|
750 |
-
## 3.3.5.10
|
751 |
-
* Fixed: #1529 - ACE Editor conflict with Visual Composer.
|
752 |
-
* Added: #1530 - Added argument to specify admin bar icon, `admin_bar_icon`. Thanks Ninos!
|
753 |
-
* Fixed: #1532 - Media field not accepting any mime type when `'mode' => false`.
|
754 |
-
|
755 |
-
## 3.3.5.9
|
756 |
-
* Fixed: #1520 - Checkbox field not displaying Wordpress data when using data argument.
|
757 |
-
|
758 |
-
## 3.3.5.8
|
759 |
-
* Fixed: #1516 - Invalid index and foreach when using compiler and async_typography.
|
760 |
-
|
761 |
-
## 3.3.5.7
|
762 |
-
* Fixed: #1509 - Sorter adding unnecessary bits on some items.
|
763 |
-
* Fixed: #1514 - Customizer and multisite not getting on properly.
|
764 |
-
* Fixed: #1512 - Slides 'Upload' button not showing or saving selected image.
|
765 |
-
|
766 |
-
## 3.3.5.6
|
767 |
-
* Fixed: Checkboxes with required were working in reverse.
|
768 |
-
|
769 |
-
## 3.3.5.5
|
770 |
-
* Fixed: ASync Typography now works! No more flashing fonts.
|
771 |
-
|
772 |
-
## 3.3.5.4
|
773 |
-
* Fixed: #1489 - Color picker UI lining up improperly.
|
774 |
-
* Fixed: #1497 - dev_mode spinner issue.
|
775 |
-
|
776 |
-
## 3.3.5.3
|
777 |
-
* Fixed: Spelling error in tracking dialog.
|
778 |
-
* Modified: Updated ace_editor.
|
779 |
-
* Modified: Many MANY fields for the group field.
|
780 |
-
* Fixed: Some CSS bugs.
|
781 |
-
|
782 |
-
## 3.3.5.2
|
783 |
-
* Fixed: #1481 - Custom fonts loading in google font CSS.
|
784 |
-
* Fixed: #1485 - Customizer 'invalid argument' error. Thanks @rnlmedia.
|
785 |
-
|
786 |
-
## 3.3.5.1
|
787 |
-
* Fixed: #1472 - font style not displaying saved valie with no font-family argument set.
|
788 |
-
* Fixed: #1471 - raw field and required not playing nice together.
|
789 |
-
|
790 |
-
## 3.3.5
|
791 |
-
* Added: An annoying notice at the top so our devs don't ship with dev_mode on. ;)
|
792 |
-
|
793 |
-
## 3.3.4.9
|
794 |
-
* Fixed: #1462 - Google fonts not loading in font drop down.
|
795 |
-
|
796 |
-
## 3.3.4.8
|
797 |
-
* Fixed: More WP FileSystem tanking. Did PHP fallback before FTP. Works 99.9% of the time without credentials.
|
798 |
-
|
799 |
-
## 3.3.4.7
|
800 |
-
* Fixed: Incorrect folder CHMOD in filesystem class.
|
801 |
-
|
802 |
-
## 3.3.4.6
|
803 |
-
* Fixed: #1454 - Chmod permissions for redux folder.
|
804 |
-
|
805 |
-
## 3.3.4.5
|
806 |
-
* Fixed: #1451 - Googlefonts not loading due to failing copy function.
|
807 |
-
|
808 |
-
## 3.3.4.4
|
809 |
-
* Fixed: #1450 - Saves witch values with no `on` or `off` args make the core unhappy.
|
810 |
-
|
811 |
-
## 3.3.4.3
|
812 |
-
* Fixed: #1444, again, due to filesystem growing pains.
|
813 |
-
* Fixed: #1449 - Restoring `options` argument over a lousy attempt to fix placeholder.
|
814 |
-
|
815 |
-
## 3.3.4.2
|
816 |
-
* Fixed: More file permission issues.
|
817 |
-
|
818 |
-
## 3.3.4.1
|
819 |
-
* Fixed: Font debug was left from last commit. Sorry all.
|
820 |
-
|
821 |
-
## 3.3.3.8
|
822 |
-
* Fixed: Issues with file writing. Basically many users don't install WordPress with all the permissions correct.
|
823 |
-
So... Had to move it back to /uploads/. Sorry Otto, that's just how it is.
|
824 |
-
* Fixed: #1444 - output of typography all_styles when font_style UI was hidden.
|
825 |
-
|
826 |
-
## 3.3.3.7
|
827 |
-
* Fixed: #1440 - flaw in new cleanFilePath logic.
|
828 |
-
|
829 |
-
## 3.3.3.6
|
830 |
-
* Fixed: #1432 - Theme check failing when double-slashes existed in get_template_directory() return.
|
831 |
-
* Removed: curlRead from helper class.
|
832 |
-
|
833 |
-
## 3.3.3.5
|
834 |
-
* Fixed: #1426 - menu_name not appearing on front end admin bar.
|
835 |
-
* Added: #1427 - button_set added to customizer UI. Thanks @wpexplorer.
|
836 |
-
|
837 |
-
## 3.3.3.4
|
838 |
-
* Fixed: #1429 - ACE Editor erroring with no default value set.
|
839 |
-
* Fixed: wp_filesystem now initialized with credentials in an effort to combat the tmp file issue.
|
840 |
-
|
841 |
-
## 3.3.3.3
|
842 |
-
* Modified: Code purification.
|
843 |
-
|
844 |
-
## 3.3.3.2
|
845 |
-
* Modified: How section tabs work. Isolated within the redux-container class.
|
846 |
-
|
847 |
-
## 3.3.3
|
848 |
-
* Modified: #1412 - Redesigned text label, placeholder fix.
|
849 |
-
|
850 |
-
## 3.3.2.10
|
851 |
-
* Fixed: #1408 & #1357 - Typography subsets losing value after multiple saves
|
852 |
-
on other panels.
|
853 |
-
|
854 |
-
## 3.3.2.9
|
855 |
-
* Fixed: #1403 - unit value no longer prints after empty typography values
|
856 |
-
* Modified: Typography: Backup font no longer appends to `font-family` variable.
|
857 |
-
Please use the `backup-font` variable to specify backup fonts. This
|
858 |
-
does not apply to output/compiler strings.
|
859 |
-
|
860 |
-
## 3.3.2.8
|
861 |
-
* Fixed: #1403 - Backup font not appearing in font-family variable.
|
862 |
-
|
863 |
-
## 3.3.2.7
|
864 |
-
* Modified: Customizer now supports section and field `permissions` argument.
|
865 |
-
* Fixed: #1399 - Customizer respects `page_permissions` argument.
|
866 |
-
|
867 |
-
## 3.3.2.6
|
868 |
-
* Fixed: #1400 - output/compiler string incomplete using multiple selectors.
|
869 |
-
|
870 |
-
## 3.3.2.5
|
871 |
-
* Fixed: #1396 - Custom fonts cutting off multiple families in selector, after save.
|
872 |
-
* Fixed: Typography attempting to queue up non google fonts on backend.
|
873 |
-
* Added: #1395 - Display of child theme status in sysinfo, thanks @SiR-DanieL.
|
874 |
-
|
875 |
-
## 3.3.2.4
|
876 |
-
* Fixed: #1387 - Page jump when clicking "Options Object". Thanks @rrikesh.
|
877 |
-
* Added: #1392 - Filters to change the following localized strings:
|
878 |
-
redux/{opt_name}/localize/reset
|
879 |
-
redux/{opt_name}/localize/reset_all
|
880 |
-
redux/{opt_name}/localize/save_pending
|
881 |
-
redux/{opt_name}/localize/preset
|
882 |
-
|
883 |
-
## 3.3.2.3
|
884 |
-
* Fixed: #1376 - checkbox.min.js missing.
|
885 |
-
|
886 |
-
## 3.3.2.2
|
887 |
-
* Fixed: Static variable changes for instances and basic comment cleanup
|
888 |
-
|
889 |
-
## 3.3.2.1
|
890 |
-
* Fixed: #1361 - Raw field not hiding with required.
|
891 |
-
* Fixed: Datepicker not formatting properly. Still needs some work.
|
892 |
-
|
893 |
-
## 3.3.1.9
|
894 |
-
* Fixed: #1357 - Preview not rendering font on page load.
|
895 |
-
|
896 |
-
## 3.3.1.8
|
897 |
-
* Fixed: #1356 - Color fields and transparency not syncing due to new JS.
|
898 |
-
|
899 |
-
## 3.3.1.7
|
900 |
-
* Fixed: #1354 - Add class check for W3_ObjectCache.
|
901 |
-
|
902 |
-
## 3.3.1.6
|
903 |
-
* Fixed: #1341 - JS not initializing properly in import_export.
|
904 |
-
|
905 |
-
## 3.3.1.5
|
906 |
-
* Fixed: #1339 - Typography would lose Font Weight and Style. value was
|
907 |
-
named val in the HTML, so it would be destroyed on the next save
|
908 |
-
if not initialized.
|
909 |
-
|
910 |
-
## 3.3.1.4
|
911 |
-
* Fixed: #1226 - W3 Total Cache was affecting validation and compiler hooks.
|
912 |
-
* Fixed: Menu errors weren't showing properly for non-subsectioned items.
|
913 |
-
|
914 |
-
## 3.3.1.3
|
915 |
-
* Fixed: #1341 - Import/Export buttons not functioning. Also fixed sortable somehow.
|
916 |
-
|
917 |
-
## 3.3.1.2
|
918 |
-
* Fixed: Slides not initializing with the last fix.
|
919 |
-
|
920 |
-
## 3.3.1.1
|
921 |
-
* Fixed: Slides field was not properly initialized for the media elements. Fixed.
|
922 |
-
|
923 |
-
## 3.3.0.6
|
924 |
-
* Fixed: #1337 - `redux` JS dependency loading issue. Many thanks @tpaksu
|
925 |
-
|
926 |
-
## 3.3.0.5
|
927 |
-
* Modified: Drastically changed the way JavaScript is used in the panel. Forced as-needed
|
928 |
-
initialization of fields. Thus reducing dramatically the overall load time of
|
929 |
-
the panel. The effects have been seen up to 300% speed improvement. The only
|
930 |
-
time a field will be initialized is if it's visible, thus reducing the processing
|
931 |
-
needed in DOM overall.
|
932 |
-
|
933 |
-
## 3.3.0.4
|
934 |
-
* Fixed: #1336 - fixed default font in preview.
|
935 |
-
|
936 |
-
## 3.3.0.3
|
937 |
-
* Fixed: #1334 - Typography not un-saving italics.
|
938 |
-
|
939 |
-
## 3.3.0.2
|
940 |
-
* Added: #1332 - New validation: numeric_not_empty.
|
941 |
-
|
942 |
-
## 3.3.0.1
|
943 |
-
* Fixed: #1330 - Required not working on all fields.
|
944 |
-
|
945 |
-
## 3.3.0
|
946 |
-
* Added: #1329 - `'preview' = array('always_display' => true)` argument to typography, to determine if preview field show always be shown.
|
947 |
-
|
948 |
-
## 3.2.9.38
|
949 |
-
* Fixed: #1322 - Sections not folding with required argument.
|
950 |
-
* Modified: Portions of core javascript rewritten into object code.
|
951 |
-
|
952 |
-
## 3.2.9.37
|
953 |
-
* Fixed: #1270 - Editor field compiler hook not firing in visual mode.
|
954 |
-
|
955 |
-
## 3.2.9.36
|
956 |
-
* Added: `hide_reset` argument, to hide the Reset All and Reset Section buttons.
|
957 |
-
|
958 |
-
## 3.2.9.35
|
959 |
-
* Fixed: select2 dependency in select_image, and other fields.
|
960 |
-
|
961 |
-
## 3.2.9.34
|
962 |
-
* Fixed: Filter out `@eaDir` directories in extensions folder.
|
963 |
-
* Added: `content_title` argument to slides field. Thanks @psaikali!
|
964 |
-
|
965 |
-
## 3.2.9.33
|
966 |
-
* Fixed: Fixed the image_select presets to work again. Also now will function even if import/export is disabled.
|
967 |
-
|
968 |
-
## 3.2.9.32
|
969 |
-
* Fixed: Minor tweaks for metabox update.
|
970 |
-
|
971 |
-
## 3.2.9.31
|
972 |
-
* Fixed: #1297 - Missing space in image_select class.
|
973 |
-
* Fixed: Slider field tweaked for metaboxes.
|
974 |
-
|
975 |
-
## 3.2.9.30
|
976 |
-
* Fixed: #1291 - Change of font-family would not trigger preview, or show in open preview.
|
977 |
-
|
978 |
-
## 3.2.9.29
|
979 |
-
* Fixed: #1289 - Typography not retaining size/height/spacing/word/letter spacing settings.
|
980 |
-
|
981 |
-
## 3.2.9.28
|
982 |
-
* Fixed: #1288 - Background color-picker dependency missing. Thanks @farhanwazir.
|
983 |
-
|
984 |
-
## 3.2.9.27
|
985 |
-
* Fixed: Search extension failed do to dependency issue from the core.
|
986 |
-
|
987 |
-
## 3.2.9.26
|
988 |
-
* Fixed: #1281 - color field output/compiler outputting incorrect selector when only one array present.
|
989 |
-
|
990 |
-
## 3.2.9.25
|
991 |
-
* Fixed: Update check only appears once if multiple instances of Redux are loaded in the same wordpress instance.
|
992 |
-
|
993 |
-
## 3.2.9.24
|
994 |
-
* Fixed: Changing font-family in typography didn't trigger 'save changes' notification.
|
995 |
-
* Fixed: More typography: Back up font appearing in font-family when opening selector.
|
996 |
-
* Fixed: Typography: undefined message when NOT using google fonts. Thanks @farhanwazir
|
997 |
-
|
998 |
-
## 3.2.9.23
|
999 |
-
* Added: `customizer_only` argument for fields & sections, contributed by @andreilupu.
|
1000 |
-
|
1001 |
-
## 3.2.9.22
|
1002 |
-
* Fixed: Typography font backup not in sync with font-family.
|
1003 |
-
* Fixed: Typography not saving font-family after switching back and forth between standard
|
1004 |
-
and google fonts.
|
1005 |
-
* Fixed: Background field selects not properly aligned.
|
1006 |
-
|
1007 |
-
## 3.2.9.21
|
1008 |
-
* Added: select2 args for spacing field.
|
1009 |
-
* Modified: All field javascript rewritten using jQuery objects (versus standard function).
|
1010 |
-
Prepping for another crack at group field.
|
1011 |
-
|
1012 |
-
## 3.2.9.20
|
1013 |
-
* Added: select2 args for the following fields: typography, background, border, dimensions and slider.
|
1014 |
-
* Fixed: Removed select field dependency from background field.
|
1015 |
-
|
1016 |
-
## 3.2.9.19
|
1017 |
-
* Fixed: #1264 - Color-picker/transparent checkbox functionality.
|
1018 |
-
* Fixed: Typography fine-tuning.
|
1019 |
-
|
1020 |
-
## 3.2.9.18
|
1021 |
-
* Modified: Typography field rewritten to fill out font-family field dynamically, versus on page load.
|
1022 |
-
* Fixed: All typography select fields render as select2.
|
1023 |
-
|
1024 |
-
## 3.2.9.17
|
1025 |
-
* Fixed: Switching between transparency on and off now restores the last chosen color in
|
1026 |
-
all color fields.
|
1027 |
-
|
1028 |
-
## 3.2.9.16
|
1029 |
-
* Fixed: Redux uploads dir should NOT be ~/wp-content/uploads, but just wp-content.
|
1030 |
-
As per Otto.
|
1031 |
-
* Fixed: Navigation no longer has that annoying outline around the links. Yuk.
|
1032 |
-
|
1033 |
-
## 3.2.9.15
|
1034 |
-
* Fixed: #1218 - Select2 multi select not accepting any keyboard input.
|
1035 |
-
|
1036 |
-
## 3.2.9.14
|
1037 |
-
* Fixed: #1228 - CSS fixes
|
1038 |
-
|
1039 |
-
## 3.2.9.13
|
1040 |
-
* Fixed: #1255 - button_set multi field not saving when all buttons not selected.
|
1041 |
-
|
1042 |
-
## 3.2.9.12
|
1043 |
-
* Fixed: #1254 - Border field with 0px not outputting properly.
|
1044 |
-
* Fixed: #1250 - Typography preview font-size not set in preview.
|
1045 |
-
* Fixed: #1247 - Spacing field not outputting properly in `absolute` mode.
|
1046 |
-
* Modified: Typography previewing hidden until font inputs are changed.
|
1047 |
-
|
1048 |
-
## 3.2.9.11
|
1049 |
-
* Fixed: Vendor js not loading properly when dev_mode = true
|
1050 |
-
* Fixed: Border field not outputting properly.
|
1051 |
-
|
1052 |
-
## 3.2.9.10
|
1053 |
-
* Modified: Centralized import/export code in anticipation of new builder features.
|
1054 |
-
* Fixed: Removed rogue echo statement.
|
1055 |
-
|
1056 |
-
## 3.2.9.9
|
1057 |
-
* Modified: select2 loads only when a field requires it.
|
1058 |
-
|
1059 |
-
## 3.2.9.8
|
1060 |
-
* Modified: More code to load JS on demand for fields require it.
|
1061 |
-
|
1062 |
-
## 3.2.9.7
|
1063 |
-
* Modified: Field specific JS only loads with active field.
|
1064 |
-
* Fixed: Hints stopped working due to classname change.
|
1065 |
-
|
1066 |
-
## 3.2.9.6
|
1067 |
-
* Fixed: Permissions argument on section array not filtering out raw field.
|
1068 |
-
|
1069 |
-
## 3.2.9.5
|
1070 |
-
* Fixed: Too many CSS tweaks to list, due to last build.
|
1071 |
-
* Fixed: Sortable and Sorter fields now sort without page scroll when page size is
|
1072 |
-
under 782px.
|
1073 |
-
* Fixed: Hint icon defaults to left position when screen size is under 782px.
|
1074 |
-
* Fixed: `permissions` argument for fields and sections erasing saved field data. See #1231
|
1075 |
-
|
1076 |
-
## 3.2.9.4
|
1077 |
-
* Modified: Woohoo! Nearly fully responsive. Yanked out all SMOF and NHP field customizations.
|
1078 |
-
Lots of little fixes on all browser screens. This will also greatly benefit Metaboxes
|
1079 |
-
and other areas of Redux.
|
1080 |
-
* Fixed: In dev_mode panel CSS was being loaded 2x.
|
1081 |
-
|
1082 |
-
## 3.2.9.3
|
1083 |
-
* Fixed: Typography color picker bleeding under other elements. #1225
|
1084 |
-
* Fixed: Hint icon_color index error from builder. #1222
|
1085 |
-
|
1086 |
-
## 3.2.9.2
|
1087 |
-
* Fixed: Tracking. It was... odd. Also started our support hooks, UI to come.
|
1088 |
-
* Fixed: Now import/export supports multiple instances. I can't believe this has been this way for so long.
|
1089 |
-
|
1090 |
-
## 3.2.9.1
|
1091 |
-
* Fixed: Spacing field not outputting proper CSS when `mode` was set to absolute, and `all` was set to true.
|
1092 |
-
* Fixed: CSS fix for typography. Color picker would interfere with save/reset bar.
|
1093 |
-
|
1094 |
-
## 3.2.8.21
|
1095 |
-
* Added: Network admin support! Set argument 'database' to network and data will be saved site-wide.
|
1096 |
-
Also two new arguments: network_admin & network_sites for where to show the panel.
|
1097 |
-
|
1098 |
-
## 3.2.8.20
|
1099 |
-
* Fixed: Redux now ignores any directories that begin with `.` in the extension folder. See #1213.
|
1100 |
-
|
1101 |
-
## 3.2.8.19
|
1102 |
-
* Fixed: Redux not saving when validating uploads.
|
1103 |
-
* Modified: Dimension field default now accepts either `units` or `unit`.
|
1104 |
-
|
1105 |
-
## 3.2.8.18
|
1106 |
-
* Fixed: Border field output/compiler formatting. Removed 'inherit' in place of default values. See #1208.
|
1107 |
-
* Fixed: Trim() warning in framework.php when saving. See #1209, #1201.
|
1108 |
-
|
1109 |
-
## 3.2.8.17
|
1110 |
-
* Fixed: Typography not outputting all styles when `all_styles` set to true.
|
1111 |
-
|
1112 |
-
## 3.2.8.16
|
1113 |
-
* Added: `output` argument for `color` and `color_rgba` fields accepts key/pairs for different modes. Example:
|
1114 |
-
```
|
1115 |
-
'output' => array('color' => '.site-title, .site-header', 'background-color' => '.site-background')
|
1116 |
-
```
|
1117 |
-
|
1118 |
-
## 3.2.8.15
|
1119 |
-
* Added: Customizer hook that can be used to simulate the customizer for live preview in the customizer.
|
1120 |
-
`redux/customizer/live_preview`
|
1121 |
-
|
1122 |
-
## 3.2.8.14
|
1123 |
-
* Fixed: 'Cannot send header' issues with typography.
|
1124 |
-
* Modified: Google CSS moved into HEAD via WP enqueue.
|
1125 |
-
|
1126 |
-
## 3.2.8.13
|
1127 |
-
* Added: `class` argument to the Redux Arguments, section array, and metabox array. If set, a class will be
|
1128 |
-
appended to whichever level is used. This allows further customization for our users.
|
1129 |
-
|
1130 |
-
## 3.2.8.12
|
1131 |
-
* Fixed: Small fix for validation if subsection parent is free of errors, remove the red highlight when
|
1132 |
-
not expanded.
|
1133 |
-
* Fixed: Small CSS classes for flashing fonts where web-font-loader.
|
1134 |
-
* Fixed: ASync Flash on fonts. FINALLY. What a pain.
|
1135 |
-
* Modified: Now do a trim on all fields before validating. No need to alert because of a space...
|
1136 |
-
|
1137 |
-
## 3.2.8.11
|
1138 |
-
* Modified: Typography field CSS completely rewritten. All thanks to @eplanetdesign!
|
1139 |
-
* Modified: Validation now works in metaboxes as well as updates numbers as changes occur. Validation for
|
1140 |
-
subsections is SO hot now.
|
1141 |
-
* Modified: Various CSS fixes and improvements.
|
1142 |
-
* Fixed: 3+ JavaScript errors found in the background field. Now works flawlessly.
|
1143 |
-
* Added: disable_save_warn flags to the arguments to disable the "you should save" slidedown.
|
1144 |
-
|
1145 |
-
## 3.2.8.10
|
1146 |
-
* Fixed: PHP warnings in background field. #1173. Thanks, @abossola.
|
1147 |
-
* Fixed: CSS validation not respecting child selector symbol. #1162
|
1148 |
-
|
1149 |
-
## 3.2.8.9
|
1150 |
-
* Modified: Turned of mod_rewrite check.
|
1151 |
-
|
1152 |
-
## 3.2.8.8
|
1153 |
-
* Modified: How errors are displayed, no longer dependent on the ID, now proper classes.
|
1154 |
-
* Fixed: Extra check for typography bug.
|
1155 |
-
* Fixed: Error css alignment issue with subsections.
|
1156 |
-
* Modified: Error notice stays until all errors are gone. Also updates it's number as errors fixed!
|
1157 |
-
|
1158 |
-
## 3.2.8.7
|
1159 |
-
* Modified: Moved google font files to proprietary folder in upload to help with permission issues.
|
1160 |
-
|
1161 |
-
## 3.2.8.6
|
1162 |
-
* Fixed: javascript error in typography field.
|
1163 |
-
|
1164 |
-
## 3.2.8.5
|
1165 |
-
* Fixed: Added a title to the google fonts stylesheet to fix validation errors.
|
1166 |
-
|
1167 |
-
## 3.2.8.4
|
1168 |
-
* Fixed: One more slides field error check, and an extra JS goodie for an extension.
|
1169 |
-
|
1170 |
-
## 3.2.8.3
|
1171 |
-
* Fixed: Leftover debug code messing up slides field.
|
1172 |
-
|
1173 |
-
## 3.2.8.2
|
1174 |
-
* Fixed: More reliable saved action hook.
|
1175 |
-
* Added: Actions hooks for errors and warnings.
|
1176 |
-
|
1177 |
-
## 3.2.8.1
|
1178 |
-
* Fixed: Removed erroneous debug output in link_color field.
|
1179 |
-
|
1180 |
-
## 3.2.7.3
|
1181 |
-
* Added: is_empty / empty / !isset AND not_empty / !empty / isset as required operations
|
1182 |
-
|
1183 |
-
## 3.2.7.2
|
1184 |
-
* Fixed: Reset defaults error.
|
1185 |
-
* Added: `show` argument to turn on and off input boxes in slider.
|
1186 |
-
|
1187 |
-
## 3.2.7.1
|
1188 |
-
* Fixed: Required now works with muti-check fields and button set when set to multi.
|
1189 |
-
|
1190 |
-
## 3.2.7
|
1191 |
-
* Fixed: Import works again. A single line was missed...
|
1192 |
-
|
1193 |
-
## 3.2.6.2
|
1194 |
-
* Fixed: link_color field not outputting CSS properly via compiler or output. Thanks @vertigo7x
|
1195 |
-
* Fixed: Sorter field CSS. Buttons were all smushed together.
|
1196 |
-
|
1197 |
-
## 3.2.6.1
|
1198 |
-
* Fixed: 'undefined' error in typography.js. Thanks @ksere.
|
1199 |
-
|
1200 |
-
## 3.2.6
|
1201 |
-
* Fixed: Another stray undefined index. Oy.
|
1202 |
-
|
1203 |
-
## 3.2.5.1
|
1204 |
-
* Added: `open_expanded` argument to start the panel completely expanded initially.
|
1205 |
-
|
1206 |
-
## 3.2.5
|
1207 |
-
* Fixed: Various bad mistakes. Oy.
|
1208 |
-
|
1209 |
-
## 3.2.4
|
1210 |
-
* Fixed: Slight typography speed improvement. Less HTML hopefully faster page loads.
|
1211 |
-
* Fixed: Unload error on first load if the typography defaults are not set.
|
1212 |
-
|
1213 |
-
## 3.2.3.5
|
1214 |
-
* Modified: Moved update check functions to class file and out of the core.
|
1215 |
-
* Fixed: Errors pertaining to mod_rewrite check.
|
1216 |
-
|
1217 |
-
## 3.2.3.4
|
1218 |
-
* Fixed: All those headers already set errors.
|
1219 |
-
|
1220 |
-
## 3.2.3.3
|
1221 |
-
* Added: $changed_values variable to save hooks denoting the old values on a save.
|
1222 |
-
* Added: Pointers to Extensions on load.
|
1223 |
-
* Modified: CSS Output for the background field.
|
1224 |
-
|
1225 |
-
## 3.2.3.2
|
1226 |
-
* Fixed: Validation error messages not appearing on save.
|
1227 |
-
* Modified: Speed boost on validation types.
|
1228 |
-
* Added: Apache mod_rewrite check. This should solve many issues we've been seeing regarding mod_rewrite noe being enabled.
|
1229 |
-
|
1230 |
-
## 3.2.3.1
|
1231 |
-
* Fixed: Sortable field not saving properly.
|
1232 |
-
* Fixed: Erroneous data in admin.less
|
1233 |
-
* Updated: sample-config.php. Sortable checkbox field example now uses true/false instead of text
|
1234 |
-
meant for textbox example.
|
1235 |
-
|
1236 |
-
## 3.2.3
|
1237 |
-
* Fixed: Responsive issues with spacing and dimension fields.
|
1238 |
-
|
1239 |
-
## 3.2.2.16
|
1240 |
-
* Fixed: Style conflicts with WP 3.9. Added register filter to fields via id.
|
1241 |
-
|
1242 |
-
## 3.2.2.15
|
1243 |
-
* Fixed: Metaboxes issues.
|
1244 |
-
|
1245 |
-
## 3.2.2.14
|
1246 |
-
* Modified: Some admin panel stylings. Now perfect with mobile hover. Also fixed an issue
|
1247 |
-
with the slidedown width for sections. No more 2 empty pixels.
|
1248 |
-
|
1249 |
-
## 3.2.2.13
|
1250 |
-
* Added: Tick mark if section has sub sections. Hidden when subsections expanded.
|
1251 |
-
|
1252 |
-
## 3.2.2.12
|
1253 |
-
* Fixed: Compiler hook in the customizer now passes the CSS.
|
1254 |
-
|
1255 |
-
## 3.2.2.11
|
1256 |
-
* Fixed: Compiler hook now properly fires in the customizer.
|
1257 |
-
|
1258 |
-
## 3.2.2.10
|
1259 |
-
* Fixed: Validation error with headers already being set.
|
1260 |
-
|
1261 |
-
## 3.2.2.9
|
1262 |
-
* Fixed: Added mode for width/height to override dimensions css output.
|
1263 |
-
|
1264 |
-
## 3.2.2.8
|
1265 |
-
* Fixed: Restoring lost formatting from multiple merges.
|
1266 |
-
|
1267 |
-
## 3.2.2.7
|
1268 |
-
* Fixed: New sorter default values get set properly now. ;)
|
1269 |
-
|
1270 |
-
## 3.2.2.6
|
1271 |
-
* Added: `data` and `args` can now be set to sorter! Just make sure to have it be a key based on what
|
1272 |
-
you want it to display as. IE: `array('Main'=>'sidebars')`
|
1273 |
-
|
1274 |
-
## 3.2.2.5
|
1275 |
-
* Added: Prevent Redux from firing on AJAX heartbeat, but added hook for it 'redux/ajax/heartbeat'.
|
1276 |
-
* Fixed: Removed erroneous 's' character from HTML.
|
1277 |
-
|
1278 |
-
## 3.2.2.4
|
1279 |
-
* Added: Check to make sure a field isn't empty after the filter. If it is empty, skip over it.
|
1280 |
-
|
1281 |
-
## 3.2.2.3
|
1282 |
-
* Added: Subsections now show icon if they have it. Show text only (without indent) if they do not.
|
1283 |
-
|
1284 |
-
## 3.2.2.2
|
1285 |
-
* Added: Set a section or field argument of `'panel' => false` to skip over that field or panel and
|
1286 |
-
hide it. It will still be registered with defaults saved, but not display. This can be useful
|
1287 |
-
for things like the customizer.
|
1288 |
-
|
1289 |
-
## 3.2.2.1
|
1290 |
-
* Added: SUBSECTIONS! Just add `'subsection' => true` to any section that isn't a divide/callback and
|
1291 |
-
isn't the first section in your panel. ;)
|
1292 |
-
|
1293 |
-
## 3.2.1.2
|
1294 |
-
* Fixed: Info field didn't intend within section.
|
1295 |
-
|
1296 |
-
## 3.2.1.1
|
1297 |
-
* Fixed: Compiler hook wasn't running.
|
1298 |
-
|
1299 |
-
|
1300 |
-
## 3.1.9.44
|
1301 |
-
* Fixed: Small bug in image_select javascript.
|
1302 |
-
|
1303 |
-
## 3.1.9.43
|
1304 |
-
* Added: Import hook, just because we can. :)
|
1305 |
-
|
1306 |
-
## 3.1.9.42
|
1307 |
-
* Fixed: Customizer now TRULY outputting CSS if output_tag is set to false.
|
1308 |
-
|
1309 |
-
## 3.1.9.41
|
1310 |
-
* Fixed: Reset section, etc. Discovered an odd WordPress thing.
|
1311 |
-
|
1312 |
-
## 3.1.9.40
|
1313 |
-
* Fixed: Image_select size override.
|
1314 |
-
* Fixed: Customizer save not firing the compiler hook.
|
1315 |
-
* Fixed: Customizer not outputting CSS if output_tag is set to false.
|
1316 |
-
* Fixed: Small empty variable check. Undefined index in the defaults generating function.
|
1317 |
-
|
1318 |
-
## 3.1.9.39
|
1319 |
-
* Fixed: WP 3.9 update made editor field button look ugly.
|
1320 |
-
* Fixed: Save hook not firing when save_default set to false.
|
1321 |
-
|
1322 |
-
## 3.1.9.38
|
1323 |
-
* Fixed: Reset section anomalies. Maybe.
|
1324 |
-
|
1325 |
-
## 3.1.9.37
|
1326 |
-
* Fixed: Array of values in required not recognized.
|
1327 |
-
|
1328 |
-
## 3.1.9.36
|
1329 |
-
* Fixed: Updated hint defaults to prevent index warning.
|
1330 |
-
|
1331 |
-
## 3.1.9.35
|
1332 |
-
* Fixed: Removed leftover debug code.
|
1333 |
-
|
1334 |
-
## 3.1.9.34
|
1335 |
-
* Added: New readonly argument for text field.
|
1336 |
-
|
1337 |
-
## 3.1.9.33
|
1338 |
-
* Fixed: Reset/Reset section actions hooks now fire properly.
|
1339 |
-
|
1340 |
-
## 3.1.9.32
|
1341 |
-
* Fixed: When developer uses section field but does not specify an indent argument.
|
1342 |
-
|
1343 |
-
## 3.1.9.31
|
1344 |
-
* Fixed: Dynamic URL for slides
|
1345 |
-
* Fixed: Accidently removed reset action on section reset. Restored.
|
1346 |
-
|
1347 |
-
## 3.1.9.30
|
1348 |
-
* Fixed: Section defaults bug for certain field types.
|
1349 |
-
|
1350 |
-
## 3.1.9.29
|
1351 |
-
* Fixed: Dynamic URL if site URL changed now updates media properly if attachement exists.
|
1352 |
-
|
1353 |
-
## 3.1.9.28
|
1354 |
-
* Fixed: Customizer now correctly does live preview.
|
1355 |
-
|
1356 |
-
## 3.1.9.27
|
1357 |
-
* Fixed: Special enqueue case fix.
|
1358 |
-
|
1359 |
-
## 3.1.9.26
|
1360 |
-
* Added: A few more hooks for defaults and options.
|
1361 |
-
* Fixed: Small undefined index error.
|
1362 |
-
* Added: Section key generation via title.
|
1363 |
-
* Modified: File intending.
|
1364 |
-
|
1365 |
-
## 3.1.9.25
|
1366 |
-
* Fixed: Custom menus not displaying options panel.
|
1367 |
-
|
1368 |
-
## 3.1.9.24
|
1369 |
-
* Fixed: Single checkbox option not retaining checked value.
|
1370 |
-
* Fixed: Border field returning bad CSS in CSS compiler.
|
1371 |
-
|
1372 |
-
## 3.1.9.23
|
1373 |
-
* Fixed: Import/Export fix. Thanks, CGlingener!
|
1374 |
-
|
1375 |
-
## 3.1.9.22
|
1376 |
-
* Added: Save warning now is sticky to the top and responsive.
|
1377 |
-
* Fixed: Mobile fixes for Redux. Looks great on small screens how.
|
1378 |
-
* Fixed: Slight CSS fixes.
|
1379 |
-
* Fixed: Compiler fixes and added notices.
|
1380 |
-
* Added: Import/Export more reasonable text.
|
1381 |
-
|
1382 |
-
## 3.1.9.21
|
1383 |
-
* Added: `force_output` are on the field level to bypass the required check that removes the output
|
1384 |
-
if the field is hidden. Thanks @rffaguiar.
|
1385 |
-
|
1386 |
-
## 3.1.9.20
|
1387 |
-
* Fixed: Rare case (mediatemple grid server) when file_get_contents won't work outside of the
|
1388 |
-
uploads dir. Used curl to grab the font HTML. ;)
|
1389 |
-
|
1390 |
-
## 3.1.9.19
|
1391 |
-
* Fixed: Undefined index for admin bar.
|
1392 |
-
|
1393 |
-
## 3.1.9.18
|
1394 |
-
* Fixed: SMALL issue with WordPress 3.9. Now it works. ;)
|
1395 |
-
|
1396 |
-
## 3.1.9.17
|
1397 |
-
* Fixed: Info and divide field now work with required.
|
1398 |
-
|
1399 |
-
## 3.1.9.16
|
1400 |
-
* Added: Fallback. Now if the media, slides, or background URL doesn't match the site URL, but the
|
1401 |
-
attachment ID is present, the data is updated.
|
1402 |
-
|
1403 |
-
## 3.1.9.15
|
1404 |
-
* Fixed: Last tab not properly set. Slow rendering.
|
1405 |
-
|
1406 |
-
## 3.1.9.14
|
1407 |
-
* Modified: Replaced transients with cookies.
|
1408 |
-
|
1409 |
-
## 3.1.9.13
|
1410 |
-
* Fixed: Undefined variable issues for new required methods.
|
1411 |
-
|
1412 |
-
## 3.1.9.12
|
1413 |
-
* Fixed: Default_show display error with a non-array being steralized.
|
1414 |
-
* Added: Multiple required parent value checking! Booya!
|
1415 |
-
* Fixed: Sections now fold with required.
|
1416 |
-
|
1417 |
-
## 3.1.9.11
|
1418 |
-
* Fixed: select2 not rendering properly when dev_mode = false, because of ace_editor fix.
|
1419 |
-
* Fixed: Removed mistakenly compiled test code from redux.js.
|
1420 |
-
|
1421 |
-
## 3.1.9.10
|
1422 |
-
* Fixed: ace_editor not rendering properly in certain instances.
|
1423 |
-
* Modified: Small change to import_export field in checking for existing instance of itself.
|
1424 |
-
|
1425 |
-
## 3.1.9.9
|
1426 |
-
* Fixed: import_export not rendering when the menutype argument was set to menu
|
1427 |
-
|
1428 |
-
## 3.1.9.8
|
1429 |
-
* Fixed: Ace_editor not enqueued unless used. MEMORY HOG.
|
1430 |
-
|
1431 |
-
## 3.1.9.7
|
1432 |
-
* Fixed: Color_Gradient transparency to was being auto-selected if from way transparent.
|
1433 |
-
* Fixed: Enqueue select with slider for local dev.
|
1434 |
-
|
1435 |
-
## 3.1.9.6
|
1436 |
-
* Modified: removed add_submenu_page when creating a submenu for us in the WP admin area. WP
|
1437 |
-
approved API is used in it's place to being Redux up to wp.org theme check standards.
|
1438 |
-
|
1439 |
-
## 3.1.9.5
|
1440 |
-
* Fixed: Massive speed issue with button_set. Resolved.
|
1441 |
-
* Fixed: Issue where default values throws an error if ID is not set.
|
1442 |
-
|
1443 |
-
## 3.1.9.4
|
1444 |
-
* Fixed: Continuing effort to ensure proper loading of config from child themes.
|
1445 |
-
|
1446 |
-
## 3.1.9.3
|
1447 |
-
* Fixed: Import/Export array search bug if section['fields'] is not defined.
|
1448 |
-
|
1449 |
-
## 3.1.9.2
|
1450 |
-
* Fixed: Inconsistencies in import/export across different versions of PHP.
|
1451 |
-
|
1452 |
-
## 3.1.9.1
|
1453 |
-
* Fixed: Redux checks for child or parent theme exclusively before loading.
|
1454 |
-
|
1455 |
-
## 3.1.9
|
1456 |
-
* Updated: RGBA Field stability. Thank you, SilverKenn.
|
1457 |
-
|
1458 |
-
## 3.1.8.23
|
1459 |
-
* Modified: Separated Import/Export from the core. It can now be used as a field.
|
1460 |
-
|
1461 |
-
## 3.1.8.22
|
1462 |
-
* Fixed: Typography custom preview text/size not outputting.
|
1463 |
-
* Fixed: No font selected in typography would default to 'inherit'.
|
1464 |
-
* Fixed: Hint feature kicking back a notice if no title was specified.
|
1465 |
-
|
1466 |
-
## 3.1.8.21
|
1467 |
-
* Fixed: Sortable field, when used a checkboxes, were all checked by default, even when set not to be.
|
1468 |
-
* Fixed: button_set field not setting properly in multi mode.
|
1469 |
-
|
1470 |
-
## 3.1.8.20
|
1471 |
-
* Fixed: Javascript console object not printing options object.
|
1472 |
-
* Fixed: Load errors from child themes no longer occur.
|
1473 |
-
|
1474 |
-
## 3.1.8.19
|
1475 |
-
* Modified: Typography word and letter spacing now accept negative values.
|
1476 |
-
* Modified: Typography preview shows spaces between upper and lower case groupings.
|
1477 |
-
* Fixed: Compiler output for slider field.
|
1478 |
-
|
1479 |
-
## 3.1.8.18
|
1480 |
-
* Fixed: update_check produced a fatal error on a local install with no internet connection.
|
1481 |
-
* Modified: Google font CSS moved to header so pages will pass HTML5 validation.
|
1482 |
-
|
1483 |
-
## 3.1.8.17
|
1484 |
-
* Fixed: Compiler hook failing on slider.
|
1485 |
-
|
1486 |
-
## 3.1.8.16
|
1487 |
-
* Fixed: Error on update_check when the response code was something other than 200.
|
1488 |
-
* Modified: Removed Google font CSS line from header (because it's in the footer via wp_enqueue_style.
|
1489 |
-
|
1490 |
-
## 3.1.8.15
|
1491 |
-
* Added: Admin notice for new builds of Redux on Github as they become available. This feature is
|
1492 |
-
available on in dev_mode, and may be turned off by setting the `update_notice` argument to
|
1493 |
-
false. See the Arguments page of the wiki for more details.
|
1494 |
-
* Added: text-transform option for the typography field.
|
1495 |
-
* Fixed: image_select images not resizing properly in FF and IE.
|
1496 |
-
* Fixed: Layout for the typography field, so everything isn't smushed together. The new layout is
|
1497 |
-
as follows:
|
1498 |
-
[family-font] [backup-font]
|
1499 |
-
[style] [script] [align] [transform]
|
1500 |
-
[size] [height] [word space] [letter space]
|
1501 |
-
[color]
|
1502 |
-
|
1503 |
-
## 3.1.8.14
|
1504 |
-
* Added: Newsletter sign-up popup at first load of the Redux options panel.
|
1505 |
-
|
1506 |
-
## 3.1.8.12
|
1507 |
-
* Added: Added PHP 5.2 support for import/export.
|
1508 |
-
|
1509 |
-
## 3.1.8.11
|
1510 |
-
* Added: Action hooks for options reset and options reset section.
|
1511 |
-
* Added: Theme responsive for date picker.
|
1512 |
-
|
1513 |
-
## 3.1.8.10
|
1514 |
-
* Added: New slider. Better looking UI, double handles and support for floating
|
1515 |
-
point values. See the wiki for more info.
|
1516 |
-
|
1517 |
-
## 3.1.8.9
|
1518 |
-
* Fixed: link_color field showing notice on default, if user enters no defaults.
|
1519 |
-
* Fixed: Fixed tab notice in framework.php if no tab parameter is set in URL.
|
1520 |
-
|
1521 |
-
## 3.1.8.8
|
1522 |
-
* Added: Typography improvements.
|
1523 |
-
|
1524 |
-
## 3.1.8.7
|
1525 |
-
* Added: Hints! More info: https://github.com/ReduxFramework/ReduxFramework/wiki/Using-Hints-in-Fields
|
1526 |
-
|
1527 |
-
## 3.1.8.6
|
1528 |
-
* Added: Complete Wordpress admin color styles. Blessed LESS/SCSS mixins. ;)
|
1529 |
-
|
1530 |
-
## 3.1.8.5
|
1531 |
-
* Added: Font family not required for the typography module any longer.
|
1532 |
-
|
1533 |
-
## 3.1.8.4
|
1534 |
-
* Added: Support for using the divide field in folding.
|
1535 |
-
* Added: Error trapping in typography.js for those still attempting to use
|
1536 |
-
typography with no font-family.
|
1537 |
-
|
1538 |
-
## 3.1.8.3
|
1539 |
-
* Added: Full asynchronous font loading.
|
1540 |
-
*
|
1541 |
-
## 3.1.8.2
|
1542 |
-
* Added: email_not_empty validation field.
|
1543 |
-
* Reverted: email validation field only checks for valid email. not_empty check moved
|
1544 |
-
to new validation field.
|
1545 |
-
|
1546 |
-
## 3.1.8.1
|
1547 |
-
* Fixed: Hide demo hook wasn't hiding demo links.
|
1548 |
-
|
1549 |
-
## 3.1.8
|
1550 |
-
* Fixed: Improper enqueue in tracking class.
|
1551 |
-
* Fixed: Few classes missed for various fields.
|
1552 |
-
* Fixed: Spacing field kicking back notices and warnings when 'output' wasn't set.
|
1553 |
-
* Modified: Added file_exists check to all include lines in framework.php
|
1554 |
-
* Fixed: Background field now works with dynamic preview as it should.
|
1555 |
-
* Fixed: Extension fields now enqueueing properly.
|
1556 |
-
* Added: Text-align to typography field.
|
1557 |
-
* Fixed: Servers returning forwards slashes in TEMPLATEPATH, while Redux is installed
|
1558 |
-
embedded would not show options menu.
|
1559 |
-
* Fixed: On and Off for switch field not displaying language translation.
|
1560 |
-
* Fixed: email validation allowing a blank field.
|
1561 |
-
* Fixed: Now allow for empty values as valid keys.
|
1562 |
-
* Added: Dismiss option to admin notices (internal function)
|
1563 |
-
|
1564 |
-
## 3.1.6
|
1565 |
-
* Fixed: CSS spacing issue
|
1566 |
-
* Fixed: Customizer now works and doesn't break other customizer fields outside of Redux.
|
1567 |
-
* Fixed: Several minor bug fixes
|
1568 |
-
* Added: Metabox support via extension http://reduxframework.com/extensions/
|
1569 |
-
* Added: Admin-bar menu
|
1570 |
-
* Fixed: Section field now folds.
|
1571 |
-
* Fixed: wp_content_dir path now handles double forward slashes.
|
1572 |
-
* Fixed: Typography field missing italics in Google fonts.
|
1573 |
-
* Fixed: Default color in border field not saving properly.
|
1574 |
-
* Fixed: hex2rgba in class.redux_helpers.php changed to static.
|
1575 |
-
* Fixed: 'sortable' field type not saving options as default.
|
1576 |
-
* Fixed: Specified default color not set when clicking the color box default button.
|
1577 |
-
* Fixed: Sorter field options are now saved as default in database.
|
1578 |
-
* Fixed: Issues with checkboxes displaying default values instead of labels.
|
1579 |
-
* Fixed: Outstanding render issues with spacing field.
|
1580 |
-
* Fixed: Plugins using Redux from load failure.
|
1581 |
-
* Fixed: 'not_empty' field validation.
|
1582 |
-
* Fixed: Media field.
|
1583 |
-
* Added: 'read-only' option for media text field.
|
1584 |
-
* Added: 'mode' option to image_select, so CSS output element may be specified.
|
1585 |
-
* Added: Admin Bar menu for option panel.
|
1586 |
-
* Modified: Removed raw_align field and added align option to raw field.
|
1587 |
-
See wiki for more info.
|
1588 |
-
* Modified: media field 'read-only' to 'readonly' to vonform to HTML standards.
|
1589 |
-
* Removed: EDD extension. It never belonged in Core and will be re-released as a
|
1590 |
-
downloadable extension shortly
|
1591 |
-
* Removed: Group field, temporarily.
|
1592 |
-
* Removed: wp_get_current_user check.
|
1593 |
-
|
1594 |
-
## 3.1.5
|
1595 |
-
* Typography font arrays may not contain comma spaces.
|
1596 |
-
* Merge in pull request - 542, code cleanup and better readability
|
1597 |
-
* Change how HTML is output to support metaboxes
|
1598 |
-
* CSS only on pages that matter, better checks.
|
1599 |
-
* font-backup in typography now appends to font-family in output and compiler.
|
1600 |
-
* More fixes for Google font css outputting.
|
1601 |
-
* Addded output and compiler to field_image_select. Images will be output as 'background-image'.
|
1602 |
-
* Fixed output in field_background.
|
1603 |
-
* Prevent standard fonts from outputting to Google fonts CSS call.
|
1604 |
-
* class_exists in field_section checking for incorrect classname.
|
1605 |
-
* sample_config fix.
|
1606 |
-
* Compiler not outputting CSS without output set to comthing other than false.
|
1607 |
-
* Google fonts not rendering on frontend.
|
1608 |
-
* Rewrote sample_config as a class
|
1609 |
-
|
1610 |
-
## 3.1.4
|
1611 |
-
* Fixed error in redux-framework.php.
|
1612 |
-
* Added select_image field.
|
1613 |
-
|
1614 |
-
## 3.1.3
|
1615 |
-
* Fixed a few undefined variables
|
1616 |
-
* Removed old code from the repo.
|
1617 |
-
* Fix for validation.
|
1618 |
-
* Remove the compiler hook by default.
|
1619 |
-
* Fix to sortable field.
|
1620 |
-
* Added an extra check for link color. Removes user error.
|
1621 |
-
* Localization updates.
|
1622 |
-
* Error in slides.
|
1623 |
-
* Fixed the info box bug with spacing and padding.
|
1624 |
-
* Fixed the first item in each section having WAY too much padding. ;)
|
1625 |
-
* Fixed section reset issue where values weren't being saved to the db properly.
|
1626 |
-
|
1627 |
-
## 3.1.2
|
1628 |
-
* Feature - Sortable select boxes!
|
1629 |
-
* Feature - Reset a section only or the whole panel!
|
1630 |
-
* New Field - RGBA Color Field!
|
1631 |
-
* Improvement - Use of REM throughout.
|
1632 |
-
* Fixed Typography - Fix output option and various small bugs.
|
1633 |
-
* Fixed Border - Fix output option and various small bugs.
|
1634 |
-
* Fixed Dimensions - Fix output option and various small bugs.
|
1635 |
-
* Fixed Image_select - Various small bugs.
|
1636 |
-
* Fixed Slides - Various small bugs.
|
1637 |
-
* Fixed Sortable - Using native jQuery UI library same as within WordPress.
|
1638 |
-
* Fixed Slider and Spinner Input Field - Values now move to the closest valid
|
1639 |
-
value in regards to the step, automatically.
|
1640 |
-
* Fixed Ace Editor
|
1641 |
-
* FEATURE - All CSS/JS files are compiled into a single file now! Speed
|
1642 |
-
improvements for the backend.
|
1643 |
-
* Fix in how WordPress data is received, improved some output.
|
1644 |
-
* Fix for various fields not triggering fold/compiler/save.
|
1645 |
-
* Fixed elusive icons to use the new version and classes.
|
1646 |
-
* Fixed media thumb to only be the thumbnail version.
|
1647 |
-
* Fixed admin https error with WordPress core not renaming URL.
|
1648 |
-
* Placeholders throughout the framework are now properly there.
|
1649 |
-
* Feature - Setting to not save defaults to database on load.
|
1650 |
-
* Fixed - Computability issue with GT3 builder.
|
1651 |
-
* Fixed localization issue with default values.
|
1652 |
-
* Language - Added Russian
|
1653 |
-
* Feature - Media now can have any content type passed in to limit content types.
|
1654 |
-
* Allow negative values in typography and other fields.
|
1655 |
-
* WordPress 3.8 computability.
|
1656 |
-
* CSS validation issue.
|
1657 |
-
* Feature - User contributed text direction feature.
|
1658 |
-
* EDD Extension now fully function for plugins or themes.
|
1659 |
-
* Removed get_theme_data() fallbacks, we're well pass WordPress 3.4 now. ;)
|
1660 |
-
* A ton of other small updates and improvements.
|
1661 |
-
|
1662 |
-
## 3.1.0
|
1663 |
-
* Fix Issue 224 - Image Select width was breaking the panel.
|
1664 |
-
* Fix Issue 181 - Broken panel in firefox
|
1665 |
-
* Fix Issue 225 - 0px typography bug. Thanks @partnuz.
|
1666 |
-
* Fix Issue 228 - Resolved a duplicated enqueue on color_link field. Thanks @vertigo7x.
|
1667 |
-
* Fix Issue 231 - Field spacing bug fixes.
|
1668 |
-
* Fix Issue 232 & 233 - Dimensions: bug fix with units and multiple units. Thanks @kpodemski
|
1669 |
-
* Fix Issue 234 - Pass options as a ref so validating actions can modify/sanitize them. Thanks @ZeroBeeOne
|
1670 |
-
* Fix Issue 222 - Tab cookie function wasn't working.
|
1671 |
-
* Feature - Pass params to Select2. Thanks @andreilupu
|
1672 |
-
* Fix Issue 238 - Fix for conditional output. Thanks @partnuz.
|
1673 |
-
* Fix Issue 211 - Google Web font wasn't loading at first init of theme.
|
1674 |
-
* Fix Issue 210 - Elusive Icons update. Changed classes to force use of full elusive name.
|
1675 |
-
* Fix Issue 247 - Media thumbnails were not showing. Also fixed media to keep the largest file, but display the small
|
1676 |
-
version in the panel as a thumb. Thanks @kwayyinfotech.
|
1677 |
-
* Fix Issue 144 - JS error when no item found in slider.
|
1678 |
-
* Fix Issue 246 - Typography output errors.
|
1679 |
-
* Feature & Issue 259 - Multi-Text now support validation!
|
1680 |
-
* Fix Issue 248/261 - Links color issue. Also fixed color validation.
|
1681 |
-
* Feature & Issue 262 - Now registered sidebars can be used as a data type.
|
1682 |
-
* Fix Issue 194/276 - Custom taxonomy terms now passing properly. Thanks @kprovance.
|
1683 |
-
* Feature & Issue 273 - Argument save_defaults: Disable the auto-save of the default options to the database if not set.
|
1684 |
-
* Feature - Docs now being moved to the wiki for community participation.
|
1685 |
-
* Issue 283 - Date placeholder. Thanks @kprovance.
|
1686 |
-
* Issue 285 - HTTPS errors on admin. Known WordPress bug. Resolved.
|
1687 |
-
* Fix Issue 288 - Float values now possible for border, dimensions, and spacing.
|
1688 |
-
* Feature - Media field can now accept non-image files with a argument being set.
|
1689 |
-
* Fix Issue 252 - Post Type data wasn't working properly. Thanks @Abu-Taymiyyah.
|
1690 |
-
* Fix Issue 213 - Radio and Button Set wasn't folding.
|
1691 |
-
|
1692 |
-
## 3.0.9
|
1693 |
-
* Feature - Added possibility to set default icon class for all sections and tabs.
|
1694 |
-
* Feature - Make is to the WP dir can be moved elsewhere and Redux still function.
|
1695 |
-
* Added Spanish Language. Thanks @vertigo7x.
|
1696 |
-
* Fix Issue 5 - Small RGBA validation fix.
|
1697 |
-
* Fix Issue 176 - Fold by Image Select. Thanks @andreilupu.
|
1698 |
-
* Fix Issue 194 - Custom taxonomy terms in select field.
|
1699 |
-
* Fix Issue 195 - Border defaults not working.
|
1700 |
-
* Fix Issue 197 - Hidden elements were showing up on a small screen. Thanks @ThinkUpThemes.
|
1701 |
-
* Fix issue 200 - Compiler not working with media field.
|
1702 |
-
* Fix Issue 201 - Spacing field not using default values.
|
1703 |
-
* Fix Issue 202 - Dimensions field not using units.
|
1704 |
-
* Fix Issue 208 - Checkbox + Required issue.
|
1705 |
-
* Fix Issue 211 - Google Font default not working on page load.
|
1706 |
-
* Fix Issue 214 - Validation notice not working for fields.
|
1707 |
-
* Fix Issue 181/224 - Firefox 24 image resize errors.
|
1708 |
-
* Fix Issue 223 - Slides were losing the url input field for the image link.
|
1709 |
-
* Fix - Various issues in the password field.
|
1710 |
-
* Fixed various spelling issues and typos in sample-config file.
|
1711 |
-
* Initialize vars before extract() - to shut down undefined vars wargnings.
|
1712 |
-
* Various other fixes.
|
1713 |
-
|
1714 |
-
## 3.0.8
|
1715 |
-
* Version push to ensure all bugs fixes were deployed to users. Various.
|
1716 |
-
|
1717 |
-
## 3.0.7
|
1718 |
-
* Feature - Completely redone spacing field. Choose to apply to sides or all at once with CSS output!
|
1719 |
-
* Feature - Completely redone border field. Choose to apply to sides or all at once with CSS output!
|
1720 |
-
* Feature - Added opt-in anonymous tracking, allowing us to further analyze usage.
|
1721 |
-
* Feature - Enable weekly updates of the Google Webfonts cache is desired. Also remove the Google Webfont files from
|
1722 |
-
shipping with Redux. Will re-download at first panel run to ensure users always have the most recent copy.
|
1723 |
-
* Language translation of german updated alone with ReduxFramework pot file.
|
1724 |
-
* Fix Issue 146 - Spacing field not storing data.
|
1725 |
-
* Fix - Firefox field description rendering bug.
|
1726 |
-
* Fix - Small issue where themes without tags were getting errors from the sample data.
|
1727 |
-
|
1728 |
-
## 3.0.6
|
1729 |
-
* Hide customizer fields by default while still under development.
|
1730 |
-
* Fix Issue 123 - Language translations to actually function properly embedded as well as in the plugin.
|
1731 |
-
* Fix Issue 151 - Media field uses thumbnail not full image for preview. Also now storing the thumbnail URL. Uses
|
1732 |
-
the smallest available size as the thumb regardless of the name.
|
1733 |
-
* Fix Issue 147 - Option to pass params to select2. Contributed by @andreilupu. Thanks!
|
1734 |
-
* Added trim function to ace editor value to prevent whitespace before and after value keep being added
|
1735 |
-
* htmlspecialchars() value in pre editor for ace. to prevent html tags being hidden in editor and rendered in dom
|
1736 |
-
* Feature: Added optional 'add_text' argument for multi_text field so users can define button text.
|
1737 |
-
* Added consistent remove button on multi text, and used sanitize function for section id
|
1738 |
-
* Feature: Added roles as data for field data
|
1739 |
-
* Feature: Adding data layout options for multi checkbox and radio, we now have quarter, third, half, and full
|
1740 |
-
column layouts for these fields.
|
1741 |
-
* Feature: Eliminate REDUX_DIR and REDUX_URL constants and instead created static ReduxFramework::$\_url and
|
1742 |
-
ReduxFramework::$\_dir for cleaner code.
|
1743 |
-
* Feature: Code at bottom of sample-config.php to hide plugin activation text about a demo plugin as well as
|
1744 |
-
code to demo how to hide the plugin demo_mode link.
|
1745 |
-
* Started work on class definitions of each field and class. Preparing for the panel builder we are planning to make.
|
1746 |
-
|
1747 |
-
## 3.0.5
|
1748 |
-
* Fixed how Redux is initialised so it works in any and all files without hooking into the init function.
|
1749 |
-
* Issue #151: Added thumbnails to media and displayed those instead of full image.
|
1750 |
-
* Issue #144: Slides had error if last slide was deleted.
|
1751 |
-
* Color field was outputting hex in the wrong location.
|
1752 |
-
* Added ACE Editor field, allowing for better inline editing.
|
1753 |
-
|
1754 |
-
## 3.0.4
|
1755 |
-
* Fixed an odd saving issue.
|
1756 |
-
* Fixed link issues in the framework
|
1757 |
-
* Issue #135: jQuery UI wasn't being properly queued
|
1758 |
-
* Issue #140: Admin notice glitch. See http://reduxframework.com/2013/10/wordpress-notifications-custom-options-panels/
|
1759 |
-
* Use hooks instead of custom variable for custom admin CSS
|
1760 |
-
* Added "raw" field that allows PHP or a hook to embed anything in the panel.
|
1761 |
-
* Submenus in Admin now change the tabs without reloading the page.
|
1762 |
-
* Small fix for multi-text.
|
1763 |
-
* Added IT_it and RO_ro languages.
|
1764 |
-
* Updated readme file for languages.
|
1765 |
-
|
1766 |
-
## 3.0.3
|
1767 |
-
* Fixed Issue #129: Spacing field giving an undefined.
|
1768 |
-
* Fixed Issue #131: Google Fonts stylesheet appending to body and also to the top of the header. Now properly placed
|
1769 |
-
both at the end of the head tag as to overload any theme stylesheets.
|
1770 |
-
* Fixed issue #132 (See #134, thanks @andreilupu): Could not have multiple WordPress Editors (wp_editor) as the
|
1771 |
-
same ID was shared. Also fixed various styles to match WordPress for this field.
|
1772 |
-
* Fixed Issue #133: Issue when custom admin stylesheet was used, a JS error resulted.
|
1773 |
-
|
1774 |
-
## 3.0.2
|
1775 |
-
* Improvements to slides, various field fixes and improvements. Also fixed a few user submitted issues.
|
1776 |
-
|
1777 |
-
## 3.0.1
|
1778 |
-
* Backing out a bit of submitted code that caused the input field to not properly break.
|
1779 |
-
|
1780 |
-
## 3.0.0
|
1781 |
-
* Initial WordPress.org plugin release.
|
1782 |
-
|
1783 |
-
## 3.0
|
1784 |
-
Redux is now hosted on WordPress.org! Update in order to get proper, stable updates.
|
1785 |
-
|
1786 |
-
* Removed get() and show()
|
1787 |
-
* Fixed huge performance bug
|
1788 |
-
* More bugfixes
|
1789 |
-
* Fixed spacing field
|
1790 |
-
* Converted Redux to run as an auto-updating plugin. Getting ready to post to WordPress.org
|
1791 |
-
* Fixed the auto updater to properly show changes since the last update
|
1792 |
-
* Various fields including link_color, spacing, dimensions
|
1793 |
-
* Compiler hooks to allow developers to generate CSS files only when needed
|
1794 |
-
* Stability and standardizing in HTML output throughout
|
1795 |
-
* PHP/CSS/JS fixes
|
1796 |
-
* Compress JS and use LESS (and compressed CSS) throughout
|
1797 |
-
|
1798 |
-
## Version 3.0.0 Beta (September 12, 2013)
|
1799 |
-
|
1800 |
-
* Massive code overhaul
|
1801 |
-
* Replaced redundant field types with data elements
|
1802 |
-
* Migrated to company repo
|
1803 |
-
* Added several new storage methods
|
1804 |
-
* Numerous bugfixes
|
1805 |
-
* Renamed std argument to default
|
1806 |
-
* Added MP6 support
|
1807 |
-
* Complete CSS rewrite
|
1808 |
-
* Globals are now conditional
|
1809 |
-
* Added nesting support
|
1810 |
-
* Added repeatable field
|
1811 |
-
* Restyled Dev Mode
|
1812 |
-
* Added System Info tab
|
1813 |
-
* Added compiler hooks
|
1814 |
-
* Added style and icon support to info field
|
1815 |
-
* Switched to Elusive Icons
|
1816 |
-
* Huge performance updates
|
1817 |
-
|
1818 |
-
## Version 2.0.1 Final (September 1, 2013)
|
1819 |
-
|
1820 |
-
* Added option to override ```icon_type``` per icon
|
1821 |
-
* Minor bug/versioning fixes
|
1822 |
-
* Added Font Awesome intro
|
1823 |
-
* Added ```raw_html``` option
|
1824 |
-
* Added ```text_sortable``` option
|
1825 |
-
* Switched from Aristo to Bootstrap jQuery UI theme
|
1826 |
-
|
1827 |
-
## Version 2.0.0 (January 31, 2013)
|
1828 |
-
|
1829 |
-
* Fixed SSL error which occurred occasionally with Google Webfonts
|
1830 |
-
* Added optional flag for ```wpautop``` on editors
|
1831 |
-
* Added password field type
|
1832 |
-
* Added ```checkbox_hide_all``` option
|
1833 |
-
* Added WP3.5 media chooser
|
1834 |
-
* Added Google webfonts previews
|
1835 |
-
* Updated to WP3.5 color picker
|
1836 |
-
* Minor style tweaks
|
1837 |
-
* Added graphical 'switch' option for checkboxes
|
1838 |
-
* Removed dependency on class extension for fields
|
1839 |
-
* Deprecated icons in favor of iconfonts
|
1840 |
-
|
1841 |
-
## Version 1.0.0 (December 5, 2012)
|
1842 |
-
|
1843 |
-
* Based on NHP Theme Options Framework v1.0.6
|
1844 |
-
* Cleaned up codebase
|
1845 |
-
* Changed option group name to allow multiple instances
|
1846 |
-
* Changed checkbox name attribute to id
|
1847 |
-
* Added rows attribute to textareas
|
1848 |
-
* Removed extra linebreak in upload field
|
1849 |
-
* Set default menu position to null to avoid conflicts
|
1850 |
-
* Added sample content for dashboard credit line
|
1851 |
-
* Minor style changes
|
1852 |
-
* Changed name of upload button
|
1853 |
-
* Refactored Google Webfonts function
|
1854 |
-
* Replaced ```stylesheet_override``` with ```admin_stylesheet```
|
1855 |
-
* Made text domain a constant
|
1856 |
-
* Removed PHP closing tags to prevent issues with newlines
|
1857 |
-
* Added option to define custom start tab
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/CONTRIBUTING.md
DELETED
@@ -1,27 +0,0 @@
|
|
1 |
-
First and foremost, PLEASE check to see if you are using the latest version of Redux by checking the repository. If you plan on reporting an issue with any version BUT the latest version, we are going to ask you to upgrade to the latest code base anyway to see if your issue persists. Please save us and yourself some time by taking this simple step first. Thanks!
|
2 |
-
|
3 |
-
When submitting a ticket, please make sure you include the following information, It is critical, and required. As Team Redux has not yet earned their certificates in mind reading, we need you to provide for us the following information. :)
|
4 |
-
|
5 |
-
1. The version of Redux you are using. Please do not say 'the latest version' as what you perceive as the latest and what might be the latest could easily be two different things. At the bottom of the Redux options panel is a four digit version number. Please include it.
|
6 |
-
|
7 |
-
2. The version of Wordpress you are running.
|
8 |
-
|
9 |
-
3. Please indicate if you are using Redux in dev_mode.
|
10 |
-
|
11 |
-
4. If you are having difficultly with a particular field, please include the config code for that entire field. If the field is dependent on other fields in the section (for example, required arguments are used), then please include the entire section.
|
12 |
-
|
13 |
-
5. If you are having difficulty with configuration, please specify if you are using a standalone theme, a child theme, a plugin, etc.
|
14 |
-
|
15 |
-
6. Please indicate if you are using Redux as a plugin or embedded in your project.
|
16 |
-
|
17 |
-
7. Please check your browser's output console. If there are any javascript errors pertaining to redux, please list them, including the module/file they occurred in and the line number
|
18 |
-
|
19 |
-
The follow only applies if Redux is not loading properly:
|
20 |
-
|
21 |
-
8. If you are using Redux embedded, please specify the location in which Redux is installed, where you config is located, and the lines of code you are using to initialize Redux and your config.
|
22 |
-
|
23 |
-
The way in which we diagnose bugs or config difficulties is to attempt to recreate them on our end. This is why we need the very specific information. Once we are able to confirm the issue, we will either push an update, or assist you in correcting any mistakes in your config.
|
24 |
-
|
25 |
-
What we do NOT do is debug your code. We support the Redux code and the way in which the config is put together. Any other issue pertaining to your project is your own, or we might be able to assist with premium support.
|
26 |
-
|
27 |
-
- Team Redux
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/Gruntfile.js
DELETED
@@ -1,439 +0,0 @@
|
|
1 |
-
/* jshint node:true */
|
2 |
-
var shell = require( 'shelljs' );
|
3 |
-
|
4 |
-
module.exports = function( grunt ) {
|
5 |
-
|
6 |
-
// Project configuration.
|
7 |
-
grunt.initConfig(
|
8 |
-
{
|
9 |
-
pkg: grunt.file.readJSON( 'package.json' ),
|
10 |
-
|
11 |
-
concat: {
|
12 |
-
options: {
|
13 |
-
separator: ';'
|
14 |
-
},
|
15 |
-
core: {
|
16 |
-
src: [
|
17 |
-
'ReduxCore/assets/js/vendor/cookie.js',
|
18 |
-
'ReduxCore/assets/js/vendor/jquery.typewatch.js',
|
19 |
-
'ReduxCore/assets/js/vendor/jquery.serializeForm.js',
|
20 |
-
'ReduxCore/assets/js/vendor/jquery.alphanum.js',
|
21 |
-
'ReduxCore/assets/js/redux.js'
|
22 |
-
],
|
23 |
-
dest: 'ReduxCore/assets/js/redux.min.js'
|
24 |
-
},
|
25 |
-
vendor: {
|
26 |
-
src: [
|
27 |
-
'ReduxCore/assets/js/vendor/cookie.js',
|
28 |
-
'ReduxCore/assets/js/vendor/jquery.serializeForm.js',
|
29 |
-
'ReduxCore/assets/js/vendor/jquery.typewatch.js',
|
30 |
-
'ReduxCore/assets/js/vendor/jquery.alphanum.js'
|
31 |
-
],
|
32 |
-
dest: 'ReduxCore/assets/js/vendor.min.js'
|
33 |
-
}
|
34 |
-
},
|
35 |
-
'gh-pages': {
|
36 |
-
options: {
|
37 |
-
base: 'docs',
|
38 |
-
message: 'Update docs and files to distribute'
|
39 |
-
},
|
40 |
-
dev: {
|
41 |
-
src: ['docs/**/*', 'bin/CNAME']
|
42 |
-
},
|
43 |
-
travis: {
|
44 |
-
options: {
|
45 |
-
repo: 'https://' + process.env.GH_TOKEN + '@github.com/ReduxFramework/docs.reduxframework.com.git',
|
46 |
-
user: {
|
47 |
-
name: 'Travis',
|
48 |
-
email: 'travis@travis-ci.org'
|
49 |
-
},
|
50 |
-
silent: false
|
51 |
-
},
|
52 |
-
src: ['**/*']
|
53 |
-
}
|
54 |
-
},
|
55 |
-
uglify: {
|
56 |
-
fields: {
|
57 |
-
files: [
|
58 |
-
{
|
59 |
-
expand: true,
|
60 |
-
cwd: 'ReduxCore/inc/fields',
|
61 |
-
src: ['**/*.js', '!**/*.min.js', '!ace_editor/vendor/*.js', '!ace_editor/vendor/snippets/*.js', '!slider/vendor/nouislider/*.*', '!spinner/vendor/*.*'],
|
62 |
-
ext: '.min.js',
|
63 |
-
dest: 'ReduxCore/inc/fields'
|
64 |
-
}
|
65 |
-
]
|
66 |
-
},
|
67 |
-
extensions: {
|
68 |
-
files: [
|
69 |
-
{
|
70 |
-
expand: true,
|
71 |
-
cwd: 'ReduxCore/inc/extensions',
|
72 |
-
src: ['**/*.js', '!**/*.min.js'],
|
73 |
-
ext: '.min.js',
|
74 |
-
dest: 'ReduxCore/inc/extensions'
|
75 |
-
}
|
76 |
-
]
|
77 |
-
},
|
78 |
-
core: {
|
79 |
-
files: {
|
80 |
-
'ReduxCore/assets/js/redux.min.js': [
|
81 |
-
'ReduxCore/assets/js/redux.min.js'
|
82 |
-
],
|
83 |
-
'ReduxCore/assets/js/vendor/spectrum/redux-spectrum.min.js': [
|
84 |
-
'ReduxCore/assets/js/vendor/spectrum/redux-spectrum.js'
|
85 |
-
],
|
86 |
-
'ReduxCore/assets/js/vendor/redux.select2.sortable.min.js': [
|
87 |
-
'ReduxCore/assets/js/vendor/redux.select2.sortable.js'
|
88 |
-
],
|
89 |
-
'ReduxCore/assets/js/media/media.min.js': [
|
90 |
-
'ReduxCore/assets/js/media/media.js'
|
91 |
-
]
|
92 |
-
}
|
93 |
-
|
94 |
-
},
|
95 |
-
vendor: {
|
96 |
-
files: {
|
97 |
-
'ReduxCore/assets/js/vendor.min.js': [
|
98 |
-
'ReduxCore/assets/js/vendor.min.js'
|
99 |
-
]
|
100 |
-
}
|
101 |
-
}
|
102 |
-
},
|
103 |
-
qunit: {
|
104 |
-
files: ['test/qunit/**/*.html']
|
105 |
-
},
|
106 |
-
|
107 |
-
// JavaScript linting with JSHint.
|
108 |
-
jshint: {
|
109 |
-
options: {
|
110 |
-
jshintrc: '.jshintrc'
|
111 |
-
},
|
112 |
-
files: [
|
113 |
-
//'Gruntfile.js',
|
114 |
-
//'ReduxCore/assets/js/import_export/import_export.js',
|
115 |
-
'ReduxCore/assets/js/media/media.js',
|
116 |
-
'ReduxCore/inc/fields/ace_editor/field_ace_editor.js',
|
117 |
-
'ReduxCore/inc/fields/background/field_background.js',
|
118 |
-
'ReduxCore/inc/fields/border/field_border.js',
|
119 |
-
'ReduxCore/inc/fields/button_set/field_button_set.js',
|
120 |
-
'ReduxCore/inc/fields/checkbox/field_checkbox.js',
|
121 |
-
'ReduxCore/inc/fields/color/field_color.js',
|
122 |
-
'ReduxCore/inc/fields/color_rgba/field_color_rgba.js',
|
123 |
-
'ReduxCore/inc/fields/date/field_date.js',
|
124 |
-
'ReduxCore/inc/fields/dimensions/field_dimensions.js',
|
125 |
-
'ReduxCore/inc/fields/editor/field_editor.js',
|
126 |
-
'ReduxCore/inc/fields/gallery/field_gallery.js',
|
127 |
-
'ReduxCore/inc/fields/image_select/field_image_select.js',
|
128 |
-
'ReduxCore/inc/fields/multi_text/field_multitext.js',
|
129 |
-
'ReduxCore/inc/fields/palette/field_palette.js',
|
130 |
-
'ReduxCore/inc/fields/select/field_select.js',
|
131 |
-
'ReduxCore/inc/fields/select_image/field_select_image.js',
|
132 |
-
'ReduxCore/inc/fields/slider/field_slider.js',
|
133 |
-
'ReduxCore/inc/fields/slides/field_slides.js',
|
134 |
-
'ReduxCore/inc/fields/sortable/field_sortable.js',
|
135 |
-
'ReduxCore/inc/fields/sorter/field_sorter.js',
|
136 |
-
'ReduxCore/inc/fields/spacing/field_spacing.js',
|
137 |
-
'ReduxCore/inc/fields/spinner/field_spinner.js',
|
138 |
-
'ReduxCore/inc/fields/switch/field_switch.js',
|
139 |
-
'ReduxCore/inc/fields/typography/field_typography.js',
|
140 |
-
// 'ReduxCore/inc/fields/**/*.js',
|
141 |
-
'ReduxCore/extensions/**/*.js',
|
142 |
-
'ReduxCore/extensions/**/**/*.js',
|
143 |
-
'ReduxCore/assets/js/redux.js'
|
144 |
-
]
|
145 |
-
},
|
146 |
-
|
147 |
-
// Watch changes for files.
|
148 |
-
watch: {
|
149 |
-
ui: {
|
150 |
-
files: ['<%= jshint.files %>'],
|
151 |
-
tasks: ['jshint']
|
152 |
-
},
|
153 |
-
php: {
|
154 |
-
files: ['ReduxCore/**/*.php'],
|
155 |
-
tasks: ['phplint:core']
|
156 |
-
},
|
157 |
-
css: {
|
158 |
-
files: ['ReduxCore/**/*.less'],
|
159 |
-
tasks: ['less:development']
|
160 |
-
}
|
161 |
-
},
|
162 |
-
|
163 |
-
// Add textdomain.
|
164 |
-
addtextdomain: {
|
165 |
-
options: {
|
166 |
-
textdomain: 'redux-framework', // Project text domain.
|
167 |
-
updateDomains: ['redux', 'redux-framework-demo', 'v'] // List of text domains to replace.
|
168 |
-
},
|
169 |
-
target: {
|
170 |
-
files: {
|
171 |
-
src: ['*.php', '**/*.php', '!node_modules/**', '!tests/**', '!sample/**']
|
172 |
-
}
|
173 |
-
}
|
174 |
-
},
|
175 |
-
|
176 |
-
// Generate POT files.
|
177 |
-
makepot: {
|
178 |
-
redux: {
|
179 |
-
options: {
|
180 |
-
type: 'wp-plugin',
|
181 |
-
domainPath: 'ReduxCore/languages',
|
182 |
-
potFilename: 'redux-framework.pot',
|
183 |
-
include: [],
|
184 |
-
exclude: [
|
185 |
-
'sample/.*'
|
186 |
-
],
|
187 |
-
potHeaders: {
|
188 |
-
poedit: true,
|
189 |
-
'report-msgid-bugs-to': 'https://github.com/ReduxFramework/ReduxFramework/issues',
|
190 |
-
'language-team': 'LANGUAGE <support@reduxframework.com>'
|
191 |
-
}
|
192 |
-
}
|
193 |
-
}
|
194 |
-
},
|
195 |
-
|
196 |
-
// Check textdomain errors.
|
197 |
-
checktextdomain: {
|
198 |
-
options: {
|
199 |
-
keywords: [
|
200 |
-
'__:1,2d',
|
201 |
-
'_e:1,2d',
|
202 |
-
'_x:1,2c,3d',
|
203 |
-
'esc_html__:1,2d',
|
204 |
-
'esc_html_e:1,2d',
|
205 |
-
'esc_html_x:1,2c,3d',
|
206 |
-
'esc_attr__:1,2d',
|
207 |
-
'esc_attr_e:1,2d',
|
208 |
-
'esc_attr_x:1,2c,3d',
|
209 |
-
'_ex:1,2c,3d',
|
210 |
-
'_n:1,2,4d',
|
211 |
-
'_nx:1,2,4c,5d',
|
212 |
-
'_n_noop:1,2,3d',
|
213 |
-
'_nx_noop:1,2,3c,4d'
|
214 |
-
]
|
215 |
-
},
|
216 |
-
redux: {
|
217 |
-
cwd: 'ReduxCore/',
|
218 |
-
options: {
|
219 |
-
text_domain: 'redux-framework',
|
220 |
-
},
|
221 |
-
src: ['**/*.php'],
|
222 |
-
expand: true
|
223 |
-
},
|
224 |
-
sample: {
|
225 |
-
cwd: 'sample',
|
226 |
-
options: {
|
227 |
-
text_domain: 'redux-framework-demo',
|
228 |
-
},
|
229 |
-
src: ['**/*.php'],
|
230 |
-
expand: true
|
231 |
-
}
|
232 |
-
},
|
233 |
-
|
234 |
-
// Exec shell commands.
|
235 |
-
shell: {
|
236 |
-
options: {
|
237 |
-
stdout: true,
|
238 |
-
stderr: true
|
239 |
-
},
|
240 |
-
// Limited to Maintainers so
|
241 |
-
// txpush: {
|
242 |
-
// command: 'tx push -s' // push the resources
|
243 |
-
// },
|
244 |
-
txpull: {
|
245 |
-
command: 'tx pull -a --minimum-perc=25' // pull the .po files
|
246 |
-
}
|
247 |
-
},
|
248 |
-
|
249 |
-
// Generate MO files.
|
250 |
-
potomo: {
|
251 |
-
dist: {
|
252 |
-
options: {
|
253 |
-
poDel: true
|
254 |
-
},
|
255 |
-
files: [{
|
256 |
-
expand: true,
|
257 |
-
cwd: 'ReduxCore/languages/',
|
258 |
-
src: ['*.po'],
|
259 |
-
dest: 'ReduxCore/languages/',
|
260 |
-
ext: '.mo',
|
261 |
-
nonull: true
|
262 |
-
}]
|
263 |
-
}
|
264 |
-
},
|
265 |
-
|
266 |
-
phpdocumentor: {
|
267 |
-
options: {
|
268 |
-
directory: 'ReduxCore/',
|
269 |
-
target: 'docs/'
|
270 |
-
},
|
271 |
-
generate: {}
|
272 |
-
},
|
273 |
-
|
274 |
-
phplint: {
|
275 |
-
options: {
|
276 |
-
swapPath: './'
|
277 |
-
},
|
278 |
-
core: ["ReduxCore/**/*.php"],
|
279 |
-
plugin: ["class-redux-plugin.php", "index.php", "redux-framework.php"]
|
280 |
-
},
|
281 |
-
|
282 |
-
sass: {
|
283 |
-
fields: {
|
284 |
-
options: {
|
285 |
-
sourcemap: 'none',
|
286 |
-
style: 'compressed',
|
287 |
-
noCache: true,
|
288 |
-
},
|
289 |
-
|
290 |
-
files: [{
|
291 |
-
expand: true, // Enable dynamic expansion.
|
292 |
-
cwd: 'ReduxCore/inc/fields', // Src matches are relative to this path.
|
293 |
-
src: ['**/*.scss'], // Actual pattern(s) to match.
|
294 |
-
dest: 'ReduxCore/inc/fields', // Destination path prefix.
|
295 |
-
ext: '.css' // Dest filepaths will have this extension.
|
296 |
-
}]
|
297 |
-
},
|
298 |
-
extensions: {
|
299 |
-
options: {
|
300 |
-
sourcemap: 'none',
|
301 |
-
style: 'compressed',
|
302 |
-
noCache: true,
|
303 |
-
},
|
304 |
-
|
305 |
-
files: [{
|
306 |
-
expand: true, // Enable dynamic expansion.
|
307 |
-
cwd: 'ReduxCore/inc/extensions', // Src matches are relative to this path.
|
308 |
-
src: ['**/*.scss'], // Actual pattern(s) to match.
|
309 |
-
dest: 'ReduxCore/inc/extensions', // Destination path prefix.
|
310 |
-
ext: '.css' // Dest filepaths will have this extension.
|
311 |
-
}]
|
312 |
-
},
|
313 |
-
vendor: {
|
314 |
-
options: {
|
315 |
-
sourcemap: 'none',
|
316 |
-
style: 'compressed',
|
317 |
-
noCache: true
|
318 |
-
},
|
319 |
-
|
320 |
-
files: {
|
321 |
-
"ReduxCore/assets/css/vendor/jquery-ui-bootstrap/jquery-ui-1.10.0.custom.css": [
|
322 |
-
"ReduxCore/assets/css/vendor/jquery-ui-bootstrap/jquery-ui-1.10.0.custom.scss"
|
323 |
-
],
|
324 |
-
"ReduxCore/assets/css/vendor/elusive-icons/elusive-icons.css": [
|
325 |
-
"ReduxCore/assets/css/vendor/elusive-icons/scss/elusive-icons.scss"
|
326 |
-
],
|
327 |
-
}
|
328 |
-
},
|
329 |
-
|
330 |
-
admin: {
|
331 |
-
options: {
|
332 |
-
sourcemap: 'none',
|
333 |
-
style: 'compressed',
|
334 |
-
noCache: true
|
335 |
-
},
|
336 |
-
|
337 |
-
files: {
|
338 |
-
"ReduxCore/assets/css/color-picker/color-picker.css": [
|
339 |
-
"ReduxCore/assets/css/color-picker/color-picker.scss"
|
340 |
-
],
|
341 |
-
"ReduxCore/assets/css/media/media.css": [
|
342 |
-
"ReduxCore/assets/css/media/media.scss"
|
343 |
-
],
|
344 |
-
"ReduxCore/assets/css/redux-admin.css": [
|
345 |
-
"ReduxCore/assets/css/redux-admin.scss"
|
346 |
-
],
|
347 |
-
"ReduxCore/assets/css/rtl.css": [
|
348 |
-
"ReduxCore/assets/css/rtl.scss"
|
349 |
-
]
|
350 |
-
}
|
351 |
-
},
|
352 |
-
welcome: {
|
353 |
-
options: {
|
354 |
-
sourcemap: 'none',
|
355 |
-
style: 'compressed',
|
356 |
-
noCache: true
|
357 |
-
},
|
358 |
-
|
359 |
-
files: {
|
360 |
-
"ReduxCore/inc/welcome/css/redux-welcome.css": [
|
361 |
-
"ReduxCore/inc/welcome/css/redux-welcome.scss"
|
362 |
-
]
|
363 |
-
}
|
364 |
-
}
|
365 |
-
},
|
366 |
-
|
367 |
-
cssmin: {
|
368 |
-
fields: {
|
369 |
-
files: {
|
370 |
-
'ReduxCore/assets/css/redux-fields.css': [
|
371 |
-
'ReduxCore/inc/fields/**/*.css',
|
372 |
-
"ReduxCore/assets/css/color-picker/color-picker.css",
|
373 |
-
"ReduxCore/assets/css/media/media.css"
|
374 |
-
]
|
375 |
-
}
|
376 |
-
},
|
377 |
-
}
|
378 |
-
}
|
379 |
-
);
|
380 |
-
|
381 |
-
// Load NPM tasks to be used here
|
382 |
-
grunt.loadNpmTasks( 'grunt-shell' );
|
383 |
-
grunt.loadNpmTasks( 'grunt-potomo' );
|
384 |
-
grunt.loadNpmTasks( 'grunt-wp-i18n' );
|
385 |
-
grunt.loadNpmTasks( 'grunt-checktextdomain' );
|
386 |
-
grunt.loadNpmTasks( 'grunt-contrib-jshint' );
|
387 |
-
grunt.loadNpmTasks( 'grunt-contrib-sass' );
|
388 |
-
grunt.loadNpmTasks( 'grunt-contrib-uglify' );
|
389 |
-
grunt.loadNpmTasks( 'grunt-contrib-watch' );
|
390 |
-
grunt.loadNpmTasks( 'grunt-contrib-cssmin' );
|
391 |
-
grunt.loadNpmTasks( 'grunt-contrib-concat' );
|
392 |
-
grunt.loadNpmTasks( 'grunt-phpdocumentor' );
|
393 |
-
grunt.loadNpmTasks( 'grunt-gh-pages' );
|
394 |
-
grunt.loadNpmTasks( "grunt-phplint" );
|
395 |
-
//grunt.loadNpmTasks( 'grunt-recess' );
|
396 |
-
|
397 |
-
grunt.registerTask(
|
398 |
-
'langUpdate', [
|
399 |
-
'addtextdomain',
|
400 |
-
'makepot',
|
401 |
-
'shell:txpull',
|
402 |
-
'potomo'
|
403 |
-
]
|
404 |
-
);
|
405 |
-
|
406 |
-
// Default task(s).
|
407 |
-
grunt.registerTask(
|
408 |
-
'default', [
|
409 |
-
'jshint',
|
410 |
-
'concat:core',
|
411 |
-
'uglify:core',
|
412 |
-
'concat:vendor',
|
413 |
-
'uglify:vendor',
|
414 |
-
'uglify:fields',
|
415 |
-
'uglify:extensions',
|
416 |
-
"sass:admin",
|
417 |
-
"sass:fields",
|
418 |
-
"sass:extensions",
|
419 |
-
"sass:vendor",
|
420 |
-
'cssmin'
|
421 |
-
]
|
422 |
-
);
|
423 |
-
grunt.registerTask( 'travis', ['jshint', 'lintPHP'] );
|
424 |
-
|
425 |
-
// this would be run by typing "grunt test" on the command line
|
426 |
-
grunt.registerTask( 'testJS', ['jshint', 'concat:core', 'concat:vendor'] );
|
427 |
-
|
428 |
-
grunt.registerTask( 'watchUI', ['watch:ui'] );
|
429 |
-
grunt.registerTask( 'watchPHP', ['watch:php', 'phplint:core', 'phplint:plugin'] );
|
430 |
-
|
431 |
-
grunt.registerTask( "lintPHP", ["phplint:plugin", "phplint:core"] );
|
432 |
-
grunt.registerTask( "compileSCSS", ["sass:admin", "sass:fields", "sass:extensions", "sass:vendor", "sass:welcome"] );
|
433 |
-
grunt.registerTask(
|
434 |
-
'compileJS',
|
435 |
-
['jshint', 'concat:core', 'uglify:core', 'concat:vendor', 'uglify:vendor', 'uglify:fields', 'uglify:extensions']
|
436 |
-
);
|
437 |
-
grunt.registerTask( 'compileTestJS', ['jshint', 'concat:core', 'concat:vendor'] );
|
438 |
-
grunt.registerTask( 'compileCSS', ['cssmin'] );
|
439 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/css/select2.css
DELETED
@@ -1,704 +0,0 @@
|
|
1 |
-
/*
|
2 |
-
Version: 3.5.2 Timestamp: Sat Nov 1 14:43:36 EDT 2014
|
3 |
-
*/
|
4 |
-
.select2-container {
|
5 |
-
margin: 0;
|
6 |
-
position: relative;
|
7 |
-
display: inline-block;
|
8 |
-
/* inline-block for ie7 */
|
9 |
-
zoom: 1;
|
10 |
-
*display: inline;
|
11 |
-
vertical-align: middle;
|
12 |
-
}
|
13 |
-
|
14 |
-
.select2-container,
|
15 |
-
.select2-drop,
|
16 |
-
.select2-search,
|
17 |
-
.select2-search input {
|
18 |
-
/*
|
19 |
-
Force border-box so that % widths fit the parent
|
20 |
-
container without overlap because of margin/padding.
|
21 |
-
More Info : http://www.quirksmode.org/css/box.html
|
22 |
-
*/
|
23 |
-
-webkit-box-sizing: border-box; /* webkit */
|
24 |
-
-moz-box-sizing: border-box; /* firefox */
|
25 |
-
box-sizing: border-box; /* css3 */
|
26 |
-
}
|
27 |
-
|
28 |
-
.select2-container .select2-choice {
|
29 |
-
display: block;
|
30 |
-
height: 26px;
|
31 |
-
padding: 0 0 0 8px;
|
32 |
-
overflow: hidden;
|
33 |
-
position: relative;
|
34 |
-
|
35 |
-
border: 1px solid #aaa;
|
36 |
-
white-space: nowrap;
|
37 |
-
line-height: 26px;
|
38 |
-
color: #444;
|
39 |
-
text-decoration: none;
|
40 |
-
|
41 |
-
border-radius: 4px;
|
42 |
-
|
43 |
-
background-clip: padding-box;
|
44 |
-
|
45 |
-
-webkit-touch-callout: none;
|
46 |
-
-webkit-user-select: none;
|
47 |
-
-moz-user-select: none;
|
48 |
-
-ms-user-select: none;
|
49 |
-
user-select: none;
|
50 |
-
|
51 |
-
background-color: #fff;
|
52 |
-
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.5, #fff));
|
53 |
-
background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 50%);
|
54 |
-
background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 50%);
|
55 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0);
|
56 |
-
background-image: linear-gradient(to top, #eee 0%, #fff 50%);
|
57 |
-
}
|
58 |
-
|
59 |
-
html[dir="rtl"] .select2-container .select2-choice {
|
60 |
-
padding: 0 8px 0 0;
|
61 |
-
}
|
62 |
-
|
63 |
-
.select2-container.select2-drop-above .select2-choice {
|
64 |
-
border-bottom-color: #aaa;
|
65 |
-
|
66 |
-
border-radius: 0 0 4px 4px;
|
67 |
-
|
68 |
-
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.9, #fff));
|
69 |
-
background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 90%);
|
70 |
-
background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 90%);
|
71 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);
|
72 |
-
background-image: linear-gradient(to bottom, #eee 0%, #fff 90%);
|
73 |
-
}
|
74 |
-
|
75 |
-
.select2-container.select2-allowclear .select2-choice .select2-chosen {
|
76 |
-
margin-right: 42px;
|
77 |
-
}
|
78 |
-
|
79 |
-
.select2-container .select2-choice > .select2-chosen {
|
80 |
-
margin-right: 26px;
|
81 |
-
display: block;
|
82 |
-
overflow: hidden;
|
83 |
-
|
84 |
-
white-space: nowrap;
|
85 |
-
|
86 |
-
text-overflow: ellipsis;
|
87 |
-
float: none;
|
88 |
-
width: auto;
|
89 |
-
}
|
90 |
-
|
91 |
-
html[dir="rtl"] .select2-container .select2-choice > .select2-chosen {
|
92 |
-
margin-left: 26px;
|
93 |
-
margin-right: 0;
|
94 |
-
}
|
95 |
-
|
96 |
-
.select2-container .select2-choice abbr {
|
97 |
-
display: none;
|
98 |
-
width: 12px;
|
99 |
-
height: 12px;
|
100 |
-
position: absolute;
|
101 |
-
right: 24px;
|
102 |
-
top: 8px;
|
103 |
-
|
104 |
-
font-size: 1px;
|
105 |
-
text-decoration: none;
|
106 |
-
|
107 |
-
border: 0;
|
108 |
-
background: url('select2.png') right top no-repeat;
|
109 |
-
cursor: pointer;
|
110 |
-
outline: 0;
|
111 |
-
}
|
112 |
-
|
113 |
-
.select2-container.select2-allowclear .select2-choice abbr {
|
114 |
-
display: inline-block;
|
115 |
-
}
|
116 |
-
|
117 |
-
.select2-container .select2-choice abbr:hover {
|
118 |
-
background-position: right -11px;
|
119 |
-
cursor: pointer;
|
120 |
-
}
|
121 |
-
|
122 |
-
.select2-drop-mask {
|
123 |
-
border: 0;
|
124 |
-
margin: 0;
|
125 |
-
padding: 0;
|
126 |
-
position: fixed;
|
127 |
-
left: 0;
|
128 |
-
top: 0;
|
129 |
-
min-height: 100%;
|
130 |
-
min-width: 100%;
|
131 |
-
height: auto;
|
132 |
-
width: auto;
|
133 |
-
opacity: 0;
|
134 |
-
z-index: 9998;
|
135 |
-
/* styles required for IE to work */
|
136 |
-
background-color: #fff;
|
137 |
-
filter: alpha(opacity=0);
|
138 |
-
}
|
139 |
-
|
140 |
-
.select2-drop {
|
141 |
-
width: 100%;
|
142 |
-
margin-top: -1px;
|
143 |
-
position: absolute;
|
144 |
-
z-index: 9999;
|
145 |
-
top: 100%;
|
146 |
-
|
147 |
-
background: #fff;
|
148 |
-
color: #000;
|
149 |
-
border: 1px solid #aaa;
|
150 |
-
border-top: 0;
|
151 |
-
|
152 |
-
border-radius: 0 0 4px 4px;
|
153 |
-
|
154 |
-
-webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
|
155 |
-
box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
|
156 |
-
}
|
157 |
-
|
158 |
-
.select2-drop.select2-drop-above {
|
159 |
-
margin-top: 1px;
|
160 |
-
border-top: 1px solid #aaa;
|
161 |
-
border-bottom: 0;
|
162 |
-
|
163 |
-
border-radius: 4px 4px 0 0;
|
164 |
-
|
165 |
-
-webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
|
166 |
-
box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
|
167 |
-
}
|
168 |
-
|
169 |
-
.select2-drop-active {
|
170 |
-
border: 1px solid #5897fb;
|
171 |
-
border-top: none;
|
172 |
-
}
|
173 |
-
|
174 |
-
.select2-drop.select2-drop-above.select2-drop-active {
|
175 |
-
border-top: 1px solid #5897fb;
|
176 |
-
}
|
177 |
-
|
178 |
-
.select2-drop-auto-width {
|
179 |
-
border-top: 1px solid #aaa;
|
180 |
-
width: auto;
|
181 |
-
}
|
182 |
-
|
183 |
-
.select2-drop-auto-width .select2-search {
|
184 |
-
padding-top: 4px;
|
185 |
-
}
|
186 |
-
|
187 |
-
.select2-container .select2-choice .select2-arrow {
|
188 |
-
display: inline-block;
|
189 |
-
width: 18px;
|
190 |
-
height: 100%;
|
191 |
-
position: absolute;
|
192 |
-
right: 0;
|
193 |
-
top: 0;
|
194 |
-
|
195 |
-
border-left: 1px solid #aaa;
|
196 |
-
border-radius: 0 4px 4px 0;
|
197 |
-
|
198 |
-
background-clip: padding-box;
|
199 |
-
|
200 |
-
background: #ccc;
|
201 |
-
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));
|
202 |
-
background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);
|
203 |
-
background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);
|
204 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0);
|
205 |
-
background-image: linear-gradient(to top, #ccc 0%, #eee 60%);
|
206 |
-
}
|
207 |
-
|
208 |
-
html[dir="rtl"] .select2-container .select2-choice .select2-arrow {
|
209 |
-
left: 0;
|
210 |
-
right: auto;
|
211 |
-
|
212 |
-
border-left: none;
|
213 |
-
border-right: 1px solid #aaa;
|
214 |
-
border-radius: 4px 0 0 4px;
|
215 |
-
}
|
216 |
-
|
217 |
-
.select2-container .select2-choice .select2-arrow b {
|
218 |
-
display: block;
|
219 |
-
width: 100%;
|
220 |
-
height: 100%;
|
221 |
-
background: url('select2.png') no-repeat 0 1px;
|
222 |
-
}
|
223 |
-
|
224 |
-
html[dir="rtl"] .select2-container .select2-choice .select2-arrow b {
|
225 |
-
background-position: 2px 1px;
|
226 |
-
}
|
227 |
-
|
228 |
-
.select2-search {
|
229 |
-
display: inline-block;
|
230 |
-
width: 100%;
|
231 |
-
min-height: 26px;
|
232 |
-
margin: 0;
|
233 |
-
padding-left: 4px;
|
234 |
-
padding-right: 4px;
|
235 |
-
|
236 |
-
position: relative;
|
237 |
-
z-index: 10000;
|
238 |
-
|
239 |
-
white-space: nowrap;
|
240 |
-
}
|
241 |
-
|
242 |
-
.select2-search input {
|
243 |
-
width: 100%;
|
244 |
-
height: auto !important;
|
245 |
-
min-height: 26px;
|
246 |
-
padding: 4px 20px 4px 5px;
|
247 |
-
margin: 0;
|
248 |
-
|
249 |
-
outline: 0;
|
250 |
-
font-family: sans-serif;
|
251 |
-
font-size: 1em;
|
252 |
-
|
253 |
-
border: 1px solid #aaa;
|
254 |
-
border-radius: 0;
|
255 |
-
|
256 |
-
-webkit-box-shadow: none;
|
257 |
-
box-shadow: none;
|
258 |
-
|
259 |
-
background: #fff url('select2.png') no-repeat 100% -22px;
|
260 |
-
background: url('select2.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
|
261 |
-
background: url('select2.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
262 |
-
background: url('select2.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
263 |
-
background: url('select2.png') no-repeat 100% -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
|
264 |
-
}
|
265 |
-
|
266 |
-
html[dir="rtl"] .select2-search input {
|
267 |
-
padding: 4px 5px 4px 20px;
|
268 |
-
|
269 |
-
background: #fff url('select2.png') no-repeat -37px -22px;
|
270 |
-
background: url('select2.png') no-repeat -37px -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
|
271 |
-
background: url('select2.png') no-repeat -37px -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
272 |
-
background: url('select2.png') no-repeat -37px -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
273 |
-
background: url('select2.png') no-repeat -37px -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
|
274 |
-
}
|
275 |
-
|
276 |
-
.select2-drop.select2-drop-above .select2-search input {
|
277 |
-
margin-top: 4px;
|
278 |
-
}
|
279 |
-
|
280 |
-
.select2-search input.select2-active {
|
281 |
-
background: #fff url('select2-spinner.gif') no-repeat 100%;
|
282 |
-
background: url('select2-spinner.gif') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
|
283 |
-
background: url('select2-spinner.gif') no-repeat 100%, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
284 |
-
background: url('select2-spinner.gif') no-repeat 100%, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
285 |
-
background: url('select2-spinner.gif') no-repeat 100%, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
|
286 |
-
}
|
287 |
-
|
288 |
-
.select2-container-active .select2-choice,
|
289 |
-
.select2-container-active .select2-choices {
|
290 |
-
border: 1px solid #5897fb;
|
291 |
-
outline: none;
|
292 |
-
|
293 |
-
-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
|
294 |
-
box-shadow: 0 0 5px rgba(0, 0, 0, .3);
|
295 |
-
}
|
296 |
-
|
297 |
-
.select2-dropdown-open .select2-choice {
|
298 |
-
border-bottom-color: transparent;
|
299 |
-
-webkit-box-shadow: 0 1px 0 #fff inset;
|
300 |
-
box-shadow: 0 1px 0 #fff inset;
|
301 |
-
|
302 |
-
border-bottom-left-radius: 0;
|
303 |
-
border-bottom-right-radius: 0;
|
304 |
-
|
305 |
-
background-color: #eee;
|
306 |
-
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.5, #eee));
|
307 |
-
background-image: -webkit-linear-gradient(center bottom, #fff 0%, #eee 50%);
|
308 |
-
background-image: -moz-linear-gradient(center bottom, #fff 0%, #eee 50%);
|
309 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
|
310 |
-
background-image: linear-gradient(to top, #fff 0%, #eee 50%);
|
311 |
-
}
|
312 |
-
|
313 |
-
.select2-dropdown-open.select2-drop-above .select2-choice,
|
314 |
-
.select2-dropdown-open.select2-drop-above .select2-choices {
|
315 |
-
border: 1px solid #5897fb;
|
316 |
-
border-top-color: transparent;
|
317 |
-
|
318 |
-
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.5, #eee));
|
319 |
-
background-image: -webkit-linear-gradient(center top, #fff 0%, #eee 50%);
|
320 |
-
background-image: -moz-linear-gradient(center top, #fff 0%, #eee 50%);
|
321 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
|
322 |
-
background-image: linear-gradient(to bottom, #fff 0%, #eee 50%);
|
323 |
-
}
|
324 |
-
|
325 |
-
.select2-dropdown-open .select2-choice .select2-arrow {
|
326 |
-
background: transparent;
|
327 |
-
border-left: none;
|
328 |
-
filter: none;
|
329 |
-
}
|
330 |
-
html[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow {
|
331 |
-
border-right: none;
|
332 |
-
}
|
333 |
-
|
334 |
-
.select2-dropdown-open .select2-choice .select2-arrow b {
|
335 |
-
background-position: -18px 1px;
|
336 |
-
}
|
337 |
-
|
338 |
-
html[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow b {
|
339 |
-
background-position: -16px 1px;
|
340 |
-
}
|
341 |
-
|
342 |
-
.select2-hidden-accessible {
|
343 |
-
border: 0;
|
344 |
-
clip: rect(0 0 0 0);
|
345 |
-
height: 1px;
|
346 |
-
margin: -1px;
|
347 |
-
overflow: hidden;
|
348 |
-
padding: 0;
|
349 |
-
position: absolute;
|
350 |
-
width: 1px;
|
351 |
-
}
|
352 |
-
|
353 |
-
/* results */
|
354 |
-
.select2-results {
|
355 |
-
max-height: 200px;
|
356 |
-
padding: 0 0 0 4px;
|
357 |
-
margin: 4px 4px 4px 0;
|
358 |
-
position: relative;
|
359 |
-
overflow-x: hidden;
|
360 |
-
overflow-y: auto;
|
361 |
-
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
362 |
-
}
|
363 |
-
|
364 |
-
html[dir="rtl"] .select2-results {
|
365 |
-
padding: 0 4px 0 0;
|
366 |
-
margin: 4px 0 4px 4px;
|
367 |
-
}
|
368 |
-
|
369 |
-
.select2-results ul.select2-result-sub {
|
370 |
-
margin: 0;
|
371 |
-
padding-left: 0;
|
372 |
-
}
|
373 |
-
|
374 |
-
.select2-results li {
|
375 |
-
list-style: none;
|
376 |
-
display: list-item;
|
377 |
-
background-image: none;
|
378 |
-
}
|
379 |
-
|
380 |
-
.select2-results li.select2-result-with-children > .select2-result-label {
|
381 |
-
font-weight: bold;
|
382 |
-
}
|
383 |
-
|
384 |
-
.select2-results .select2-result-label {
|
385 |
-
padding: 3px 7px 4px;
|
386 |
-
margin: 0;
|
387 |
-
cursor: pointer;
|
388 |
-
|
389 |
-
min-height: 1em;
|
390 |
-
|
391 |
-
-webkit-touch-callout: none;
|
392 |
-
-webkit-user-select: none;
|
393 |
-
-moz-user-select: none;
|
394 |
-
-ms-user-select: none;
|
395 |
-
user-select: none;
|
396 |
-
}
|
397 |
-
|
398 |
-
.select2-results-dept-1 .select2-result-label { padding-left: 20px }
|
399 |
-
.select2-results-dept-2 .select2-result-label { padding-left: 40px }
|
400 |
-
.select2-results-dept-3 .select2-result-label { padding-left: 60px }
|
401 |
-
.select2-results-dept-4 .select2-result-label { padding-left: 80px }
|
402 |
-
.select2-results-dept-5 .select2-result-label { padding-left: 100px }
|
403 |
-
.select2-results-dept-6 .select2-result-label { padding-left: 110px }
|
404 |
-
.select2-results-dept-7 .select2-result-label { padding-left: 120px }
|
405 |
-
|
406 |
-
.select2-results .select2-highlighted {
|
407 |
-
background: #3875d7;
|
408 |
-
color: #fff;
|
409 |
-
}
|
410 |
-
|
411 |
-
.select2-results li em {
|
412 |
-
background: #feffde;
|
413 |
-
font-style: normal;
|
414 |
-
}
|
415 |
-
|
416 |
-
.select2-results .select2-highlighted em {
|
417 |
-
background: transparent;
|
418 |
-
}
|
419 |
-
|
420 |
-
.select2-results .select2-highlighted ul {
|
421 |
-
background: #fff;
|
422 |
-
color: #000;
|
423 |
-
}
|
424 |
-
|
425 |
-
.select2-results .select2-no-results,
|
426 |
-
.select2-results .select2-searching,
|
427 |
-
.select2-results .select2-ajax-error,
|
428 |
-
.select2-results .select2-selection-limit {
|
429 |
-
background: #f4f4f4;
|
430 |
-
display: list-item;
|
431 |
-
padding-left: 5px;
|
432 |
-
}
|
433 |
-
|
434 |
-
/*
|
435 |
-
disabled look for disabled choices in the results dropdown
|
436 |
-
*/
|
437 |
-
.select2-results .select2-disabled.select2-highlighted {
|
438 |
-
color: #666;
|
439 |
-
background: #f4f4f4;
|
440 |
-
display: list-item;
|
441 |
-
cursor: default;
|
442 |
-
}
|
443 |
-
.select2-results .select2-disabled {
|
444 |
-
background: #f4f4f4;
|
445 |
-
display: list-item;
|
446 |
-
cursor: default;
|
447 |
-
}
|
448 |
-
|
449 |
-
.select2-results .select2-selected {
|
450 |
-
display: none;
|
451 |
-
}
|
452 |
-
|
453 |
-
.select2-more-results.select2-active {
|
454 |
-
background: #f4f4f4 url('select2-spinner.gif') no-repeat 100%;
|
455 |
-
}
|
456 |
-
|
457 |
-
.select2-results .select2-ajax-error {
|
458 |
-
background: rgba(255, 50, 50, .2);
|
459 |
-
}
|
460 |
-
|
461 |
-
.select2-more-results {
|
462 |
-
background: #f4f4f4;
|
463 |
-
display: list-item;
|
464 |
-
}
|
465 |
-
|
466 |
-
/* disabled styles */
|
467 |
-
|
468 |
-
.select2-container.select2-container-disabled .select2-choice {
|
469 |
-
background-color: #f4f4f4;
|
470 |
-
background-image: none;
|
471 |
-
border: 1px solid #ddd;
|
472 |
-
cursor: default;
|
473 |
-
}
|
474 |
-
|
475 |
-
.select2-container.select2-container-disabled .select2-choice .select2-arrow {
|
476 |
-
background-color: #f4f4f4;
|
477 |
-
background-image: none;
|
478 |
-
border-left: 0;
|
479 |
-
}
|
480 |
-
|
481 |
-
.select2-container.select2-container-disabled .select2-choice abbr {
|
482 |
-
display: none;
|
483 |
-
}
|
484 |
-
|
485 |
-
|
486 |
-
/* multiselect */
|
487 |
-
|
488 |
-
.select2-container-multi .select2-choices {
|
489 |
-
height: auto !important;
|
490 |
-
height: 1%;
|
491 |
-
margin: 0;
|
492 |
-
padding: 0 5px 0 0;
|
493 |
-
position: relative;
|
494 |
-
|
495 |
-
border: 1px solid #aaa;
|
496 |
-
cursor: text;
|
497 |
-
overflow: hidden;
|
498 |
-
|
499 |
-
background-color: #fff;
|
500 |
-
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eee), color-stop(15%, #fff));
|
501 |
-
background-image: -webkit-linear-gradient(top, #eee 1%, #fff 15%);
|
502 |
-
background-image: -moz-linear-gradient(top, #eee 1%, #fff 15%);
|
503 |
-
background-image: linear-gradient(to bottom, #eee 1%, #fff 15%);
|
504 |
-
}
|
505 |
-
|
506 |
-
html[dir="rtl"] .select2-container-multi .select2-choices {
|
507 |
-
padding: 0 0 0 5px;
|
508 |
-
}
|
509 |
-
|
510 |
-
.select2-locked {
|
511 |
-
padding: 3px 5px 3px 5px !important;
|
512 |
-
}
|
513 |
-
|
514 |
-
.select2-container-multi .select2-choices {
|
515 |
-
min-height: 26px;
|
516 |
-
}
|
517 |
-
|
518 |
-
.select2-container-multi.select2-container-active .select2-choices {
|
519 |
-
border: 1px solid #5897fb;
|
520 |
-
outline: none;
|
521 |
-
|
522 |
-
-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
|
523 |
-
box-shadow: 0 0 5px rgba(0, 0, 0, .3);
|
524 |
-
}
|
525 |
-
.select2-container-multi .select2-choices li {
|
526 |
-
float: left;
|
527 |
-
list-style: none;
|
528 |
-
}
|
529 |
-
html[dir="rtl"] .select2-container-multi .select2-choices li
|
530 |
-
{
|
531 |
-
float: right;
|
532 |
-
}
|
533 |
-
.select2-container-multi .select2-choices .select2-search-field {
|
534 |
-
margin: 0;
|
535 |
-
padding: 0;
|
536 |
-
white-space: nowrap;
|
537 |
-
}
|
538 |
-
|
539 |
-
.select2-container-multi .select2-choices .select2-search-field input {
|
540 |
-
padding: 5px;
|
541 |
-
margin: 1px 0;
|
542 |
-
|
543 |
-
font-family: sans-serif;
|
544 |
-
font-size: 100%;
|
545 |
-
color: #666;
|
546 |
-
outline: 0;
|
547 |
-
border: 0;
|
548 |
-
-webkit-box-shadow: none;
|
549 |
-
box-shadow: none;
|
550 |
-
background: transparent !important;
|
551 |
-
}
|
552 |
-
|
553 |
-
.select2-container-multi .select2-choices .select2-search-field input.select2-active {
|
554 |
-
background: #fff url('select2-spinner.gif') no-repeat 100% !important;
|
555 |
-
}
|
556 |
-
|
557 |
-
.select2-default {
|
558 |
-
color: #999 !important;
|
559 |
-
}
|
560 |
-
|
561 |
-
.select2-container-multi .select2-choices .select2-search-choice {
|
562 |
-
padding: 3px 5px 3px 18px;
|
563 |
-
margin: 3px 0 3px 5px;
|
564 |
-
position: relative;
|
565 |
-
|
566 |
-
line-height: 13px;
|
567 |
-
color: #333;
|
568 |
-
cursor: default;
|
569 |
-
border: 1px solid #aaaaaa;
|
570 |
-
|
571 |
-
border-radius: 3px;
|
572 |
-
|
573 |
-
-webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
|
574 |
-
box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
|
575 |
-
|
576 |
-
background-clip: padding-box;
|
577 |
-
|
578 |
-
-webkit-touch-callout: none;
|
579 |
-
-webkit-user-select: none;
|
580 |
-
-moz-user-select: none;
|
581 |
-
-ms-user-select: none;
|
582 |
-
user-select: none;
|
583 |
-
|
584 |
-
background-color: #e4e4e4;
|
585 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0);
|
586 |
-
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee));
|
587 |
-
background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
|
588 |
-
background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
|
589 |
-
background-image: linear-gradient(to bottom, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
|
590 |
-
}
|
591 |
-
html[dir="rtl"] .select2-container-multi .select2-choices .select2-search-choice
|
592 |
-
{
|
593 |
-
margin: 3px 5px 3px 0;
|
594 |
-
padding: 3px 18px 3px 5px;
|
595 |
-
}
|
596 |
-
.select2-container-multi .select2-choices .select2-search-choice .select2-chosen {
|
597 |
-
cursor: default;
|
598 |
-
}
|
599 |
-
.select2-container-multi .select2-choices .select2-search-choice-focus {
|
600 |
-
background: #d4d4d4;
|
601 |
-
}
|
602 |
-
|
603 |
-
.select2-search-choice-close {
|
604 |
-
display: block;
|
605 |
-
width: 12px;
|
606 |
-
height: 13px;
|
607 |
-
position: absolute;
|
608 |
-
right: 3px;
|
609 |
-
top: 4px;
|
610 |
-
|
611 |
-
font-size: 1px;
|
612 |
-
outline: none;
|
613 |
-
background: url('select2.png') right top no-repeat;
|
614 |
-
}
|
615 |
-
html[dir="rtl"] .select2-search-choice-close {
|
616 |
-
right: auto;
|
617 |
-
left: 3px;
|
618 |
-
}
|
619 |
-
|
620 |
-
.select2-container-multi .select2-search-choice-close {
|
621 |
-
left: 3px;
|
622 |
-
}
|
623 |
-
|
624 |
-
html[dir="rtl"] .select2-container-multi .select2-search-choice-close {
|
625 |
-
left: auto;
|
626 |
-
right: 2px;
|
627 |
-
}
|
628 |
-
|
629 |
-
.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {
|
630 |
-
background-position: right -11px;
|
631 |
-
}
|
632 |
-
.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {
|
633 |
-
background-position: right -11px;
|
634 |
-
}
|
635 |
-
|
636 |
-
/* disabled styles */
|
637 |
-
.select2-container-multi.select2-container-disabled .select2-choices {
|
638 |
-
background-color: #f4f4f4;
|
639 |
-
background-image: none;
|
640 |
-
border: 1px solid #ddd;
|
641 |
-
cursor: default;
|
642 |
-
}
|
643 |
-
|
644 |
-
.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {
|
645 |
-
padding: 3px 5px 3px 5px;
|
646 |
-
border: 1px solid #ddd;
|
647 |
-
background-image: none;
|
648 |
-
background-color: #f4f4f4;
|
649 |
-
}
|
650 |
-
|
651 |
-
.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close { display: none;
|
652 |
-
background: none;
|
653 |
-
}
|
654 |
-
/* end multiselect */
|
655 |
-
|
656 |
-
|
657 |
-
.select2-result-selectable .select2-match,
|
658 |
-
.select2-result-unselectable .select2-match {
|
659 |
-
text-decoration: underline;
|
660 |
-
}
|
661 |
-
|
662 |
-
.select2-offscreen, .select2-offscreen:focus {
|
663 |
-
clip: rect(0 0 0 0) !important;
|
664 |
-
width: 1px !important;
|
665 |
-
height: 1px !important;
|
666 |
-
border: 0 !important;
|
667 |
-
margin: 0 !important;
|
668 |
-
padding: 0 !important;
|
669 |
-
overflow: hidden !important;
|
670 |
-
position: absolute !important;
|
671 |
-
outline: 0 !important;
|
672 |
-
left: 0px !important;
|
673 |
-
top: 0px !important;
|
674 |
-
}
|
675 |
-
|
676 |
-
.select2-display-none {
|
677 |
-
display: none;
|
678 |
-
}
|
679 |
-
|
680 |
-
.select2-measure-scrollbar {
|
681 |
-
position: absolute;
|
682 |
-
top: -10000px;
|
683 |
-
left: -10000px;
|
684 |
-
width: 100px;
|
685 |
-
height: 100px;
|
686 |
-
overflow: scroll;
|
687 |
-
}
|
688 |
-
|
689 |
-
/* Retina-ize icons */
|
690 |
-
|
691 |
-
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 2dppx) {
|
692 |
-
.select2-search input,
|
693 |
-
.select2-search-choice-close,
|
694 |
-
.select2-container .select2-choice abbr,
|
695 |
-
.select2-container .select2-choice .select2-arrow b {
|
696 |
-
background-image: url('select2x2.png') !important;
|
697 |
-
background-repeat: no-repeat !important;
|
698 |
-
background-size: 60px 40px !important;
|
699 |
-
}
|
700 |
-
|
701 |
-
.select2-search input {
|
702 |
-
background-position: 100% -21px !important;
|
703 |
-
}
|
704 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/ace.min.js
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
(function(){function o(n){var i=e;n&&(e[n]||(e[n]={}),i=e[n]);if(!i.define||!i.define.packaged)t.original=i.define,i.define=t,i.define.packaged=!0;if(!i.require||!i.require.packaged)r.original=i.require,i.require=r,i.require.packaged=!0}var ACE_NAMESPACE="",e=function(){return this}();!e&&typeof window!="undefined"&&(e=window);if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules[e]||(t.payloads[e]=r,t.modules[e]=null)};t.modules={},t.payloads={};var n=function(e,t,n){if(typeof t=="string"){var i=s(e,t);if(i!=undefined)return n&&n(),i}else if(Object.prototype.toString.call(t)==="[object Array]"){var o=[];for(var u=0,a=t.length;u<a;++u){var f=s(e,t[u]);if(f==undefined&&r.original)return;o.push(f)}return n&&n.apply(null,o)||!0}},r=function(e,t){var i=n("",e,t);return i==undefined&&r.original?r.original.apply(this,arguments):i},i=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return i(e,n[0])+"!"+i(e,n[1])}if(t.charAt(0)=="."){var r=e.split("/").slice(0,-1).join("/");t=r+"/"+t;while(t.indexOf(".")!==-1&&s!=t){var s=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},s=function(e,r){r=i(e,r);var s=t.modules[r];if(!s){s=t.payloads[r];if(typeof s=="function"){var o={},u={id:r,uri:"",exports:o,packaged:!0},a=function(e,t){return n(r,e,t)},f=s(a,o,u);o=f||u.exports,t.modules[r]=o,delete t.payloads[r]}s=t.modules[r]=o||s}return s};o(ACE_NAMESPACE)})(),define("ace/lib/regexp",["require","exports","module"],function(e,t,n){"use strict";function o(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}function u(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var r=n||0;r<e.length;r++)if(e[r]===t)return r;return-1}var r={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},i=r.exec.call(/()??/,"")[1]===undefined,s=function(){var e=/^/g;return r.test.call(e,""),!e.lastIndex}();if(s&&i)return;RegExp.prototype.exec=function(e){var t=r.exec.apply(this,arguments),n,a;if(typeof e=="string"&&t){!i&&t.length>1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;e<arguments.length-2;e++)arguments[e]===undefined&&(t[e]=undefined)}));if(this._xregexp&&this._xregexp.captureNames)for(var f=1;f<t.length;f++)n=this._xregexp.captureNames[f-1],n&&(t[n]=t[f]);!s&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=u.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),a=e+o,f=a+s-o,l=n-a,c=n-o;if(f<a)for(var h=0;h<l;++h)this[f+h]=this[a+h];else if(f>a)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(u.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(t){return a(t)=="[object Array]"});var m=Object("a"),g=m[0]!="a"||!(0 in m);Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=arguments[1],s=-1,o=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s<o)s in r&&t.call(i,r[s],s,n)}),Array.prototype.map||(Array.prototype.map=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u<i;u++)u in r&&(s[u]=t.call(o,r[u],u,n));return s}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f<i;f++)f in r&&(o=r[f],t.call(u,o,f,n)&&s.push(o));return s}),Array.prototype.every||(Array.prototype.every=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&!t.call(s,r[o],o,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&t.call(s,r[o],o,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s<i;s++)s in r&&(o=t.call(void 0,o,r[s],s,n));return o}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n<r;n++){var i=A[n];f(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var _=" \n\f\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff";if(!String.prototype.trim||_.trim()){_="["+_+"]";var D=new RegExp("^"+_+_+"*"),P=new RegExp(_+_+"*$");String.prototype.trim=function(){return String(this).replace(D,"").replace(P,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}),define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(e,t,n){"use strict";e("./regexp"),e("./es5-shim")}),define("ace/lib/dom",["require","exports","module"],function(e,t,n){"use strict";var r="http://www.w3.org/1999/xhtml";t.getDocumentHead=function(e){return e||(e=document),e.head||e.getElementsByTagName("head")[0]||e.documentElement},t.createElement=function(e,t){return document.createElementNS?document.createElementNS(t||r,e):document.createElement(e)},t.hasCssClass=function(e,t){var n=(e.className||"").split(/\s+/g);return n.indexOf(t)!==-1},t.addCssClass=function(e,n){t.hasCssClass(e,n)||(e.className+=" "+n)},t.removeCssClass=function(e,t){var n=e.className.split(/\s+/g);for(;;){var r=n.indexOf(t);if(r==-1)break;n.splice(r,1)}e.className=n.join(" ")},t.toggleCssClass=function(e,t){var n=e.className.split(/\s+/g),r=!0;for(;;){var i=n.indexOf(t);if(i==-1)break;r=!1,n.splice(i,1)}return r&&n.push(t),e.className=n.join(" "),r},t.setCssClass=function(e,n,r){r?t.addCssClass(e,n):t.removeCssClass(e,n)},t.hasCssString=function(e,t){var n=0,r;t=t||document;if(t.createStyleSheet&&(r=t.styleSheets)){while(n<r.length)if(r[n++].owningElement.id===e)return!0}else if(r=t.getElementsByTagName("style"))while(n<r.length)if(r[n++].id===e)return!0;return!1},t.importCssString=function(n,i,s){s=s||document;if(i&&t.hasCssString(i,s))return null;var o;s.createStyleSheet?(o=s.createStyleSheet(),o.cssText=n,i&&(o.owningElement.id=i)):(o=s.createElementNS?s.createElementNS(r,"style"):s.createElement("style"),o.appendChild(s.createTextNode(n)),i&&(o.id=i),t.getDocumentHead(s).appendChild(o))},t.importCssStylsheet=function(e,n){if(n.createStyleSheet)n.createStyleSheet(e);else{var r=t.createElement("link");r.rel="stylesheet",r.href=e,t.getDocumentHead(n).appendChild(r)}},t.getInnerWidth=function(e){return parseInt(t.computedStyle(e,"paddingLeft"),10)+parseInt(t.computedStyle(e,"paddingRight"),10)+e.clientWidth},t.getInnerHeight=function(e){return parseInt(t.computedStyle(e,"paddingTop"),10)+parseInt(t.computedStyle(e,"paddingBottom"),10)+e.clientHeight};if(typeof document=="undefined")return;window.pageYOffset!==undefined?(t.getPageScrollTop=function(){return window.pageYOffset},t.getPageScrollLeft=function(){return window.pageXOffset}):(t.getPageScrollTop=function(){return document.body.scrollTop},t.getPageScrollLeft=function(){return document.body.scrollLeft}),window.getComputedStyle?t.computedStyle=function(e,t){return t?(window.getComputedStyle(e,"")||{})[t]||"":window.getComputedStyle(e,"")||{}}:t.computedStyle=function(e,t){return t?e.currentStyle[t]:e.currentStyle},t.scrollbarWidth=function(e){var n=t.createElement("ace_inner");n.style.width="100%",n.style.minWidth="0px",n.style.height="200px",n.style.display="block";var r=t.createElement("ace_outer"),i=r.style;i.position="absolute",i.left="-10000px",i.overflow="hidden",i.width="200px",i.minWidth="0px",i.height="150px",i.display="block",r.appendChild(n);var s=e.documentElement;s.appendChild(r);var o=n.offsetWidth;i.overflow="scroll";var u=n.offsetWidth;return o==u&&(u=r.clientWidth),s.removeChild(r),o-u},t.setInnerHtml=function(e,t){var n=e.cloneNode(!1);return n.innerHTML=t,e.parentNode.replaceChild(n,e),n},"textContent"in document.documentElement?(t.setInnerText=function(e,t){e.textContent=t},t.getInnerText=function(e){return e.textContent}):(t.setInnerText=function(e,t){e.innerText=t},t.getInnerText=function(e){return e.innerText}),t.getParentWindow=function(e){return e.defaultView||e.parentWindow}}),define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),define("ace/lib/keys",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop"],function(e,t,n){"use strict";e("./fixoldbrowsers");var r=e("./oop"),i=function(){var e={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,"super":8,meta:8,command:8,cmd:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"}},t,n;for(n in e.FUNCTION_KEYS)t=e.FUNCTION_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);for(n in e.PRINTABLE_KEYS)t=e.PRINTABLE_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);return r.mixin(e,e.MODIFIER_KEYS),r.mixin(e,e.PRINTABLE_KEYS),r.mixin(e,e.FUNCTION_KEYS),e.enter=e["return"],e.escape=e.esc,e.del=e["delete"],e[173]="-",function(){var t=["cmd","ctrl","alt","shift"];for(var n=Math.pow(2,t.length);n--;)e.KEY_MODS[n]=t.filter(function(t){return n&e.KEY_MODS[t]}).join("-")+"-"}(),e.KEY_MODS[0]="",e.KEY_MODS[-1]="input-",e}();r.mixin(t,i),t.keyCodeToString=function(e){var t=i[e];return typeof t!="string"&&(t=String.fromCharCode(e)),t.toLowerCase()}}),define("ace/lib/useragent",["require","exports","module"],function(e,t,n){"use strict";t.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS};if(typeof navigator!="object")return;var r=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),i=navigator.userAgent;t.isWin=r=="win",t.isMac=r=="mac",t.isLinux=r=="linux",t.isIE=navigator.appName=="Microsoft Internet Explorer"||navigator.appName.indexOf("MSAppHost")>=0?parseFloat((i.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((i.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=(window.Controllers||window.controllers)&&window.navigator.product==="Gecko",t.isOldGecko=t.isGecko&&parseInt((i.match(/rv\:(\d+)/)||[])[1],10)<4,t.isOpera=window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]",t.isWebKit=parseFloat(i.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(i.split(" Chrome/")[1])||undefined,t.isAIR=i.indexOf("AdobeAIR")>=0,t.isIPad=i.indexOf("iPad")>=0,t.isTouchPad=i.indexOf("TouchPad")>=0,t.isChromeOS=i.indexOf(" CrOS ")>=0}),define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t,n){var o=s(t);if(!i.isMac&&u){if(u[91]||u[92])o|=8;if(u.altGr){if((3&o)==3)return;u.altGr=0}if(n===18||n===17){var f="location"in t?t.location:t.keyLocation;if(n===17&&f===1)u[n]==1&&(a=t.timeStamp);else if(n===18&&o===3&&f===2){var l=t.timestamp-a;l<50&&(u.altGr=!0)}}}n in r.MODIFIER_KEYS&&(n=-1),o&8&&(n===91||n===93)&&(n=-1);if(!o&&n===13){var f="location"in t?t.location:t.keyLocation;if(f===3){e(t,o,-n);if(t.defaultPrevented)return}}if(i.isChromeOS&&o&8){e(t,o,n);if(t.defaultPrevented)return;o&=-9}return!!o||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS?e(t,o,n):!1}var r=e("./keys"),i=e("./useragent");t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var r=function(){n.call(e,window.event)};n._wrapper=r,e.attachEvent("on"+t,r)}},t.removeListener=function(e,t,n){if(e.removeEventListener)return e.removeEventListener(t,n,!1);e.detachEvent&&e.detachEvent("on"+t,n._wrapper||n)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return e.type=="dblclick"?0:e.type=="contextmenu"||i.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,r){function i(e){n&&n(e),r&&r(e),t.removeListener(document,"mousemove",n,!0),t.removeListener(document,"mouseup",i,!0),t.removeListener(document,"dragstart",i,!0)}return t.addListener(document,"mousemove",n,!0),t.addListener(document,"mouseup",i,!0),t.addListener(document,"dragstart",i,!0),i},t.addMouseWheelListener=function(e,n){"onmousewheel"in e?t.addListener(e,"mousewheel",function(e){var t=8;e.wheelDeltaX!==undefined?(e.wheelX=-e.wheelDeltaX/t,e.wheelY=-e.wheelDeltaY/t):(e.wheelX=0,e.wheelY=-e.wheelDelta/t),n(e)}):"onwheel"in e?t.addListener(e,"wheel",function(e){var t=.35;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=e.deltaX*t||0,e.wheelY=e.deltaY*t||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=(e.deltaX||0)*5,e.wheelY=(e.deltaY||0)*5}n(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=(e.detail||0)*5,e.wheelY=0):(e.wheelX=0,e.wheelY=(e.detail||0)*5),n(e)})},t.addMultiMouseDownListener=function(e,n,r,s){var o=0,u,a,f,l={2:"dblclick",3:"tripleclick",4:"quadclick"};t.addListener(e,"mousedown",function(e){t.getButton(e)!==0?o=0:e.detail>1?(o++,o>4&&(o=1)):o=1;if(i.isIE){var c=Math.abs(e.clientX-u)>5||Math.abs(e.clientY-a)>5;if(!f||c)o=1;f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),o==1&&(u=e.clientX,a=e.clientY)}e._clicks=o,r[s]("mousedown",e);if(o>4)o=0;else if(o>1)return r[s](l[o],e)}),i.isOldIE&&t.addListener(e,"dblclick",function(e){o=2,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),r[s]("mousedown",e),r[s](l[o],e)})};var s=!i.isMac||!i.isOpera||"KeyboardEvent"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};t.getModifierString=function(e){return r.KEY_MODS[s(e)]};var u=null,a=0;t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var s=null;r(e,"keydown",function(e){s=e.keyCode}),r(e,"keypress",function(e){return o(n,e,s)})}else{var a=null;r(e,"keydown",function(e){u[e.keyCode]=(u[e.keyCode]||0)+1;var t=o(n,e,e.keyCode);return a=e.defaultPrevented,t}),r(e,"keypress",function(e){a&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),a=null)}),r(e,"keyup",function(e){u[e.keyCode]=null}),u||(u=Object.create(null),r(window,"focus",function(e){u=Object.create(null)}))}};if(window.postMessage&&!i.isOldIE){var f=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+f;t.addListener(n,"message",function i(s){s.data==r&&(t.stopPropagation(s),t.removeListener(n,"message",i),e())}),n.postMessage(r,"*")}}t.nextFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame,t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function(e){if(typeof e!="object"||!e)return e;var n=e.constructor;if(n===RegExp)return e;var r=n();for(var i in e)typeof e[i]=="object"?r[i]=t.deepCopy(e[i]):r[i]=e[i];return r},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n==null&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("../lib/dom"),o=e("../lib/lang"),u=i.isChrome<18,a=i.isIE,f=function(e,t){function b(e){if(h)return;h=!0;if(k)t=0,r=e?0:n.value.length-1;else var t=e?2:1,r=2;try{n.setSelectionRange(t,r)}catch(i){}h=!1}function w(){if(h)return;n.value=f,i.isWebKit&&y.schedule()}function R(){clearTimeout(q),q=setTimeout(function(){p&&(n.style.cssText=p,p=""),t.renderer.$keepTextAreaAtCursor==null&&(t.renderer.$keepTextAreaAtCursor=!0,t.renderer.$moveTextAreaToCursor())},i.isOldIE?200:0)}var n=s.createElement("textarea");n.className="ace_text-input",i.isTouchPad&&n.setAttribute("x-palm-disable-auto-cap",!0),n.setAttribute("wrap","off"),n.setAttribute("autocorrect","off"),n.setAttribute("autocapitalize","off"),n.setAttribute("spellcheck",!1),n.style.opacity="0",i.isOldIE&&(n.style.top="-1000px"),e.insertBefore(n,e.firstChild);var f="",l=!1,c=!1,h=!1,p="",d=!0;try{var v=document.activeElement===n}catch(m){}r.addListener(n,"blur",function(e){t.onBlur(e),v=!1}),r.addListener(n,"focus",function(e){v=!0,t.onFocus(e),b()}),this.focus=function(){if(p)return n.focus();n.style.position="fixed",n.style.top="-1000px",n.focus(),setTimeout(function(){n.style.position=""},0)},this.blur=function(){n.blur()},this.isFocused=function(){return v};var g=o.delayedCall(function(){v&&b(d)}),y=o.delayedCall(function(){h||(n.value=f,v&&b())});i.isWebKit||t.addEventListener("changeSelection",function(){t.selection.isEmpty()!=d&&(d=!d,g.schedule())}),w(),v&&t.onFocus();var E=function(e){return e.selectionStart===0&&e.selectionEnd===e.value.length};!n.setSelectionRange&&n.createTextRange&&(n.setSelectionRange=function(e,t){var n=this.createTextRange();n.collapse(!0),n.moveStart("character",e),n.moveEnd("character",t),n.select()},E=function(e){try{var t=e.ownerDocument.selection.createRange()}catch(n){}return!t||t.parentElement()!=e?!1:t.text==e.value});if(i.isOldIE){var S=!1,x=function(e){if(S)return;var t=n.value;if(h||!t||t==f)return;if(e&&t==f[0])return T.schedule();A(t),S=!0,w(),S=!1},T=o.delayedCall(x);r.addListener(n,"propertychange",x);var N={13:1,27:1};r.addListener(n,"keyup",function(e){h&&(!n.value||N[e.keyCode])&&setTimeout(F,0);if((n.value.charCodeAt(0)||0)<129)return T.call();h?j():B()}),r.addListener(n,"keydown",function(e){T.schedule(50)})}var C=function(e){l?l=!1:E(n)?(t.selectAll(),b()):k&&b(t.selection.isEmpty())},k=null;this.setInputHandler=function(e){k=e},this.getInputHandler=function(){return k};var L=!1,A=function(e){k&&(e=k(e),k=null),c?(b(),e&&t.onPaste(e),c=!1):e==f.charAt(0)?L?t.execCommand("del",{source:"ace"}):t.execCommand("backspace",{source:"ace"}):(e.substring(0,2)==f?e=e.substr(2):e.charAt(0)==f.charAt(0)?e=e.substr(1):e.charAt(e.length-1)==f.charAt(0)&&(e=e.slice(0,-1)),e.charAt(e.length-1)==f.charAt(0)&&(e=e.slice(0,-1)),e&&t.onTextInput(e)),L&&(L=!1)},O=function(e){if(h)return;var t=n.value;A(t),w()},M=function(e,t){var n=e.clipboardData||window.clipboardData;if(!n||u)return;var r=a?"Text":"text/plain";return t?n.setData(r,t)!==!1:n.getData(r)},_=function(e,i){var s=t.getCopyText();if(!s)return r.preventDefault(e);M(e,s)?(i?t.onCut():t.onCopy(),r.preventDefault(e)):(l=!0,n.value=s,n.select(),setTimeout(function(){l=!1,w(),b(),i?t.onCut():t.onCopy()}))},D=function(e){_(e,!0)},P=function(e){_(e,!1)},H=function(e){var s=M(e);typeof s=="string"?(s&&t.onPaste(s),i.isIE&&setTimeout(b),r.preventDefault(e)):(n.value="",c=!0)};r.addCommandKeyListener(n,t.onCommandKey.bind(t)),r.addListener(n,"select",C),r.addListener(n,"input",O),r.addListener(n,"cut",D),r.addListener(n,"copy",P),r.addListener(n,"paste",H),(!("oncut"in n)||!("oncopy"in n)||!("onpaste"in n))&&r.addListener(e,"keydown",function(e){if(i.isMac&&!e.metaKey||!e.ctrlKey)return;switch(e.keyCode){case 67:P(e);break;case 86:H(e);break;case 88:D(e)}});var B=function(e){if(h||!t.onCompositionStart||t.$readOnly)return;h={},t.onCompositionStart(),setTimeout(j,0),t.on("mousedown",F),t.selection.isEmpty()||(t.insert(""),t.session.markUndoGroup(),t.selection.clearSelection()),t.session.markUndoGroup()},j=function(){if(!h||!t.onCompositionUpdate||t.$readOnly)return;var e=n.value.replace(/\x01/g,"");if(h.lastValue===e)return;t.onCompositionUpdate(e),h.lastValue&&t.undo(),h.lastValue=e;if(h.lastValue){var r=t.selection.getRange();t.insert(h.lastValue),t.session.markUndoGroup(),h.range=t.selection.getRange(),t.selection.setRange(r),t.selection.clearSelection()}},F=function(e){if(!t.onCompositionEnd||t.$readOnly)return;var r=h;h=!1;var i=setTimeout(function(){i=null;var e=n.value.replace(/\x01/g,"");if(h)return;e==r.lastValue?w():!r.lastValue&&e&&(w(),A(e))});k=function(n){return i&&clearTimeout(i),n=n.replace(/\x01/g,""),n==r.lastValue?"":(r.lastValue&&i&&t.undo(),n)},t.onCompositionEnd(),t.removeListener("mousedown",F),e.type=="compositionend"&&r.range&&t.selection.setRange(r.range)},I=o.delayedCall(j,50);r.addListener(n,"compositionstart",B),i.isGecko?r.addListener(n,"text",function(){I.schedule()}):(r.addListener(n,"keyup",function(){I.schedule()}),r.addListener(n,"keydown",function(){I.schedule()})),r.addListener(n,"compositionend",F),this.getElement=function(){return n},this.setReadOnly=function(e){n.readOnly=e},this.onContextMenu=function(e){L=!0,b(t.selection.isEmpty()),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,o){if(!o&&i.isOldIE)return;p||(p=n.style.cssText),n.style.cssText=(o?"z-index:100000;":"")+"height:"+n.style.height+";"+(i.isIE?"opacity:0.1;":"");var u=t.container.getBoundingClientRect(),a=s.computedStyle(t.container),f=u.top+(parseInt(a.borderTopWidth)||0),l=u.left+(parseInt(u.borderLeftWidth)||0),c=u.bottom-f-n.clientHeight-2,h=function(e){n.style.left=e.clientX-l-2+"px",n.style.top=Math.min(e.clientY-f-2,c)+"px"};h(e);if(e.type!="mousedown")return;t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),i.isWin&&!i.isOldIE&&r.capture(t.container,h,R)},this.onContextMenuClose=R;var q,U=function(e){t.textInput.onContextMenu(e),R()};r.addListener(t.renderer.scroller,"contextmenu",U),r.addListener(n,"contextmenu",U)};t.TextInput=f}),define("ace/mouse/default_handlers",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function u(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e));var n=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];n.forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function a(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}function f(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row==e.end.row-1&&!e.start.column&&!e.end.column)var n=t.column-4;else var n=2*t.row-e.start.row-e.end.row;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=0;(function(){this.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var r=this.editor,i=e.getButton();if(i!==0){var s=r.getSelectionRange(),o=s.isEmpty();r.$blockScrolling++,o&&r.selection.moveToPosition(n),r.$blockScrolling--,r.textInput.onContextMenu(e.domEvent);return}this.mousedownEvent.time=Date.now();if(t&&!r.isFocused()){r.focus();if(this.$focusTimout&&!this.$clickSelection&&!r.inMultiSelectMode){this.setState("focusWait"),this.captureMouse(e);return}}return this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;n.$blockScrolling++,this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select"),n.$blockScrolling--},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);t.$blockScrolling++;if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(r==1)e=this.$clickSelection.start;else{var i=f(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.$blockScrolling--,t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);n.$blockScrolling++;if(this.$clickSelection){var s=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end);if(s==-1&&o<=0){t=this.$clickSelection.end;if(i.end.row!=r.row||i.end.column!=r.column)r=i.start}else if(o==1&&s>=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=f(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.$blockScrolling--,n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=a(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>o||t-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(e.getAccelKey())return;e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=e.domEvent.timeStamp,n=t-(this.$lastScrollTime||0),r=this.editor,i=r.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);if(i||n<200)return this.$lastScrollTime=t,r.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()}}).call(u.prototype),t.DefaultHandlers=u}),define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,n){"use strict";function s(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}var r=e("./lib/oop"),i=e("./lib/dom");(function(){this.$init=function(){return this.$element=i.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){i.setInnerText(this.getElement(),e)},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){i.addCssClass(this.getElement(),e)},this.show=function(e,t,n){e!=null&&this.setText(e),t!=null&&n!=null&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth}}).call(s.prototype),t.Tooltip=s}),define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,n){"use strict";function u(e){function l(){var r=u.getDocumentPosition().row,s=n.$annotations[r];if(!s)return c();var o=t.session.getLength();if(r==o){var a=t.renderer.pixelToScreenCoordinates(0,u.y).row,l=u.$pos;if(a>t.session.documentToScreenRow(l.row,l.column))return c()}if(f==s)return;f=s.text.join("<br/>"),i.setHtml(f),i.show(),t.on("mousewheel",c);if(e.$tooltipFollowsMouse)h(u);else{var p=n.$cells[t.session.documentToScreenRow(r,0)].element,d=p.getBoundingClientRect(),v=i.getElement().style;v.left=d.right+"px",v.top=d.bottom+"px"}}function c(){o&&(o=clearTimeout(o)),f&&(i.hide(),f=null,t.removeEventListener("mousewheel",c))}function h(e){i.setPosition(e.x,e.y)}var t=e.editor,n=t.renderer.$gutterLayer,i=new a(t.container);e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused()||r.getButton()!=0)return;var i=n.getRegion(r);if(i=="foldWidgets")return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.setState("selectByLines"),e.captureMouse(r),r.preventDefault()});var o,u,f;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(r.hasCssClass(n,"ace_fold-widget"))return c();f&&e.$tooltipFollowsMouse&&h(t),u=t;if(o)return;o=setTimeout(function(){o=null,u&&!e.isMousePressed?l():c()},50)}),s.addListener(t.renderer.$gutter,"mouseout",function(e){u=null;if(!f||o)return;o=setTimeout(function(){o=null,c()},50)}),t.on("changeSession",c)}function a(e){o.call(this,e)}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/event"),o=e("../tooltip").Tooltip;i.inherits(a,o),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),s=this.getHeight();e+=15,t+=15,e+i>n&&(e-=e+i-n),t+s>r&&(t-=20+s),o.prototype.setPosition.call(this,e,t)}}.call(a.prototype),t.GutterHandler=u}),define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(s.prototype)}),define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function f(e){function T(e,n){var r=Date.now(),i=!n||e.row!=n.row,s=!n||e.column!=n.column;if(!S||i||s)t.$blockScrolling+=1,t.moveCursorToPosition(e),t.$blockScrolling-=1,S=r,x={x:p,y:d};else{var o=l(x.x,x.y,p,d);o>a?S=null:r-S>=u&&(t.renderer.scrollCursorIntoView(),S=null)}}function N(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,s=t.renderer.layerConfig.characterWidth,u=t.renderer.scroller.getBoundingClientRect(),a={x:{left:p-u.left,right:u.right-p},y:{top:d-u.top,bottom:u.bottom-d}},f=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};f/s<=2&&(c.column+=a.x.left<a.x.right?-3:2),l/i<=1&&(c.row+=a.y.top<a.y.bottom?-1:1);var h=e.row!=c.row,v=e.column!=c.column,m=!n||e.row!=n.row;h||v&&!m?E?r-E>=o&&t.renderer.scrollCursorIntoView(c):E=r:E=null}function C(){var e=g;g=t.renderer.screenToTextCoordinates(p,d),T(g,e),N(g,e)}function k(){m=t.selection.toOrientedRange(),h=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),C(),v=setInterval(C,20),y=0,i.addListener(document,"mousemove",O)}function L(){clearInterval(v),t.session.removeMarker(h),h=null,t.$blockScrolling+=1,t.selection.fromOrientedRange(m),t.$blockScrolling-=1,t.isFocused()&&!w&&t.renderer.$cursorLayer.setBlinking(!t.getReadOnly()),m=null,g=null,y=0,E=null,S=null,i.removeListener(document,"mousemove",O)}function O(){A==null&&(A=setTimeout(function(){A!=null&&h&&L()},20))}function M(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e=="text/plain"||e=="Text"})}function _(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],r=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":n.indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",s.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var f=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];f.forEach(function(t){e[t]=this[t]},this),t.addEventListener("mousedown",this.onMouseDown.bind(e));var c=t.container,h,p,d,v,m,g,y=0,b,w,E,S,x;this.onDragStart=function(e){if(this.cancelDrag||!c.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}m=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",s.isOpera&&(t.container.appendChild(n),n.scrollTop=0),i.setDragImage&&i.setDragImage(n,0,0),s.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(e){c.draggable=!1,w=!1,this.setState(null);if(!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!b&&n=="move"&&t.session.remove(t.getSelectionRange()),t.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||k(),y++,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragOver=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||(k(),y++),A!==null&&(A=null),e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragLeave=function(e){y--;if(y<=0&&h)return L(),b=null,i.preventDefault(e)},this.onDrop=function(e){if(!g)return;var n=e.dataTransfer;if(w)switch(b){case"move":m.contains(g.row,g.column)?m={start:g,end:g}:m=t.moveText(m,g);break;case"copy":m=t.moveText(m,g,!0)}else{var r=n.getData("Text");m={start:g,end:t.session.insert(g,r)},t.focus(),b=null}return L(),i.preventDefault(e)},i.addListener(c,"dragstart",this.onDragStart.bind(e)),i.addListener(c,"dragend",this.onDragEnd.bind(e)),i.addListener(c,"dragenter",this.onDragEnter.bind(e)),i.addListener(c,"dragover",this.onDragOver.bind(e)),i.addListener(c,"dragleave",this.onDragLeave.bind(e)),i.addListener(c,"drop",this.onDrop.bind(e));var A=null}function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=200,u=200,a=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var n=s.isWin?"default":"move";e.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&this.state=="dragReady"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state==="dragWait"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(!this.$dragEnabled)return;this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),i=e.domEvent.detail||1;if(i===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on");if(t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var u=t.container;u.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}).call(f.prototype),t.DragdropHandler=f}),define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){n.readyState===4&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){if(n||!i.readyState||i.readyState=="loaded"||i.readyState=="complete")i=i.onload=i.onreadystatechange=null,n||t()}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t){var i=n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var s=r.indexOf(t);s!=-1&&r.splice(s,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"no use strict";function o(e){typeof console!="undefined"&&console.warn&&console.warn.apply(console,arguments)}function u(e,t){var n=new Error(e);n.data=t,typeof console=="object"&&console.error&&console.error(n),setTimeout(function(){throw n})}var r=e("./oop"),i=e("./event_emitter").EventEmitter,s={setOptions:function(e){Object.keys(e).forEach(function(t){this.setOption(t,e[t])},this)},getOptions:function(e){var t={};return e?Array.isArray(e)||(t=e,e=Object.keys(t)):e=Object.keys(this.$options),e.forEach(function(e){t[e]=this.getOption(e)},this),t},setOption:function(e,t){if(this["$"+e]===t)return;var n=this.$options[e];if(!n)return o('misspelled option "'+e+'"');if(n.forwardTo)return this[n.forwardTo]&&this[n.forwardTo].setOption(e,t);n.handlesSet||(this["$"+e]=t),n&&n.set&&n.set.call(this,t)},getOption:function(e){var t=this.$options[e];return t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(e):t&&t.get?t.get.call(this):this["$"+e]:o('misspelled option "'+e+'"')}},a=function(){this.$defaultOptions={}};(function(){r.implement(this,i),this.defineOptions=function(e,t,n){return e.$options||(this.$defaultOptions[t]=e.$options={}),Object.keys(n).forEach(function(t){var r=n[t];typeof r=="string"&&(r={forwardTo:r}),r.name||(r.name=t),e.$options[r.name]=r,"initialValue"in r&&(e["$"+r.name]=r.initialValue)}),r.implement(e,s),this},this.resetOptions=function(e){Object.keys(e.$options).forEach(function(t){var n=e.$options[t];"value"in n&&e.setOption(t,n.value)})},this.setDefaultValue=function(e,t,n){var r=this.$defaultOptions[e]||(this.$defaultOptions[e]={});r[t]&&(r.forwardTo?this.setDefaultValue(r.forwardTo,t,n):r[t].value=n)},this.setDefaultValues=function(e,t){Object.keys(t).forEach(function(n){this.setDefaultValue(e,n,t[n])},this)},this.warn=o,this.reportError=u}).call(a.prototype),t.AppConfig=a}),define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/app_config"],function(e,t,n){"no use strict";function f(r){a.packaged=r||e.packaged||n.packaged||u.define&&define.packaged;if(!u.document)return"";var i={},s="",o=document.currentScript||document._currentScript,f=o&&o.ownerDocument||document,c=f.getElementsByTagName("script");for(var h=0;h<c.length;h++){var p=c[h],d=p.src||p.getAttribute("src");if(!d)continue;var v=p.attributes;for(var m=0,g=v.length;m<g;m++){var y=v[m];y.name.indexOf("data-ace-")===0&&(i[l(y.name.replace(/^data-ace-/,""))]=y.value)}var b=d.match(/^(.*)\/ace(\-\w+)?\.js(\?|$)/);b&&(s=b[1])}s&&(i.base=i.base||s,i.packaged=!0),i.basePath=i.base,i.workerPath=i.workerPath||i.base,i.modePath=i.modePath||i.base,i.themePath=i.themePath||i.base,delete i.base;for(var w in i)typeof i[w]!="undefined"&&t.set(w,i[w])}function l(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./lib/net"),o=e("./lib/app_config").AppConfig;n.exports=t=new o;var u=function(){return this}(),a={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{}};t.get=function(e){if(!a.hasOwnProperty(e))throw new Error("Unknown config key: "+e);return a[e]},t.set=function(e,t){if(!a.hasOwnProperty(e))throw new Error("Unknown config key: "+e);a[e]=t},t.all=function(){return r.copyObject(a)},t.moduleUrl=function(e,t){if(a.$moduleUrls[e])return a.$moduleUrls[e];var n=e.split("/");t=t||n[n.length-2]||"";var r=t=="snippets"?"/":"-",i=n[n.length-1];if(t=="worker"&&r=="-"){var s=new RegExp("^"+t+"[\\-_]|[\\-_]"+t+"$","g");i=i.replace(s,"")}(!i||i==t)&&n.length>1&&(i=n[n.length-2]);var o=a[t+"Path"];return o==null?o=a.basePath:r=="/"&&(t=r=""),o&&o.slice(-1)!="/"&&(o+="/"),o+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return a.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,o;Array.isArray(n)&&(o=n[0],n=n[1]);try{i=e(n)}catch(u){}if(i&&!t.$loading[n])return r&&r(i);t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r);if(t.$loading[n].length>1)return;var a=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return a();s.loadScript(t.moduleUrl(n,o),a)},t.init=f}),define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("./default_handlers").DefaultHandlers,o=e("./default_gutter_handler").GutterHandler,u=e("./mouse_event").MouseEvent,a=e("./dragdrop_handler").DragdropHandler,f=e("../config"),l=function(e){var t=this;this.editor=e,new s(this),new o(this),new a(this);var n=function(t){(!document.hasFocus||!document.hasFocus())&&window.focus(),e.focus()},u=e.renderer.getMouseEventTarget();r.addListener(u,"click",this.onMouseEvent.bind(this,"click")),r.addListener(u,"mousemove",this.onMouseMove.bind(this,"mousemove")),r.addMultiMouseDownListener(u,[400,300,250],this,"onMouseEvent"),e.renderer.scrollBarV&&(r.addMultiMouseDownListener(e.renderer.scrollBarV.inner,[400,300,250],this,"onMouseEvent"),r.addMultiMouseDownListener(e.renderer.scrollBarH.inner,[400,300,250],this,"onMouseEvent"),i.isIE&&(r.addListener(e.renderer.scrollBarV.element,"mousedown",n),r.addListener(e.renderer.scrollBarH.element,"mousedown",n))),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel"));var f=e.renderer.$gutter;r.addListener(f,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),r.addListener(f,"click",this.onMouseEvent.bind(this,"gutterclick")),r.addListener(f,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),r.addListener(f,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),r.addListener(u,"mousedown",n),r.addListener(f,"mousedown",function(t){return e.focus(),r.preventDefault(t)}),e.on("mousemove",function(n){if(t.state||t.$dragDelay||!t.$dragEnabled)return;var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),s=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?s.setCursorStyle("default"):s.setCursorStyle("")})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new u(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;if(!n||!n.length)return;this.editor._emit(e,new u(t,this.editor))},this.onMouseWheel=function(e,t){var n=new u(t,this.editor);n.speed=this.$scrollSpeed*2,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor.renderer;n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=null);var s=this,o=function(e){if(!e)return;if(i.isWebKit&&!e.which&&s.releaseMouse)return s.releaseMouse();s.x=e.clientX,s.y=e.clientY,t&&t(e),s.mouseEvent=new u(e,s.editor),s.$mouseMoved=!0},a=function(e){clearInterval(l),f(),s[s.state+"End"]&&s[s.state+"End"](e),s.state="",n.$keepTextAreaAtCursor==null&&(n.$keepTextAreaAtCursor=!0,n.$moveTextAreaToCursor()),s.isMousePressed=!1,s.$onCaptureMouseMove=s.releaseMouse=null,e&&s.onMouseEvent("mouseup",e)},f=function(){s[s.state]&&s[s.state](),s.$mouseMoved=!1};if(i.isOldIE&&e.domEvent.type=="dblclick")return setTimeout(function(){a(e)});s.$onCaptureMouseMove=o,s.releaseMouse=r.capture(this.editor.container,o,a);var l=setInterval(f,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){if(t&&t.domEvent&&t.domEvent.type!="contextmenu")return;this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent)}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(l.prototype),f.defineOptions(l.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=l}),define("ace/mouse/fold_handler",["require","exports","module"],function(e,t,n){"use strict";function r(e){e.on("click",function(t){var n=t.getDocumentPosition(),r=e.session,i=r.getFoldAt(n.row,n.column,1);i&&(t.getAccelKey()?r.removeFold(i):r.expandFold(i),t.stop())}),e.on("gutterclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session,s=i.getParentFoldRangeData(r,!0),o=s.range||s.firstRange;if(o){r=o.start.row;var u=i.getFoldAt(r,i.getLine(r).length,1);u?i.removeFold(u):(i.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}t.FoldHandler=r}),define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),s=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]==e)return;while(t[t.length-1]&&t[t.length-1]!=this.$defaultHandler)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)},this.addKeyboardHandler=function(e,t){if(!e)return;typeof e=="function"&&!e.handleKeyboard&&(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),t==undefined?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t==-1?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,r){var s,o=!1,u=this.$editor.commands;for(var a=this.$handlers.length;a--;){s=this.$handlers[a].handleKeyboard(this.$data,e,t,n,r);if(!s||!s.command)continue;s.command=="null"?o=!0:o=u.exec(s.command,this.$editor,s.args,r),o&&r&&e!=-1&&s.passEvent!=1&&s.command.passEvent!=1&&i.stopEvent(r);if(o)break}return o},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){var t=this.$callKeyboardHandlers(-1,e);t||this.$editor.commands.exec("insertstring",this.$editor,e)}}).call(s.prototype),t.KeyBinding=s}),define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.lead=this.selectionLead=this.doc.createAnchor(0,0),this.anchor=this.selectionAnchor=this.doc.createAnchor(0,0);var t=this;this.lead.on("change",function(e){t._emit("changeCursor"),t.$isEmpty||t._emit("changeSelection"),!t.$keepDesiredColumnOnChange&&e.old.column!=e.value.column&&(t.$desiredColumn=null)}),this.selectionAnchor.on("change",function(){t.$isEmpty||t._emit("changeSelection")})};(function(){r.implement(this,s),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return this.isEmpty()?!1:this.getRange().isMultiLine()},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.anchor.setPosition(e,t),this.$isEmpty&&(this.$isEmpty=!1,this._emit("changeSelection"))},this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.shiftSelection=function(e){if(this.$isEmpty){this.moveCursorTo(this.lead.row,this.lead.column+e);return}var t=this.getSelectionAnchor(),n=this.getSelectionLead(),r=this.isBackwards();(!r||t.column!==0)&&this.setSelectionAnchor(t.row,t.column+e),(r||n.column!==0)&&this.$moveSelection(function(){this.moveCursorTo(n.row,n.column+e)})},this.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.isEmpty()?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column===0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(e.column-n,e.column).split(" ").length-1==n?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var n=this.session.getTabSize(),e=this.lead;this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(e.column,e.column+n).split(" ").length-1==n?this.moveCursorBy(0,n):this.moveCursorBy(0,1)}},this.moveCursorLineStart=function(){var e=this.lead.row,t=this.lead.column,n=this.session.documentToScreenRow(e,t),r=this.session.screenToDocumentPosition(n,0),i=this.session.getDisplayLine(e,null,r.row,r.column),s=i.match(/^\s*/);s[0].length!=t&&!this.session.$useEmacsStyleLineStart&&(r.column+=s[0].length),this.moveCursorToPosition(r)},this.moveCursorLineEnd=function(){var e=this.lead,t=this.session.getDocumentLastRowColumnPosition(e.row,e.column);if(this.lead.column==t.column){var n=this.session.getLine(t.row);if(t.column==n.length){var r=n.search(/\s+$/);r>0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var s=this.session.getFoldAt(e,t,1);if(s){this.moveCursorTo(s.end.row,s.end.column);return}if(i=this.session.nonTokenRe.exec(r))t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t);if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e<this.doc.getLength()-1&&this.moveCursorWordRight();return}if(i=this.session.tokenRe.exec(r))t+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(e,t)},this.moveCursorLongWordLeft=function(){var e=this.lead.row,t=this.lead.column,n;if(n=this.session.getFoldAt(e,t,-1)){this.moveCursorTo(n.start.row,n.start.column);return}var r=this.session.getFoldStringAt(e,t,-1);r==null&&(r=this.doc.getLine(e).substring(0,t));var s=i.stringReverse(r),o;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;if(o=this.session.nonTokenRe.exec(s))t-=this.session.nonTokenRe.lastIndex,s=s.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0;if(t<=0){this.moveCursorTo(e,0),this.moveCursorLeft(),e>0&&this.moveCursorWordLeft();return}if(o=this.session.tokenRe.exec(s))t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(e,t)},this.$shortWordEndIndex=function(e){var t,n=0,r,i=/\s/,s=this.session.tokenRe;s.lastIndex=0;if(t=this.session.tokenRe.exec(e))n=this.session.tokenRe.lastIndex;else{while((r=e[n])&&i.test(r))n++;if(n<1){s.lastIndex=0;while((r=e[n])&&!s.test(r)){s.lastIndex=0,n++;if(i.test(r)){if(n>2){n--;break}while((r=e[n])&&i.test(r))n++;if(n>2)break}}}}return s.lastIndex=0,n},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e<s&&/^\s*$/.test(r));/^\s+/.test(r)||(r=""),t=0}var o=this.$shortWordEndIndex(r);this.moveCursorTo(e,t+o)},this.moveCursorShortWordLeft=function(){var e=this.lead.row,t=this.lead.column,n;if(n=this.session.getFoldAt(e,t,-1))return this.moveCursorTo(n.start.row,n.start.column);var r=this.session.getLine(e).substring(0,t);if(t===0){do e--,r=this.doc.getLine(e);while(e>0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column);t===0&&(this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var r=this.session.screenToDocumentPosition(n.row+e,n.column);e!==0&&t===0&&r.row===this.lead.row&&r.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[r.row]&&r.row++,this.moveCursorTo(r.row,r.column+t,t===0)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0,this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e.call(null,this);var n=this.getCursor();return o.fromPoints(t,n)}catch(r){return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(e.start==undefined){if(this.rangeList){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e.isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(u.prototype),t.Selection=u}),define("ace/tokenizer",["require","exports","module","ace/config"],function(e,t,n){"use strict";var r=e("./config"),i=2e3,s=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){var n=this.states[t],r=[],i=0,s=this.matchMappings[t]={defaultToken:"text"},o="g",u=[];for(var a=0;a<n.length;a++){var f=n[a];f.defaultToken&&(s.defaultToken=f.defaultToken),f.caseInsensitive&&(o="gi");if(f.regex==null)continue;f.regex instanceof RegExp&&(f.regex=f.regex.toString().slice(1,-1));var l=f.regex,c=(new RegExp("(?:("+l+")|(.))")).exec("a").length-2;Array.isArray(f.token)?f.token.length==1||c==1?f.token=f.token[0]:c-1!=f.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:f,groupCount:c-1}),f.token=f.token[0]):(f.tokenArray=f.token,f.token=null,f.onMatch=this.$arrayTokens):typeof f.token=="function"&&!f.onMatch&&(c>1?f.onMatch=this.$applyToken:f.onMatch=f.token),c>1&&(/\\\d/.test(f.regex)?l=f.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(c=1,l=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&u.push(f)),s[i]=a,i+=c,r.push(l),f.onMatch||(f.onMatch=null)}r.length||(s[0]=0,r.push("$")),u.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",o)}};(function(){this.$setMaxTokenCount=function(e){i=e|0},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n=="string")return[{type:n,value:e}];var r=[];for(var i=0,s=n.length;i<s;i++)t[i]&&(r[r.length]={type:n[i],value:t[i]});return r},this.$arrayTokens=function(e){if(!e)return[];var t=this.splitRegex.exec(e);if(!t)return"text";var n=[],r=this.tokenArray;for(var i=0,s=r.length;i<s;i++)t[i+1]&&(n[n.length]={type:r[i],value:t[i+1]});return n},this.removeCapturingGroups=function(e){var t=e.replace(/\[(?:\\.|[^\]])*?\]|\\.|\(\?[:=!]|(\()/g,function(e,t){return t?"(?:":e});return t},this.createSplitterRegexp=function(e,t){if(e.indexOf("(?=")!=-1){var n=0,r=!1,i={};e.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,t,s,o,u,a){return r?r=u!="]":u?r=!0:o?(n==i.stack&&(i.end=a+1,i.stack=-1),n--):s&&(n++,s.length!=1&&(i.stack=n,i.start=a)),e}),i.end!=null&&/^\)*$/.test(e.substr(i.end))&&(e=e.substring(0,i.start)+e.substr(i.end))}return new RegExp(e,(t||"").replace("g",""))},this.getLineTokens=function(e,t){if(t&&typeof t!="string"){var n=t.slice(0);t=n[0],t==="#tmp"&&(n.shift(),t=n.shift())}else var n=[];var r=t||"start",s=this.states[r];s||(r="start",s=this.states[r]);var o=this.matchMappings[r],u=this.regExps[r];u.lastIndex=0;var a,f=[],l=0,c=0,h={type:null,value:""};while(a=u.exec(e)){var p=o.defaultToken,d=null,v=a[0],m=u.lastIndex;if(m-v.length>l){var g=e.substring(l,m-v.length);h.type==p?h.value+=g:(h.type&&f.push(h),h={type:p,value:g})}for(var y=0;y<a.length-2;y++){if(a[y+1]===undefined)continue;d=s[o[y]],d.onMatch?p=d.onMatch(v,r,n):p=d.token,d.next&&(typeof d.next=="string"?r=d.next:r=d.next(r,n),s=this.states[r],s||(this.reportError("state doesn't exist",r),r="start",s=this.states[r]),o=this.matchMappings[r],l=m,u=this.regExps[r],u.lastIndex=m);break}if(v)if(typeof p=="string")!!d&&d.merge===!1||h.type!==p?(h.type&&f.push(h),h={type:p,value:v}):h.value+=v;else if(p){h.type&&f.push(h),h={type:null,value:""};for(var y=0;y<p.length;y++)f.push(p[y])}if(l==e.length)break;l=m;if(c++>i){c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});while(l<e.length)h.type&&f.push(h),h={value:e.substring(l,l+=2e3),type:"overflow"};r="start",n=[];break}}return h.type&&f.push(h),n.length>1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:f,state:n.length?n:r}},this.reportError=r.reportError}).call(s.prototype),t.Tokenizer=s}),define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){var r=e[n];for(var i=0;i<r.length;i++){var s=r[i];if(s.next||s.onMatch)typeof s.next!="string"?s.nextState&&s.nextState.indexOf(t)!==0&&(s.nextState=t+s.nextState):s.next.indexOf(t)!==0&&(s.next=t+s.next)}this.$rules[t+n]=r}},this.getRules=function(){return this.$rules},this.embedRules=function(e,t,n,i,s){var o=typeof e=="function"?(new e).getRules():e;if(i)for(var u=0;u<i.length;u++)i[u]=t+i[u];else{i=[];for(var a in o)i.push(t+a)}this.addRules(o,t);if(n){var f=Array.prototype[s?"push":"unshift"];for(var u=0;u<i.length;u++)f.apply(this.$rules[i[u]],r.deepCopy(n))}this.$embeds||(this.$embeds=[]),this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds};var e=function(e,t){return(e!="start"||t.length)&&t.unshift(this.nextState,e),this.nextState},t=function(e,t){return t.shift(),t.shift()||"start"};this.normalizeRules=function(){function i(s){var o=r[s];o.processed=!0;for(var u=0;u<o.length;u++){var a=o[u];!a.regex&&a.start&&(a.regex=a.start,a.next||(a.next=[]),a.next.push({defaultToken:a.token},{token:a.token+".end",regex:a.end||a.start,next:"pop"}),a.token=a.token+".start",a.push=!0);var f=a.next||a.push;if(f&&Array.isArray(f)){var l=a.stateName;l||(l=a.token,typeof l!="string"&&(l=l[0]||""),r[l]&&(l+=n++)),r[l]=f,a.next=l,i(l)}else f=="pop"&&(a.next=t);a.push&&(a.nextState=a.next||a.push,a.next=e,delete a.push);if(a.rules)for(var c in a.rules)r[c]?r[c].push&&r[c].push.apply(r[c],a.rules[c]):r[c]=a.rules[c];if(a.include||typeof a=="string")var h=a.include||a,p=r[h];else Array.isArray(a)&&(p=a);if(p){var d=[u,1].concat(p);a.noEscape&&(d=d.filter(function(e){return!e.next})),o.splice.apply(o,d),u--,p=null}a.keywordMap&&(a.token=this.createKeywordMapper(a.keywordMap,a.defaultToken||"text",a.caseInsensitive),delete a.defaultToken)}}var n=0,r=this.$rules;Object.keys(r).forEach(i,this)},this.createKeywordMapper=function(e,t,n,r){var i=Object.create(null);return Object.keys(e).forEach(function(t){var s=e[t];n&&(s=s.toLowerCase());var o=s.split(r||"|");for(var u=o.length;u--;)i[o[u]]=t}),Object.getPrototypeOf(i)&&(i.__proto__=null),this.$keywordList=Object.keys(i),e=null,n?function(e){return i[e.toLowerCase()]||t}:function(e){return i[e]||t}},this.getKeywords=function(){return this.$keywords}}).call(i.prototype),t.TextHighlightRules=i}),define("ace/mode/behaviour",["require","exports","module"],function(e,t,n){"use strict";var r=function(){this.$behaviours={}};(function(){this.add=function(e,t,n){switch(undefined){case this.$behaviours:this.$behaviours={};case this.$behaviours[e]:this.$behaviours[e]={}}this.$behaviours[e][t]=n},this.addBehaviours=function(e){for(var t in e)for(var n in e[t])this.add(t,n,e[t][n])},this.remove=function(e){this.$behaviours&&this.$behaviours[e]&&delete this.$behaviours[e]},this.inherit=function(e,t){if(typeof e=="function")var n=(new e).getBehaviours(t);else var n=e.getBehaviours(t);this.addBehaviours(n)},this.getBehaviours=function(e){if(!e)return this.$behaviours;var t={};for(var n=0;n<e.length;n++)this.$behaviours[e[n]]&&(t[e[n]]=this.$behaviours[e[n]]);return t}}).call(r.prototype),t.Behaviour=r}),define("ace/unicode",["require","exports","module"],function(e,t,n){"use strict";function r(e){var n=/\w{4}/g;for(var r in e)t.packages[r]=e[r].replace(n,"\\u$&")}t.packages={},r({L:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Ll:"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F0521052305250561-05871D00-1D2B1D62-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7C2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2D00-2D25A641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CFB00-FB06FB13-FB17FF41-FF5A",Lu:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A",Lt:"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",Lm:"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F",Lo:"01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF12135-21382D30-2D652D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",M:"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DE-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0903093C093E-094E0951-0955096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F90-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135F1712-17141732-1734175217531772177317B6-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAA1C24-1C371CD0-1CD21CD4-1CE81CED1CF21DC0-1DE61DFD-1DFF20D0-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66F-A672A67CA67DA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",Mn:"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0902093C0941-0948094D0951-095509620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F90-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135F1712-17141732-1734175217531772177317B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1DC0-1DE61DFD-1DFF20D0-20DC20E120E5-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66FA67CA67DA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",Mc:"0903093E-09400949-094C094E0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1C24-1C2B1C341C351CE11CF2A823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BABE3ABE4ABE6ABE7ABE9ABEAABEC",Me:"0488048906DE20DD-20E020E2-20E4A670-A672",N:"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nd:"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nl:"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",No:"00B200B300B900BC-00BE09F4-09F90BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F920702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293251-325F3280-328932B1-32BFA830-A835",P:"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100AB00B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F3A-0F3D0F850FD0-0FD4104A-104F10FB1361-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2E00-2E2E2E302E313001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",Pd:"002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D",Ps:"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",Pe:"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",Pi:"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",Pf:"00BB2019201D203A2E032E052E0A2E0D2E1D2E21",Pc:"005F203F20402054FE33FE34FE4D-FE4FFF3F",Po:"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",S:"0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",Sm:"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C2140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27CA27CC27D0-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",Sc:"002400A2-00A5060B09F209F309FB0AF10BF90E3F17DB20A0-20B8A838FDFCFE69FF04FFE0FFE1FFE5FFE6",Sk:"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFF3EFF40FFE3",So:"00A600A700A900AE00B000B60482060E060F06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0CF10CF20D790F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-1399194019E0-19FF1B61-1B6A1B74-1B7C210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23E82400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",Z:"002000A01680180E2000-200A20282029202F205F3000",Zs:"002000A01680180E2000-200A202F205F3000",Zl:"2028",Zp:"2029",C:"0000-001F007F-009F00AD03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-0605061C061D0620065F06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17B417B517DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",Cc:"0000-001F007F-009F",Cf:"00AD0600-060306DD070F17B417B5200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",Co:"E000-F8FF",Cs:"D800-DFFF",Cn:"03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-05FF06040605061C061D0620065F070E074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"})}),define("ace/token_iterator",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t,n){this.$session=e,this.$row=t,this.$rowTokens=e.getTokens(t);var r=e.getTokenAt(t,n);this.$tokenIndex=r?r.index:-1};(function(){this.stepBackward=function(){this.$tokenIndex-=1;while(this.$tokenIndex<0){this.$row-=1;if(this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},this.stepForward=function(){this.$tokenIndex+=1;var e;while(this.$tokenIndex>=this.$rowTokens.length){this.$row+=1,e||(e=this.$session.getLength());if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n}}).call(r.prototype),t.TokenIterator=r}),define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(e,t,n){"use strict";var r=e("../tokenizer").Tokenizer,i=e("./text_highlight_rules").TextHighlightRules,s=e("./behaviour").Behaviour,o=e("../unicode"),u=e("../lib/lang"),a=e("../token_iterator").TokenIterator,f=e("../range").Range,l=function(){this.HighlightRules=i,this.$behaviour=new s};(function(){this.tokenRe=new RegExp("^["+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules,this.$tokenizer=new r(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,n,r){function w(e){for(var t=n;t<=r;t++)e(i.getLine(t),t)}var i=t.doc,s=!0,o=!0,a=Infinity,f=t.getTabSize(),l=!1;if(!this.lineCommentStart){if(!this.blockComment)return!1;var c=this.blockComment.start,h=this.blockComment.end,p=new RegExp("^(\\s*)(?:"+u.escapeRegExp(c)+")"),d=new RegExp("(?:"+u.escapeRegExp(h)+")\\s*$"),v=function(e,t){if(g(e,t))return;if(!s||/\S/.test(e))i.insertInLine({row:t,column:e.length},h),i.insertInLine({row:t,column:a},c)},m=function(e,t){var n;(n=e.match(d))&&i.removeInLine(t,e.length-n[0].length,e.length),(n=e.match(p))&&i.removeInLine(t,n[1].length,n[0].length)},g=function(e,n){if(p.test(e))return!0;var r=t.getTokens(n);for(var i=0;i<r.length;i++)if(r[i].type==="comment")return!0}}else{if(Array.isArray(this.lineCommentStart))var p=this.lineCommentStart.map(u.escapeRegExp).join("|"),c=this.lineCommentStart[0];else var p=u.escapeRegExp(this.lineCommentStart),c=this.lineCommentStart;p=new RegExp("^(\\s*)(?:"+p+") ?"),l=t.getUseSoftTabs();var m=function(e,t){var n=e.match(p);if(!n)return;var r=n[1].length,s=n[0].length;!b(e,r,s)&&n[0][s-1]==" "&&s--,i.removeInLine(t,r,s)},y=c+" ",v=function(e,t){if(!s||/\S/.test(e))b(e,a,a)?i.insertInLine({row:t,column:a},y):i.insertInLine({row:t,column:a},c)},g=function(e,t){return p.test(e)},b=function(e,t,n){var r=0;while(t--&&e.charAt(t)==" ")r++;if(r%f!=0)return!1;var r=0;while(e.charAt(n++)==" ")r++;return f>2?r%f!=f-1:r%f==0}}var E=Infinity;w(function(e,t){var n=e.search(/\S/);n!==-1?(n<a&&(a=n),o&&!g(e,t)&&(o=!1)):E>e.length&&(E=e.length)}),a==Infinity&&(a=E,s=!1,o=!1),l&&a%f!=0&&(a=Math.floor(a/f)*f),w(o?m:v)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(!i)return;!i.start&&i[0]&&(i=i[0]);var s=new a(t,r.row,r.column),o=s.getCurrentToken(),u=t.selection,l=t.selection.toOrientedRange(),c,h;if(o&&/comment/.test(o.type)){var p,d;while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.start);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;p=new f(m,g,m,g+i.start.length);break}o=s.stepBackward()}var s=new a(t,r.row,r.column),o=s.getCurrentToken();while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.end);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;d=new f(m,g,m,g+i.end.length);break}o=s.stepForward()}d&&t.remove(d),p&&(t.remove(p),c=p.start.row,h=-i.start.length)}else h=i.start.length,c=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);l.start.row==c&&(l.start.column+=h),l.end.row==c&&(l.end.column+=h),t.selection.fromOrientedRange(l)},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)e[t]&&(this.$embeds.push(t),this.$modes[t]=new e[t]);var n=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(var t=0;t<n.length;t++)(function(e){var r=n[t],i=e[r];e[n[t]]=function(){return this.$delegator(r,arguments,i)}})(this)},this.$delegator=function(e,t,n){var r=t[0];typeof r!="string"&&(r=r[0]);for(var i=0;i<this.$embeds.length;i++){if(!this.$modes[this.$embeds[i]])continue;var s=r.split(this.$embeds[i]);if(!s[0]&&s[1]){t[0]=s[1];var o=this.$modes[this.$embeds[i]];return o[e].apply(o,t)}}var u=n.apply(this,t);return n?u:undefined},this.transformAction=function(e,t,n,r,i){if(this.$behaviour){var s=this.$behaviour.getBehaviours();for(var o in s)if(s[o][t]){var u=s[o][t].apply(this,arguments);if(u)return u}}},this.getKeywords=function(e){if(!this.completionKeywords){var t=this.$tokenizer.rules,n=[];for(var r in t){var i=t[r];for(var s=0,o=i.length;s<o;s++)if(typeof i[s].token=="string")/keyword|support|storage/.test(i[s].token)&&n.push(i[s].regex);else if(typeof i[s].token=="object")for(var u=0,a=i[s].token.length;u<a;u++)if(/keyword|support|storage/.test(i[s].token[u])){var r=i[s].regex.match(/\(.+?\)/g)[u];n.push(r.substr(1,r.length-2))}}this.completionKeywords=n}return e?n.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,t,n,r){var i=this.$keywordList||this.$createKeywordList();return i.map(function(e){return{name:e,value:e,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call(l.prototype),t.Mode=l}),define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){var t=e.data,n=t.range;if(n.start.row==n.end.row&&n.start.row!=this.row)return;if(n.start.row>this.row)return;if(n.start.row==this.row&&n.start.column>this.column)return;var r=this.row,i=this.column,s=n.start,o=n.end;if(t.action==="insertText")if(s.row===r&&s.column<=i){if(s.column!==i||!this.$insertRight)s.row===o.row?i+=o.column-s.column:(i-=s.column,r+=o.row-s.row)}else s.row!==o.row&&s.row<r&&(r+=o.row-s.row);else t.action==="insertLines"?(s.row!==r||i!==0||!this.$insertRight)&&s.row<=r&&(r+=o.row-s.row):t.action==="removeText"?s.row===r&&s.column<i?o.column>=i?i=s.column:i=Math.max(0,i-(o.column-s.column)):s.row!==o.row&&s.row<r?(o.row===r&&(i=Math.max(0,i-o.column)+s.column),r-=o.row-s.row):o.row===r&&(r-=o.row-s.row,i=Math.max(0,i-o.column)+s.column):t.action=="removeLines"&&s.row<=r&&(o.row<=r?r-=o.row-s.row:(r=s.row,i=0));this.setPosition(r,i,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),define("ace/document",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=e("./range").Range,o=e("./anchor").Anchor,u=function(e){this.$lines=[],e.length===0?this.$lines=[""]:Array.isArray(e)?this._insertLines(0,e):this.insert({row:0,column:0},e)};(function(){r.implement(this,i),this.setValue=function(e){var t=this.getLength();this.remove(new s(0,0,t,this.getLine(t-1).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new o(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){if(e.start.row==e.end.row)return this.getLine(e.start.row).substring(e.start.column,e.end.column);var t=this.getLines(e.start.row,e.end.row);t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;return e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column)),t.join(this.getNewLineCharacter())},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):e.row<0&&(e.row=0),e},this.insert=function(e,t){if(!t||t.length===0)return e;e=this.$clipPosition(e),this.getLength()<=1&&this.$detectNewLine(t);var n=this.$split(t),r=n.splice(0,1)[0],i=n.length==0?null:n.splice(n.length-1,1)[0];return e=this.insertInLine(e,r),i!==null&&(e=this.insertNewLine(e),e=this._insertLines(e.row,n),e=this.insertInLine(e,i||"")),e},this.insertLines=function(e,t){return e>=this.getLength()?this.insert({row:e,column:0},"\n"+t.join("\n")):this._insertLines(Math.max(e,0),t)},this._insertLines=function(e,t){if(t.length==0)return{row:e,column:0};while(t.length>2e4){var n=this._insertLines(e,t.slice(0,2e4));t=t.slice(2e4),e=n.row}var r=[e,0];r.push.apply(r,t),this.$lines.splice.apply(this.$lines,r);var i=new s(e,0,e+t.length,0),o={action:"insertLines",range:i,lines:t};return this._signal("change",{data:o}),i.end},this.insertNewLine=function(e){e=this.$clipPosition(e);var t=this.$lines[e.row]||"";this.$lines[e.row]=t.substring(0,e.column),this.$lines.splice(e.row+1,0,t.substring(e.column,t.length));var n={row:e.row+1,column:0},r={action:"insertText",range:s.fromPoints(e,n),text:this.getNewLineCharacter()};return this._signal("change",{data:r}),n},this.insertInLine=function(e,t){if(t.length==0)return e;var n=this.$lines[e.row]||"";this.$lines[e.row]=n.substring(0,e.column)+t+n.substring(e.column);var r={row:e.row,column:e.column+t.length},i={action:"insertText",range:s.fromPoints(e,r),text:t};return this._signal("change",{data:i}),r},this.remove=function(e){e instanceof s||(e=s.fromPoints(e.start,e.end)),e.start=this.$clipPosition(e.start),e.end=this.$clipPosition(e.end);if(e.isEmpty())return e.start;var t=e.start.row,n=e.end.row;if(e.isMultiLine()){var r=e.start.column==0?t:t+1,i=n-1;e.end.column>0&&this.removeInLine(n,0,e.end.column),i>=r&&this._removeLines(r,i),r!=t&&(this.removeInLine(t,e.start.column,this.getLine(t).length),this.removeNewLine(e.start.row))}else this.removeInLine(t,e.start.column,e.end.column);return e.start},this.removeInLine=function(e,t,n){if(t==n)return;var r=new s(e,t,e,n),i=this.getLine(e),o=i.substring(t,n),u=i.substring(0,t)+i.substring(n,i.length);this.$lines.splice(e,1,u);var a={action:"removeText",range:r,text:o};return this._signal("change",{data:a}),r.start},this.removeLines=function(e,t){return e<0||t>=this.getLength()?this.remove(new s(e,0,t+1,0)):this._removeLines(e,t)},this._removeLines=function(e,t){var n=new s(e,0,t+1,0),r=this.$lines.splice(e,t-e+1),i={action:"removeLines",range:n,nl:this.getNewLineCharacter(),lines:r};return this._signal("change",{data:i}),r},this.removeNewLine=function(e){var t=this.getLine(e),n=this.getLine(e+1),r=new s(e,t.length,e+1,0),i=t+n;this.$lines.splice(e,2,i);var o={action:"removeText",range:r,text:this.getNewLineCharacter()};this._signal("change",{data:o})},this.replace=function(e,t){e instanceof s||(e=s.fromPoints(e.start,e.end));if(t.length==0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);if(t)var n=this.insert(e.start,t);else n=e.start;return n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this.insertLines(r.start.row,n.lines):n.action=="insertText"?this.insert(r.start,n.text):n.action=="removeLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="removeText"&&this.remove(r)}},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--){var n=e[t],r=s.fromPoints(n.range.start,n.range.end);n.action=="insertLines"?this._removeLines(r.start.row,r.end.row-1):n.action=="insertText"?this.remove(r):n.action=="removeLines"?this._insertLines(r.start.row,n.lines):n.action=="removeText"&&this.insert(r.start,n.text)}},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:n[s-1].length}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(u.prototype),t.Document=u}),define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=function(e,t){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=e;var n=this;this.$worker=function(){if(!n.running)return;var e=new Date,t=n.currentLine,r=-1,i=n.doc;while(n.lines[t])t++;var s=t,o=i.getLength(),u=0;n.running=!1;while(t<o){n.$tokenizeRow(t),r=t;do t++;while(n.lines[t]);u++;if(u%5===0&&new Date-e>20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,s<=r&&n.fireUpdateEvent(s,r)}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.range,n=t.start.row,r=t.end.row-n;if(r===0)this.lines[n]=null;else if(e.action=="removeText"||e.action=="removeLines")this.lines.splice(n,r+1,null),this.states.splice(n,r+1,null);else{var i=Array(r+1);i.unshift(n,1),this.lines.splice.apply(this.lines,i),this.states.splice.apply(this.states,i)}this.currentLine=Math.min(n,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(s.prototype),t.BackgroundTokenizer=s}),define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},this.update=function(e,t,n,i){if(!this.regExp)return;var o=i.firstRow,u=i.lastRow;for(var a=o;a<=u;a++){var f=this.cache[a];f==null&&(f=r.getMatchOffsets(n.getLine(a),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(e){return new s(a,e.offset,a,e.offset+e.length)}),this.cache[a]=f.length?f:"");for(var l=f.length;l--;)t.drawSingleLineMarker(e,f[l].toScreenRange(n),this.clazz,i)}}}).call(o.prototype),t.SearchHighlight=o}),define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var r=e("../range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.row<this.startRow||e.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f<i.length;f++){s=i[f],o=s.range.compareStart(t,n);if(o==-1){e(null,t,n,r,a);return}u=e(null,s.start.row,s.start.column,r,a),u=!u&&e(s.placeholder,s.start.row,s.start.column,r);if(u||o===0)return;a=!s.sameRow,r=s.end.column}e(null,t,n,r,a)},this.getNextFoldTo=function(e,t){var n,r;for(var i=0;i<this.folds.length;i++){n=this.folds[i],r=n.range.compareEnd(e,t);if(r==-1)return{fold:n,kind:"after"};if(r===0)return{fold:n,kind:"inside"}}return null},this.addRemoveChars=function(e,t,n){var r=this.getNextFoldTo(e,t),i,s;if(r){i=r.fold;if(r.kind=="inside"&&i.start.column!=t&&i.start.row!=e)window.console&&window.console.log(e,t,i);else if(i.start.row==e){s=this.folds;var o=s.indexOf(i);o===0&&(this.start.column+=n);for(o;o<s.length;o++){i=s[o],i.start.column+=n;if(!i.sameRow)return;i.end.column+=n}this.end.column+=n}}},this.split=function(e,t){var n=this.getNextFoldTo(e,t);if(!n||n.kind=="inside")return null;var r=n.fold,s=this.folds,o=this.foldData,u=s.indexOf(r),a=s[u-1];this.end.row=a.end.row,this.end.column=a.end.column,s=s.splice(u,s.length-u);var f=new i(o,s);return o.splice(o.indexOf(this)+1,0,f),f},this.merge=function(e){var t=e.folds;for(var n=0;n<t.length;n++)this.addFold(t[n]);var r=this.foldData;r.splice(r.indexOf(e),1)},this.toString=function(){var e=[this.range.toString()+": ["];return this.folds.forEach(function(t){e.push(" "+t.toString())}),e.push("]"),e.join("\n")},this.idxToPosition=function(e){var t=0;for(var n=0;n<this.folds.length;n++){var r=this.folds[n];e-=r.start.column-t;if(e<0)return{row:r.start.row,column:r.start.column+e};e-=r.placeholder.length;if(e<0)return r.start;t=r.end.column}return{row:this.end.row,column:this.end.column+e}}}).call(i.prototype),t.FoldLine=i}),define("ace/range_list",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("./range").Range,i=r.comparePoints,s=function(){this.ranges=[]};(function(){this.comparePoints=i,this.pointIndex=function(e,t,n){var r=this.ranges;for(var s=n||0;s<r.length;s++){var o=r[s],u=i(e,o.end);if(u>0)continue;var a=i(e,o.start);return u===0?t&&a!==0?-s-2:s:a>0||a===0&&!t?s:-s-1}return-s-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.call(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return i(e.start,t.start)});var n=t[0],r;for(var s=1;s<t.length;s++){r=n,n=t[s];var o=i(r.end,n.start);if(o<0)continue;if(o==0&&!r.isEmpty()&&!n.isEmpty())continue;i(r.end,n.end)<0&&(r.end.row=n.end.row,r.end.column=n.end.column),t.splice(s,1),e.push(n),n=r,s--}return this.ranges=t,e},this.contains=function(e,t){return this.pointIndex({row:e,column:t})>=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.row<e)return[];var r=this.pointIndex({row:e,column:0});r<0&&(r=-r-1);var i=this.pointIndex({row:t,column:0},r);i<0&&(i=-i-1);var s=[];for(var o=r;o<i;o++)s.push(n[o]);return s},this.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},this.attach=function(e){this.session&&this.detach(),this.session=e,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},this.detach=function(){if(!this.session)return;this.session.removeListener("change",this.onChange),this.session=null},this.$onChange=function(e){var t=e.data.range;if(e.data.action[0]=="i")var n=t.start,r=t.end;else var r=t.start,n=t.end;var i=n.row,s=r.row,o=s-i,u=-n.column+r.column,a=this.ranges;for(var f=0,l=a.length;f<l;f++){var c=a[f];if(c.end.row<i)continue;if(c.start.row>i)break;c.start.row==i&&c.start.column>=n.column&&(c.start.column!=n.column||!this.$insertRight)&&(c.start.column+=u,c.start.row+=o);if(c.end.row==i&&c.end.column>=n.column){if(c.end.column==n.column&&this.$insertRight)continue;c.end.column==n.column&&u>0&&f<l-1&&c.end.column>c.start.column&&c.end.column==a[f+1].start.column&&(c.end.column-=u),c.end.column+=u,c.end.row+=o}}if(o!=0&&f<l)for(;f<l;f++){var c=a[f];c.start.row+=o,c.end.row+=o}}}).call(s.prototype),t.RangeList=s}),define("ace/edit_session/fold",["require","exports","module","ace/range","ace/range_list","ace/lib/oop"],function(e,t,n){"use strict";function u(e,t){e.row-=t.row,e.row==0&&(e.column-=t.column)}function a(e,t){u(e.start,t),u(e.end,t)}function f(e,t){e.row==0&&(e.column+=t.column),e.row+=t.row}function l(e,t){f(e.start,t),f(e.end,t)}var r=e("../range").Range,i=e("../range_list").RangeList,s=e("../lib/oop"),o=t.Fold=function(e,t){this.foldLine=null,this.placeholder=t,this.range=e,this.start=e.start,this.end=e.end,this.sameRow=e.start.row==e.end.row,this.subFolds=this.ranges=[]};s.inherits(o,i),function(){this.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},this.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach(function(t){t.setFoldLine(e)})},this.clone=function(){var e=this.range.clone(),t=new o(e,this.placeholder);return this.subFolds.forEach(function(e){t.subFolds.push(e.clone())}),t.collapseChildren=this.collapseChildren,t},this.addSubFold=function(e){if(this.range.isEqual(e))return;if(!this.range.containsRange(e))throw new Error("A fold can't intersect already existing fold"+e.range+this.range);a(e,this.start);var t=e.start.row,n=e.start.column;for(var r=0,i=-1;r<this.subFolds.length;r++){i=this.subFolds[r].range.compare(t,n);if(i!=1)break}var s=this.subFolds[r];if(i==0)return s.addSubFold(e);var t=e.range.end.row,n=e.range.end.column;for(var o=r,i=-1;o<this.subFolds.length;o++){i=this.subFolds[o].range.compare(t,n);if(i!=1)break}var u=this.subFolds[o];if(i==0)throw new Error("A fold can't intersect already existing fold"+e.range+this.range);var f=this.subFolds.splice(r,o-r,e);return e.setFoldLine(this.foldLine),e},this.restoreRange=function(e){return l(e,this.start)}}.call(o.prototype)}),define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator"],function(e,t,n){"use strict";function u(){this.getFoldAt=function(e,t,n){var r=this.getFoldLine(e);if(!r)return null;var i=r.folds;for(var s=0;s<i.length;s++){var o=i[s];if(o.range.contains(e,t)){if(n==1&&o.range.isEnd(e,t))continue;if(n==-1&&o.range.isStart(e,t))continue;return o}}},this.getFoldsInRange=function(e){var t=e.start,n=e.end,r=this.$foldData,i=[];t.column+=1,n.column-=1;for(var s=0;s<r.length;s++){var o=r[s].range.compareRange(e);if(o==2)continue;if(o==-2)break;var u=r[s].folds;for(var a=0;a<u.length;a++){var f=u[a];o=f.range.compareRange(e);if(o==-2)break;if(o==2)continue;if(o==42)break;i.push(f)}}return t.column-=1,n.column+=1,i},this.getFoldsInRangeList=function(e){if(Array.isArray(e)){var t=[];e.forEach(function(e){t=t.concat(this.getFoldsInRange(e))},this)}else var t=this.getFoldsInRange(e);return t},this.getAllFolds=function(){var e=[],t=this.$foldData;for(var n=0;n<t.length;n++)for(var r=0;r<t[n].folds.length;r++)e.push(t[n].folds[r]);return e},this.getFoldStringAt=function(e,t,n,r){r=r||this.getFoldLine(e);if(!r)return null;var i={end:{column:0}},s,o;for(var u=0;u<r.folds.length;u++){o=r.folds[u];var a=o.range.compareEnd(e,t);if(a==-1){s=this.getLine(o.start.row).substring(i.end.column,o.start.column);break}if(a===0)return null;i=o}return s||(s=this.getLine(o.start.row).substring(i.end.column)),n==-1?s.substring(0,t-i.end.column):n==1?s.substring(t-i.end.column):s},this.getFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r<n.length;r++){var i=n[r];if(i.start.row<=e&&i.end.row>=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r<n.length;r++){var i=n[r];if(i.end.row>=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i<n.length;i++){var s=n[i],o=s.end.row,u=s.start.row;if(o>=t){u<t&&(u>=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:(o=new s(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column;if(u<f||u==f&&a<=l-2){var c=this.getFoldAt(u,a,1),h=this.getFoldAt(f,l,-1);if(c&&h==c)return c.addSubFold(o);c&&!c.range.isStart(u,a)&&this.removeFold(c),h&&!h.range.isEnd(f,l)&&this.removeFold(h);var p=this.getFoldsInRange(o.range);p.length>0&&(this.removeFolds(p),p.forEach(function(e){o.addSubFold(e)}));for(var d=0;d<n.length;d++){var v=n[d];if(f==v.start.row){v.addFold(o),r=!0;break}if(u==v.end.row){v.addFold(o),r=!0;if(!o.sameRow){var m=n[d+1];if(m&&m.start.row==f){v.merge(m);break}}break}if(f<=v.start.row)break}return r||(v=this.$addFoldLine(new i(this.$foldData,o))),this.$useWrapMode?this.$updateWrapData(v.start.row,v.start.row):this.$updateRowLengthCache(v.start.row,v.start.row),this.$modified=!0,this._emit("changeFold",{data:o,action:"add"}),o}throw new Error("The range has to be at least 2 characters width")},this.addFolds=function(e){e.forEach(function(e){this.addFold(e)},this)},this.removeFold=function(e){var t=e.foldLine,n=t.start.row,r=t.end.row,i=this.$foldData,s=t.folds;if(s.length==1)i.splice(i.indexOf(t),1);else if(t.range.isEnd(e.end.row,e.end.column))s.pop(),t.end.row=s[s.length-1].end.row,t.end.column=s[s.length-1].end.column;else if(t.range.isStart(e.start.row,e.start.column))s.shift(),t.start.row=s[0].start.row,t.start.column=s[0].start.column;else if(e.sameRow)s.splice(s.indexOf(e),1);else{var o=t.split(e.start.row,e.start.column);s=o.folds,s.shift(),o.start.row=s[0].start.row,o.start.column=s[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(n,r):this.$updateRowLengthCache(n,r)),this.$modified=!0,this._emit("changeFold",{data:e,action:"remove"})},this.removeFolds=function(e){var t=[];for(var n=0;n<e.length;n++)t.push(e[n]);t.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(e){this.removeFold(e),e.subFolds.forEach(function(t){e.restoreRange(t),this.addFold(t)},this),e.collapseChildren>0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;e==null?(n=new r(0,0,this.getLength(),0),t=!0):typeof e=="number"?n=new r(e,0,e,this.getLine(e).length):"row"in e?n=r.fromPoints(e,e):n=e,i=this.getFoldsInRangeList(n);if(t)this.removeFolds(i);else{var s=i;while(s.length)this.expandFolds(s),s=this.getFoldsInRangeList(n)}if(i.length)return i},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r==null&&(r=e.start.row),i==null&&(i=0),t==null&&(t=e.end.row),n==null&&(n=this.getLine(t).length);var s=this.doc,o="";return e.walk(function(e,t,n,u){if(t<r)return;if(t==r){if(n<i)return;u=Math.max(i,u)}e!=null?o+=e:o+=s.getLine(t).substring(u,n)},t,n),o},this.getDisplayLine=function(e,t,n,r){var i=this.getFoldLine(e);if(!i){var s;return s=this.doc.getLine(e),s.substring(r||0,t||s.length)}return this.getFoldDisplayLine(i,e,t,n,r)},this.$cloneFoldData=function(){var e=[];return e=this.$foldData.map(function(t){var n=t.folds.map(function(e){return e.clone()});return new i(e,n)}),e},this.toggleFold=function(e){var t=this.selection,n=t.getRange(),r,i;if(n.isEmpty()){var s=n.start;r=this.getFoldAt(s.row,s.column);if(r){this.expandFold(r);return}(i=this.findMatchingBracket(s))?n.comparePoint(i)==1?n.end=i:(n.start=i,n.start.column++,n.end.column--):(i=this.findMatchingBracket({row:s.row,column:s.column+1}))?(n.comparePoint(i)==1?n.end=i:n.start=i,n.start.column++):n=this.getCommentFoldRange(s.row,s.column)||n}else{var o=this.getFoldsInRange(n);if(e&&o.length){this.expandFolds(o);return}o.length==1&&(r=o[0])}r||(r=this.getFoldAt(n.start.row,n.start.column));if(r&&r.range.toString()==n.toString()){this.expandFold(r);return}var u="...";if(!n.isMultiLine()){u=this.getTextRange(n);if(u.length<4)return;u=u.trim().substring(0,2)+".."}this.addFold(u,n)},this.getCommentFoldRange=function(e,t,n){var i=new o(this,e,t),s=i.getCurrentToken();if(s&&/^comment|string/.test(s.type)){var u=new r,a=new RegExp(s.type.replace(/\..*/,"\\."));if(n!=1){do s=i.stepBackward();while(s&&a.test(s.type));i.stepForward()}u.start.row=i.getCurrentTokenRow(),u.start.column=i.getCurrentTokenColumn()+2,i=new o(this,e,t);if(n!=-1){do s=i.stepForward();while(s&&a.test(s.type));s=i.stepBackward()}else s=i.getCurrentToken();return u.end.row=i.getCurrentTokenRow(),u.end.column=i.getCurrentTokenColumn()+s.value.length-2,u}},this.foldAll=function(e,t,n){n==undefined&&(n=1e5);var r=this.foldWidgets;if(!r)return;t=t||this.getLength(),e=e||0;for(var i=e;i<t;i++){r[i]==null&&(r[i]=this.getFoldWidget(i));if(r[i]!="start")continue;var s=this.getFoldWidgetRange(i);if(s&&s.isMultiLine()&&s.end.row<=t&&s.start.row>=e){i=s.end.row;try{var o=this.addFold("...",s);o&&(o.collapseChildren=n)}catch(u){}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle==e)return;this.$foldStyle=e,e=="manual"&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)},this.$setFolding=function(e){if(this.$foldMode==e)return;this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._emit("changeAnnotation");if(!e||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};var r=e-1,i;while(r>=0){var s=n[r];s==null&&(s=n[r]=this.getFoldWidget(r));if(s=="start"){var o=this.getFoldWidgetRange(r);i||(i=o);if(o&&o.end.row>=e)break}r--}return{range:r!==-1&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(!this.getFoldWidget)return;var n=this.getFoldWidget(e),r=this.getLine(e),i=n==="end"?-1:1,s=this.getFoldAt(e,i===-1?0:r.length,i);if(s){t.children||t.all?this.removeFold(s):this.expandFold(s);return}var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()){s=this.getFoldAt(o.start.row,o.start.column,1);if(s&&o.isEqual(s.range)){this.removeFold(s);return}}if(t.siblings){var u=this.getParentFoldRangeData(e);if(u.range)var a=u.range.start.row+1,f=u.range.end.row;this.foldAll(a,f,t.all?1e4:0)}else t.children?(f=o?o.end.row:this.getLength(),this.foldAll(e+1,f,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold("...",o));return o},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(n)return;var r=this.getParentFoldRangeData(t,!0);n=r.range||r.firstRange;if(n){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}},this.updateFoldWidgets=function(e){var t=e.data,n=t.range,r=n.start.row,i=n.end.row-r;if(i===0)this.foldWidgets[r]=null;else if(t.action=="removeText"||t.action=="removeLines")this.foldWidgets.splice(r,i+1,null);else{var s=Array(i+1);s.unshift(r,1),this.foldWidgets.splice.apply(this.foldWidgets,s)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}var r=e("../range").Range,i=e("./fold_line").FoldLine,s=e("./fold").Fold,o=e("../token_iterator").TokenIterator;t.Folding=u}),define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";function s(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n=="")return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,s=t.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);o||(s=t.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1);if(!o)return null;if(o[1]){var u=this.$findClosingBracket(o[1],e);if(!u)return null;r=i.fromPoints(e,u),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var u=this.$findOpeningBracket(o[2],e);if(!u)return null;r=i.fromPoints(u,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end|start|begin)\b/,"")+")+"));var a=t.column-o.getCurrentTokenColumn()-2,f=u.value;for(;;){while(a>=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:end|start|begin)\b/,"")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(a<l){var c=f.charAt(a);if(c==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else c==e&&(s+=1);a+=1}do u=o.stepForward();while(u&&!n.test(u.type));if(u==null)break;a=0}return null}}var r=e("../token_iterator").TokenIterator,i=e("../range").Range;t.BracketMatch=s}),define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/search_highlight","ace/edit_session/folding","ace/edit_session/bracket_match"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./config"),o=e("./lib/event_emitter").EventEmitter,u=e("./selection").Selection,a=e("./mode/text").Mode,f=e("./range").Range,l=e("./document").Document,c=e("./background_tokenizer").BackgroundTokenizer,h=e("./search_highlight").SearchHighlight,p=function(e,t){this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$foldData=[],this.$foldData.toString=function(){return this.join("\n")},this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this);if(typeof e!="object"||!e.getLine)e=new l(e);this.setDocument(e),this.selection=new u(this),s.resetOptions(this),this.setMode(t),s._signal("session",this)};(function(){function m(e){return e<4352?!1:e>=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}r.implement(this,o),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t<s))return i;r=i-1}}return n-1},this.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.bgTokenizer&&this.bgTokenizer.start(0)},this.onChangeFold=function(e){var t=e.data;this.$resetRowCache(t.start.row)},this.onChange=function(e){var t=e.data;this.$modified=!0,this.$resetRowCache(t.range.start.row);var n=this.$updateInternalDataOnChange(e);!this.$fromUndo&&this.$undoManager&&!t.ignore&&(this.$deltasDoc.push(t),n&&n.length!=0&&this.$deltasFold.push({action:"removeFolds",folds:n}),this.$informUndoManager.schedule()),this.bgTokenizer&&this.bgTokenizer.$updateOnChange(t),this._signal("change",e)},this.setValue=function(e){this.doc.setValue(e),this.selection.moveTo(0,0),this.$resetRowCache(0),this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},this.getValue=this.toString=function(){return this.doc.getValue()},this.getSelection=function(){return this.selection},this.getState=function(e){return this.bgTokenizer.getState(e)},this.getTokens=function(e){return this.bgTokenizer.getTokens(e)},this.getTokenAt=function(e,t){var n=this.bgTokenizer.getTokens(e),r,i=0;if(t==null)s=n.length-1,i=this.getLine(e).length;else for(var s=0;s<n.length;s++){i+=n[s].value.length;if(i>=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},this.setUndoManager=function(e){this.$undoManager=e,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.$deltasFold.length&&(t.$deltas.push({group:"fold",deltas:t.$deltasFold}),t.$deltasFold=[]),t.$deltasDoc.length&&(t.$deltas.push({group:"doc",deltas:t.$deltasDoc}),t.$deltasDoc=[]),t.$deltas.length>0&&e.execute({action:"aceupdate",args:[t.$deltas,t],merge:t.mergeUndoDeltas}),t.mergeUndoDeltas=!1,t.$deltas=[]},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):" "},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t<e.length;t++)this.$breakpoints[e[t]]="ace_breakpoint";this._signal("changeBreakpoint",{})},this.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},this.setBreakpoint=function(e,t){t===undefined&&(t="ace_breakpoint"),t?this.$breakpoints[e]=t:delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},this.clearBreakpoint=function(e){delete this.$breakpoints[e],this._signal("changeBreakpoint",{})},this.addMarker=function(e,t,n,r){var i=this.$markerId++,s={range:e,type:n||"line",renderer:typeof n=="function"?n:null,clazz:t,inFront:!!r,id:i};return r?(this.$frontMarkers[i]=s,this._signal("changeFrontMarker")):(this.$backMarkers[i]=s,this._signal("changeBackMarker")),i},this.addDynamicMarker=function(e,t){if(!e.update)return;var n=this.$markerId++;return e.id=n,e.inFront=!!t,t?(this.$frontMarkers[n]=e,this._signal("changeFrontMarker")):(this.$backMarkers[n]=e,this._signal("changeBackMarker")),e},this.removeMarker=function(e){var t=this.$frontMarkers[e]||this.$backMarkers[e];if(!t)return;var n=t.inFront?this.$frontMarkers:this.$backMarkers;t&&(delete n[e],this._signal(t.inFront?"changeFrontMarker":"changeBackMarker"))},this.getMarkers=function(e){return e?this.$frontMarkers:this.$backMarkers},this.highlight=function(e){if(!this.$searchHighlight){var t=new h(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(t)}this.$searchHighlight.setRegexp(e)},this.highlightLines=function(e,t,n,r){typeof t!="number"&&(n=t,t=e),n||(n="ace_step");var i=new f(e,0,t,Infinity);return i.id=this.addMarker(i,n,"fullLine",r),i},this.setAnnotations=function(e){this.$annotations=e,this._signal("changeAnnotation",{})},this.getAnnotations=function(){return this.$annotations||[]},this.clearAnnotations=function(){this.setAnnotations([])},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r?\n)/m);t?this.$autoNewLine=t[1]:this.$autoNewLine="\n"},this.getWordRange=function(e,t){var n=this.getLine(e),r=!1;t>0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(o<n.length&&n.charAt(o).match(i))o++;return new f(e,s,e,o)},this.getAWordRange=function(e,t){var n=this.getWordRange(e,t),r=this.getLine(n.end.row);while(r.charAt(n.end.column).match(/[ \t]/))n.end.column+=1;return n},this.setNewLineMode=function(e){this.doc.setNewLineMode(e)},this.getNewLineMode=function(){return this.doc.getNewLineMode()},this.setUseWorker=function(e){this.setOption("useWorker",e)},this.getUseWorker=function(){return this.$useWorker},this.onReloadTokenizer=function(e){var t=e.data;this.bgTokenizer.start(t.first),this._signal("tokenizerUpdate",e)},this.$modes={},this.$mode=null,this.$modeId=null,this.setMode=function(e,t){if(e&&typeof e=="object"){if(e.getTokenizer)return this.$onChangeMode(e);var n=e,r=n.path}else r=e||"ace/mode/text";this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new a);if(this.$modes[r]&&!n){this.$onChangeMode(this.$modes[r]),t&&t();return}this.$modeId=r,s.loadModule(["mode",r],function(e){if(this.$modeId!==r)return t&&t();this.$modes[r]&&!n?this.$onChangeMode(this.$modes[r]):e&&e.Mode&&(e=new e.Mode(n),n||(this.$modes[r]=e,e.$id=r),this.$onChangeMode(e)),t&&t()}.bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},this.$onChangeMode=function(e,t){t||(this.$modeId=e.$id);if(this.$mode===e)return;this.$mode=e,this.$stopWorker(),this.$useWorker&&this.$startWorker();var n=e.getTokenizer();if(n.addEventListener!==undefined){var r=this.onReloadTokenizer.bind(this);n.addEventListener("update",r)}if(!this.bgTokenizer){this.bgTokenizer=new c(n);var i=this;this.bgTokenizer.addEventListener("update",function(e){i._signal("tokenizerUpdate",e)})}else this.bgTokenizer.setTokenizer(n);this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=e.tokenRe,this.nonTokenRe=e.nonTokenRe,t||(e.attachToSession&&e.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(e.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode"))},this.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},this.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(e){s.warn("Could not load worker",e),this.$worker=null}},this.getMode=function(){return this.$mode},this.$scrollTop=0,this.setScrollTop=function(e){if(this.$scrollTop===e||isNaN(e))return;this.$scrollTop=e,this._signal("changeScrollTop",e)},this.getScrollTop=function(){return this.$scrollTop},this.$scrollLeft=0,this.setScrollLeft=function(e){if(this.$scrollLeft===e||isNaN(e))return;this.$scrollLeft=e,this._signal("changeScrollLeft",e)},this.getScrollLeft=function(){return this.$scrollLeft},this.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},this.getLineWidgetMaxWidth=function(){if(this.lineWidgetsWidth!=null)return this.lineWidgetsWidth;var e=0;return this.lineWidgets.forEach(function(t){t&&t.screenWidth>e&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;if(this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,s=this.$foldData[i],o=s?s.start.row:Infinity,u=t.length;for(var a=0;a<u;a++){if(a>o){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=e.length-1;r!=-1;r--){var i=e[r];i.group=="doc"?(this.doc.revertDeltas(i.deltas),n=this.$getUndoSelection(i.deltas,!0,n)):i.deltas.forEach(function(e){this.addFolds(e.folds)},this)}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n},this.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=0;r<e.length;r++){var i=e[r];i.group=="doc"&&(this.doc.applyDeltas(i.deltas),n=this.$getUndoSelection(i.deltas,!1,n))}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n},this.setUndoSelect=function(e){this.$undoSelect=e},this.$getUndoSelection=function(e,t,n){function r(e){var n=e.action==="insertText"||e.action==="insertLines";return t?!n:n}var i=e[0],s,o,u=!1;r(i)?(s=f.fromPoints(i.range.start,i.range.end),u=!0):(s=f.fromPoints(i.range.start,i.range.start),u=!1);for(var a=1;a<e.length;a++)i=e[a],r(i)?(o=i.range.start,s.compare(o.row,o.column)==-1&&s.setStart(i.range.start),o=i.range.end,s.compare(o.row,o.column)==1&&s.setEnd(i.range.end),u=!0):(o=i.range.start,s.compare(o.row,o.column)==-1&&(s=f.fromPoints(i.range.start,i.range.start)),u=!1);if(n!=null){f.comparePoints(n.start,s.start)===0&&(n.start.column+=s.end.column-s.start.column,n.end.column+=s.end.column-s.start.column);var l=n.compareRange(s);l==1?s.setStart(n.start):l==-1&&s.setEnd(n.end)}return s},this.replace=function(e,t){return this.doc.replace(e,t)},this.moveText=function(e,t,n){var r=this.getTextRange(e),i=this.getFoldsInRange(e),s=f.fromPoints(t,t);if(!n){this.remove(e);var o=e.start.row-e.end.row,u=o?-e.end.column:e.start.column-e.end.column;u&&(s.start.row==e.end.row&&s.start.column>e.end.column&&(s.start.column+=u),s.end.row==e.end.row&&s.end.column>e.end.column&&(s.end.column+=u)),o&&s.start.row>=e.end.row&&(s.start.row+=o,s.end.row+=o)}s.end=this.insert(s.start,r);if(i.length){var a=e.start,l=s.start,o=l.row-a.row,u=l.column-a.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==a.row&&(e.start.column+=u),e.end.row==a.row&&(e.end.column+=u),e.start.row+=o,e.end.row+=o,e}))}return s},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.insert({row:r,column:0},n)},this.outdentRows=function(e){var t=e.collapseRows(),n=new f(0,0,0,0),r=this.getTabSize();for(var i=t.start.row;i<=t.end.row;++i){var s=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o<r;++o)if(s.charAt(o)!=" ")break;o<r&&s.charAt(o)==" "?(n.start.column=o,n.end.column=o+1):(n.start.column=0,n.end.column=o),this.remove(n)}},this.$moveLines=function(e,t,n){e=this.getRowFoldStart(e),t=this.getRowFoldEnd(t);if(n<0){var r=this.getRowFoldStart(e+n);if(r<0)return 0;var i=r-e}else if(n>0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var i=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var s=new f(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(s).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),u=n==0?this.doc.getLines(e,t):this.doc.removeLines(e,t);return this.doc.insertLines(e+i,u),o.length&&this.addFolds(o),i},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){if(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$useWrapMode&&this._signal("changeWrapMode")},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n,r=e.data.action,i=e.data.range.start.row,s=e.data.range.end.row,o=e.data.range.start,u=e.data.range.end,a=null;r.indexOf("Lines")!=-1?(r=="insertLines"?s=i+e.data.lines.length:s=i,n=e.data.lines?e.data.lines.length:s-i):n=s-i,this.$updating=!0;if(n!=0)if(r.indexOf("remove")!=-1){this[t?"$wrapData":"$rowLengthCache"].splice(i,n);var f=this.$foldData;a=this.getFoldsInRange(e.data.range),this.removeFolds(a);var l=this.getFoldLine(u.row),c=0;if(l){l.addRemoveChars(u.row,u.column,o.column-u.column),l.shiftRow(-n);var h=this.getFoldLine(i);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c<f.length;c++){var l=f[c];l.start.row>=u.row&&l.shiftRow(-n)}s=i}else{var p=Array(n);p.unshift(i,0);var d=t?this.$wrapData:this.$rowLengthCache;d.splice.apply(d,p);var f=this.$foldData,l=this.getFoldLine(i),c=0;if(l){var v=l.range.compareInside(o.row,o.column);v==0?(l=l.split(o.row,o.column),l&&(l.shiftRow(n),l.addRemoveChars(s,0,u.column-o.column))):v==-1&&(l.addRemoveChars(i,0,u.column-o.column),l.shiftRow(n)),c=f.indexOf(l)+1}for(c;c<f.length;c++){var l=f[c];l.start.row>=i&&l.shiftRow(n)}}else{n=Math.abs(e.data.range.start.column-e.data.range.end.column),r.indexOf("remove")!=-1&&(a=this.getFoldsInRange(e.data.range),this.removeFolds(a),n=-n);var l=this.getFoldLine(i);l&&l.addRemoveChars(i,o.column,n)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(i,s):this.$updateRowLengthCache(i,s),a},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var r=this.doc.getAllLines(),i=this.getTabSize(),s=this.$wrapData,o=this.$wrapLimit,a,f,l=e;t=Math.min(t,r.length-1);while(l<=t)f=this.getFoldLine(l,f),f?(a=[],f.walk(function(e,t,i,s){var o;if(e!=null){o=this.$getDisplayTokens(e,a.length),o[0]=n;for(var f=1;f<o.length;f++)o[f]=u}else o=this.$getDisplayTokens(r[t].substring(s,i),a.length);a=a.concat(o)}.bind(this),f.end.row,r[f.end.row].length+1),s[f.start.row]=this.$computeWrapSplits(a,o,i),l=f.end.row+1):(a=this.$getDisplayTokens(r[l]),s[l]=this.$computeWrapSplits(a,o,i),l++)};var e=1,t=2,n=3,u=4,l=9,p=10,d=11,v=12;this.$computeWrapSplits=function(e,r){function c(t){var n=e.slice(o,t),r=n.length;n.join("").replace(/12/g,function(){r-=1}).replace(/2/g,function(){r-=1}),a+=r,i.push(a),o=t}if(e.length==0)return[];var i=[],s=e.length,o=0,a=0,f=this.$wrapAsCode;while(s-o>r){var h=o+r;if(e[h-1]>=p&&e[h]>=p){c(h);continue}if(e[h]==n||e[h]==u){for(h;h!=o-1;h--)if(e[h]==n)break;if(h>o){c(h);continue}h=o+r;for(h;h<e.length;h++)if(e[h]!=u)break;if(h==e.length)break;c(h);continue}var d=Math.max(h-(f?10:r-(r>>2)),o-1);while(h>d&&e[h]<n)h--;if(f){while(h>d&&e[h]<n)h--;while(h>d&&e[h]==l)h--}else while(h>d&&e[h]<p)h--;if(h>d){c(++h);continue}h=o+r,e[h]==t&&h--,c(h)}return i},this.$getDisplayTokens=function(n,r){var i=[],s;r=r||0;for(var o=0;o<n.length;o++){var u=n.charCodeAt(o);if(u==9){s=this.getScreenTabSize(i.length+r),i.push(d);for(var a=1;a<s;a++)i.push(v)}else u==32?i.push(p):u>39&&u<48||u>57&&u<64?i.push(l):u>=4352&&m(u)?i.push(e,t):i.push(e)}return i},this.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i<e.length;i++){r=e.charCodeAt(i),r==9?n+=this.getScreenTabSize(n):r>=4352&&m(r)?n+=2:n+=1;if(n>t)break}return[n,i]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.getRowLineCount=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},this.getScreenLastRowColumn=function(e){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)},this.getDocumentLastRowColumn=function(e,t){var n=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(n)},this.getDocumentLastRowColumnPosition=function(e,t){var n=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(n,Number.MAX_VALUE/10)},this.getRowSplitData=function(e){return this.$useWrapMode?this.$wrapData[e]:undefined},this.getScreenTabSize=function(e){return this.$tabSize-e%this.$tabSize},this.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},this.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},this.screenToDocumentPosition=function(e,t){if(e<0)return{row:0,column:0};var n,r=0,i=0,s,o=0,u=0,a=this.$screenRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var o=a[f],r=this.$docRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getLength()-1,p=this.getNextFoldLine(r),d=p?p.start.row:Infinity;while(o<=e){u=this.getRowLength(r);if(o+u>e||r>=h)break;o+=u,r++,r>d&&(r=p.end.row+1,p=this.getNextFoldLine(r,p),d=p?p.start.row:Infinity),c&&(this.$docRowCache.push(r),this.$screenRowCache.push(o))}if(p&&p.start.row<=r)n=this.getFoldDisplayLine(p),r=p.start.row;else{if(o+u<=e||r>h)return{row:h,column:this.getLine(h).length};n=this.getLine(r),p=null}if(this.$useWrapMode){var v=this.$wrapData[r];if(v){var m=Math.floor(e-o);s=v[m],m>0&&v.length&&(i=v[m-1]||v[v.length-1],n=n.substring(i))}}return i+=this.$getStringScreenWidth(n,t)[1],this.$useWrapMode&&i>=s&&(i=s-1),p?p.idxToPosition(i):{row:r,column:i}},this.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u<e){if(u>=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);if(this.$useWrapMode){var v=this.$wrapData[i];if(v){var m=0;while(d.length>=v[m])r++,m++;d=d.substring(v[m-1]||0,d.length)}}return{row:r,column:this.$getStringScreenWidth(d)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;r<n.length;r++)t=n[r],e-=t.end.row-t.start.row}else{var i=this.$wrapData.length,s=0,r=0,t=this.$foldData[r++],o=t?t.start.row:Infinity;while(s<i){var u=this.$wrapData[s];e+=u?u.length+1:1,s++,s>o&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()}}).call(p.prototype),e("./edit_session/folding").Folding.call(p.prototype),e("./edit_session/bracket_match").BracketMatch.call(p.prototype),s.defineOptions(p.prototype,"session",{wrap:{set:function(e){!e||e=="off"?e=!1:e=="free"?e=!0:e=="printMargin"?e=-1:typeof e=="string"&&(e=parseInt(e,10)||!1);if(this.$wrap==e)return;this.$wrap=e;if(!e)this.setUseWrapMode(!1);else{var t=typeof e=="number"?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){e=e=="auto"?this.$mode.type!="text":e!="text",e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$modified=!0,this.$resetRowCache(0),this.$updateWrapData(0,this.getLength()-1)))},initialValue:"auto"},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){if(isNaN(e)||this.$tabSize===e)return;this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize")},initialValue:4,handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId}}}),t.EditSession=p}),define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return r.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,i){if(!e.start){var o=e.offset+(i||0);r=new s(n,o,n,o+e.length);if(!e.length&&t.start&&t.start.start&&t.skipCurrent!=0&&r.isEqual(t.start))return r=null,!1}else r=e;return!0}),r},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],u=t.re;if(t.$isMultiLine){var a=u.length,f=i.length-a,l;e:for(var c=u.offset||0;c<=f;c++){for(var h=0;h<a;h++)if(i[c+h].search(u[h])==-1)continue e;var p=i[c],d=i[c+a-1],v=p.length-p.match(u[0])[0].length,m=d.match(u[a-1])[0].length;if(l&&l.end.row===c&&l.end.column>v)continue;o.push(l=new s(c,v,c+a-1,m)),a>2&&(c=c+a-2)}}else for(var g=0;g<i.length;g++){var y=r.getMatchOffsets(i[g],u);for(var h=0;h<y.length;h++){var b=y[h];o.push(new s(g,b.offset,g,b.offset+b.length))}}if(n){var w=n.start.column,E=n.start.column,g=0,h=o.length-1;while(g<h&&o[g].start.column<w&&o[g].start.row==n.start.row)g++;while(g<h&&o[h].end.column>E&&o[h].end.row==n.end.row)h--;o=o.slice(g,h+1);for(g=0,h=o.length;g<h;g++)o[g].start.row+=n.start.row,o[g].end.row+=n.start.row}return o},this.replace=function(e,t){var n=this.$options,r=this.$assembleRegExp(n);if(n.$isMultiLine)return t;if(!r)return;var i=r.exec(e);if(!i||i[0].length!=e.length)return null;t=e.replace(r,t);if(n.preserveCase){t=t.split("");for(var s=Math.min(e.length,e.length);s--;){var o=e[s];o&&o.toLowerCase()!=o?t[s]=t[s].toUpperCase():t[s]=t[s].toLowerCase()}t=t.join("")}return t},this.$matchIterator=function(e,t){var n=this.$assembleRegExp(t);if(!n)return!1;var i;if(t.$isMultiLine)var o=n.length,u=function(t,r,u){var a=t.search(n[0]);if(a==-1)return;for(var f=1;f<o;f++){t=e.getLine(r+f);if(t.search(n[f])==-1)return}var l=t.match(n[o-1])[0].length,c=new s(r,a,r+o-1,l);n.offset==1?(c.start.row--,c.start.column=Number.MAX_VALUE):u&&(c.start.column+=u);if(i(c))return!0};else if(t.backwards)var u=function(e,t,s){var o=r.getMatchOffsets(e,n);for(var u=o.length-1;u>=0;u--)if(i(o[u],t,s))return!0};else var u=function(e,t,s){var o=r.getMatchOffsets(e,n);for(var u=0;u<o.length;u++)if(i(o[u],t,s))return!0};var a=this.$lineIterator(e,t);return{forEach:function(e){i=e,a.forEach(u)}}},this.$assembleRegExp=function(e,t){if(e.needle instanceof RegExp)return e.re=e.needle;var n=e.needle;if(!e.needle)return e.re=!1;e.regExp||(n=r.escapeRegExp(n)),e.wholeWord&&(n="\\b"+n+"\\b");var i=e.caseSensitive?"gm":"gmi";e.$isMultiLine=!t&&/[\n\r]/.test(n);if(e.$isMultiLine)return e.re=this.$assembleMultilineRegExp(n,i);try{var s=new RegExp(n,i)}catch(o){s=!1}return e.re=s},this.$assembleMultilineRegExp=function(e,t){var n=e.replace(/\r\n|\r|\n/g,"$\n^").split("\n"),r=[];for(var i=0;i<n.length;i++)try{r.push(new RegExp(n[i],t))}catch(s){return!1}return n[0]==""?(r.shift(),r.offset=1):r.offset=0,r},this.$lineIterator=function(e,t){var n=t.backwards==1,r=t.skipCurrent!=0,i=t.range,s=t.start;s||(s=i?i[n?"end":"start"]:e.selection.getRange()),s.start&&(s=s[r!=n?"end":"start"]);var o=i?i.start.row:0,u=i?i.end.row:e.getLength()-1,a=n?function(n){var r=s.row,i=e.getLine(r).substring(0,s.column);if(n(i,r))return;for(r--;r>=o;r--)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=u,o=s.row;r>=o;r--)if(n(e.getLine(r),r))return}:function(n){var r=s.row,i=e.getLine(r).substr(s.column);if(n(i,r,s.column))return;for(r+=1;r<=u;r++)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=o,u=s.row;r<=u;r++)if(n(e.getLine(r),r))return};return{forEach:a}}}).call(o.prototype),t.Search=o}),define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function u(e,t){o.call(this,e,t),this.$singleCommand=!1}var r=e("../lib/keys"),i=e("../lib/useragent"),s=r.KEY_MODS;u.prototype=o.prototype,function(){this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&(typeof e=="string"?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var s=r[i];if(s==e)delete r[i];else if(Array.isArray(s)){var o=s.indexOf(e);o!=-1&&(s.splice(o,1),s.length==1&&(r[i]=s[0]))}}},this.bindKey=function(e,t,n){typeof e=="object"&&(e=e[this.platform]);if(!e)return;if(typeof t=="function")return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split("|").forEach(function(e){var r="";if(e.indexOf(" ")!=-1){var i=e.split(/\s+/);e=i.pop(),i.forEach(function(e){var t=this.parseKeys(e),n=s[t.hashId]+t.key;r+=(r?" ":"")+n,this._addCommandToBinding(r,"chainKeys")},this),r+=" "}var o=this.parseKeys(e),u=s[o.hashId]+o.key;this._addCommandToBinding(r+u,t,n)},this)},this._addCommandToBinding=function(e,t,n){var r=this.commandKeyBinding,i;t?!r[e]||this.$singleCommand?r[e]=t:(Array.isArray(r[e])?(i=r[e].indexOf(t))!=-1&&r[e].splice(i,1):r[e]=[r[e]],n||t.isDefault?r[e].unshift(t):r[e].push(t)):delete r[e]},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(!n)return;if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n});if(typeof n!="object")return;n.name||(n.name=t),this.addCommand(n)},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=r.KEY_MODS[t[o]];if(u==null)return typeof console!="undefined"&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=u}return{key:n,hashId:s}},this.findKeyCommand=function(t,n){var r=s[t]+n;return this.commandKeyBinding[r]},this.handleKeyboard=function(e,t,n,r){var i=s[t]+n,o=this.commandKeyBinding[i];e.$keyChain&&(e.$keyChain+=" "+i,o=this.commandKeyBinding[e.$keyChain]||o);if(o)if(o=="chainKeys"||o[o.length-1]=="chainKeys")return e.$keyChain=e.$keyChain||i,{command:"null"};return e.$keyChain&&r>0&&(e.$keyChain=""),{command:o}}}.call(o.prototype),t.HashHandler=o,t.MultiHashHandler=u}),define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../keyboard/hash_handler").MultiHashHandler,s=e("../lib/event_emitter").EventEmitter,o=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(o,i),function(){r.implement(this,s),this.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}typeof e=="string"&&(e=this.commands[e]);if(!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;var i={editor:t,command:e,args:n};return i.returnValue=this._emit("exec",i),this._signal("afterExec",i),i.returnValue===!1?!1:!0},this.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(o.prototype),t.CommandManager=o}),define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";function o(e,t){return{win:e,mac:t}}var r=e("../lib/lang"),i=e("../config"),s=e("../range").Range;t.commands=[{name:"showSettingsMenu",bindKey:o("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:o("Alt-E","Ctrl-E"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:o("Alt-Shift-E","Ctrl-Shift-E"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",bindKey:o("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",bindKey:o(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:o("Ctrl-L","Command-L"),exec:function(e){var t=parseInt(prompt("Enter line number:"),10);isNaN(t)||e.gotoLine(t)},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:o("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:o("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",bindKey:o("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",bindKey:o("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",bindKey:o("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",bindKey:o("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",bindKey:o("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:o("Ctrl-Shift-Home","Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",bindKey:o("Shift-Up","Shift-Up"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",bindKey:o("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",bindKey:o("Ctrl-Shift-End","Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",bindKey:o("Shift-Down","Shift-Down"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",bindKey:o("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",bindKey:o("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",bindKey:o("Alt-Shift-Left","Command-Shift-Left"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",bindKey:o("Shift-Left","Shift-Left"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",bindKey:o("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",bindKey:o("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",bindKey:o("Alt-Shift-Right","Command-Shift-Right"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",bindKey:o("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",bindKey:o("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:o(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:o(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:o("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:o("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",bindKey:o("Ctrl-P","Ctrl-P"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",bindKey:o("Ctrl-Shift-P","Ctrl-Shift-P"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",bindKey:o("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",bindKey:o(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"cut",exec:function(e){var t=e.getSelectionRange();e._emit("cut",t),e.selection.isEmpty()||(e.session.remove(t),e.clearSelection())},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"removeline",bindKey:o("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",bindKey:o("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",bindKey:o("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",bindKey:o("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",bindKey:o("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",bindKey:o("Alt-Delete","Ctrl-K"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",bindKey:o("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",bindKey:o(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",bindKey:o("Ctrl-T","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",bindKey:o("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",bindKey:o(null,null),exec:function(e){var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),o=e.session.doc.getLine(n.row).length,u=e.session.doc.getTextRange(e.selection.getRange()),a=u.replace(/\n\s*/," ").length,f=e.session.doc.getLine(n.row);for(var l=n.row+1;l<=i.row+1;l++){var c=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(l)));c.length!==0&&(c=" "+c),f+=c}i.row+1<e.session.doc.getLength()-1&&(f+=e.session.doc.getNewLineCharacter()),e.clearSelection(),e.session.doc.replace(new s(n.row,0,i.row+2,0),f),a>0?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+a)):(o=e.session.doc.getLine(n.row).length>o?o+1:o,e.selection.moveCursorTo(n.row,o))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",bindKey:o(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var o=0;o<r.length;o++)o==r.length-1&&(r[o].end.row!==t||r[o].end.column!==n)&&i.push(new s(r[o].end.row,r[o].end.column,t,n)),o===0?(r[o].start.row!==0||r[o].start.column!==0)&&i.push(new s(0,0,r[o].start.row,r[o].start.column)):i.push(new s(r[o-1].end.row,r[o-1].end.column,r[o].start.row,r[o].start.column));e.exitMultiSelectMode(),e.clearSelection();for(var o=0;o<i.length;o++)e.selection.addRange(i[o],!1)},readOnly:!0,scrollIntoView:"none"}]}),define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/lang"),o=e("./lib/useragent"),u=e("./keyboard/textinput").TextInput,a=e("./mouse/mouse_handler").MouseHandler,f=e("./mouse/fold_handler").FoldHandler,l=e("./keyboard/keybinding").KeyBinding,c=e("./edit_session").EditSession,h=e("./search").Search,p=e("./range").Range,d=e("./lib/event_emitter").EventEmitter,v=e("./commands/command_manager").CommandManager,m=e("./commands/default_commands").commands,g=e("./config"),y=e("./token_iterator").TokenIterator,b=function(e,t){var n=e.getContainerElement();this.container=n,this.renderer=e,this.commands=new v(o.isMac?"mac":"win",m),this.textInput=new u(e.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.keyBinding=new l(this),this.$mouseHandler=new a(this),new f(this),this.$blockScrolling=0,this.$search=(new h).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=s.delayedCall(function(){this._signal("input",{}),this.session&&this.session.bgTokenizer&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(e,t){t._$emitInputEvent.schedule(31)}),this.setSession(t||new c("")),g.resetOptions(this),g._signal("editor",this)};(function(){r.implement(this,d),this.$initOperationListeners=function(){function e(e){return e[e.length-1]}this.selections=[],this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0),this.$opResetTimer=s.delayedCall(this.endOperation.bind(this)),this.on("change",function(){this.curOp||this.startOperation(),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||this.startOperation(),this.curOp.selectionChanged=!0}.bind(this),!0)},this.curOp=null,this.prevOp={},this.startOperation=function(e){if(this.curOp){if(!e||this.curOp.command)return;this.prevOp=this.curOp}e||(this.previousCommand=null,e={}),this.$opResetTimer.schedule(),this.curOp={command:e.command||{},args:e.args,scrollTop:this.renderer.scrollTop},this.curOp.command.name&&this.curOp.command.scrollIntoView!==undefined&&this.$blockScrolling++},this.endOperation=function(e){if(this.curOp){if(e&&e.returnValue===!1)return this.curOp=null;this._signal("beforeEndOperation");var t=this.curOp.command;t.name&&this.$blockScrolling>0&&this.$blockScrolling--;if(t&&t.scrollIntoView){switch(t.scrollIntoView){case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var n=this.selection.getRange(),r=this.renderer.layerConfig;(n.start.row>=r.lastRow||n.end.row<=r.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:}t.scrollIntoView=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(!this.$mergeUndoDeltas)return;var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(e.command.name=="insertstring"){var i=e.args;this.mergeNextCommand===undefined&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())},this.setKeyboardHandler=function(e,t){if(e&&typeof e=="string"){this.$keybindingId=e;var n=this;g.loadModule(["keybinding",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session==e)return;var t=this.session;if(t){this.session.removeEventListener("change",this.$onDocumentChange),this.session.removeEventListener("changeMode",this.$onChangeMode),this.session.removeEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.session.removeEventListener("changeTabSize",this.$onChangeTabSize),this.session.removeEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.session.removeEventListener("changeWrapMode",this.$onChangeWrapMode),this.session.removeEventListener("onChangeFold",this.$onChangeFold),this.session.removeEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.session.removeEventListener("changeBackMarker",this.$onChangeBackMarker),this.session.removeEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.session.removeEventListener("changeAnnotation",this.$onChangeAnnotation),this.session.removeEventListener("changeOverwrite",this.$onCursorChange),this.session.removeEventListener("changeScrollTop",this.$onScrollTopChange),this.session.removeEventListener("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.removeEventListener("changeCursor",this.$onCursorChange),n.removeEventListener("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.addEventListener("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.addEventListener("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.addEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.addEventListener("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.addEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.addEventListener("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.addEventListener("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.addEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.addEventListener("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.addEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.addEventListener("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.addEventListener("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.addEventListener("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.addEventListener("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.addEventListener("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.addEventListener("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this})},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container,"fontSize")},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null);if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=t.findMatchingBracket(e.getCursorPosition());if(n)var r=new p(n.row,n.column,n.row,n.column+1);else if(t.$mode.getMatching)var r=t.$mode.getMatching(e.session);r&&(t.$bracketHighlight=t.addMarker(r,"ace_bracket","text"))},50)},this.$highlightTags=function(){if(this.$highlightTagPending)return;var e=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=e.getCursorPosition(),r=new y(e.session,n.row,n.column),i=r.getCurrentToken();if(!i||!/\b(?:tag-open|tag-name)/.test(i.type)){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}if(i.type.indexOf("tag-open")!=-1){i=r.stepForward();if(!i)return}var s=i.value,o=0,u=r.stepBackward();if(u.value=="<"){do u=i,i=r.stepForward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="</"&&o--);while(i&&o>=0)}else{do i=u,u=r.stepBackward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="</"&&o--);while(u&&o<=0);r.stepForward()}if(!i){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}var a=r.getCurrentTokenRow(),f=r.getCurrentTokenColumn(),l=new p(a,f,a,f+i.value.length);t.$tagHighlight&&l.compareRange(t.$backMarkers[t.$tagHighlight].range)!==0&&(t.removeMarker(t.$tagHighlight),t.$tagHighlight=null),l&&!t.$tagHighlight&&(t.$tagHighlight=t.addMarker(l,"ace_bracket","text"))},50)},this.focus=function(){var e=this;setTimeout(function(){e.textInput.focus()}),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(e){if(this.$isFocused)return;this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",e)},this.onBlur=function(e){if(!this.$isFocused)return;this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",e)},this.$cursorChange=function(){this.renderer.updateCursor()},this.onDocumentChange=function(e){var t=e.data,n=t.range,r;n.start.row==n.end.row&&t.action!="insertLines"&&t.action!="removeLines"?r=n.end.row:r=Infinity,this.renderer.updateLines(n.start.row,r,this.session.$useWrapMode),this._signal("change",e),this.$cursorChange(),this.$updateHighlightActiveLine()},this.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this.$blockScrolling||(g.warn("Automatically scrolling cursor into view after selection change","this will be disabled in the next version","set editor.$blockScrolling = Infinity to disable this message"),this.renderer.scrollCursorIntoView()),this.$highlightBrackets(),this.$highlightTags(),this.$updateHighlightActiveLine(),this._signal("changeSelection")},this.$updateHighlightActiveLine=function(){var e=this.getSession(),t;if(this.$highlightActiveLine){if(this.$selectionStyle!="line"||!this.selection.isMultiLine())t=this.getCursorPosition();this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(t=!1)}if(e.$highlightLineMarker&&!t)e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null;else if(!e.$highlightLineMarker&&t){var n=new p(t.row,t.column,t.row,Infinity);n.id=e.addMarker(n,"ace_active-line","screenLine"),e.$highlightLineMarker=n}else t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e.$highlightLineMarker.start.column=t.column,e._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column-1,r=t.end.column+1,i=e.getLine(t.start.row),s=i.length,o=i.substring(Math.max(n,0),Math.min(r,s));if(n>=0&&/^[\w\d]/.test(o)||r<=s&&/[\w\d]$/.test(o))return;o=i.substring(t.start.column,t.end.column);if(!/^[\w\d]+$/.test(o))return;var u=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:o});return u},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText();return this._signal("copy",e),e},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e){if(this.$readOnly)return;var t={text:e};this._signal("paste",t),e=t.text;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)this.insert(e);else{var n=e.split(/\r\n|\r|\n/),r=this.selection.rangeList.ranges;if(n.length>r.length||n.length<2||!n[1])return this.commands.exec("insertstring",this,e);for(var i=r.length;i--;){var s=r[i];s.isEmpty()||this.session.remove(s),this.session.insert(s.start,n[i])}}this.renderer.scrollCursorIntoView()},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,r=n.getMode(),i=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var s=r.transformAction(n.getState(i.row),"insertion",this,n,e);s&&(e!==s.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),e=s.text)}e==" "&&(e=this.session.getTabString());if(!this.selection.isEmpty()){var o=this.getSelectionRange();i=this.session.remove(o),this.clearSelection()}else if(this.session.getOverwrite()){var o=new p.fromPoints(i,i);o.end.column+=e.length,this.session.remove(o)}if(e=="\n"||e=="\r\n"){var u=n.getLine(i.row);if(i.column>u.search(/\S|$/)){var a=u.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+a)}}this.clearSelection();var f=i.column,l=n.getState(i.row),u=n.getLine(i.row),c=r.checkOutdent(l,u,e),h=n.insert(i,e);s&&s.selection&&(s.selection.length==2?this.selection.setSelectionRange(new p(i.row,f+s.selection[0],i.row,f+s.selection[1])):this.selection.setSelectionRange(new p(i.row+s.selection[0],s.selection[1],i.row+s.selection[2],s.selection[3])));if(n.getDocument().isNewLine(e)){var d=r.getNextLineIndent(l,u.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},d)}c&&r.autoOutdent(l,n,i.row)},this.onTextInput=function(e){this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,n){this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(t.end.column===0){var s=n.getTextRange(t);if(s[s.length-1]=="\n"){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;t<n.length?(r=n.charAt(t)+n.charAt(t-1),i=new p(e.row,t-1,e.row,t+1)):(r=n.charAt(t-1)+n.charAt(t-2),i=new p(e.row,t-2,e.row,t)),this.session.replace(i,r)},this.toLowerCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toLowerCase()),this.selection.setSelectionRange(e)},this.toUpperCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toUpperCase()),this.selection.setSelectionRange(e)},this.indent=function(){var e=this.session,t=this.getSelectionRange();if(t.start.row<t.end.row){var n=this.$getSelectedRows();e.indentRows(n.first,n.last," ");return}if(t.start.column<t.end.column){var r=e.getTextRange(t);if(!/^\s+$/.test(r)){var n=this.$getSelectedRows();e.indentRows(n.first,n.last," ");return}}var i=e.getLine(t.start.row),o=t.start,u=e.getTabSize(),a=e.documentToScreenColumn(o.row,o.column);if(this.session.getUseSoftTabs())var f=u-a%u,l=s.stringRepeat(" ",f);else{var f=a%u;while(i[t.start.column]==" "&&f)t.start.column--,f--;this.selection.setSelectionRange(t),l=" "}return this.insert(l)},this.blockIndent=function(){var e=this.$getSelectedRows();this.session.indentRows(e.first,e.last," ")},this.blockOutdent=function(){var e=this.session.getSelection();this.session.outdentRows(e.getRange())},this.sortLines=function(){var e=this.$getSelectedRows(),t=this.session,n=[];for(i=e.first;i<=e.last;i++)n.push(t.getLine(i));n.sort(function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:e.toLowerCase()>t.toLowerCase()?1:0});var r=new p(0,0,0,0);for(var i=e.first;i<=e.last;i++){var s=t.getLine(i);r.start.row=i,r.end.row=i,r.end.column=s.length,t.replace(r,n[i-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex<t){var i=n.exec(r);if(i.index<=t&&i.index+i[0].length>=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&n<o?e*=Math.pow(10,s.end-n-1):e*=Math.pow(10,s.end-n),a+=e,a/=Math.pow(10,u);var f=a.toFixed(u),l=new p(t,s.start,t,s.end);this.session.replace(l,f),this.moveCursorTo(t,Math.max(s.start+1,n+f.length-s.value.length))}}},this.removeLines=function(){var e=this.$getSelectedRows(),t;e.first===0||e.last+1<this.session.getLength()?t=new p(e.first,0,e.last+1,0):t=new p(e.first-1,this.session.getLine(e.first-1).length,e.last,this.session.getLine(e.last).length),this.session.remove(t),this.clearSelection()},this.duplicateSelection=function(){var e=this.selection,t=this.session,n=e.getRange(),r=e.isBackwards();if(n.isEmpty()){var i=n.start.row;t.duplicateLines(i,i)}else{var s=r?n.start:n.end,o=t.insert(s,t.getTextRange(n),!1);n.start=s,n.end=o,e.setSelectionRange(n,r)}},this.moveLinesDown=function(){this.$moveLines(1,!1)},this.moveLinesUp=function(){this.$moveLines(-1,!1)},this.moveText=function(e,t,n){return this.session.moveText(e,t,n)},this.copyLinesUp=function(){this.$moveLines(-1,!0)},this.copyLinesDown=function(){this.$moveLines(1,!0)},this.$moveLines=function(e,t){var n,r,i=this.selection;if(!i.inMultiSelectMode||this.inVirtualSelectionMode){var s=i.toOrientedRange();n=this.$getSelectedRows(s),r=this.session.$moveLines(n.first,n.last,t?0:e),t&&e==-1&&(r=0),s.moveBy(r,0),i.fromOrientedRange(s)}else{var o=i.rangeList.ranges;i.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;var u=0,a=0,f=o.length;for(var l=0;l<f;l++){var c=l;o[l].moveBy(u,0),n=this.$getSelectedRows(o[l]);var h=n.first,p=n.last;while(++l<f){a&&o[l].moveBy(a,0);var d=this.$getSelectedRows(o[l]);if(t&&d.first!=p)break;if(!t&&d.first>p+1)break;p=d.last}l--,u=this.session.$moveLines(h,p,t?0:e),t&&e==-1&&(c=l+1);while(c<=l)o[c].moveBy(u,0),c++;t||(u=0),a+=u}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);this.$blockScrolling++,t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t===!1&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection()),this.$blockScrolling--;var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new y(this.session,n.row,n.column),i=r.getCurrentToken(),s=i||r.stepForward();if(!s)return;var o,u=!1,a={},f=n.column-s.start,l,c={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(s.value.match(/[{}()\[\]]/g))for(;f<s.value.length&&!u;f++){if(!c[s.value[f]])continue;l=c[s.value[f]]+"."+s.type.replace("rparen","lparen"),isNaN(a[l])&&(a[l]=0);switch(s.value[f]){case"(":case"[":case"{":a[l]++;break;case")":case"]":case"}":a[l]--,a[l]===-1&&(o="bracket",u=!0)}}else s&&s.type.indexOf("tag-name")!==-1&&(isNaN(a[s.value])&&(a[s.value]=0),i.value==="<"?a[s.value]++:i.value==="</"&&a[s.value]--,a[s.value]===-1&&(o="tag",u=!0));u||(i=s,s=r.stepForward(),f=0)}while(s&&!u);if(!o)return;var h,d;if(o==="bracket"){h=this.session.getBracketRange(n);if(!h){h=new p(r.getCurrentTokenRow(),r.getCurrentTokenColumn()+f-1,r.getCurrentTokenRow(),r.getCurrentTokenColumn()+f-1),d=h.start;if(t||d.row===n.row&&Math.abs(d.column-n.column)<2)h=this.session.getBracketRange(d)}}else if(o==="tag"){if(!s||s.type.indexOf("tag-name")===-1)return;var v=s.value;h=new p(r.getCurrentTokenRow(),r.getCurrentTokenColumn()-2,r.getCurrentTokenRow(),r.getCurrentTokenColumn()-2);if(h.compare(n.row,n.column)===0){u=!1;do s=i,i=r.stepBackward(),i&&(i.type.indexOf("tag-close")!==-1&&h.setEnd(r.getCurrentTokenRow(),r.getCurrentTokenColumn()+1),s.value===v&&s.type.indexOf("tag-name")!==-1&&(i.value==="<"?a[v]++:i.value==="</"&&a[v]--,a[v]===0&&(u=!0)));while(i&&!u)}s&&s.type.indexOf("tag-name")&&(d=h.start,d.row==n.row&&Math.abs(d.column-n.column)<2&&(d=h.end))}d=h&&h.cursor||d,d&&(e?h&&t?this.selection.setRange(h):h&&h.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(d.row,d.column):this.selection.moveTo(d.row,d.column))},this.gotoLine=function(e,t,n){this.selection.clearSelection(),this.session.unfold({row:e-1,column:t||0}),this.$blockScrolling+=1,this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(e-1,t||0),this.$blockScrolling-=1,this.isRowFullyVisible(e-1)||this.scrollToLine(e-1,!0,n)},this.navigateTo=function(e,t){this.selection.moveTo(e,t)},this.navigateUp=function(e){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(-e||-1,0)},this.navigateDown=function(e){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(e||1,0)},this.navigateLeft=function(e){if(!this.selection.isEmpty()){var t=this.getSelectionRange().start;this.moveCursorToPosition(t)}else{e=e||1;while(e--)this.selection.moveCursorLeft()}this.clearSelection()},this.navigateRight=function(e){if(!this.selection.isEmpty()){var t=this.getSelectionRange().end;this.moveCursorToPosition(t)}else{e=e||1;while(e--)this.selection.moveCursorRight()}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},this.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(e,t){t&&this.$search.set(t);var n=this.$search.find(this.session),r=0;return n?(this.$tryReplace(n,e)&&(r=1),n!==null&&(this.selection.setSelectionRange(n),this.renderer.scrollSelectionIntoView(n.start,n.end)),r):r},this.replaceAll=function(e,t){t&&this.$search.set(t);var n=this.$search.findAll(this.session),r=0;if(!n.length)return r;this.$blockScrolling+=1;var i=this.getSelectionRange();this.selection.moveTo(0,0);for(var s=n.length-1;s>=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),this.$blockScrolling-=1,r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&r.mixin(t,e);var i=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.$blockScrolling+=1,this.session.unfold(e),this.selection.setSelectionRange(e),this.$blockScrolling-=1;var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(e){if(!e)return;var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var s=this.on("changeSelection",function(){r=!0}),o=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),u=this.renderer.on("afterRender",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,s=e.$cursorLayer.$pixelPos,o=e.layerConfig,u=s.top-o.offset;s.top>=0&&u+t.top<0?r=!0:s.top<o.height&&s.top+t.top+o.lineHeight>window.innerHeight?r=!1:r=null,r!=null&&(i.style.top=u+"px",i.style.left=s.left+"px",i.style.height=o.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){if(e)return;delete this.setAutoScrollEditorIntoView,this.removeEventListener("changeSelection",s),this.renderer.removeEventListener("afterRender",u),this.renderer.removeEventListener("beforeRender",o)}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;if(!t)return;t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&e!="wide",i.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e))}}).call(b.prototype),g.defineOptions(b.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.$resetCursorStyle()},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",showLineNumbers:"renderer",showGutter:"renderer",displayIndentGuides:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",tabSize:"session",wrap:"session",foldStyle:"session",mode:"session"}),t.Editor=b}),define("ace/undomanager",["require","exports","module"],function(e,t,n){"use strict";var r=function(){this.reset()};(function(){this.execute=function(e){var t=e.args[0];this.$doc=e.args[1],e.merge&&this.hasUndo()&&(this.dirtyCounter--,t=this.$undoStack.pop().concat(t)),this.$undoStack.push(t),this.$redoStack=[],this.dirtyCounter<0&&(this.dirtyCounter=NaN),this.dirtyCounter++},this.undo=function(e){var t=this.$undoStack.pop(),n=null;return t&&(n=this.$doc.undoChanges(t,e),this.$redoStack.push(t),this.dirtyCounter--),n},this.redo=function(e){var t=this.$redoStack.pop(),n=null;return t&&(n=this.$doc.redoChanges(t,e),this.$undoStack.push(t),this.dirtyCounter++),n},this.reset=function(){this.$undoStack=[],this.$redoStack=[],this.dirtyCounter=0},this.hasUndo=function(){return this.$undoStack.length>0},this.hasRedo=function(){return this.$redoStack.length>0},this.markClean=function(){this.dirtyCounter=0},this.isClean=function(){return this.dirtyCounter===0}}).call(r.prototype),t.UndoManager=r}),define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/lang"),o=e("../lib/event_emitter").EventEmitter,u=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$cells=[]};(function(){i.implement(this,o),this.setSession=function(e){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];for(var t=0;t<e.length;t++){var n=e[t],r=n.row,i=this.$annotations[r];i||(i=this.$annotations[r]={text:[]});var o=n.text;o=o?s.escapeHTML(o):n.html||"",i.text.indexOf(o)===-1&&i.text.push(o);var u=n.type;u=="error"?i.className=" ace_error":u=="warning"&&i.className!=" ace_error"?i.className=" ace_warning":u=="info"&&!i.className&&(i.className=" ace_info")}},this.$updateAnnotations=function(e){if(!this.$annotations.length)return;var t=e.data,n=t.range,r=n.start.row,i=n.end.row-r;if(i!==0)if(t.action=="removeText"||t.action=="removeLines")this.$annotations.splice(r,i+1,null);else{var s=new Array(i+1);s.unshift(r,1),this.$annotations.splice.apply(this.$annotations,s)}},this.update=function(e){var t=this.session,n=e.firstRow,i=Math.min(e.lastRow+e.gutterOffset,t.getLength()-1),s=t.getNextFoldLine(n),o=s?s.start.row:Infinity,u=this.$showFoldWidgets&&t.foldWidgets,a=t.$breakpoints,f=t.$decorations,l=t.$firstLineNumber,c=0,h=t.gutterRenderer||this.$renderer,p=null,d=-1,v=n;for(;;){v>o&&(v=s.end.row+1,s=t.getNextFoldLine(v,s),o=s?s.start.row:Infinity);if(v>i){while(this.$cells.length>d+1)p=this.$cells.pop(),this.element.removeChild(p.element);break}p=this.$cells[++d],p||(p={element:null,textNode:null,foldWidget:null},p.element=r.createElement("div"),p.textNode=document.createTextNode(""),p.element.appendChild(p.textNode),this.element.appendChild(p.element),this.$cells[d]=p);var m="ace_gutter-cell ";a[v]&&(m+=a[v]),f[v]&&(m+=f[v]),this.$annotations[v]&&(m+=this.$annotations[v].className),p.element.className!=m&&(p.element.className=m);var g=t.getRowLength(v)*e.lineHeight+"px";g!=p.element.style.height&&(p.element.style.height=g);if(u){var y=u[v];y==null&&(y=u[v]=t.getFoldWidget(v))}if(y){p.foldWidget||(p.foldWidget=r.createElement("span"),p.element.appendChild(p.foldWidget));var m="ace_fold-widget ace_"+y;y=="start"&&v==o&&v<s.end.row?m+=" ace_closed":m+=" ace_open",p.foldWidget.className!=m&&(p.foldWidget.className=m);var g=e.lineHeight+"px";p.foldWidget.style.height!=g&&(p.foldWidget.style.height=g)}else p.foldWidget&&(p.element.removeChild(p.foldWidget),p.foldWidget=null);var b=c=h?h.getText(t,v):v+l;b!=p.textNode.data&&(p.textNode.data=b),v++}this.element.style.height=e.minHeight+"px";if(this.$fixedWidth||t.$useWrapMode)c=t.getLength()+l;var w=h?h.getWidth(t,c,e):c.toString().length*e.characterWidth,E=this.$padding||this.$computePadding();w+=E.left+E.right,w!==this.gutterWidth&&!isNaN(w)&&(this.gutterWidth=w,this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._emit("changeGutterWidth",w))},this.$fixedWidth=!1,this.$showLineNumbers=!0,this.$renderer="",this.setShowLineNumbers=function(e){this.$renderer=!e&&{getWidth:function(){return""},getText:function(){return""}}},this.getShowLineNumbers=function(){return this.$showLineNumbers},this.$showFoldWidgets=!0,this.setShowFoldWidgets=function(e){e?r.addCssClass(this.element,"ace_folding-enabled"):r.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},this.getShowFoldWidgets=function(){return this.$showFoldWidgets},this.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=r.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=parseInt(e.paddingLeft)+1||0,this.$padding.right=parseInt(e.paddingRight)||0,this.$padding},this.getRegion=function(e){var t=this.$padding||this.$computePadding(),n=this.element.getBoundingClientRect();if(e.x<t.left+n.left)return"markers";if(this.$showFoldWidgets&&e.x>n.right-t.right)return"foldWidgets"}}).call(u.prototype),t.Gutter=u}),define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/dom"),s=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.update=function(e){var e=e||this.config;if(!e)return;this.config=e;var t=[];for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var i=r.range.clipRows(e.firstRow,e.lastRow);if(i.isEmpty())continue;i=i.toScreenRange(this.session);if(r.renderer){var s=this.$getTop(i.start.row,e),o=this.$padding+i.start.column*e.characterWidth;r.renderer(t,i,o,s,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,i,r.clazz,e):r.type=="screenLine"?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?r.type=="text"?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start",e)}this.element.innerHTML=t.join("")},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(e,t,n,i,s){var o=t.start.row,u=new r(o,t.start.column,o,this.session.getScreenLastRowColumn(o));this.drawSingleLineMarker(e,u,n+" ace_start",i,1,s),o=t.end.row,u=new r(o,0,o,t.end.column),this.drawSingleLineMarker(e,u,n,i,0,s);for(o=t.start.row+1;o<t.end.row;o++)u.start.row=o,u.end.row=o,u.end.column=this.session.getScreenLastRowColumn(o),this.drawSingleLineMarker(e,u,n,i,1,s)},this.drawMultiLineMarker=function(e,t,n,r,i){var s=this.$padding,o=r.lineHeight,u=this.$getTop(t.start.row,r),a=s+t.start.column*r.characterWidth;i=i||"",e.push("<div class='",n," ace_start' style='","height:",o,"px;","right:0;","top:",u,"px;","left:",a,"px;",i,"'></div>"),u=this.$getTop(t.end.row,r);var f=t.end.column*r.characterWidth;e.push("<div class='",n,"' style='","height:",o,"px;","width:",f,"px;","top:",u,"px;","left:",s,"px;",i,"'></div>"),o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<0)return;u=this.$getTop(t.start.row+1,r),e.push("<div class='",n,"' style='","height:",o,"px;","right:0;","top:",u,"px;","left:",s,"px;",i,"'></div>")},this.drawSingleLineMarker=function(e,t,n,r,i,s){var o=r.lineHeight,u=(t.end.column+(i||0)-t.start.column)*r.characterWidth,a=this.$getTop(t.start.row,r),f=this.$padding+t.start.column*r.characterWidth;e.push("<div class='",n,"' style='","height:",o,"px;","width:",u,"px;","top:",a,"px;","left:",f,"px;",s||"","'></div>")},this.drawFullLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,r)-s),e.push("<div class='",n,"' style='","height:",o,"px;","top:",s,"px;","left:0;right:0;",i||"","'></div>")},this.drawScreenLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;e.push("<div class='",n,"' style='","height:",o,"px;","top:",s,"px;","left:0;right:0;",i||"","'></div>")}}).call(s.prototype),t.Marker=s}),define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this)};(function(){r.implement(this,u),this.EOF_CHAR="\u00b6",this.EOL_CHAR_LF="\u00ac",this.EOL_CHAR_CRLF="\u00a4",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="\u2192",this.SPACE_CHAR="\u00b7",this.$padding=0,this.$updateEolChar=function(){var e=this.session.doc.getNewLineCharacter()=="\n"?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=e)return this.EOL_CHAR=e,!0},this.setPadding=function(e){this.$padding=e,this.element.style.padding="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;n<e+1;n++)this.showInvisibles?t.push("<span class='ace_invisible ace_invisible_tab'>"+this.TAB_CHAR+s.stringRepeat(" ",n-1)+"</span>"):t.push(s.stringRepeat(" ",n));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var r="ace_indent-guide",i="",o="";if(this.showInvisibles){r+=" ace_invisible",i=" ace_invisible_space",o=" ace_invisible_tab";var u=s.stringRepeat(this.SPACE_CHAR,this.tabSize),a=this.TAB_CHAR+s.stringRepeat(" ",this.tabSize-1)}else var u=s.stringRepeat(" ",this.tabSize),a=u;this.$tabStrings[" "]="<span class='"+r+i+"'>"+u+"</span>",this.$tabStrings[" "]="<span class='"+r+o+"'>"+a+"</span>"}},this.updateLines=function(e,t,n){(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)&&this.scrollLines(e),this.config=e;var r=Math.max(t,e.firstRow),i=Math.min(n,e.lastRow),s=this.element.childNodes,o=0;for(var u=e.firstRow;u<r;u++){var a=this.session.getFoldLine(u);if(a){if(a.containsRow(r)){r=a.start.row;break}u=a.end.row}o++}var u=r,a=this.session.getNextFoldLine(u),f=a?a.start.row:Infinity;for(;;){u>f&&(u=a.end.row+1,a=this.session.getNextFoldLine(u,a),f=a?a.start.row:Infinity);if(u>i)break;var l=s[o++];if(l){var c=[];this.$renderLine(c,u,!this.$useLineGroups(),u==f?a:!1),l.style.height=e.lineHeight*this.session.getRowLength(u)+"px",l.innerHTML=c.join("")}u++}},this.scrollLines=function(e){var t=this.config;this.config=e;if(!t||t.lastRow<e.firstRow)return this.update(e);if(e.lastRow<t.firstRow)return this.update(e);var n=this.element;if(t.firstRow<e.firstRow)for(var r=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);r>0;r--)n.removeChild(n.firstChild);if(t.lastRow>e.lastRow)for(var r=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);r>0;r--)n.removeChild(n.lastChild);if(e.firstRow<t.firstRow){var i=this.$renderLinesFragment(e,e.firstRow,t.firstRow-1);n.firstChild?n.insertBefore(i,n.firstChild):n.appendChild(i)}if(e.lastRow>t.lastRow){var i=this.$renderLinesFragment(e,t.lastRow+1,e.lastRow);n.appendChild(i)}},this.$renderLinesFragment=function(e,t,n){var r=this.element.ownerDocument.createDocumentFragment(),s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=i.createElement("div"),f=[];this.$renderLine(f,s,!1,s==u?o:!1),a.innerHTML=f.join("");if(this.$useLineGroups())a.className="ace_line_group",r.appendChild(a),a.style.height=e.lineHeight*this.session.getRowLength(s)+"px";else while(a.firstChild)r.appendChild(a.firstChild);s++}return r},this.update=function(e){this.config=e;var t=[],n=e.firstRow,r=e.lastRow,i=n,s=this.session.getNextFoldLine(i),o=s?s.start.row:Infinity;for(;;){i>o&&(i=s.end.row+1,s=this.session.getNextFoldLine(i,s),o=s?s.start.row:Infinity);if(i>r)break;this.$useLineGroups()&&t.push("<div class='ace_line_group' style='height:",e.lineHeight*this.session.getRowLength(i),"px'>"),this.$renderLine(t,i,!1,i==o?s:!1),this.$useLineGroups()&&t.push("</div>"),i++}this.element.innerHTML=t.join("")},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,o=/\t|&|<|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF])|[\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3000-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]/g,u=function(e,n,r,o,u){if(n)return i.showInvisibles?"<span class='ace_invisible ace_invisible_space'>"+s.stringRepeat(i.SPACE_CHAR,e.length)+"</span>":e;if(e=="&")return"&";if(e=="<")return"<";if(e==" "){var a=i.session.getScreenTabSize(t+o);return t+=a-1,i.$tabStrings[a]}if(e=="\u3000"){var f=i.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",l=i.showInvisibles?i.SPACE_CHAR:"";return t+=1,"<span class='"+f+"' style='width:"+i.config.characterWidth*2+"px'>"+l+"</span>"}return r?"<span class='ace_invisible ace_invisible_space ace_invalid'>"+i.SPACE_CHAR+"</span>":(t+=1,"<span class='ace_cjk' style='width:"+i.config.characterWidth*2+"px'>"+e+"</span>")},a=r.replace(o,u);if(!this.$textToken[n.type]){var f="ace_"+n.type.replace(/\./g," ace_"),l="";n.type=="fold"&&(l=" style='width:"+n.value.length*this.config.characterWidth+"px;' "),e.push("<span class='",f,"'",l,">",a,"</span>")}else e.push(a);return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);return r<=0||r>=n?t:t[0]==" "?(r-=r%this.tabSize,e.push(s.stringRepeat(this.$tabStrings[" "],r/this.tabSize)),t.substr(r)):t[0]==" "?(e.push(s.stringRepeat(this.$tabStrings[" "],r)),t.substr(r)):t},this.$renderWrappedLine=function(e,t,n,r){var i=0,s=0,o=n[0],u=0;for(var a=0;a<t.length;a++){var f=t[a],l=f.value;if(a==0&&this.displayIndentGuides){i=l.length,l=this.renderIndentGuide(e,l,o);if(!l)continue;i-=l.length}if(i+l.length<o)u=this.$renderToken(e,u,f,l),i+=l.length;else{while(i+l.length>=o)u=this.$renderToken(e,u,f,l.substring(0,o-i)),l=l.substring(o-i),i=o,r||e.push("</div>","<div class='ace_line' style='height:",this.config.lineHeight,"px'>"),s++,u=0,o=n[s]||Number.MAX_VALUE;l.length!=0&&(i+=l.length,u=this.$renderToken(e,u,f,l))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;s<t.length;s++)r=t[s],i=r.value,n=this.$renderToken(e,n,r,i)},this.$renderLine=function(e,t,n,r){!r&&r!=0&&(r=this.session.getFoldLine(t));if(r)var i=this.$getFoldLineTokens(t,r);else var i=this.session.getTokens(t);n||e.push("<div class='ace_line' style='height:",this.config.lineHeight*(this.$useLineGroups()?1:this.session.getRowLength(t)),"px'>");if(i.length){var s=this.session.getRowSplitData(t);s&&s.length?this.$renderWrappedLine(e,i,s,n):this.$renderSimpleLine(e,i)}this.showInvisibles&&(r&&(t=r.end.row),e.push("<span class='ace_invisible ace_invisible_eol'>",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"</span>")),n||e.push("</div>")},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.length<t){s+=e[i].value.length,i++;if(i==e.length)return}if(s!=t){var o=e[i].value.substring(t-s);o.length>n-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(s<n&&i<e.length){var o=e[i].value;o.length+s>n?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(a.prototype),t.Text=a}),define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i,s=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),i===undefined&&(i="opacity"in this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateVisibility.bind(this)};(function(){this.$updateVisibility=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.visibility=e?"":"hidden"},this.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.opacity=e?"":"0"},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&!i&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.$updateCursors=(e?this.$updateOpacity:this.$updateVisibility).bind(this),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking"),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible)return;this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+n.column*this.config.characterWidth,i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,r=0;if(t===undefined||t.length===0)t=[{cursor:null}];for(var n=0,i=t.length;n<i;n++){var s=this.getPixelPosition(t[n].cursor,!0);if((s.top>e.height+e.offset||s.top<0)&&n>1)continue;var o=(this.cursors[r++]||this.addCursor()).style;this.drawCursor?this.drawCursor(o,s,e,t[n],this.session):(o.left=s.left+"px",o.top=s.top+"px",o.width=e.characterWidth+"px",o.height=e.lineHeight+"px")}while(this.cursors.length>r)this.removeCursor();var u=this.session.getOverwrite();this.$setOverwrite(u),this.$pixelPos=s,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(s.prototype),t.Cursor=s}),define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/event_emitter").EventEmitter,u=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)};(function(){r.implement(this,o),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e}}).call(u.prototype);var a=function(e,t){u.call(this,e),this.scrollTop=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px"};r.inherits(a,u),function(){this.classSuffix="-v",this.onScroll=function(){this.skipEvent||(this.scrollTop=this.element.scrollTop,this._emit("scroll",{data:this.scrollTop})),this.skipEvent=!1},this.getWidth=function(){return this.isVisible?this.width:0},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=function(e){this.inner.style.height=e+"px"},this.setScrollHeight=function(e){this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=this.element.scrollTop=e)}}.call(a.prototype);var f=function(e,t){u.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};r.inherits(f,u),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(f.prototype),t.ScrollBar=a,t.ScrollBarV=a,t.ScrollBarH=f,t.VScrollBar=a,t.HScrollBar=f}),define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.window=t||window};(function(){this.schedule=function(e){this.changes=this.changes|e;if(!this.pending&&this.changes){this.pending=!0;var t=this;r.nextFrame(function(){t.pending=!1;var e;while(e=t.changes)t.changes=0,t.onRender(e)},this.window)}}}).call(i.prototype),t.RenderLoop=i}),define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=0,f=t.FontMetrics=function(e,t){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),a||this.$testFractionalRect(),this.$measureNode.innerHTML=s.stringRepeat("X",a),this.$characterSize={width:0,height:0},this.checkForSizeChanges()};(function(){r.implement(this,u),this.$characterSize={width:0,height:0},this.$testFractionalRect=function(){var e=i.createElement("div");this.$setMeasureNodeStyles(e.style),e.style.width="0.2px",document.documentElement.appendChild(e);var t=e.getBoundingClientRect().width;t>0&&t<1?a=50:a=100,e.parentNode.removeChild(e)},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",o.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(){var e=this.$measureSizes();if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=setInterval(function(){e.checkForSizeChanges()},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&this.$pollSizeChangesTimer},this.$measureSizes=function(){if(a===50){var e=null;try{e=this.$measureNode.getBoundingClientRect()}catch(t){e={width:0,height:0}}var n={height:e.height,width:e.width/a}}else var n={height:this.$measureNode.clientHeight,width:this.$measureNode.clientWidth/a};return n.width===0||n.height===0?null:n},this.$measureCharWidth=function(e){this.$main.innerHTML=s.stringRepeat(e,a);var t=this.$main.getBoundingClientRect();return t.width/a},this.getCharacterWidth=function(e){var t=this.charSizes[e];return t===undefined&&(this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)}}).call(f.prototype)}),define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/lib/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./config"),o=e("./lib/useragent"),u=e("./layer/gutter").Gutter,a=e("./layer/marker").Marker,f=e("./layer/text").Text,l=e("./layer/cursor").Cursor,c=e("./scrollbar").HScrollBar,h=e("./scrollbar").VScrollBar,p=e("./renderloop").RenderLoop,d=e("./layer/font_metrics").FontMetrics,v=e("./lib/event_emitter").EventEmitter,m='.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;min-width: 100%;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;text-indent: -1em;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;}.ace_text-input.ace_composition {background: inherit;color: inherit;z-index: 1000;opacity: 1;text-indent: 0;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;border-left: 2px solid}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-webkit-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_editor.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-webkit-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-webkit-transition: opacity 0.05s ease 0.05s;transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}';i.importCssString(m,"ace_editor.css");var g=function(e,t){var n=this;this.container=e||i.createElement("div"),this.$keepTextAreaAtCursor=!o.isOldIE,i.addCssClass(this.container,"ace_editor"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new u(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new a(this.content);var r=this.$textLayer=new f(this.content);this.canvas=r.element,this.$markerFront=new a(this.content),this.$cursorLayer=new l(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new h(this.container,this),this.scrollBarH=new c(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new d(this.container,500),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$loop=new p(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),s.resetOptions(this),s._emit("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,v),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e);if(!e)return;this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode)},this.updateLines=function(e,t,n){t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRow<t&&(this.$changedLines.lastRow=t)):this.$changedLines={firstRow:e,lastRow:t};if(this.$changedLines.lastRow<this.layerConfig.firstRow){if(!n)return;this.$changedLines.lastRow=this.layerConfig.lastRow}if(this.$changedLines.firstRow>this.layerConfig.lastRow)return;this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar()},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,r){if(this.resizing>2)return;this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var s=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(s|this.$changes,!0):this.$loop.schedule(s|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var i=0,s=this.$size,o={width:s.width,height:s.height,scrollerHeight:s.scrollerHeight,scrollerWidth:s.scrollerWidth};r&&(e||s.height!=r)&&(s.height=r,i|=this.CHANGE_SIZE,s.scrollerHeight=s.height,this.$horizScroll&&(s.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",i|=this.CHANGE_SCROLL);if(n&&(e||s.width!=n)){i|=this.CHANGE_SIZE,s.width=n,t==null&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,this.scrollBarH.element.style.left=this.scroller.style.left=t+"px",s.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()),this.scrollBarH.element.style.right=this.scroller.style.right=this.scrollBarV.getWidth()+"px",this.scroller.style.bottom=this.scrollBarH.getHeight()+"px";if(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)i|=this.CHANGE_FULL}return s.$dirty=!n||!r,i&&this._signal("resize",o),i},this.onGutterResize=function(){var e=this.$showGutter?this.$gutter.offsetWidth:0;e!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,e,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):(this.$computeLayerConfig(),this.$loop.schedule(this.CHANGE_MARKER))},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updateGutterLineHighlight=function(){var e=this.$cursorLayer.$pixelPos,t=this.layerConfig.lineHeight;if(this.session.getUseWrapMode()){var n=this.session.selection.getCursor();n.column=0,e=this.$cursorLayer.getPixelPosition(n,!0),t*=this.session.getRowLength(n.row)}this.$gutterLineHighlight.style.top=e.top-this.layerConfig.offset+"px",this.$gutterLineHighlight.style.height=t+"px"},this.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.content},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(!this.$keepTextAreaAtCursor)return;var e=this.layerConfig,t=this.$cursorLayer.$pixelPos.top,n=this.$cursorLayer.$pixelPos.left;t-=e.offset;var r=this.textarea.style,i=this.lineHeight;if(t<0||t>e.height-i){r.top=r.left="0";return}var s=this.characterWidth;if(this.$composition){var o=this.textarea.value.replace(/^\x01+/,"");s*=this.session.$getStringScreenWidth(o)[0]+2,i+=2}n-=this.scrollLeft,n>this.$size.scrollerWidth-s&&(n=this.$size.scrollerWidth-s),n+=this.gutterWidth,r.height=i+"px",r.width=s+"px",r.left=Math.min(n,this.$size.scrollerWidth-s)+"px",r.top=Math.min(t,this.$size.height-i)+"px"},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var e=Math.floor((this.layerConfig.height+this.layerConfig.offset)/this.layerConfig.lineHeight);return this.layerConfig.firstRow-1+e},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){this.$changes&&(e|=this.$changes,this.$changes=0);if(!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender");var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){e|=this.$computeLayerConfig();if(n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-n.offset+"px",this.content.style.marginTop=-n.offset+"px",this.content.style.width=n.width+2*this.$padding+"px",this.content.style.height=n.minHeight+"px"}e&this.CHANGE_H_SCROLL&&(this.content.style.marginLeft=-this.scrollLeft+"px",this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left");if(e&this.CHANGE_FULL){this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this._signal("afterRender");return}if(e&this.CHANGE_SCROLL){e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this.$moveTextAreaToCursor(),this._signal("afterRender");return}e&this.CHANGE_TEXT?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):(e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender")},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.max((this.$minLines||1)*this.lineHeight,Math.min(t,e))+this.scrollMargin.v+(this.$extraHeight||0),r=e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||r!=this.$vScroll){r!=this.$vScroll&&(this.$vScroll=r,this.scrollBarV.setVisible(r));var i=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,i,n),this.desiredHeight=n,this._signal("autosize")}},this.$computeLayerConfig=function(){this.$maxLines&&this.lineHeight>1&&this.$autosize();var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),i=r*this.lineHeight,s=this.scrollTop%this.lineHeight,o=t.scrollerHeight+this.lineHeight,u=this.$getLongestLine(),a=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-u-2*this.$padding<0),f=this.$horizScroll!==a;f&&(this.$horizScroll=a,this.scrollBarH.setVisible(a));var l=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;i+=l,this.session.setScrollTop(Math.max(-this.scrollMargin.top,Math.min(this.scrollTop,i-t.scrollerHeight+this.scrollMargin.bottom))),this.session.setScrollLeft(Math.max(-this.scrollMargin.left,Math.min(this.scrollLeft,u+2*this.$padding-t.scrollerWidth+this.scrollMargin.right)));var c=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-i+l<0||this.scrollTop),h=this.$vScroll!==c;h&&(this.$vScroll=c,this.scrollBarV.setVisible(c));var p=Math.ceil(o/this.lineHeight)-1,d=Math.max(0,Math.round((this.scrollTop-s)/this.lineHeight)),v=d+p,m,g,y=this.lineHeight;d=e.screenToDocumentRow(d,0);var b=e.getFoldLine(d);b&&(d=b.start.row),m=e.documentToScreenRow(d,0),g=e.getRowLength(d)*y,v=Math.min(e.screenToDocumentRow(v,0),e.getLength()-1),o=t.scrollerHeight+e.getRowLength(v)*y+g,s=this.scrollTop-m*y;var w=0;this.layerConfig.width!=u&&(w=this.CHANGE_H_SCROLL);if(f||h)w=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),h&&(u=this.$getLongestLine());return this.layerConfig={width:u,padding:this.$padding,firstRow:d,firstRowScreen:m,lastRow:v,lineHeight:y,characterWidth:this.characterWidth,minHeight:o,maxHeight:i,offset:s,gutterOffset:Math.max(0,Math.ceil((s+t.height-t.scrollerHeight)/y)),height:this.$size.scrollerHeight},w},this.$updateLines=function(){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(t<n.firstRow)return;if(t===Infinity){this.$showGutter&&this.$gutterLayer.update(n),this.$textLayer.update(n);return}return this.$textLayer.updateLines(n,e,t),!0},this.$getLongestLine=function(){var e=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(e+=1),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,n){this.scrollCursorIntoView(e,n),this.scrollCursorIntoView(t,n)},this.scrollCursorIntoView=function(e,t,n){if(this.$size.scrollerHeight===0)return;var r=this.$cursorLayer.getPixelPosition(e),i=r.left,s=r.top,o=n&&n.top||0,u=n&&n.bottom||0,a=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;a+o>s?(t&&(s-=t*this.$size.scrollerHeight),s===0&&(s=-this.scrollMargin.top),this.session.setScrollTop(s)):a+this.$size.scrollerHeight-u<s+this.lineHeight&&(t&&(s+=t*this.$size.scrollerHeight),this.session.setScrollTop(s+this.lineHeight-this.$size.scrollerHeight));var f=this.scrollLeft;f>i?(i<this.$padding+2*this.layerConfig.characterWidth&&(i=-this.scrollMargin.left),this.session.setScrollLeft(i)):f+this.$size.scrollerWidth<i+this.characterWidth?this.session.setScrollLeft(Math.round(i+this.characterWidth-this.$size.scrollerWidth)):f<=this.$padding&&i-f<this.characterWidth&&this.session.setScrollLeft(0)},this.getScrollTop=function(){return this.session.getScrollTop()},this.getScrollLeft=function(){return this.session.getScrollLeft()},this.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},this.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},this.scrollToRow=function(e){this.session.setScrollTop(e*this.lineHeight)},this.alignCursor=function(e,t){typeof e=="number"&&(e={row:e,column:0});var n=this.$cursorLayer.getPixelPosition(e),r=this.$size.scrollerHeight-this.lineHeight,i=n.top-r*(t||0);return this.session.setScrollTop(i),i},this.STEPS=8,this.$calcSteps=function(e,t){var n=0,r=this.STEPS,i=[],s=function(e,t,n){return n*(Math.pow(e-1,3)+1)+t};for(n=0;n<r;++n)i.push(s(n/this.STEPS,e,t-e));return i},this.scrollToLine=function(e,t,n,r){var i=this.$cursorLayer.getPixelPosition({row:e,column:0}),s=i.top;t&&(s-=this.$size.scrollerHeight/2);var o=this.scrollTop;this.session.setScrollTop(s),n!==!1&&this.animateScrolling(o,r)},this.animateScrolling=function(e,t){var n=this.scrollTop;if(!this.$animatedScroll)return;var r=this;if(e==n)return;if(this.$scrollAnimation){var i=this.$scrollAnimation.steps;if(i.length){e=i[0];if(e==n)return}}var s=r.$calcSteps(e,n);this.$scrollAnimation={from:e,to:n,steps:s},clearInterval(this.$timer),r.session.setScrollTop(s.shift()),r.session.$scrollTop=n,this.$timer=setInterval(function(){s.length?(r.session.setScrollTop(s.shift()),r.session.$scrollTop=n):n!=null?(r.session.$scrollTop=-1,r.session.setScrollTop(n),n=null):(r.$timer=clearInterval(r.$timer),r.$scrollAnimation=null,t&&t())},10)},this.scrollToY=function(e){this.scrollTop!==e&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=e)},this.scrollToX=function(e){this.scrollLeft!==e&&(this.scrollLeft=e),this.$loop.schedule(this.CHANGE_H_SCROLL)},this.scrollTo=function(e,t){this.session.setScrollTop(t),this.session.setScrollLeft(t)},this.scrollBy=function(e,t){t&&this.session.setScrollTop(this.session.getScrollTop()+t),e&&this.session.setScrollLeft(this.session.getScrollLeft()+e)},this.isScrollableBy=function(e,t){if(t<0&&this.session.getScrollTop()>=1-this.scrollMargin.top)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom)return!0;if(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left)return!0;if(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},this.pixelToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=(e+this.scrollLeft-n.left-this.$padding)/this.characterWidth,i=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),s=Math.round(r);return{row:i,column:s,side:r-s>0?1:-1}},this.screenToTextCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=Math.round((e+this.scrollLeft-n.left-this.$padding)/this.characterWidth),i=(t+this.scrollTop-n.top)/this.lineHeight;return this.session.screenToDocumentPosition(i,Math.max(r,0))},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+Math.round(r.column*this.characterWidth),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(e){this.$moveTextAreaToCursor()},this.hideComposition=function(){if(!this.$composition)return;i.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null},this.setTheme=function(e,t){function o(r){if(n.$themeId!=e)return t&&t();if(!r.cssClass)return;i.importCssString(r.cssText,r.cssClass,n.container.ownerDocument),n.theme&&i.removeCssClass(n.container,n.theme.cssClass);var s="padding"in r?r.padding:"padding"in(n.theme||{})?4:n.$padding;n.$padding&&s!=n.$padding&&n.setPadding(s),n.$theme=r.cssClass,n.theme=r,i.addCssClass(n.container,r.cssClass),i.setCssClass(n.container,"ace_dark",r.isDark),n.$size&&(n.$size.width=0,n.$updateSizeAsync()),n._dispatchEvent("themeLoaded",{theme:r}),t&&t()}var n=this;this.$themeId=e,n._dispatchEvent("themeChange",{theme:e});if(!e||typeof e=="string"){var r=e||this.$options.theme.initialValue;s.loadModule(["theme",r],o)}else o(e)},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){i.setCssClass(this.container,e,t!==!1)},this.unsetStyle=function(e){i.removeCssClass(this.container,e)},this.setCursorStyle=function(e){this.scroller.style.cursor!=e&&(this.scroller.style.cursor=e)},this.setMouseCursor=function(e){this.scroller.style.cursor=e},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(g.prototype),s.defineOptions(g.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){typeof e=="number"&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){i.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e)},initialValue:!0},showLineNumbers:{set:function(e){this.$gutterLayer.setShowLineNumbers(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){if(!this.$gutterLineHighlight){this.$gutterLineHighlight=i.createElement("div"),this.$gutterLineHighlight.className="ace_gutter-active-line",this.$gutter.appendChild(this.$gutterLineHighlight);return}this.$gutterLineHighlight.style.display=e?"":"none",this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight()},initialValue:!1,value:!0},hScrollBarAlwaysVisible:{set:function(e){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){typeof e=="number"&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.updateFull()}},scrollPastEnd:{set:function(e){e=+e||0;if(this.$scrollPastEnd==e)return;this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0}}),t.VirtualRenderer=g}),define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/net"),s=e("../lib/event_emitter").EventEmitter,o=e("../config"),u=function(t,n,r,i){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl);if(o.get("packaged")||!e.toUrl)i=i||o.moduleUrl(n,"worker");else{var s=this.$normalizePath;i=i||s(e.toUrl("ace/worker/worker.js",null,"_"));var u={};t.forEach(function(t){u[t]=s(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}try{this.$worker=new Worker(i)}catch(a){if(!(a instanceof window.DOMException))throw a;var f=this.$workerBlob(i),l=window.URL||window.webkitURL,c=l.createObjectURL(f);this.$worker=new Worker(c),l.revokeObjectURL(c)}this.$worker.postMessage({init:!0,tlns:u,module:n,classname:r}),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){r.implement(this,s),this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return i.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,t){try{this.$worker.postMessage({event:e,data:{data:t.data}})}catch(n){console.error(n.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){this.deltaQueue?this.deltaQueue.push(e.data):(this.deltaQueue=[e.data],setTimeout(this.$sendDeltaQueue,0))},this.$sendDeltaQueue=function(){var e=this.deltaQueue;if(!e)return;this.deltaQueue=null,e.length>20&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e})},this.$workerBlob=function(e){var t="importScripts('"+i.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(n){var r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new r;return s.append(t),s.getBlob("application/javascript")}}}).call(u.prototype);var a=function(e,t,n){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var r=null,i=!1,u=Object.create(s),a=this;this.$worker={},this.$worker.terminate=function(){},this.$worker.postMessage=function(e){a.messageBuffer.push(e),r&&(i?setTimeout(f):f())},this.setEmitSync=function(e){i=e};var f=function(){var e=a.messageBuffer.shift();e.command?r[e.command].apply(r,e.args):e.event&&u._signal(e.event,e.data)};u.postMessage=function(e){a.onMessage({data:e})},u.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},u.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},o.loadModule(["worker",t],function(e){r=new e[n](u);while(a.messageBuffer.length)f()})};a.prototype=u.prototype,t.UIWorkerClient=a,t.WorkerClient=u}),define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session,i=this.$pos;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(i.row,i.column),this.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.pos.on("change",function(t){n.removeMarker(e.markerId),e.markerId=n.addMarker(new r(t.value.row,t.value.column,t.value.row,t.value.column+e.length),e.mainClass,null,!1)}),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1),n.on("change",function(i){e.removeMarker(n.markerId),n.markerId=e.addMarker(new r(i.value.row,i.value.column,i.value.row,i.value.column+t.length),t.othersClass,null,!1)})})},this.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e<this.others.length;e++)this.session.removeMarker(this.others[e].markerId)},this.onUpdate=function(e){var t=e.data,n=t.range;if(n.start.row!==n.end.row)return;if(n.start.row!==this.pos.row)return;if(this.$updating)return;this.$updating=!0;var i=t.action==="insertText"?n.end.column-n.start.column:n.start.column-n.end.column;if(n.start.column>=this.pos.column&&n.start.column<=this.pos.column+this.length+1){var s=n.start.column-this.pos.column;this.length+=i;if(!this.session.$fromUndo){if(t.action==="insertText")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};u.row===n.start.row&&n.start.column<u.column&&(a.column+=i),this.doc.insert(a,t.text)}else if(t.action==="removeText")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};u.row===n.start.row&&n.start.column<u.column&&(a.column+=i),this.doc.remove(new r(a.row,a.column,a.row,a.column-i))}n.start.column===this.pos.column&&t.action==="insertText"?setTimeout(function(){this.pos.setPosition(this.pos.row,this.pos.column-i);for(var e=0;e<this.others.length;e++){var t=this.others[e],r={row:t.row,column:t.column-i};t.row===n.start.row&&n.start.column<t.column&&(r.column+=i),t.setPosition(r.row,r.column)}}.bind(this),0):n.start.column===this.pos.column&&t.action==="removeText"&&setTimeout(function(){for(var e=0;e<this.others.length;e++){var t=this.others[e];t.row===n.start.row&&n.start.column<t.column&&t.setPosition(t.row,t.column-i)}}.bind(this),0)}this.pos._emit("change",{value:this.pos});for(var o=0;o<this.others.length;o++)this.others[o]._emit("change",{value:this.others[o]})}this.$updating=!1},this.onCursorChange=function(e){if(this.$updating||!this.session)return;var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},this.detach=function(){this.session.removeMarker(this.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.pos.detach();for(var e=0;e<this.others.length;e++)this.others[e].detach();this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(this.$undoStackDepth===-1)throw Error("Canceling placeholders only supported with undo manager attached to session.");var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth;for(var n=0;n<t;n++)e.undo(!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}}).call(o.prototype),t.PlaceHolder=o}),define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){function s(e,t){return e.row==t.row&&e.column==t.column}function o(e){var t=e.domEvent,n=t.altKey,o=t.shiftKey,u=t.ctrlKey,a=e.getAccelKey(),f=e.getButton();u&&i.isMac&&(f=t.button);if(e.editor.inMultiSelectMode&&f==2){e.editor.textInput.onContextMenu(e.domEvent);return}if(!u&&!n&&!a){f===0&&e.editor.inMultiSelectMode&&e.editor.exitMultiSelectMode();return}if(f!==0)return;var l=e.editor,c=l.selection,h=l.inMultiSelectMode,p=e.getDocumentPosition(),d=c.getCursor(),v=e.inSelection()||c.isEmpty()&&s(p,d),m=e.x,g=e.y,y=function(e){m=e.clientX,g=e.clientY},b=l.session,w=l.renderer.pixelToScreenCoordinates(m,g),E=w,S;if(l.$mouseHandler.$enableJumpToDef)u&&n||a&&n?S="add":n&&(S="block");else if(a&&!n){S="add";if(!h&&o)return}else n&&(S="block");S&&i.isMac&&t.ctrlKey&&l.$mouseHandler.cancelContextMenu();if(S=="add"){if(!h&&v)return;if(!h){var x=c.toOrientedRange();l.addSelectionMarker(x)}var T=c.rangeList.rangeAtPoint(p);l.$blockScrolling++,l.inVirtualSelectionMode=!0,o&&(T=null,x=c.ranges[0],l.removeSelectionMarker(x)),l.once("mouseup",function(){var e=c.toOrientedRange();T&&e.isEmpty()&&s(T.cursor,e.cursor)?c.substractPoint(e.cursor):(o?c.substractPoint(x.cursor):x&&(l.removeSelectionMarker(x),c.addRange(x)),c.addRange(e)),l.$blockScrolling--,l.inVirtualSelectionMode=!1})}else if(S=="block"){e.stop(),l.inVirtualSelectionMode=!0;var N,C=[],k=function(){var e=l.renderer.pixelToScreenCoordinates(m,g),t=b.screenToDocumentPosition(e.row,e.column);if(s(E,e)&&s(t,c.lead))return;E=e,l.$blockScrolling++,l.selection.moveToPosition(t),l.renderer.scrollCursorIntoView(),l.removeSelectionMarkers(C),C=c.rectangularRangeBlock(E,w),l.$mouseHandler.$clickSelection&&C.length==1&&C[0].isEmpty()&&(C[0]=l.$mouseHandler.$clickSelection.clone()),C.forEach(l.addSelectionMarker,l),l.updateSelectionMarkers(),l.$blockScrolling--};l.$blockScrolling++,h&&!a?c.toSingleRange():!h&&a&&(N=c.toOrientedRange(),l.addSelectionMarker(N)),o?w=b.documentToScreenPosition(c.lead):c.moveToPosition(p),l.$blockScrolling--,E={row:-1,column:-1};var L=function(e){clearInterval(O),l.removeSelectionMarkers(C),C.length||(C=[c.toOrientedRange()]),l.$blockScrolling++,N&&(l.removeSelectionMarker(N),c.toSingleRange(N));for(var t=0;t<C.length;t++)c.addRange(C[t]);l.inVirtualSelectionMode=!1,l.$mouseHandler.$clickSelection=null,l.$blockScrolling--},A=k;r.capture(l.container,y,L);var O=setInterval(function(){A()},20);return e.preventDefault()}}var r=e("../lib/event"),i=e("../lib/useragent");t.onMouseDown=o}),define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(e,t,n){t.defaultCommands=[{name:"addCursorAbove",exec:function(e){e.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readonly:!0},{name:"addCursorBelow",exec:function(e){e.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readonly:!0},{name:"addCursorAboveSkipCurrent",exec:function(e){e.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readonly:!0},{name:"addCursorBelowSkipCurrent",exec:function(e){e.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readonly:!0},{name:"selectMoreBefore",exec:function(e){e.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readonly:!0},{name:"selectMoreAfter",exec:function(e){e.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readonly:!0},{name:"selectNextBefore",exec:function(e){e.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readonly:!0},{name:"selectNextAfter",exec:function(e){e.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readonly:!0},{name:"splitIntoLines",exec:function(e){e.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readonly:!0},{name:"alignCursors",exec:function(e){e.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",exec:function(e){e.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readonly:!0}],t.multiSelectCommands=[{name:"singleSelection",bindKey:"esc",exec:function(e){e.exitMultiSelectMode()},scrollIntoView:"cursor",readonly:!0,isAvailable:function(e){return e&&e.inMultiSelectMode}}];var r=e("../keyboard/hash_handler").HashHandler;t.keyboardHandler=new r(t.multiSelectCommands)}),define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(e,t,n){function h(e,t,n){return c.$options.wrap=!0,c.$options.needle=t,c.$options.backwards=n==-1,c.find(e)}function v(e,t){return e.row==t.row&&e.column==t.column}function m(e){if(e.$multiselectOnSessionChange)return;e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),e.$multiselectOnSessionChange=t.onSessionChange.bind(e),e.$checkMultiselectChange=e.$checkMultiselectChange.bind(e),e.$multiselectOnSessionChange(e),e.on("changeSession",e.$multiselectOnSessionChange),e.on("mousedown",o),e.commands.addCommands(f.defaultCommands),g(e)}function g(e){function r(t){n&&(e.renderer.setMouseCursor(""),n=!1)}var t=e.textInput.getElement(),n=!1;u.addListener(t,"keydown",function(t){t.keyCode==18&&!(t.ctrlKey||t.shiftKey||t.metaKey)?n||(e.renderer.setMouseCursor("crosshair"),n=!0):n&&r()}),u.addListener(t,"keyup",r),u.addListener(t,"blur",r)}var r=e("./range_list").RangeList,i=e("./range").Range,s=e("./selection").Selection,o=e("./mouse/multi_select_handler").onMouseDown,u=e("./lib/event"),a=e("./lib/lang"),f=e("./commands/multi_select_commands");t.commands=f.defaultCommands.concat(f.multiSelectCommands);var l=e("./search").Search,c=new l,p=e("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(p.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(!e)return;if(!this.inMultiSelectMode&&this.rangeCount===0){var n=this.toOrientedRange();this.rangeList.add(n),this.rangeList.add(e);if(this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(n),this.$onAddRange(n)}e.cursor||(e.cursor=e.end);var r=this.rangeList.add(e);return this.$onAddRange(e),r.length&&this.$onRemoveRange(r),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length?this.$onRemoveRange(e):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),r=this.isBackwards(),s=n.start.row,o=n.end.row;if(s==o){if(r)var u=n.end,a=n.start;else var u=n.start,a=n.end;this.addRange(i.fromPoints(a,a)),this.addRange(i.fromPoints(u,u));return}var f=[],l=this.getLineRange(s,!0);l.start.column=n.start.column,f.push(l);for(var c=s+1;c<o;c++)f.push(this.getLineRange(c,!0));l=this.getLineRange(o,!0),l.end.column=n.end.column,f.push(l),f.forEach(this.addRange,this)}},this.toggleBlockSelection=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.selectionLead),s=this.session.documentToScreenPosition(this.selectionAnchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column<t.column;if(s)var o=e.column,u=t.column;else var o=t.column,u=e.column;var a=e.row<t.row;if(a)var f=e.row,l=t.row;else var f=t.row,l=e.row;o<0&&(o=0),f<0&&(f=0),f==l&&(n=!0);for(var c=f;c<=l;c++){var h=i.fromPoints(this.session.screenToDocumentPosition(c,o),this.session.screenToDocumentPosition(c,u));if(h.isEmpty()){if(p&&v(h.end,p))break;var p=h.end}h.cursor=s?h.start:h.end,r.push(h)}a&&r.reverse();if(!n){var d=r.length-1;while(r[d].isEmpty()&&d>0)d--;if(d>0){var m=0;while(r[m].isEmpty())m++}for(var g=d;g>=m;g--)r[g].isEmpty()&&r.splice(g,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection")},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(!n.multiSelect)return;if(!t.multiSelectAction){var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}else t.multiSelectAction=="forEach"?r=n.forEachSelection(t,e.args):t.multiSelectAction=="forEachLine"?r=n.forEachSelection(t,e.args,!0):t.multiSelectAction=="single"?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});return r},this.forEachSelection=function(e,t,n){if(this.inVirtualSelectionMode)return;var r=n&&n.keepOrder,i=n==1||n&&n.$byLines,o=this.session,u=this.selection,a=u.rangeList,f=(r?u:a).ranges,l;if(!f.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var c=u._eventRegistry;u._eventRegistry={};var h=new s(o);this.inVirtualSelectionMode=!0;for(var p=f.length;p--;){if(i)while(p>0&&f[p].start.row==f[p-1].end.row)p--;h.fromOrientedRange(f[p]),h.index=p,this.selection=o.selection=h;var d=e.exec?e.exec(this,t||{}):e(this,t||{});!l&&d!==undefined&&(l=d),h.toOrientedRange(f[p])}h.detach(),this.selection=o.selection=u,this.inVirtualSelectionMode=!1,u._eventRegistry=c,u.mergeOverlappingRanges();var v=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),v&&v.from==v.to&&this.renderer.animateScrolling(v.from),l},this.exitMultiSelectMode=function(){if(!this.inMultiSelectMode||this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var t=this.multiSelect.rangeList.ranges,n=[];for(var r=0;r<t.length;r++)n.push(this.session.getTextRange(t[r]));var i=this.session.getDocument().getNewLineCharacter();e=n.join(i),e.length==(n.length-1)*i.length&&(e="")}else this.selection.isEmpty()||(e=this.session.getTextRange(this.getSelectionRange()));return e},this.$checkMultiselectChange=function(e,t){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var n=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&t==this.multiSelect.anchor)return;var r=t==this.multiSelect.anchor?n.cursor==n.start?n.end:n.start:n.cursor;(r.row!=t.row||this.session.$clipPositionToDocument(r.row,r.column).column!=t.column)&&this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange())}},this.findAll=function(e,t,n){t=t||{},t.needle=e||t.needle;if(t.needle==undefined){var r=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();t.needle=this.session.getTextRange(r)}this.$search.set(t);var i=this.$search.findAll(this.session);if(!i.length)return 0;this.$blockScrolling+=1;var s=this.multiSelect;n||s.toSingleRange(i[0]);for(var o=i.length;o--;)s.addRange(i[o],!0);return r&&s.rangeList.rangeAtPoint(r.start)&&s.addRange(r,!0),this.$blockScrolling-=1,i.length},this.selectMoreLines=function(e,t){var n=this.selection.toOrientedRange(),r=n.cursor==n.end,s=this.session.documentToScreenPosition(n.cursor);this.selection.$desiredColumn&&(s.column=this.selection.$desiredColumn);var o=this.session.screenToDocumentPosition(s.row+e,s.column);if(!n.isEmpty())var u=this.session.documentToScreenPosition(r?n.end:n.start),a=this.session.screenToDocumentPosition(u.row+e,u.column);else var a=o;if(r){var f=i.fromPoints(o,a);f.cursor=f.start}else{var f=i.fromPoints(a,o);f.cursor=f.end}f.desiredColumn=s.column;if(!this.selection.inMultiSelectMode)this.selection.addRange(n);else if(t)var l=n.cursor;this.selection.addRange(f),l&&this.selection.substractPoint(l)},this.transposeSelections=function(e){var t=this.session,n=t.multiSelect,r=n.ranges;for(var i=r.length;i--;){var s=r[i];if(s.isEmpty()){var o=t.getWordRange(s.start.row,s.start.column);s.start.row=o.start.row,s.start.column=o.start.column,s.end.row=o.end.row,s.end.column=o.end.column}}n.mergeOverlappingRanges();var u=[];for(var i=r.length;i--;){var s=r[i];u.unshift(t.getTextRange(s))}e<0?u.unshift(u.pop()):u.push(u.shift());for(var i=r.length;i--;){var s=r[i],o=s.clone();t.replace(s,u[i]),s.start.row=o.start.row,s.start.column=o.start.column}},this.selectMore=function(e,t,n){var r=this.session,i=r.multiSelect,s=i.toOrientedRange();if(s.isEmpty()){s=r.getWordRange(s.start.row,s.start.column),s.cursor=e==-1?s.start:s.end,this.multiSelect.addRange(s);if(n)return}var o=r.getTextRange(s),u=h(r,o,e);u&&(u.cursor=e==-1?u.start:u.end,this.$blockScrolling+=1,this.session.unfold(u),this.multiSelect.addRange(u),this.$blockScrolling-=1,this.renderer.scrollCursorIntoView(null,.5)),t&&this.multiSelect.substractPoint(s.cursor)},this.alignCursors=function(){var e=this.session,t=e.multiSelect,n=t.ranges,r=-1,s=n.filter(function(e){if(e.cursor.row==r)return!0;r=e.cursor.row});if(!n.length||s.length==n.length-1){var o=this.selection.getRange(),u=o.start.row,f=o.end.row,l=u==f;if(l){var c=this.session.getLength(),h;do h=this.session.getLine(f);while(/[=:]/.test(h)&&++f<c);do h=this.session.getLine(u);while(/[=:]/.test(h)&&--u>0);u<0&&(u=0),f>=c&&(f=c-1)}var p=this.session.doc.removeLines(u,f);p=this.$reAlignText(p,l),this.session.doc.insert({row:u,column:0},p.join("\n")+"\n"),l||(o.start.column=0,o.end.column=p[p.length-1].length),this.selection.setRange(o)}else{s.forEach(function(e){t.substractPoint(e.cursor)});var d=0,v=Infinity,m=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),i=r.substr(n.column).search(/\S/g);return i==-1&&(i=0),n.column>d&&(d=n.column),i<v&&(v=i),i});n.forEach(function(t,n){var r=t.cursor,s=d-r.column,o=m[n]-v;s>o?e.insert(r,a.stringRepeat(" ",s-o)):e.remove(new i(r.row,r.column,r.row,r.column-s+o)),t.start.column=t.end.column=d,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e,t){function u(e){return a.stringRepeat(" ",e)}function f(e){return e[2]?u(i)+e[2]+u(s-e[2].length+o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function l(e){return e[2]?u(i+s-e[2].length)+e[2]+u(o," ")+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function c(e){return e[2]?u(i)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var n=!0,r=!0,i,s,o;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?i==null?(i=t[1].length,s=t[2].length,o=t[3].length,t):(i+s+o!=t[1].length+t[2].length+t[3].length&&(r=!1),i!=t[1].length&&(n=!1),i>t[1].length&&(i=t[1].length),s<t[2].length&&(s=t[2].length),o>t[3].length&&(o=t[3].length),t):[e]}).map(t?f:n?r?l:f:c)}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=m,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){m(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0}})}),define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":t=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,s=e.getLine(t),o=s.search(i);if(o==-1)return;var u=n||s.length,a=e.getLength(),f=t,l=t;while(++t<a){var c=e.getLine(t).search(i);if(c==-1)continue;if(c<=o)break;l=t}if(l>f){var h=e.getLine(l).length;return new r(f,u,l,h)}},this.openingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i+1},u=e.$findClosingBracket(t,o,s);if(!u)return;var a=e.foldWidgets[u.row];return a==null&&(a=e.getFoldWidget(u.row)),a=="start"&&u.row>o.row&&(u.row--,u.column=e.getLine(u.row).length),r.fromPoints(o,u)},this.closingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i},u=e.$findOpeningBracket(t,o);if(!u)return;return u.column++,o.column--,r.fromPoints(u,o)}}).call(i.prototype)}),define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;border-radius: 2px;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}),define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeEditor",this.$onChangeEditor)}var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./range").Range;(function(){this.getRowLength=function(e){var t;return this.lineWidgets?t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0:t=0,!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&(e+=t.rowCount)}),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach();if(this.editor==e)return;this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets))},this.detach=function(e){var t=this.editor;if(!t)return;this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})},this.updateOnChange=function(e){var t=this.session.lineWidgets;if(!t)return;var n=e.data,r=n.range,i=r.start.row,s=r.end.row-i;if(s!==0)if(n.action=="removeText"||n.action=="removeLines"){var o=t.splice(i+1,s);o.forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var u=new Array(s);u.unshift(i,0),t.splice.apply(t,u),this.$updateRows()}},this.$updateRows=function(){var e=this.session.lineWidgets;if(!e)return;var t=!0;e.forEach(function(e,n){e&&(t=!1,e.row=n)}),t&&(this.session.lineWidgets=null)},this.addLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength())),this.session.lineWidgets[e.row]=e;var t=this.editor.renderer;return e.html&&!e.el&&(e.el=i.createElement("div"),e.el.innerHTML=e.html),e.el&&(i.addCssClass(e.el,"ace_lineWidgetContainer"),e.el.style.position="absolute",e.el.style.zIndex=5,t.container.appendChild(e.el),e._inDocument=!0),e.coverGutter||(e.el.style.zIndex=3),e.pixelHeight||(e.pixelHeight=e.el.offsetHeight),e.rowCount==null&&(e.rowCount=e.pixelHeight/t.layerConfig.lineHeight),this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,t),e},this.removeLineWidget=function(e){e._inDocument=!1,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el);if(e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(t){}this.session.lineWidgets&&(this.session.lineWidgets[e.row]=undefined),this.session._emit("changeFold",{data:{start:{row:e.row}}}),this.$updateRows()},this.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(e,t){var n=this.session._changedWidgets,r=t.layerConfig;if(!n||!n.length)return;var i=Infinity;for(var s=0;s<n.length;s++){var o=n[s];o._inDocument||(o._inDocument=!0,t.container.appendChild(o.el)),o.h=o.el.offsetHeight,o.fixedWidth||(o.w=o.el.offsetWidth,o.screenWidth=Math.ceil(o.w/r.characterWidth));var u=o.h/r.lineHeight;o.coverLine&&(u-=this.session.getRowLineCount(o.row),u<0&&(u=0)),o.rowCount!=u&&(o.rowCount=u,o.row<i&&(i=o.row))}i!=Infinity&&(this.session._emit("changeFold",{data:{start:{row:i}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]},this.renderWidgets=function(e,t){var n=t.layerConfig,r=this.session.lineWidgets;if(!r)return;var i=Math.min(this.firstRow,n.firstRow),s=Math.max(this.lastRow,n.lastRow,r.length);while(i>0&&!r[i])i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var o=i;o<=s;o++){var u=r[o];if(!u||!u.el)continue;u._inDocument||(u._inDocument=!0,t.container.appendChild(u.el));var a=t.$cursorLayer.getPixelPosition({row:o,column:0},!0).top;u.coverLine||(a+=n.lineHeight*this.session.getRowLineCount(u.row)),u.el.style.top=a-n.offset+"px";var f=u.coverGutter?0:t.gutterWidth;u.fixedWidth||(f-=t.scrollLeft),u.el.style.left=f+"px",u.fixedWidth?u.el.style.right=t.scrollBar.getWidth()+"px":u.el.style.right=""}}}).call(o.prototype),t.LineWidgets=o}),define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e,t,n){var r=0,i=e.length-1;while(r<=i){var s=r+i>>1,o=n(t,e[s]);if(o>0)r=s+1;else{if(!(o<0))return s;i=s-1}}return-(r+1)}function u(e,t,n){var r=e.getAnnotations().sort(s.comparePoints);if(!r.length)return;var i=o(r,{row:t,column:-1},s.comparePoints);i<0&&(i=-i-1),i>=r.length?i=n>0?0:r.length-1:i===0&&n<0&&(i=r.length-1);var u=r[i];if(!u||!n)return;if(u.row===t){do u=r[i+=n];while(u&&u.row===t);if(!u)return r.slice()}var a=[];t=u.row;do a[n<0?"unshift":"push"](u),u=r[i+=n];while(u&&u.row==t);return a.length&&a}var r=e("../line_widgets").LineWidgets,i=e("../lib/dom"),s=e("../range").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var s=e.getCursorPosition(),o=s.row,a=n.lineWidgets&&n.lineWidgets[o];a?a.destroy():o-=t;var f=u(n,o,t),l;if(f){var c=f[0];s.column=(c.pos&&typeof c.column!="number"?c.pos.sc:c.column)||0,s.row=c.row,l=e.renderer.$gutterLayer.$annotations[s.row]}else{if(a)return;l={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(s.row),e.selection.moveToPosition(s);var h={row:s.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div")},p=h.el.appendChild(i.createElement("div")),d=h.el.appendChild(i.createElement("div"));d.className="error_widget_arrow "+l.className;var v=e.renderer.$cursorLayer.getPixelPosition(s).left;d.style.left=v+e.renderer.gutterWidth-5+"px",h.el.className="error_widget_wrapper",p.className="error_widget "+l.className,p.innerHTML=l.text.join("<br>"),p.appendChild(i.createElement("div"));var m=function(e,t,n){if(t===0&&(n==="esc"||n==="return"))return h.destroy(),{command:"null"}};h.destroy=function(){if(e.$mouseHandler.isMousePressed)return;e.keyBinding.removeKeyboardHandler(m),n.widgetManager.removeLineWidget(h),e.off("changeSelection",h.destroy),e.off("changeSession",h.destroy),e.off("mouseup",h.destroy),e.off("change",h.destroy)},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",h.destroy),e.on("changeSession",h.destroy),e.on("mouseup",h.destroy),e.on("change",h.destroy),e.session.widgetManager.addLineWidget(h),h.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:h.el.offsetHeight})},i.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/dom"),i=e("./lib/event"),s=e("./editor").Editor,o=e("./edit_session").EditSession,u=e("./undomanager").UndoManager,a=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.require=e,t.edit=function(e){if(typeof e=="string"){var n=e;e=document.getElementById(n);if(!e)throw new Error("ace.edit can't find div #"+n)}if(e&&e.env&&e.env.editor instanceof s)return e.env.editor;var o="";if(e&&/input|textarea/i.test(e.tagName)){var u=e;o=u.value,e=r.createElement("pre"),u.parentNode.replaceChild(e,u)}else o=r.getInnerText(e),e.innerHTML="";var f=t.createEditSession(o),l=new s(new a(e));l.setSession(f);var c={document:f,editor:l,onResize:l.resize.bind(l,null)};return u&&(c.textarea=u),i.addListener(window,"resize",c.onResize),l.on("destroy",function(){i.removeListener(window,"resize",c.onResize),c.editor.container.env=null}),l.container.env=l.env=c,l},t.createEditSession=function(e,t){var n=new o(e,t);return n.setUndoManager(new u),n},t.EditSession=o,t.UndoManager=u});
|
2 |
-
(function() {
|
3 |
-
window.require(["ace/ace"], function(a) {
|
4 |
-
a && a.config.init(true);
|
5 |
-
if (!window.ace)
|
6 |
-
window.ace = a;
|
7 |
-
for (var key in a) if (a.hasOwnProperty(key))
|
8 |
-
window.ace[key] = a[key];
|
9 |
-
});
|
10 |
-
})();
|
11 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/README.md
DELETED
@@ -1,114 +0,0 @@
|
|
1 |
-
Select2
|
2 |
-
=======
|
3 |
-
|
4 |
-
Select2 is a jQuery-based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.
|
5 |
-
|
6 |
-
To get started, checkout examples and documentation at http://ivaynberg.github.com/select2
|
7 |
-
|
8 |
-
Use cases
|
9 |
-
---------
|
10 |
-
|
11 |
-
* Enhancing native selects with search.
|
12 |
-
* Enhancing native selects with a better multi-select interface.
|
13 |
-
* Loading data from JavaScript: easily load items via ajax and have them searchable.
|
14 |
-
* Nesting optgroups: native selects only support one level of nested. Select2 does not have this restriction.
|
15 |
-
* Tagging: ability to add new items on the fly.
|
16 |
-
* Working with large, remote datasets: ability to partially load a dataset based on the search term.
|
17 |
-
* Paging of large datasets: easy support for loading more pages when the results are scrolled to the end.
|
18 |
-
* Templating: support for custom rendering of results and selections.
|
19 |
-
|
20 |
-
Browser compatibility
|
21 |
-
---------------------
|
22 |
-
* IE 8+
|
23 |
-
* Chrome 8+
|
24 |
-
* Firefox 10+
|
25 |
-
* Safari 3+
|
26 |
-
* Opera 10.6+
|
27 |
-
|
28 |
-
Usage
|
29 |
-
-----
|
30 |
-
You can source Select2 directly from a CDN like [JSDliver](http://www.jsdelivr.com/#!select2) or [CDNJS](http://www.cdnjs.com/libraries/select2), [download it from this GitHub repo](https://github.com/ivaynberg/select2/tags), or use one of the integrations below.
|
31 |
-
|
32 |
-
Integrations
|
33 |
-
------------
|
34 |
-
|
35 |
-
* [Wicket-Select2](https://github.com/ivaynberg/wicket-select2) (Java / [Apache Wicket](http://wicket.apache.org))
|
36 |
-
* [select2-rails](https://github.com/argerim/select2-rails) (Ruby on Rails)
|
37 |
-
* [AngularUI](http://angular-ui.github.io/#ui-select) ([AngularJS](https://angularjs.org/))
|
38 |
-
* [Django](https://github.com/applegrew/django-select2)
|
39 |
-
* [Symfony](https://github.com/19Gerhard85/sfSelect2WidgetsPlugin)
|
40 |
-
* [Symfony2](https://github.com/avocode/FormExtensions)
|
41 |
-
* [Bootstrap 2](https://github.com/t0m/select2-bootstrap-css) and [Bootstrap 3](https://github.com/t0m/select2-bootstrap-css/tree/bootstrap3) (CSS skins)
|
42 |
-
* [Meteor](https://github.com/nate-strauser/meteor-select2) (modern reactive JavaScript framework; + [Bootstrap 3 skin](https://github.com/esperadomedia/meteor-select2-bootstrap3-css/))
|
43 |
-
* [Meteor](https://jquery-select2.meteor.com)
|
44 |
-
* [Yii 2.x](http://demos.krajee.com/widgets#select2)
|
45 |
-
* [Yii 1.x](https://github.com/tonybolzan/yii-select2)
|
46 |
-
* [AtmosphereJS](https://atmospherejs.com/package/jquery-select2)
|
47 |
-
|
48 |
-
### Example Integrations
|
49 |
-
|
50 |
-
* [Knockout.js](https://github.com/ivaynberg/select2/wiki/Knockout.js-Integration)
|
51 |
-
* [Socket.IO](https://github.com/ivaynberg/select2/wiki/Socket.IO-Integration)
|
52 |
-
* [PHP](https://github.com/ivaynberg/select2/wiki/PHP-Example)
|
53 |
-
* [.Net MVC] (https://github.com/ivaynberg/select2/wiki/.Net-MVC-Example)
|
54 |
-
|
55 |
-
Internationalization (i18n)
|
56 |
-
---------------------------
|
57 |
-
|
58 |
-
Select2 supports multiple languages by simply including the right language JS
|
59 |
-
file (`select2_locale_it.js`, `select2_locale_nl.js`, etc.) after `select2.js`.
|
60 |
-
|
61 |
-
Missing a language? Just copy `select2_locale_en.js.template`, translate
|
62 |
-
it, and make a pull request back to Select2 here on GitHub.
|
63 |
-
|
64 |
-
Documentation
|
65 |
-
-------------
|
66 |
-
|
67 |
-
The documentation for Select2 is available [through GitHub Pages](https://ivaynberg.github.io/select2/) and is located within this repository in the [`gh-pages` branch](https://github.com/ivaynberg/select2/tree/gh-pages).
|
68 |
-
|
69 |
-
Community
|
70 |
-
---------
|
71 |
-
|
72 |
-
### Bug tracker
|
73 |
-
|
74 |
-
Have a bug? Please create an issue here on GitHub!
|
75 |
-
|
76 |
-
https://github.com/ivaynberg/select2/issues
|
77 |
-
|
78 |
-
### Mailing list
|
79 |
-
|
80 |
-
Have a question? Ask on our mailing list!
|
81 |
-
|
82 |
-
select2@googlegroups.com
|
83 |
-
|
84 |
-
https://groups.google.com/d/forum/select2
|
85 |
-
|
86 |
-
### IRC channel
|
87 |
-
|
88 |
-
Need help implementing Select2 in your project? Ask in our IRC channel!
|
89 |
-
|
90 |
-
**Network:** [Freenode](https://freenode.net/) (`chat.freenode.net`)
|
91 |
-
|
92 |
-
**Channel:** `#select2`
|
93 |
-
|
94 |
-
**Web access:** https://webchat.freenode.net/?channels=select2
|
95 |
-
|
96 |
-
Copyright and license
|
97 |
-
---------------------
|
98 |
-
|
99 |
-
Copyright 2012 Igor Vaynberg
|
100 |
-
|
101 |
-
This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
|
102 |
-
General Public License version 2 (the "GPL License"). You may choose either license to govern your
|
103 |
-
use of this software only upon the condition that you accept all of the terms of either the Apache
|
104 |
-
License or the GPL License.
|
105 |
-
|
106 |
-
You may obtain a copy of the Apache License and the GPL License in the LICENSE file, or at:
|
107 |
-
|
108 |
-
http://www.apache.org/licenses/LICENSE-2.0
|
109 |
-
http://www.gnu.org/licenses/gpl-2.0.html
|
110 |
-
|
111 |
-
Unless required by applicable law or agreed to in writing, software distributed under the Apache License
|
112 |
-
or the GPL License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
113 |
-
either express or implied. See the Apache License and the GPL License for the specific language governing
|
114 |
-
permissions and limitations under the Apache License and the GPL License.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/release.sh
DELETED
@@ -1,79 +0,0 @@
|
|
1 |
-
#!/bin/bash
|
2 |
-
set -e
|
3 |
-
|
4 |
-
echo -n "Enter the version for this release: "
|
5 |
-
|
6 |
-
read ver
|
7 |
-
|
8 |
-
if [ ! $ver ]; then
|
9 |
-
echo "Invalid version."
|
10 |
-
exit
|
11 |
-
fi
|
12 |
-
|
13 |
-
name="select2"
|
14 |
-
js="$name.js"
|
15 |
-
mini="$name.min.js"
|
16 |
-
css="$name.css"
|
17 |
-
release="$name-$ver"
|
18 |
-
tag="$ver"
|
19 |
-
branch="build-$ver"
|
20 |
-
curbranch=`git branch | grep "*" | sed "s/* //"`
|
21 |
-
timestamp=$(date)
|
22 |
-
tokens="s/@@ver@@/$ver/g;s/\@@timestamp@@/$timestamp/g"
|
23 |
-
remote="origin"
|
24 |
-
|
25 |
-
echo "Pulling from origin"
|
26 |
-
|
27 |
-
git pull
|
28 |
-
|
29 |
-
echo "Updating Version Identifiers"
|
30 |
-
|
31 |
-
sed -E -e "s/\"version\": \"([0-9\.]+)\",/\"version\": \"$ver\",/g" -i -- bower.json select2.jquery.json component.json composer.json package.json
|
32 |
-
|
33 |
-
git add bower.json
|
34 |
-
git add select2.jquery.json
|
35 |
-
git add component.json
|
36 |
-
git add composer.json
|
37 |
-
git add package.json
|
38 |
-
|
39 |
-
git commit -m "modified version identifiers in descriptors for release $ver"
|
40 |
-
git push
|
41 |
-
|
42 |
-
git branch "$branch"
|
43 |
-
git checkout "$branch"
|
44 |
-
|
45 |
-
echo "Tokenizing..."
|
46 |
-
|
47 |
-
find . -name "$js" | xargs -I{} sed -e "$tokens" -i -- {}
|
48 |
-
find . -name "$css" | xargs -I{} sed -e "$tokens" -i -- {}
|
49 |
-
|
50 |
-
sed -e "s/latest/$ver/g" -i -- bower.json
|
51 |
-
|
52 |
-
git add "$js"
|
53 |
-
git add "$css"
|
54 |
-
|
55 |
-
echo "Minifying..."
|
56 |
-
|
57 |
-
echo "/*" > "$mini"
|
58 |
-
cat LICENSE | sed "$tokens" >> "$mini"
|
59 |
-
echo "*/" >> "$mini"
|
60 |
-
|
61 |
-
curl -s \
|
62 |
-
--data-urlencode "js_code@$js" \
|
63 |
-
http://marijnhaverbeke.nl/uglifyjs \
|
64 |
-
>> "$mini"
|
65 |
-
|
66 |
-
git add "$mini"
|
67 |
-
|
68 |
-
git commit -m "release $ver"
|
69 |
-
|
70 |
-
echo "Tagging..."
|
71 |
-
git tag -a "$tag" -m "tagged version $ver"
|
72 |
-
git push "$remote" --tags
|
73 |
-
|
74 |
-
echo "Cleaning Up..."
|
75 |
-
|
76 |
-
git checkout "$curbranch"
|
77 |
-
git branch -D "$branch"
|
78 |
-
|
79 |
-
echo "Done"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2-bootstrap.css
DELETED
@@ -1,87 +0,0 @@
|
|
1 |
-
.form-control .select2-choice {
|
2 |
-
border: 0;
|
3 |
-
border-radius: 2px;
|
4 |
-
}
|
5 |
-
|
6 |
-
.form-control .select2-choice .select2-arrow {
|
7 |
-
border-radius: 0 2px 2px 0;
|
8 |
-
}
|
9 |
-
|
10 |
-
.form-control.select2-container {
|
11 |
-
height: auto !important;
|
12 |
-
padding: 0;
|
13 |
-
}
|
14 |
-
|
15 |
-
.form-control.select2-container.select2-dropdown-open {
|
16 |
-
border-color: #5897FB;
|
17 |
-
border-radius: 3px 3px 0 0;
|
18 |
-
}
|
19 |
-
|
20 |
-
.form-control .select2-container.select2-dropdown-open .select2-choices {
|
21 |
-
border-radius: 3px 3px 0 0;
|
22 |
-
}
|
23 |
-
|
24 |
-
.form-control.select2-container .select2-choices {
|
25 |
-
border: 0 !important;
|
26 |
-
border-radius: 3px;
|
27 |
-
}
|
28 |
-
|
29 |
-
.control-group.warning .select2-container .select2-choice,
|
30 |
-
.control-group.warning .select2-container .select2-choices,
|
31 |
-
.control-group.warning .select2-container-active .select2-choice,
|
32 |
-
.control-group.warning .select2-container-active .select2-choices,
|
33 |
-
.control-group.warning .select2-dropdown-open.select2-drop-above .select2-choice,
|
34 |
-
.control-group.warning .select2-dropdown-open.select2-drop-above .select2-choices,
|
35 |
-
.control-group.warning .select2-container-multi.select2-container-active .select2-choices {
|
36 |
-
border: 1px solid #C09853 !important;
|
37 |
-
}
|
38 |
-
|
39 |
-
.control-group.warning .select2-container .select2-choice div {
|
40 |
-
border-left: 1px solid #C09853 !important;
|
41 |
-
background: #FCF8E3 !important;
|
42 |
-
}
|
43 |
-
|
44 |
-
.control-group.error .select2-container .select2-choice,
|
45 |
-
.control-group.error .select2-container .select2-choices,
|
46 |
-
.control-group.error .select2-container-active .select2-choice,
|
47 |
-
.control-group.error .select2-container-active .select2-choices,
|
48 |
-
.control-group.error .select2-dropdown-open.select2-drop-above .select2-choice,
|
49 |
-
.control-group.error .select2-dropdown-open.select2-drop-above .select2-choices,
|
50 |
-
.control-group.error .select2-container-multi.select2-container-active .select2-choices {
|
51 |
-
border: 1px solid #B94A48 !important;
|
52 |
-
}
|
53 |
-
|
54 |
-
.control-group.error .select2-container .select2-choice div {
|
55 |
-
border-left: 1px solid #B94A48 !important;
|
56 |
-
background: #F2DEDE !important;
|
57 |
-
}
|
58 |
-
|
59 |
-
.control-group.info .select2-container .select2-choice,
|
60 |
-
.control-group.info .select2-container .select2-choices,
|
61 |
-
.control-group.info .select2-container-active .select2-choice,
|
62 |
-
.control-group.info .select2-container-active .select2-choices,
|
63 |
-
.control-group.info .select2-dropdown-open.select2-drop-above .select2-choice,
|
64 |
-
.control-group.info .select2-dropdown-open.select2-drop-above .select2-choices,
|
65 |
-
.control-group.info .select2-container-multi.select2-container-active .select2-choices {
|
66 |
-
border: 1px solid #3A87AD !important;
|
67 |
-
}
|
68 |
-
|
69 |
-
.control-group.info .select2-container .select2-choice div {
|
70 |
-
border-left: 1px solid #3A87AD !important;
|
71 |
-
background: #D9EDF7 !important;
|
72 |
-
}
|
73 |
-
|
74 |
-
.control-group.success .select2-container .select2-choice,
|
75 |
-
.control-group.success .select2-container .select2-choices,
|
76 |
-
.control-group.success .select2-container-active .select2-choice,
|
77 |
-
.control-group.success .select2-container-active .select2-choices,
|
78 |
-
.control-group.success .select2-dropdown-open.select2-drop-above .select2-choice,
|
79 |
-
.control-group.success .select2-dropdown-open.select2-drop-above .select2-choices,
|
80 |
-
.control-group.success .select2-container-multi.select2-container-active .select2-choices {
|
81 |
-
border: 1px solid #468847 !important;
|
82 |
-
}
|
83 |
-
|
84 |
-
.control-group.success .select2-container .select2-choice div {
|
85 |
-
border-left: 1px solid #468847 !important;
|
86 |
-
background: #DFF0D8 !important;
|
87 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2-spinner.gif
DELETED
Binary file
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2.css
DELETED
@@ -1,704 +0,0 @@
|
|
1 |
-
/*
|
2 |
-
Version: 3.5.2 Timestamp: Sat Nov 1 14:43:36 EDT 2014
|
3 |
-
*/
|
4 |
-
.select2-container {
|
5 |
-
margin: 0;
|
6 |
-
position: relative;
|
7 |
-
display: inline-block;
|
8 |
-
/* inline-block for ie7 */
|
9 |
-
zoom: 1;
|
10 |
-
*display: inline;
|
11 |
-
vertical-align: middle;
|
12 |
-
}
|
13 |
-
|
14 |
-
.select2-container,
|
15 |
-
.select2-drop,
|
16 |
-
.select2-search,
|
17 |
-
.select2-search input {
|
18 |
-
/*
|
19 |
-
Force border-box so that % widths fit the parent
|
20 |
-
container without overlap because of margin/padding.
|
21 |
-
More Info : http://www.quirksmode.org/css/box.html
|
22 |
-
*/
|
23 |
-
-webkit-box-sizing: border-box; /* webkit */
|
24 |
-
-moz-box-sizing: border-box; /* firefox */
|
25 |
-
box-sizing: border-box; /* css3 */
|
26 |
-
}
|
27 |
-
|
28 |
-
.select2-container .select2-choice {
|
29 |
-
display: block;
|
30 |
-
height: 26px;
|
31 |
-
padding: 0 0 0 8px;
|
32 |
-
overflow: hidden;
|
33 |
-
position: relative;
|
34 |
-
|
35 |
-
border: 1px solid #aaa;
|
36 |
-
white-space: nowrap;
|
37 |
-
line-height: 26px;
|
38 |
-
color: #444;
|
39 |
-
text-decoration: none;
|
40 |
-
|
41 |
-
border-radius: 4px;
|
42 |
-
|
43 |
-
background-clip: padding-box;
|
44 |
-
|
45 |
-
-webkit-touch-callout: none;
|
46 |
-
-webkit-user-select: none;
|
47 |
-
-moz-user-select: none;
|
48 |
-
-ms-user-select: none;
|
49 |
-
user-select: none;
|
50 |
-
|
51 |
-
background-color: #fff;
|
52 |
-
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.5, #fff));
|
53 |
-
background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 50%);
|
54 |
-
background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 50%);
|
55 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0);
|
56 |
-
background-image: linear-gradient(to top, #eee 0%, #fff 50%);
|
57 |
-
}
|
58 |
-
|
59 |
-
html[dir="rtl"] .select2-container .select2-choice {
|
60 |
-
padding: 0 8px 0 0;
|
61 |
-
}
|
62 |
-
|
63 |
-
.select2-container.select2-drop-above .select2-choice {
|
64 |
-
border-bottom-color: #aaa;
|
65 |
-
|
66 |
-
border-radius: 0 0 4px 4px;
|
67 |
-
|
68 |
-
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.9, #fff));
|
69 |
-
background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 90%);
|
70 |
-
background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 90%);
|
71 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);
|
72 |
-
background-image: linear-gradient(to bottom, #eee 0%, #fff 90%);
|
73 |
-
}
|
74 |
-
|
75 |
-
.select2-container.select2-allowclear .select2-choice .select2-chosen {
|
76 |
-
margin-right: 42px;
|
77 |
-
}
|
78 |
-
|
79 |
-
.select2-container .select2-choice > .select2-chosen {
|
80 |
-
margin-right: 26px;
|
81 |
-
display: block;
|
82 |
-
overflow: hidden;
|
83 |
-
|
84 |
-
white-space: nowrap;
|
85 |
-
|
86 |
-
text-overflow: ellipsis;
|
87 |
-
float: none;
|
88 |
-
width: auto;
|
89 |
-
}
|
90 |
-
|
91 |
-
html[dir="rtl"] .select2-container .select2-choice > .select2-chosen {
|
92 |
-
margin-left: 26px;
|
93 |
-
margin-right: 0;
|
94 |
-
}
|
95 |
-
|
96 |
-
.select2-container .select2-choice abbr {
|
97 |
-
display: none;
|
98 |
-
width: 12px;
|
99 |
-
height: 12px;
|
100 |
-
position: absolute;
|
101 |
-
right: 24px;
|
102 |
-
top: 8px;
|
103 |
-
|
104 |
-
font-size: 1px;
|
105 |
-
text-decoration: none;
|
106 |
-
|
107 |
-
border: 0;
|
108 |
-
background: url('select2.png') right top no-repeat;
|
109 |
-
cursor: pointer;
|
110 |
-
outline: 0;
|
111 |
-
}
|
112 |
-
|
113 |
-
.select2-container.select2-allowclear .select2-choice abbr {
|
114 |
-
display: inline-block;
|
115 |
-
}
|
116 |
-
|
117 |
-
.select2-container .select2-choice abbr:hover {
|
118 |
-
background-position: right -11px;
|
119 |
-
cursor: pointer;
|
120 |
-
}
|
121 |
-
|
122 |
-
.select2-drop-mask {
|
123 |
-
border: 0;
|
124 |
-
margin: 0;
|
125 |
-
padding: 0;
|
126 |
-
position: fixed;
|
127 |
-
left: 0;
|
128 |
-
top: 0;
|
129 |
-
min-height: 100%;
|
130 |
-
min-width: 100%;
|
131 |
-
height: auto;
|
132 |
-
width: auto;
|
133 |
-
opacity: 0;
|
134 |
-
z-index: 9998;
|
135 |
-
/* styles required for IE to work */
|
136 |
-
background-color: #fff;
|
137 |
-
filter: alpha(opacity=0);
|
138 |
-
}
|
139 |
-
|
140 |
-
.select2-drop {
|
141 |
-
width: 100%;
|
142 |
-
margin-top: -1px;
|
143 |
-
position: absolute;
|
144 |
-
z-index: 9999;
|
145 |
-
top: 100%;
|
146 |
-
|
147 |
-
background: #fff;
|
148 |
-
color: #000;
|
149 |
-
border: 1px solid #aaa;
|
150 |
-
border-top: 0;
|
151 |
-
|
152 |
-
border-radius: 0 0 4px 4px;
|
153 |
-
|
154 |
-
-webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
|
155 |
-
box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
|
156 |
-
}
|
157 |
-
|
158 |
-
.select2-drop.select2-drop-above {
|
159 |
-
margin-top: 1px;
|
160 |
-
border-top: 1px solid #aaa;
|
161 |
-
border-bottom: 0;
|
162 |
-
|
163 |
-
border-radius: 4px 4px 0 0;
|
164 |
-
|
165 |
-
-webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
|
166 |
-
box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
|
167 |
-
}
|
168 |
-
|
169 |
-
.select2-drop-active {
|
170 |
-
border: 1px solid #5897fb;
|
171 |
-
border-top: none;
|
172 |
-
}
|
173 |
-
|
174 |
-
.select2-drop.select2-drop-above.select2-drop-active {
|
175 |
-
border-top: 1px solid #5897fb;
|
176 |
-
}
|
177 |
-
|
178 |
-
.select2-drop-auto-width {
|
179 |
-
border-top: 1px solid #aaa;
|
180 |
-
width: auto;
|
181 |
-
}
|
182 |
-
|
183 |
-
.select2-drop-auto-width .select2-search {
|
184 |
-
padding-top: 4px;
|
185 |
-
}
|
186 |
-
|
187 |
-
.select2-container .select2-choice .select2-arrow {
|
188 |
-
display: inline-block;
|
189 |
-
width: 18px;
|
190 |
-
height: 100%;
|
191 |
-
position: absolute;
|
192 |
-
right: 0;
|
193 |
-
top: 0;
|
194 |
-
|
195 |
-
border-left: 1px solid #aaa;
|
196 |
-
border-radius: 0 4px 4px 0;
|
197 |
-
|
198 |
-
background-clip: padding-box;
|
199 |
-
|
200 |
-
background: #ccc;
|
201 |
-
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));
|
202 |
-
background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);
|
203 |
-
background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);
|
204 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0);
|
205 |
-
background-image: linear-gradient(to top, #ccc 0%, #eee 60%);
|
206 |
-
}
|
207 |
-
|
208 |
-
html[dir="rtl"] .select2-container .select2-choice .select2-arrow {
|
209 |
-
left: 0;
|
210 |
-
right: auto;
|
211 |
-
|
212 |
-
border-left: none;
|
213 |
-
border-right: 1px solid #aaa;
|
214 |
-
border-radius: 4px 0 0 4px;
|
215 |
-
}
|
216 |
-
|
217 |
-
.select2-container .select2-choice .select2-arrow b {
|
218 |
-
display: block;
|
219 |
-
width: 100%;
|
220 |
-
height: 100%;
|
221 |
-
background: url('select2.png') no-repeat 0 1px;
|
222 |
-
}
|
223 |
-
|
224 |
-
html[dir="rtl"] .select2-container .select2-choice .select2-arrow b {
|
225 |
-
background-position: 2px 1px;
|
226 |
-
}
|
227 |
-
|
228 |
-
.select2-search {
|
229 |
-
display: inline-block;
|
230 |
-
width: 100%;
|
231 |
-
min-height: 26px;
|
232 |
-
margin: 0;
|
233 |
-
padding-left: 4px;
|
234 |
-
padding-right: 4px;
|
235 |
-
|
236 |
-
position: relative;
|
237 |
-
z-index: 10000;
|
238 |
-
|
239 |
-
white-space: nowrap;
|
240 |
-
}
|
241 |
-
|
242 |
-
.select2-search input {
|
243 |
-
width: 100%;
|
244 |
-
height: auto !important;
|
245 |
-
min-height: 26px;
|
246 |
-
padding: 4px 20px 4px 5px;
|
247 |
-
margin: 0;
|
248 |
-
|
249 |
-
outline: 0;
|
250 |
-
font-family: sans-serif;
|
251 |
-
font-size: 1em;
|
252 |
-
|
253 |
-
border: 1px solid #aaa;
|
254 |
-
border-radius: 0;
|
255 |
-
|
256 |
-
-webkit-box-shadow: none;
|
257 |
-
box-shadow: none;
|
258 |
-
|
259 |
-
background: #fff url('select2.png') no-repeat 100% -22px;
|
260 |
-
background: url('select2.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
|
261 |
-
background: url('select2.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
262 |
-
background: url('select2.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
263 |
-
background: url('select2.png') no-repeat 100% -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
|
264 |
-
}
|
265 |
-
|
266 |
-
html[dir="rtl"] .select2-search input {
|
267 |
-
padding: 4px 5px 4px 20px;
|
268 |
-
|
269 |
-
background: #fff url('select2.png') no-repeat -37px -22px;
|
270 |
-
background: url('select2.png') no-repeat -37px -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
|
271 |
-
background: url('select2.png') no-repeat -37px -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
272 |
-
background: url('select2.png') no-repeat -37px -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
273 |
-
background: url('select2.png') no-repeat -37px -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
|
274 |
-
}
|
275 |
-
|
276 |
-
.select2-drop.select2-drop-above .select2-search input {
|
277 |
-
margin-top: 4px;
|
278 |
-
}
|
279 |
-
|
280 |
-
.select2-search input.select2-active {
|
281 |
-
background: #fff url('select2-spinner.gif') no-repeat 100%;
|
282 |
-
background: url('select2-spinner.gif') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
|
283 |
-
background: url('select2-spinner.gif') no-repeat 100%, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
284 |
-
background: url('select2-spinner.gif') no-repeat 100%, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);
|
285 |
-
background: url('select2-spinner.gif') no-repeat 100%, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
|
286 |
-
}
|
287 |
-
|
288 |
-
.select2-container-active .select2-choice,
|
289 |
-
.select2-container-active .select2-choices {
|
290 |
-
border: 1px solid #5897fb;
|
291 |
-
outline: none;
|
292 |
-
|
293 |
-
-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
|
294 |
-
box-shadow: 0 0 5px rgba(0, 0, 0, .3);
|
295 |
-
}
|
296 |
-
|
297 |
-
.select2-dropdown-open .select2-choice {
|
298 |
-
border-bottom-color: transparent;
|
299 |
-
-webkit-box-shadow: 0 1px 0 #fff inset;
|
300 |
-
box-shadow: 0 1px 0 #fff inset;
|
301 |
-
|
302 |
-
border-bottom-left-radius: 0;
|
303 |
-
border-bottom-right-radius: 0;
|
304 |
-
|
305 |
-
background-color: #eee;
|
306 |
-
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.5, #eee));
|
307 |
-
background-image: -webkit-linear-gradient(center bottom, #fff 0%, #eee 50%);
|
308 |
-
background-image: -moz-linear-gradient(center bottom, #fff 0%, #eee 50%);
|
309 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
|
310 |
-
background-image: linear-gradient(to top, #fff 0%, #eee 50%);
|
311 |
-
}
|
312 |
-
|
313 |
-
.select2-dropdown-open.select2-drop-above .select2-choice,
|
314 |
-
.select2-dropdown-open.select2-drop-above .select2-choices {
|
315 |
-
border: 1px solid #5897fb;
|
316 |
-
border-top-color: transparent;
|
317 |
-
|
318 |
-
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.5, #eee));
|
319 |
-
background-image: -webkit-linear-gradient(center top, #fff 0%, #eee 50%);
|
320 |
-
background-image: -moz-linear-gradient(center top, #fff 0%, #eee 50%);
|
321 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
|
322 |
-
background-image: linear-gradient(to bottom, #fff 0%, #eee 50%);
|
323 |
-
}
|
324 |
-
|
325 |
-
.select2-dropdown-open .select2-choice .select2-arrow {
|
326 |
-
background: transparent;
|
327 |
-
border-left: none;
|
328 |
-
filter: none;
|
329 |
-
}
|
330 |
-
html[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow {
|
331 |
-
border-right: none;
|
332 |
-
}
|
333 |
-
|
334 |
-
.select2-dropdown-open .select2-choice .select2-arrow b {
|
335 |
-
background-position: -18px 1px;
|
336 |
-
}
|
337 |
-
|
338 |
-
html[dir="rtl"] .select2-dropdown-open .select2-choice .select2-arrow b {
|
339 |
-
background-position: -16px 1px;
|
340 |
-
}
|
341 |
-
|
342 |
-
.select2-hidden-accessible {
|
343 |
-
border: 0;
|
344 |
-
clip: rect(0 0 0 0);
|
345 |
-
height: 1px;
|
346 |
-
margin: -1px;
|
347 |
-
overflow: hidden;
|
348 |
-
padding: 0;
|
349 |
-
position: absolute;
|
350 |
-
width: 1px;
|
351 |
-
}
|
352 |
-
|
353 |
-
/* results */
|
354 |
-
.select2-results {
|
355 |
-
max-height: 200px;
|
356 |
-
padding: 0 0 0 4px;
|
357 |
-
margin: 4px 4px 4px 0;
|
358 |
-
position: relative;
|
359 |
-
overflow-x: hidden;
|
360 |
-
overflow-y: auto;
|
361 |
-
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
362 |
-
}
|
363 |
-
|
364 |
-
html[dir="rtl"] .select2-results {
|
365 |
-
padding: 0 4px 0 0;
|
366 |
-
margin: 4px 0 4px 4px;
|
367 |
-
}
|
368 |
-
|
369 |
-
.select2-results ul.select2-result-sub {
|
370 |
-
margin: 0;
|
371 |
-
padding-left: 0;
|
372 |
-
}
|
373 |
-
|
374 |
-
.select2-results li {
|
375 |
-
list-style: none;
|
376 |
-
display: list-item;
|
377 |
-
background-image: none;
|
378 |
-
}
|
379 |
-
|
380 |
-
.select2-results li.select2-result-with-children > .select2-result-label {
|
381 |
-
font-weight: bold;
|
382 |
-
}
|
383 |
-
|
384 |
-
.select2-results .select2-result-label {
|
385 |
-
padding: 3px 7px 4px;
|
386 |
-
margin: 0;
|
387 |
-
cursor: pointer;
|
388 |
-
|
389 |
-
min-height: 1em;
|
390 |
-
|
391 |
-
-webkit-touch-callout: none;
|
392 |
-
-webkit-user-select: none;
|
393 |
-
-moz-user-select: none;
|
394 |
-
-ms-user-select: none;
|
395 |
-
user-select: none;
|
396 |
-
}
|
397 |
-
|
398 |
-
.select2-results-dept-1 .select2-result-label { padding-left: 20px }
|
399 |
-
.select2-results-dept-2 .select2-result-label { padding-left: 40px }
|
400 |
-
.select2-results-dept-3 .select2-result-label { padding-left: 60px }
|
401 |
-
.select2-results-dept-4 .select2-result-label { padding-left: 80px }
|
402 |
-
.select2-results-dept-5 .select2-result-label { padding-left: 100px }
|
403 |
-
.select2-results-dept-6 .select2-result-label { padding-left: 110px }
|
404 |
-
.select2-results-dept-7 .select2-result-label { padding-left: 120px }
|
405 |
-
|
406 |
-
.select2-results .select2-highlighted {
|
407 |
-
background: #3875d7;
|
408 |
-
color: #fff;
|
409 |
-
}
|
410 |
-
|
411 |
-
.select2-results li em {
|
412 |
-
background: #feffde;
|
413 |
-
font-style: normal;
|
414 |
-
}
|
415 |
-
|
416 |
-
.select2-results .select2-highlighted em {
|
417 |
-
background: transparent;
|
418 |
-
}
|
419 |
-
|
420 |
-
.select2-results .select2-highlighted ul {
|
421 |
-
background: #fff;
|
422 |
-
color: #000;
|
423 |
-
}
|
424 |
-
|
425 |
-
.select2-results .select2-no-results,
|
426 |
-
.select2-results .select2-searching,
|
427 |
-
.select2-results .select2-ajax-error,
|
428 |
-
.select2-results .select2-selection-limit {
|
429 |
-
background: #f4f4f4;
|
430 |
-
display: list-item;
|
431 |
-
padding-left: 5px;
|
432 |
-
}
|
433 |
-
|
434 |
-
/*
|
435 |
-
disabled look for disabled choices in the results dropdown
|
436 |
-
*/
|
437 |
-
.select2-results .select2-disabled.select2-highlighted {
|
438 |
-
color: #666;
|
439 |
-
background: #f4f4f4;
|
440 |
-
display: list-item;
|
441 |
-
cursor: default;
|
442 |
-
}
|
443 |
-
.select2-results .select2-disabled {
|
444 |
-
background: #f4f4f4;
|
445 |
-
display: list-item;
|
446 |
-
cursor: default;
|
447 |
-
}
|
448 |
-
|
449 |
-
.select2-results .select2-selected {
|
450 |
-
display: none;
|
451 |
-
}
|
452 |
-
|
453 |
-
.select2-more-results.select2-active {
|
454 |
-
background: #f4f4f4 url('select2-spinner.gif') no-repeat 100%;
|
455 |
-
}
|
456 |
-
|
457 |
-
.select2-results .select2-ajax-error {
|
458 |
-
background: rgba(255, 50, 50, .2);
|
459 |
-
}
|
460 |
-
|
461 |
-
.select2-more-results {
|
462 |
-
background: #f4f4f4;
|
463 |
-
display: list-item;
|
464 |
-
}
|
465 |
-
|
466 |
-
/* disabled styles */
|
467 |
-
|
468 |
-
.select2-container.select2-container-disabled .select2-choice {
|
469 |
-
background-color: #f4f4f4;
|
470 |
-
background-image: none;
|
471 |
-
border: 1px solid #ddd;
|
472 |
-
cursor: default;
|
473 |
-
}
|
474 |
-
|
475 |
-
.select2-container.select2-container-disabled .select2-choice .select2-arrow {
|
476 |
-
background-color: #f4f4f4;
|
477 |
-
background-image: none;
|
478 |
-
border-left: 0;
|
479 |
-
}
|
480 |
-
|
481 |
-
.select2-container.select2-container-disabled .select2-choice abbr {
|
482 |
-
display: none;
|
483 |
-
}
|
484 |
-
|
485 |
-
|
486 |
-
/* multiselect */
|
487 |
-
|
488 |
-
.select2-container-multi .select2-choices {
|
489 |
-
height: auto !important;
|
490 |
-
height: 1%;
|
491 |
-
margin: 0;
|
492 |
-
padding: 0 5px 0 0;
|
493 |
-
position: relative;
|
494 |
-
|
495 |
-
border: 1px solid #aaa;
|
496 |
-
cursor: text;
|
497 |
-
overflow: hidden;
|
498 |
-
|
499 |
-
background-color: #fff;
|
500 |
-
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eee), color-stop(15%, #fff));
|
501 |
-
background-image: -webkit-linear-gradient(top, #eee 1%, #fff 15%);
|
502 |
-
background-image: -moz-linear-gradient(top, #eee 1%, #fff 15%);
|
503 |
-
background-image: linear-gradient(to bottom, #eee 1%, #fff 15%);
|
504 |
-
}
|
505 |
-
|
506 |
-
html[dir="rtl"] .select2-container-multi .select2-choices {
|
507 |
-
padding: 0 0 0 5px;
|
508 |
-
}
|
509 |
-
|
510 |
-
.select2-locked {
|
511 |
-
padding: 3px 5px 3px 5px !important;
|
512 |
-
}
|
513 |
-
|
514 |
-
.select2-container-multi .select2-choices {
|
515 |
-
min-height: 26px;
|
516 |
-
}
|
517 |
-
|
518 |
-
.select2-container-multi.select2-container-active .select2-choices {
|
519 |
-
border: 1px solid #5897fb;
|
520 |
-
outline: none;
|
521 |
-
|
522 |
-
-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
|
523 |
-
box-shadow: 0 0 5px rgba(0, 0, 0, .3);
|
524 |
-
}
|
525 |
-
.select2-container-multi .select2-choices li {
|
526 |
-
float: left;
|
527 |
-
list-style: none;
|
528 |
-
}
|
529 |
-
html[dir="rtl"] .select2-container-multi .select2-choices li
|
530 |
-
{
|
531 |
-
float: right;
|
532 |
-
}
|
533 |
-
.select2-container-multi .select2-choices .select2-search-field {
|
534 |
-
margin: 0;
|
535 |
-
padding: 0;
|
536 |
-
white-space: nowrap;
|
537 |
-
}
|
538 |
-
|
539 |
-
.select2-container-multi .select2-choices .select2-search-field input {
|
540 |
-
padding: 5px;
|
541 |
-
margin: 1px 0;
|
542 |
-
|
543 |
-
font-family: sans-serif;
|
544 |
-
font-size: 100%;
|
545 |
-
color: #666;
|
546 |
-
outline: 0;
|
547 |
-
border: 0;
|
548 |
-
-webkit-box-shadow: none;
|
549 |
-
box-shadow: none;
|
550 |
-
background: transparent !important;
|
551 |
-
}
|
552 |
-
|
553 |
-
.select2-container-multi .select2-choices .select2-search-field input.select2-active {
|
554 |
-
background: #fff url('select2-spinner.gif') no-repeat 100% !important;
|
555 |
-
}
|
556 |
-
|
557 |
-
.select2-default {
|
558 |
-
color: #999 !important;
|
559 |
-
}
|
560 |
-
|
561 |
-
.select2-container-multi .select2-choices .select2-search-choice {
|
562 |
-
padding: 3px 5px 3px 18px;
|
563 |
-
margin: 3px 0 3px 5px;
|
564 |
-
position: relative;
|
565 |
-
|
566 |
-
line-height: 13px;
|
567 |
-
color: #333;
|
568 |
-
cursor: default;
|
569 |
-
border: 1px solid #aaaaaa;
|
570 |
-
|
571 |
-
border-radius: 3px;
|
572 |
-
|
573 |
-
-webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
|
574 |
-
box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
|
575 |
-
|
576 |
-
background-clip: padding-box;
|
577 |
-
|
578 |
-
-webkit-touch-callout: none;
|
579 |
-
-webkit-user-select: none;
|
580 |
-
-moz-user-select: none;
|
581 |
-
-ms-user-select: none;
|
582 |
-
user-select: none;
|
583 |
-
|
584 |
-
background-color: #e4e4e4;
|
585 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0);
|
586 |
-
background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee));
|
587 |
-
background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
|
588 |
-
background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
|
589 |
-
background-image: linear-gradient(to bottom, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
|
590 |
-
}
|
591 |
-
html[dir="rtl"] .select2-container-multi .select2-choices .select2-search-choice
|
592 |
-
{
|
593 |
-
margin: 3px 5px 3px 0;
|
594 |
-
padding: 3px 18px 3px 5px;
|
595 |
-
}
|
596 |
-
.select2-container-multi .select2-choices .select2-search-choice .select2-chosen {
|
597 |
-
cursor: default;
|
598 |
-
}
|
599 |
-
.select2-container-multi .select2-choices .select2-search-choice-focus {
|
600 |
-
background: #d4d4d4;
|
601 |
-
}
|
602 |
-
|
603 |
-
.select2-search-choice-close {
|
604 |
-
display: block;
|
605 |
-
width: 12px;
|
606 |
-
height: 13px;
|
607 |
-
position: absolute;
|
608 |
-
right: 3px;
|
609 |
-
top: 4px;
|
610 |
-
|
611 |
-
font-size: 1px;
|
612 |
-
outline: none;
|
613 |
-
background: url('select2.png') right top no-repeat;
|
614 |
-
}
|
615 |
-
html[dir="rtl"] .select2-search-choice-close {
|
616 |
-
right: auto;
|
617 |
-
left: 3px;
|
618 |
-
}
|
619 |
-
|
620 |
-
.select2-container-multi .select2-search-choice-close {
|
621 |
-
left: 3px;
|
622 |
-
}
|
623 |
-
|
624 |
-
html[dir="rtl"] .select2-container-multi .select2-search-choice-close {
|
625 |
-
left: auto;
|
626 |
-
right: 2px;
|
627 |
-
}
|
628 |
-
|
629 |
-
.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {
|
630 |
-
background-position: right -11px;
|
631 |
-
}
|
632 |
-
.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {
|
633 |
-
background-position: right -11px;
|
634 |
-
}
|
635 |
-
|
636 |
-
/* disabled styles */
|
637 |
-
.select2-container-multi.select2-container-disabled .select2-choices {
|
638 |
-
background-color: #f4f4f4;
|
639 |
-
background-image: none;
|
640 |
-
border: 1px solid #ddd;
|
641 |
-
cursor: default;
|
642 |
-
}
|
643 |
-
|
644 |
-
.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {
|
645 |
-
padding: 3px 5px 3px 5px;
|
646 |
-
border: 1px solid #ddd;
|
647 |
-
background-image: none;
|
648 |
-
background-color: #f4f4f4;
|
649 |
-
}
|
650 |
-
|
651 |
-
.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close { display: none;
|
652 |
-
background: none;
|
653 |
-
}
|
654 |
-
/* end multiselect */
|
655 |
-
|
656 |
-
|
657 |
-
.select2-result-selectable .select2-match,
|
658 |
-
.select2-result-unselectable .select2-match {
|
659 |
-
text-decoration: underline;
|
660 |
-
}
|
661 |
-
|
662 |
-
.select2-offscreen, .select2-offscreen:focus {
|
663 |
-
clip: rect(0 0 0 0) !important;
|
664 |
-
width: 1px !important;
|
665 |
-
height: 1px !important;
|
666 |
-
border: 0 !important;
|
667 |
-
margin: 0 !important;
|
668 |
-
padding: 0 !important;
|
669 |
-
overflow: hidden !important;
|
670 |
-
position: absolute !important;
|
671 |
-
outline: 0 !important;
|
672 |
-
left: 0px !important;
|
673 |
-
top: 0px !important;
|
674 |
-
}
|
675 |
-
|
676 |
-
.select2-display-none {
|
677 |
-
display: none;
|
678 |
-
}
|
679 |
-
|
680 |
-
.select2-measure-scrollbar {
|
681 |
-
position: absolute;
|
682 |
-
top: -10000px;
|
683 |
-
left: -10000px;
|
684 |
-
width: 100px;
|
685 |
-
height: 100px;
|
686 |
-
overflow: scroll;
|
687 |
-
}
|
688 |
-
|
689 |
-
/* Retina-ize icons */
|
690 |
-
|
691 |
-
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 2dppx) {
|
692 |
-
.select2-search input,
|
693 |
-
.select2-search-choice-close,
|
694 |
-
.select2-container .select2-choice abbr,
|
695 |
-
.select2-container .select2-choice .select2-arrow b {
|
696 |
-
background-image: url('select2x2.png') !important;
|
697 |
-
background-repeat: no-repeat !important;
|
698 |
-
background-size: 60px 40px !important;
|
699 |
-
}
|
700 |
-
|
701 |
-
.select2-search input {
|
702 |
-
background-position: 100% -21px !important;
|
703 |
-
}
|
704 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2.jquery.json
DELETED
@@ -1,36 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"name": "select2",
|
3 |
-
"title": "Select2",
|
4 |
-
"description": "Select2 is a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.",
|
5 |
-
"keywords": [
|
6 |
-
"select",
|
7 |
-
"autocomplete",
|
8 |
-
"typeahead",
|
9 |
-
"dropdown",
|
10 |
-
"multiselect",
|
11 |
-
"tag",
|
12 |
-
"tagging"
|
13 |
-
],
|
14 |
-
"version": "3.5.2",
|
15 |
-
"author": {
|
16 |
-
"name": "Igor Vaynberg",
|
17 |
-
"url": "https://github.com/ivaynberg"
|
18 |
-
},
|
19 |
-
"licenses": [
|
20 |
-
{
|
21 |
-
"type": "Apache",
|
22 |
-
"url": "http://www.apache.org/licenses/LICENSE-2.0"
|
23 |
-
},
|
24 |
-
{
|
25 |
-
"type": "GPL v2",
|
26 |
-
"url": "http://www.gnu.org/licenses/gpl-2.0.html"
|
27 |
-
}
|
28 |
-
],
|
29 |
-
"bugs": "https://github.com/ivaynberg/select2/issues",
|
30 |
-
"homepage": "http://ivaynberg.github.com/select2",
|
31 |
-
"docs": "http://ivaynberg.github.com/select2/",
|
32 |
-
"download": "https://github.com/ivaynberg/select2/tags",
|
33 |
-
"dependencies": {
|
34 |
-
"jquery": ">=1.7.1"
|
35 |
-
}
|
36 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2.js
DELETED
@@ -1,3541 +0,0 @@
|
|
1 |
-
/*
|
2 |
-
Copyright 2012 Igor Vaynberg
|
3 |
-
|
4 |
-
Version: 3.5.2 Timestamp: Sat Nov 1 14:43:36 EDT 2014
|
5 |
-
|
6 |
-
This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
|
7 |
-
General Public License version 2 (the "GPL License"). You may choose either license to govern your
|
8 |
-
use of this software only upon the condition that you accept all of the terms of either the Apache
|
9 |
-
License or the GPL License.
|
10 |
-
|
11 |
-
You may obtain a copy of the Apache License and the GPL License at:
|
12 |
-
|
13 |
-
http://www.apache.org/licenses/LICENSE-2.0
|
14 |
-
http://www.gnu.org/licenses/gpl-2.0.html
|
15 |
-
|
16 |
-
Unless required by applicable law or agreed to in writing, software distributed under the
|
17 |
-
Apache License or the GPL License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
18 |
-
CONDITIONS OF ANY KIND, either express or implied. See the Apache License and the GPL License for
|
19 |
-
the specific language governing permissions and limitations under the Apache License and the GPL License.
|
20 |
-
*/
|
21 |
-
(function ($) {
|
22 |
-
if(typeof $.fn.each2 == "undefined") {
|
23 |
-
$.extend($.fn, {
|
24 |
-
/*
|
25 |
-
* 4-10 times faster .each replacement
|
26 |
-
* use it carefully, as it overrides jQuery context of element on each iteration
|
27 |
-
*/
|
28 |
-
each2 : function (c) {
|
29 |
-
var j = $([0]), i = -1, l = this.length;
|
30 |
-
while (
|
31 |
-
++i < l
|
32 |
-
&& (j.context = j[0] = this[i])
|
33 |
-
&& c.call(j[0], i, j) !== false //"this"=DOM, i=index, j=jQuery object
|
34 |
-
);
|
35 |
-
return this;
|
36 |
-
}
|
37 |
-
});
|
38 |
-
}
|
39 |
-
})(jQuery);
|
40 |
-
|
41 |
-
(function ($, undefined) {
|
42 |
-
"use strict";
|
43 |
-
/*global document, window, jQuery, console */
|
44 |
-
|
45 |
-
if (window.Select2 !== undefined) {
|
46 |
-
return;
|
47 |
-
}
|
48 |
-
|
49 |
-
var AbstractSelect2, SingleSelect2, MultiSelect2, nextUid, sizer,
|
50 |
-
lastMousePosition={x:0,y:0}, $document, scrollBarDimensions,
|
51 |
-
|
52 |
-
KEY = {
|
53 |
-
TAB: 9,
|
54 |
-
ENTER: 13,
|
55 |
-
ESC: 27,
|
56 |
-
SPACE: 32,
|
57 |
-
LEFT: 37,
|
58 |
-
UP: 38,
|
59 |
-
RIGHT: 39,
|
60 |
-
DOWN: 40,
|
61 |
-
SHIFT: 16,
|
62 |
-
CTRL: 17,
|
63 |
-
ALT: 18,
|
64 |
-
PAGE_UP: 33,
|
65 |
-
PAGE_DOWN: 34,
|
66 |
-
HOME: 36,
|
67 |
-
END: 35,
|
68 |
-
BACKSPACE: 8,
|
69 |
-
DELETE: 46,
|
70 |
-
isArrow: function (k) {
|
71 |
-
k = k.which ? k.which : k;
|
72 |
-
switch (k) {
|
73 |
-
case KEY.LEFT:
|
74 |
-
case KEY.RIGHT:
|
75 |
-
case KEY.UP:
|
76 |
-
case KEY.DOWN:
|
77 |
-
return true;
|
78 |
-
}
|
79 |
-
return false;
|
80 |
-
},
|
81 |
-
isControl: function (e) {
|
82 |
-
var k = e.which;
|
83 |
-
switch (k) {
|
84 |
-
case KEY.SHIFT:
|
85 |
-
case KEY.CTRL:
|
86 |
-
case KEY.ALT:
|
87 |
-
return true;
|
88 |
-
}
|
89 |
-
|
90 |
-
if (e.metaKey) return true;
|
91 |
-
|
92 |
-
return false;
|
93 |
-
},
|
94 |
-
isFunctionKey: function (k) {
|
95 |
-
k = k.which ? k.which : k;
|
96 |
-
return k >= 112 && k <= 123;
|
97 |
-
}
|
98 |
-
},
|
99 |
-
MEASURE_SCROLLBAR_TEMPLATE = "<div class='select2-measure-scrollbar'></div>",
|
100 |
-
|
101 |
-
DIACRITICS = {"\u24B6":"A","\uFF21":"A","\u00C0":"A","\u00C1":"A","\u00C2":"A","\u1EA6":"A","\u1EA4":"A","\u1EAA":"A","\u1EA8":"A","\u00C3":"A","\u0100":"A","\u0102":"A","\u1EB0":"A","\u1EAE":"A","\u1EB4":"A","\u1EB2":"A","\u0226":"A","\u01E0":"A","\u00C4":"A","\u01DE":"A","\u1EA2":"A","\u00C5":"A","\u01FA":"A","\u01CD":"A","\u0200":"A","\u0202":"A","\u1EA0":"A","\u1EAC":"A","\u1EB6":"A","\u1E00":"A","\u0104":"A","\u023A":"A","\u2C6F":"A","\uA732":"AA","\u00C6":"AE","\u01FC":"AE","\u01E2":"AE","\uA734":"AO","\uA736":"AU","\uA738":"AV","\uA73A":"AV","\uA73C":"AY","\u24B7":"B","\uFF22":"B","\u1E02":"B","\u1E04":"B","\u1E06":"B","\u0243":"B","\u0182":"B","\u0181":"B","\u24B8":"C","\uFF23":"C","\u0106":"C","\u0108":"C","\u010A":"C","\u010C":"C","\u00C7":"C","\u1E08":"C","\u0187":"C","\u023B":"C","\uA73E":"C","\u24B9":"D","\uFF24":"D","\u1E0A":"D","\u010E":"D","\u1E0C":"D","\u1E10":"D","\u1E12":"D","\u1E0E":"D","\u0110":"D","\u018B":"D","\u018A":"D","\u0189":"D","\uA779":"D","\u01F1":"DZ","\u01C4":"DZ","\u01F2":"Dz","\u01C5":"Dz","\u24BA":"E","\uFF25":"E","\u00C8":"E","\u00C9":"E","\u00CA":"E","\u1EC0":"E","\u1EBE":"E","\u1EC4":"E","\u1EC2":"E","\u1EBC":"E","\u0112":"E","\u1E14":"E","\u1E16":"E","\u0114":"E","\u0116":"E","\u00CB":"E","\u1EBA":"E","\u011A":"E","\u0204":"E","\u0206":"E","\u1EB8":"E","\u1EC6":"E","\u0228":"E","\u1E1C":"E","\u0118":"E","\u1E18":"E","\u1E1A":"E","\u0190":"E","\u018E":"E","\u24BB":"F","\uFF26":"F","\u1E1E":"F","\u0191":"F","\uA77B":"F","\u24BC":"G","\uFF27":"G","\u01F4":"G","\u011C":"G","\u1E20":"G","\u011E":"G","\u0120":"G","\u01E6":"G","\u0122":"G","\u01E4":"G","\u0193":"G","\uA7A0":"G","\uA77D":"G","\uA77E":"G","\u24BD":"H","\uFF28":"H","\u0124":"H","\u1E22":"H","\u1E26":"H","\u021E":"H","\u1E24":"H","\u1E28":"H","\u1E2A":"H","\u0126":"H","\u2C67":"H","\u2C75":"H","\uA78D":"H","\u24BE":"I","\uFF29":"I","\u00CC":"I","\u00CD":"I","\u00CE":"I","\u0128":"I","\u012A":"I","\u012C":"I","\u0130":"I","\u00CF":"I","\u1E2E":"I","\u1EC8":"I","\u01CF":"I","\u0208":"I","\u020A":"I","\u1ECA":"I","\u012E":"I","\u1E2C":"I","\u0197":"I","\u24BF":"J","\uFF2A":"J","\u0134":"J","\u0248":"J","\u24C0":"K","\uFF2B":"K","\u1E30":"K","\u01E8":"K","\u1E32":"K","\u0136":"K","\u1E34":"K","\u0198":"K","\u2C69":"K","\uA740":"K","\uA742":"K","\uA744":"K","\uA7A2":"K","\u24C1":"L","\uFF2C":"L","\u013F":"L","\u0139":"L","\u013D":"L","\u1E36":"L","\u1E38":"L","\u013B":"L","\u1E3C":"L","\u1E3A":"L","\u0141":"L","\u023D":"L","\u2C62":"L","\u2C60":"L","\uA748":"L","\uA746":"L","\uA780":"L","\u01C7":"LJ","\u01C8":"Lj","\u24C2":"M","\uFF2D":"M","\u1E3E":"M","\u1E40":"M","\u1E42":"M","\u2C6E":"M","\u019C":"M","\u24C3":"N","\uFF2E":"N","\u01F8":"N","\u0143":"N","\u00D1":"N","\u1E44":"N","\u0147":"N","\u1E46":"N","\u0145":"N","\u1E4A":"N","\u1E48":"N","\u0220":"N","\u019D":"N","\uA790":"N","\uA7A4":"N","\u01CA":"NJ","\u01CB":"Nj","\u24C4":"O","\uFF2F":"O","\u00D2":"O","\u00D3":"O","\u00D4":"O","\u1ED2":"O","\u1ED0":"O","\u1ED6":"O","\u1ED4":"O","\u00D5":"O","\u1E4C":"O","\u022C":"O","\u1E4E":"O","\u014C":"O","\u1E50":"O","\u1E52":"O","\u014E":"O","\u022E":"O","\u0230":"O","\u00D6":"O","\u022A":"O","\u1ECE":"O","\u0150":"O","\u01D1":"O","\u020C":"O","\u020E":"O","\u01A0":"O","\u1EDC":"O","\u1EDA":"O","\u1EE0":"O","\u1EDE":"O","\u1EE2":"O","\u1ECC":"O","\u1ED8":"O","\u01EA":"O","\u01EC":"O","\u00D8":"O","\u01FE":"O","\u0186":"O","\u019F":"O","\uA74A":"O","\uA74C":"O","\u01A2":"OI","\uA74E":"OO","\u0222":"OU","\u24C5":"P","\uFF30":"P","\u1E54":"P","\u1E56":"P","\u01A4":"P","\u2C63":"P","\uA750":"P","\uA752":"P","\uA754":"P","\u24C6":"Q","\uFF31":"Q","\uA756":"Q","\uA758":"Q","\u024A":"Q","\u24C7":"R","\uFF32":"R","\u0154":"R","\u1E58":"R","\u0158":"R","\u0210":"R","\u0212":"R","\u1E5A":"R","\u1E5C":"R","\u0156":"R","\u1E5E":"R","\u024C":"R","\u2C64":"R","\uA75A":"R","\uA7A6":"R","\uA782":"R","\u24C8":"S","\uFF33":"S","\u1E9E":"S","\u015A":"S","\u1E64":"S","\u015C":"S","\u1E60":"S","\u0160":"S","\u1E66":"S","\u1E62":"S","\u1E68":"S","\u0218":"S","\u015E":"S","\u2C7E":"S","\uA7A8":"S","\uA784":"S","\u24C9":"T","\uFF34":"T","\u1E6A":"T","\u0164":"T","\u1E6C":"T","\u021A":"T","\u0162":"T","\u1E70":"T","\u1E6E":"T","\u0166":"T","\u01AC":"T","\u01AE":"T","\u023E":"T","\uA786":"T","\uA728":"TZ","\u24CA":"U","\uFF35":"U","\u00D9":"U","\u00DA":"U","\u00DB":"U","\u0168":"U","\u1E78":"U","\u016A":"U","\u1E7A":"U","\u016C":"U","\u00DC":"U","\u01DB":"U","\u01D7":"U","\u01D5":"U","\u01D9":"U","\u1EE6":"U","\u016E":"U","\u0170":"U","\u01D3":"U","\u0214":"U","\u0216":"U","\u01AF":"U","\u1EEA":"U","\u1EE8":"U","\u1EEE":"U","\u1EEC":"U","\u1EF0":"U","\u1EE4":"U","\u1E72":"U","\u0172":"U","\u1E76":"U","\u1E74":"U","\u0244":"U","\u24CB":"V","\uFF36":"V","\u1E7C":"V","\u1E7E":"V","\u01B2":"V","\uA75E":"V","\u0245":"V","\uA760":"VY","\u24CC":"W","\uFF37":"W","\u1E80":"W","\u1E82":"W","\u0174":"W","\u1E86":"W","\u1E84":"W","\u1E88":"W","\u2C72":"W","\u24CD":"X","\uFF38":"X","\u1E8A":"X","\u1E8C":"X","\u24CE":"Y","\uFF39":"Y","\u1EF2":"Y","\u00DD":"Y","\u0176":"Y","\u1EF8":"Y","\u0232":"Y","\u1E8E":"Y","\u0178":"Y","\u1EF6":"Y","\u1EF4":"Y","\u01B3":"Y","\u024E":"Y","\u1EFE":"Y","\u24CF":"Z","\uFF3A":"Z","\u0179":"Z","\u1E90":"Z","\u017B":"Z","\u017D":"Z","\u1E92":"Z","\u1E94":"Z","\u01B5":"Z","\u0224":"Z","\u2C7F":"Z","\u2C6B":"Z","\uA762":"Z","\u24D0":"a","\uFF41":"a","\u1E9A":"a","\u00E0":"a","\u00E1":"a","\u00E2":"a","\u1EA7":"a","\u1EA5":"a","\u1EAB":"a","\u1EA9":"a","\u00E3":"a","\u0101":"a","\u0103":"a","\u1EB1":"a","\u1EAF":"a","\u1EB5":"a","\u1EB3":"a","\u0227":"a","\u01E1":"a","\u00E4":"a","\u01DF":"a","\u1EA3":"a","\u00E5":"a","\u01FB":"a","\u01CE":"a","\u0201":"a","\u0203":"a","\u1EA1":"a","\u1EAD":"a","\u1EB7":"a","\u1E01":"a","\u0105":"a","\u2C65":"a","\u0250":"a","\uA733":"aa","\u00E6":"ae","\u01FD":"ae","\u01E3":"ae","\uA735":"ao","\uA737":"au","\uA739":"av","\uA73B":"av","\uA73D":"ay","\u24D1":"b","\uFF42":"b","\u1E03":"b","\u1E05":"b","\u1E07":"b","\u0180":"b","\u0183":"b","\u0253":"b","\u24D2":"c","\uFF43":"c","\u0107":"c","\u0109":"c","\u010B":"c","\u010D":"c","\u00E7":"c","\u1E09":"c","\u0188":"c","\u023C":"c","\uA73F":"c","\u2184":"c","\u24D3":"d","\uFF44":"d","\u1E0B":"d","\u010F":"d","\u1E0D":"d","\u1E11":"d","\u1E13":"d","\u1E0F":"d","\u0111":"d","\u018C":"d","\u0256":"d","\u0257":"d","\uA77A":"d","\u01F3":"dz","\u01C6":"dz","\u24D4":"e","\uFF45":"e","\u00E8":"e","\u00E9":"e","\u00EA":"e","\u1EC1":"e","\u1EBF":"e","\u1EC5":"e","\u1EC3":"e","\u1EBD":"e","\u0113":"e","\u1E15":"e","\u1E17":"e","\u0115":"e","\u0117":"e","\u00EB":"e","\u1EBB":"e","\u011B":"e","\u0205":"e","\u0207":"e","\u1EB9":"e","\u1EC7":"e","\u0229":"e","\u1E1D":"e","\u0119":"e","\u1E19":"e","\u1E1B":"e","\u0247":"e","\u025B":"e","\u01DD":"e","\u24D5":"f","\uFF46":"f","\u1E1F":"f","\u0192":"f","\uA77C":"f","\u24D6":"g","\uFF47":"g","\u01F5":"g","\u011D":"g","\u1E21":"g","\u011F":"g","\u0121":"g","\u01E7":"g","\u0123":"g","\u01E5":"g","\u0260":"g","\uA7A1":"g","\u1D79":"g","\uA77F":"g","\u24D7":"h","\uFF48":"h","\u0125":"h","\u1E23":"h","\u1E27":"h","\u021F":"h","\u1E25":"h","\u1E29":"h","\u1E2B":"h","\u1E96":"h","\u0127":"h","\u2C68":"h","\u2C76":"h","\u0265":"h","\u0195":"hv","\u24D8":"i","\uFF49":"i","\u00EC":"i","\u00ED":"i","\u00EE":"i","\u0129":"i","\u012B":"i","\u012D":"i","\u00EF":"i","\u1E2F":"i","\u1EC9":"i","\u01D0":"i","\u0209":"i","\u020B":"i","\u1ECB":"i","\u012F":"i","\u1E2D":"i","\u0268":"i","\u0131":"i","\u24D9":"j","\uFF4A":"j","\u0135":"j","\u01F0":"j","\u0249":"j","\u24DA":"k","\uFF4B":"k","\u1E31":"k","\u01E9":"k","\u1E33":"k","\u0137":"k","\u1E35":"k","\u0199":"k","\u2C6A":"k","\uA741":"k","\uA743":"k","\uA745":"k","\uA7A3":"k","\u24DB":"l","\uFF4C":"l","\u0140":"l","\u013A":"l","\u013E":"l","\u1E37":"l","\u1E39":"l","\u013C":"l","\u1E3D":"l","\u1E3B":"l","\u017F":"l","\u0142":"l","\u019A":"l","\u026B":"l","\u2C61":"l","\uA749":"l","\uA781":"l","\uA747":"l","\u01C9":"lj","\u24DC":"m","\uFF4D":"m","\u1E3F":"m","\u1E41":"m","\u1E43":"m","\u0271":"m","\u026F":"m","\u24DD":"n","\uFF4E":"n","\u01F9":"n","\u0144":"n","\u00F1":"n","\u1E45":"n","\u0148":"n","\u1E47":"n","\u0146":"n","\u1E4B":"n","\u1E49":"n","\u019E":"n","\u0272":"n","\u0149":"n","\uA791":"n","\uA7A5":"n","\u01CC":"nj","\u24DE":"o","\uFF4F":"o","\u00F2":"o","\u00F3":"o","\u00F4":"o","\u1ED3":"o","\u1ED1":"o","\u1ED7":"o","\u1ED5":"o","\u00F5":"o","\u1E4D":"o","\u022D":"o","\u1E4F":"o","\u014D":"o","\u1E51":"o","\u1E53":"o","\u014F":"o","\u022F":"o","\u0231":"o","\u00F6":"o","\u022B":"o","\u1ECF":"o","\u0151":"o","\u01D2":"o","\u020D":"o","\u020F":"o","\u01A1":"o","\u1EDD":"o","\u1EDB":"o","\u1EE1":"o","\u1EDF":"o","\u1EE3":"o","\u1ECD":"o","\u1ED9":"o","\u01EB":"o","\u01ED":"o","\u00F8":"o","\u01FF":"o","\u0254":"o","\uA74B":"o","\uA74D":"o","\u0275":"o","\u01A3":"oi","\u0223":"ou","\uA74F":"oo","\u24DF":"p","\uFF50":"p","\u1E55":"p","\u1E57":"p","\u01A5":"p","\u1D7D":"p","\uA751":"p","\uA753":"p","\uA755":"p","\u24E0":"q","\uFF51":"q","\u024B":"q","\uA757":"q","\uA759":"q","\u24E1":"r","\uFF52":"r","\u0155":"r","\u1E59":"r","\u0159":"r","\u0211":"r","\u0213":"r","\u1E5B":"r","\u1E5D":"r","\u0157":"r","\u1E5F":"r","\u024D":"r","\u027D":"r","\uA75B":"r","\uA7A7":"r","\uA783":"r","\u24E2":"s","\uFF53":"s","\u00DF":"s","\u015B":"s","\u1E65":"s","\u015D":"s","\u1E61":"s","\u0161":"s","\u1E67":"s","\u1E63":"s","\u1E69":"s","\u0219":"s","\u015F":"s","\u023F":"s","\uA7A9":"s","\uA785":"s","\u1E9B":"s","\u24E3":"t","\uFF54":"t","\u1E6B":"t","\u1E97":"t","\u0165":"t","\u1E6D":"t","\u021B":"t","\u0163":"t","\u1E71":"t","\u1E6F":"t","\u0167":"t","\u01AD":"t","\u0288":"t","\u2C66":"t","\uA787":"t","\uA729":"tz","\u24E4":"u","\uFF55":"u","\u00F9":"u","\u00FA":"u","\u00FB":"u","\u0169":"u","\u1E79":"u","\u016B":"u","\u1E7B":"u","\u016D":"u","\u00FC":"u","\u01DC":"u","\u01D8":"u","\u01D6":"u","\u01DA":"u","\u1EE7":"u","\u016F":"u","\u0171":"u","\u01D4":"u","\u0215":"u","\u0217":"u","\u01B0":"u","\u1EEB":"u","\u1EE9":"u","\u1EEF":"u","\u1EED":"u","\u1EF1":"u","\u1EE5":"u","\u1E73":"u","\u0173":"u","\u1E77":"u","\u1E75":"u","\u0289":"u","\u24E5":"v","\uFF56":"v","\u1E7D":"v","\u1E7F":"v","\u028B":"v","\uA75F":"v","\u028C":"v","\uA761":"vy","\u24E6":"w","\uFF57":"w","\u1E81":"w","\u1E83":"w","\u0175":"w","\u1E87":"w","\u1E85":"w","\u1E98":"w","\u1E89":"w","\u2C73":"w","\u24E7":"x","\uFF58":"x","\u1E8B":"x","\u1E8D":"x","\u24E8":"y","\uFF59":"y","\u1EF3":"y","\u00FD":"y","\u0177":"y","\u1EF9":"y","\u0233":"y","\u1E8F":"y","\u00FF":"y","\u1EF7":"y","\u1E99":"y","\u1EF5":"y","\u01B4":"y","\u024F":"y","\u1EFF":"y","\u24E9":"z","\uFF5A":"z","\u017A":"z","\u1E91":"z","\u017C":"z","\u017E":"z","\u1E93":"z","\u1E95":"z","\u01B6":"z","\u0225":"z","\u0240":"z","\u2C6C":"z","\uA763":"z","\u0386":"\u0391","\u0388":"\u0395","\u0389":"\u0397","\u038A":"\u0399","\u03AA":"\u0399","\u038C":"\u039F","\u038E":"\u03A5","\u03AB":"\u03A5","\u038F":"\u03A9","\u03AC":"\u03B1","\u03AD":"\u03B5","\u03AE":"\u03B7","\u03AF":"\u03B9","\u03CA":"\u03B9","\u0390":"\u03B9","\u03CC":"\u03BF","\u03CD":"\u03C5","\u03CB":"\u03C5","\u03B0":"\u03C5","\u03C9":"\u03C9","\u03C2":"\u03C3"};
|
102 |
-
|
103 |
-
$document = $(document);
|
104 |
-
|
105 |
-
nextUid=(function() { var counter=1; return function() { return counter++; }; }());
|
106 |
-
|
107 |
-
|
108 |
-
function reinsertElement(element) {
|
109 |
-
var placeholder = $(document.createTextNode(''));
|
110 |
-
|
111 |
-
element.before(placeholder);
|
112 |
-
placeholder.before(element);
|
113 |
-
placeholder.remove();
|
114 |
-
}
|
115 |
-
|
116 |
-
function stripDiacritics(str) {
|
117 |
-
// Used 'uni range + named function' from http://jsperf.com/diacritics/18
|
118 |
-
function match(a) {
|
119 |
-
return DIACRITICS[a] || a;
|
120 |
-
}
|
121 |
-
|
122 |
-
return str.replace(/[^\u0000-\u007E]/g, match);
|
123 |
-
}
|
124 |
-
|
125 |
-
function indexOf(value, array) {
|
126 |
-
var i = 0, l = array.length;
|
127 |
-
for (; i < l; i = i + 1) {
|
128 |
-
if (equal(value, array[i])) return i;
|
129 |
-
}
|
130 |
-
return -1;
|
131 |
-
}
|
132 |
-
|
133 |
-
function measureScrollbar () {
|
134 |
-
var $template = $( MEASURE_SCROLLBAR_TEMPLATE );
|
135 |
-
$template.appendTo(document.body);
|
136 |
-
|
137 |
-
var dim = {
|
138 |
-
width: $template.width() - $template[0].clientWidth,
|
139 |
-
height: $template.height() - $template[0].clientHeight
|
140 |
-
};
|
141 |
-
$template.remove();
|
142 |
-
|
143 |
-
return dim;
|
144 |
-
}
|
145 |
-
|
146 |
-
/**
|
147 |
-
* Compares equality of a and b
|
148 |
-
* @param a
|
149 |
-
* @param b
|
150 |
-
*/
|
151 |
-
function equal(a, b) {
|
152 |
-
if (a === b) return true;
|
153 |
-
if (a === undefined || b === undefined) return false;
|
154 |
-
if (a === null || b === null) return false;
|
155 |
-
// Check whether 'a' or 'b' is a string (primitive or object).
|
156 |
-
// The concatenation of an empty string (+'') converts its argument to a string's primitive.
|
157 |
-
if (a.constructor === String) return a+'' === b+''; // a+'' - in case 'a' is a String object
|
158 |
-
if (b.constructor === String) return b+'' === a+''; // b+'' - in case 'b' is a String object
|
159 |
-
return false;
|
160 |
-
}
|
161 |
-
|
162 |
-
/**
|
163 |
-
* Splits the string into an array of values, transforming each value. An empty array is returned for nulls or empty
|
164 |
-
* strings
|
165 |
-
* @param string
|
166 |
-
* @param separator
|
167 |
-
*/
|
168 |
-
function splitVal(string, separator, transform) {
|
169 |
-
var val, i, l;
|
170 |
-
if (string === null || string.length < 1) return [];
|
171 |
-
val = string.split(separator);
|
172 |
-
for (i = 0, l = val.length; i < l; i = i + 1) val[i] = transform(val[i]);
|
173 |
-
return val;
|
174 |
-
}
|
175 |
-
|
176 |
-
function getSideBorderPadding(element) {
|
177 |
-
return element.outerWidth(false) - element.width();
|
178 |
-
}
|
179 |
-
|
180 |
-
function installKeyUpChangeEvent(element) {
|
181 |
-
var key="keyup-change-value";
|
182 |
-
element.on("keydown", function () {
|
183 |
-
if ($.data(element, key) === undefined) {
|
184 |
-
$.data(element, key, element.val());
|
185 |
-
}
|
186 |
-
});
|
187 |
-
element.on("keyup", function () {
|
188 |
-
var val= $.data(element, key);
|
189 |
-
if (val !== undefined && element.val() !== val) {
|
190 |
-
$.removeData(element, key);
|
191 |
-
element.trigger("keyup-change");
|
192 |
-
}
|
193 |
-
});
|
194 |
-
}
|
195 |
-
|
196 |
-
|
197 |
-
/**
|
198 |
-
* filters mouse events so an event is fired only if the mouse moved.
|
199 |
-
*
|
200 |
-
* filters out mouse events that occur when mouse is stationary but
|
201 |
-
* the elements under the pointer are scrolled.
|
202 |
-
*/
|
203 |
-
function installFilteredMouseMove(element) {
|
204 |
-
element.on("mousemove", function (e) {
|
205 |
-
var lastpos = lastMousePosition;
|
206 |
-
if (lastpos === undefined || lastpos.x !== e.pageX || lastpos.y !== e.pageY) {
|
207 |
-
$(e.target).trigger("mousemove-filtered", e);
|
208 |
-
}
|
209 |
-
});
|
210 |
-
}
|
211 |
-
|
212 |
-
/**
|
213 |
-
* Debounces a function. Returns a function that calls the original fn function only if no invocations have been made
|
214 |
-
* within the last quietMillis milliseconds.
|
215 |
-
*
|
216 |
-
* @param quietMillis number of milliseconds to wait before invoking fn
|
217 |
-
* @param fn function to be debounced
|
218 |
-
* @param ctx object to be used as this reference within fn
|
219 |
-
* @return debounced version of fn
|
220 |
-
*/
|
221 |
-
function debounce(quietMillis, fn, ctx) {
|
222 |
-
ctx = ctx || undefined;
|
223 |
-
var timeout;
|
224 |
-
return function () {
|
225 |
-
var args = arguments;
|
226 |
-
window.clearTimeout(timeout);
|
227 |
-
timeout = window.setTimeout(function() {
|
228 |
-
fn.apply(ctx, args);
|
229 |
-
}, quietMillis);
|
230 |
-
};
|
231 |
-
}
|
232 |
-
|
233 |
-
function installDebouncedScroll(threshold, element) {
|
234 |
-
var notify = debounce(threshold, function (e) { element.trigger("scroll-debounced", e);});
|
235 |
-
element.on("scroll", function (e) {
|
236 |
-
if (indexOf(e.target, element.get()) >= 0) notify(e);
|
237 |
-
});
|
238 |
-
}
|
239 |
-
|
240 |
-
function focus($el) {
|
241 |
-
if ($el[0] === document.activeElement) return;
|
242 |
-
|
243 |
-
/* set the focus in a 0 timeout - that way the focus is set after the processing
|
244 |
-
of the current event has finished - which seems like the only reliable way
|
245 |
-
to set focus */
|
246 |
-
window.setTimeout(function() {
|
247 |
-
var el=$el[0], pos=$el.val().length, range;
|
248 |
-
|
249 |
-
$el.focus();
|
250 |
-
|
251 |
-
/* make sure el received focus so we do not error out when trying to manipulate the caret.
|
252 |
-
sometimes modals or others listeners may steal it after its set */
|
253 |
-
var isVisible = (el.offsetWidth > 0 || el.offsetHeight > 0);
|
254 |
-
if (isVisible && el === document.activeElement) {
|
255 |
-
|
256 |
-
/* after the focus is set move the caret to the end, necessary when we val()
|
257 |
-
just before setting focus */
|
258 |
-
if(el.setSelectionRange)
|
259 |
-
{
|
260 |
-
el.setSelectionRange(pos, pos);
|
261 |
-
}
|
262 |
-
else if (el.createTextRange) {
|
263 |
-
range = el.createTextRange();
|
264 |
-
range.collapse(false);
|
265 |
-
range.select();
|
266 |
-
}
|
267 |
-
}
|
268 |
-
}, 0);
|
269 |
-
}
|
270 |
-
|
271 |
-
function getCursorInfo(el) {
|
272 |
-
el = $(el)[0];
|
273 |
-
var offset = 0;
|
274 |
-
var length = 0;
|
275 |
-
if ('selectionStart' in el) {
|
276 |
-
offset = el.selectionStart;
|
277 |
-
length = el.selectionEnd - offset;
|
278 |
-
} else if ('selection' in document) {
|
279 |
-
el.focus();
|
280 |
-
var sel = document.selection.createRange();
|
281 |
-
length = document.selection.createRange().text.length;
|
282 |
-
sel.moveStart('character', -el.value.length);
|
283 |
-
offset = sel.text.length - length;
|
284 |
-
}
|
285 |
-
return { offset: offset, length: length };
|
286 |
-
}
|
287 |
-
|
288 |
-
function killEvent(event) {
|
289 |
-
event.preventDefault();
|
290 |
-
event.stopPropagation();
|
291 |
-
}
|
292 |
-
function killEventImmediately(event) {
|
293 |
-
event.preventDefault();
|
294 |
-
event.stopImmediatePropagation();
|
295 |
-
}
|
296 |
-
|
297 |
-
function measureTextWidth(e) {
|
298 |
-
if (!sizer){
|
299 |
-
var style = e[0].currentStyle || window.getComputedStyle(e[0], null);
|
300 |
-
sizer = $(document.createElement("div")).css({
|
301 |
-
position: "absolute",
|
302 |
-
left: "-10000px",
|
303 |
-
top: "-10000px",
|
304 |
-
display: "none",
|
305 |
-
fontSize: style.fontSize,
|
306 |
-
fontFamily: style.fontFamily,
|
307 |
-
fontStyle: style.fontStyle,
|
308 |
-
fontWeight: style.fontWeight,
|
309 |
-
letterSpacing: style.letterSpacing,
|
310 |
-
textTransform: style.textTransform,
|
311 |
-
whiteSpace: "nowrap"
|
312 |
-
});
|
313 |
-
sizer.attr("class","select2-sizer");
|
314 |
-
$(document.body).append(sizer);
|
315 |
-
}
|
316 |
-
sizer.text(e.val());
|
317 |
-
return sizer.width();
|
318 |
-
}
|
319 |
-
|
320 |
-
function syncCssClasses(dest, src, adapter) {
|
321 |
-
var classes, replacements = [], adapted;
|
322 |
-
|
323 |
-
classes = $.trim(dest.attr("class"));
|
324 |
-
|
325 |
-
if (classes) {
|
326 |
-
classes = '' + classes; // for IE which returns object
|
327 |
-
|
328 |
-
$(classes.split(/\s+/)).each2(function() {
|
329 |
-
if (this.indexOf("select2-") === 0) {
|
330 |
-
replacements.push(this);
|
331 |
-
}
|
332 |
-
});
|
333 |
-
}
|
334 |
-
|
335 |
-
classes = $.trim(src.attr("class"));
|
336 |
-
|
337 |
-
if (classes) {
|
338 |
-
classes = '' + classes; // for IE which returns object
|
339 |
-
|
340 |
-
$(classes.split(/\s+/)).each2(function() {
|
341 |
-
if (this.indexOf("select2-") !== 0) {
|
342 |
-
adapted = adapter(this);
|
343 |
-
|
344 |
-
if (adapted) {
|
345 |
-
replacements.push(adapted);
|
346 |
-
}
|
347 |
-
}
|
348 |
-
});
|
349 |
-
}
|
350 |
-
|
351 |
-
dest.attr("class", replacements.join(" "));
|
352 |
-
}
|
353 |
-
|
354 |
-
|
355 |
-
function markMatch(text, term, markup, escapeMarkup) {
|
356 |
-
var match=stripDiacritics(text.toUpperCase()).indexOf(stripDiacritics(term.toUpperCase())),
|
357 |
-
tl=term.length;
|
358 |
-
|
359 |
-
if (match<0) {
|
360 |
-
markup.push(escapeMarkup(text));
|
361 |
-
return;
|
362 |
-
}
|
363 |
-
|
364 |
-
markup.push(escapeMarkup(text.substring(0, match)));
|
365 |
-
markup.push("<span class='select2-match'>");
|
366 |
-
markup.push(escapeMarkup(text.substring(match, match + tl)));
|
367 |
-
markup.push("</span>");
|
368 |
-
markup.push(escapeMarkup(text.substring(match + tl, text.length)));
|
369 |
-
}
|
370 |
-
|
371 |
-
function defaultEscapeMarkup(markup) {
|
372 |
-
var replace_map = {
|
373 |
-
'\\': '\',
|
374 |
-
'&': '&',
|
375 |
-
'<': '<',
|
376 |
-
'>': '>',
|
377 |
-
'"': '"',
|
378 |
-
"'": ''',
|
379 |
-
"/": '/'
|
380 |
-
};
|
381 |
-
|
382 |
-
return String(markup).replace(/[&<>"'\/\\]/g, function (match) {
|
383 |
-
return replace_map[match];
|
384 |
-
});
|
385 |
-
}
|
386 |
-
|
387 |
-
/**
|
388 |
-
* Produces an ajax-based query function
|
389 |
-
*
|
390 |
-
* @param options object containing configuration parameters
|
391 |
-
* @param options.params parameter map for the transport ajax call, can contain such options as cache, jsonpCallback, etc. see $.ajax
|
392 |
-
* @param options.transport function that will be used to execute the ajax request. must be compatible with parameters supported by $.ajax
|
393 |
-
* @param options.url url for the data
|
394 |
-
* @param options.data a function(searchTerm, pageNumber, context) that should return an object containing query string parameters for the above url.
|
395 |
-
* @param options.dataType request data type: ajax, jsonp, other datatypes supported by jQuery's $.ajax function or the transport function if specified
|
396 |
-
* @param options.quietMillis (optional) milliseconds to wait before making the ajaxRequest, helps debounce the ajax function if invoked too often
|
397 |
-
* @param options.results a function(remoteData, pageNumber, query) that converts data returned form the remote request to the format expected by Select2.
|
398 |
-
* The expected format is an object containing the following keys:
|
399 |
-
* results array of objects that will be used as choices
|
400 |
-
* more (optional) boolean indicating whether there are more results available
|
401 |
-
* Example: {results:[{id:1, text:'Red'},{id:2, text:'Blue'}], more:true}
|
402 |
-
*/
|
403 |
-
function ajax(options) {
|
404 |
-
var timeout, // current scheduled but not yet executed request
|
405 |
-
handler = null,
|
406 |
-
quietMillis = options.quietMillis || 100,
|
407 |
-
ajaxUrl = options.url,
|
408 |
-
self = this;
|
409 |
-
|
410 |
-
return function (query) {
|
411 |
-
window.clearTimeout(timeout);
|
412 |
-
timeout = window.setTimeout(function () {
|
413 |
-
var data = options.data, // ajax data function
|
414 |
-
url = ajaxUrl, // ajax url string or function
|
415 |
-
transport = options.transport || $.fn.select2.ajaxDefaults.transport,
|
416 |
-
// deprecated - to be removed in 4.0 - use params instead
|
417 |
-
deprecated = {
|
418 |
-
type: options.type || 'GET', // set type of request (GET or POST)
|
419 |
-
cache: options.cache || false,
|
420 |
-
jsonpCallback: options.jsonpCallback||undefined,
|
421 |
-
dataType: options.dataType||"json"
|
422 |
-
},
|
423 |
-
params = $.extend({}, $.fn.select2.ajaxDefaults.params, deprecated);
|
424 |
-
|
425 |
-
data = data ? data.call(self, query.term, query.page, query.context) : null;
|
426 |
-
url = (typeof url === 'function') ? url.call(self, query.term, query.page, query.context) : url;
|
427 |
-
|
428 |
-
if (handler && typeof handler.abort === "function") { handler.abort(); }
|
429 |
-
|
430 |
-
if (options.params) {
|
431 |
-
if ($.isFunction(options.params)) {
|
432 |
-
$.extend(params, options.params.call(self));
|
433 |
-
} else {
|
434 |
-
$.extend(params, options.params);
|
435 |
-
}
|
436 |
-
}
|
437 |
-
|
438 |
-
$.extend(params, {
|
439 |
-
url: url,
|
440 |
-
dataType: options.dataType,
|
441 |
-
data: data,
|
442 |
-
success: function (data) {
|
443 |
-
// TODO - replace query.page with query so users have access to term, page, etc.
|
444 |
-
// added query as third paramter to keep backwards compatibility
|
445 |
-
var results = options.results(data, query.page, query);
|
446 |
-
query.callback(results);
|
447 |
-
},
|
448 |
-
error: function(jqXHR, textStatus, errorThrown){
|
449 |
-
var results = {
|
450 |
-
hasError: true,
|
451 |
-
jqXHR: jqXHR,
|
452 |
-
textStatus: textStatus,
|
453 |
-
errorThrown: errorThrown
|
454 |
-
};
|
455 |
-
|
456 |
-
query.callback(results);
|
457 |
-
}
|
458 |
-
});
|
459 |
-
handler = transport.call(self, params);
|
460 |
-
}, quietMillis);
|
461 |
-
};
|
462 |
-
}
|
463 |
-
|
464 |
-
/**
|
465 |
-
* Produces a query function that works with a local array
|
466 |
-
*
|
467 |
-
* @param options object containing configuration parameters. The options parameter can either be an array or an
|
468 |
-
* object.
|
469 |
-
*
|
470 |
-
* If the array form is used it is assumed that it contains objects with 'id' and 'text' keys.
|
471 |
-
*
|
472 |
-
* If the object form is used it is assumed that it contains 'data' and 'text' keys. The 'data' key should contain
|
473 |
-
* an array of objects that will be used as choices. These objects must contain at least an 'id' key. The 'text'
|
474 |
-
* key can either be a String in which case it is expected that each element in the 'data' array has a key with the
|
475 |
-
* value of 'text' which will be used to match choices. Alternatively, text can be a function(item) that can extract
|
476 |
-
* the text.
|
477 |
-
*/
|
478 |
-
function local(options) {
|
479 |
-
var data = options, // data elements
|
480 |
-
dataText,
|
481 |
-
tmp,
|
482 |
-
text = function (item) { return ""+item.text; }; // function used to retrieve the text portion of a data item that is matched against the search
|
483 |
-
|
484 |
-
if ($.isArray(data)) {
|
485 |
-
tmp = data;
|
486 |
-
data = { results: tmp };
|
487 |
-
}
|
488 |
-
|
489 |
-
if ($.isFunction(data) === false) {
|
490 |
-
tmp = data;
|
491 |
-
data = function() { return tmp; };
|
492 |
-
}
|
493 |
-
|
494 |
-
var dataItem = data();
|
495 |
-
if (dataItem.text) {
|
496 |
-
text = dataItem.text;
|
497 |
-
// if text is not a function we assume it to be a key name
|
498 |
-
if (!$.isFunction(text)) {
|
499 |
-
dataText = dataItem.text; // we need to store this in a separate variable because in the next step data gets reset and data.text is no longer available
|
500 |
-
text = function (item) { return item[dataText]; };
|
501 |
-
}
|
502 |
-
}
|
503 |
-
|
504 |
-
return function (query) {
|
505 |
-
var t = query.term, filtered = { results: [] }, process;
|
506 |
-
if (t === "") {
|
507 |
-
query.callback(data());
|
508 |
-
return;
|
509 |
-
}
|
510 |
-
|
511 |
-
process = function(datum, collection) {
|
512 |
-
var group, attr;
|
513 |
-
datum = datum[0];
|
514 |
-
if (datum.children) {
|
515 |
-
group = {};
|
516 |
-
for (attr in datum) {
|
517 |
-
if (datum.hasOwnProperty(attr)) group[attr]=datum[attr];
|
518 |
-
}
|
519 |
-
group.children=[];
|
520 |
-
$(datum.children).each2(function(i, childDatum) { process(childDatum, group.children); });
|
521 |
-
if (group.children.length || query.matcher(t, text(group), datum)) {
|
522 |
-
collection.push(group);
|
523 |
-
}
|
524 |
-
} else {
|
525 |
-
if (query.matcher(t, text(datum), datum)) {
|
526 |
-
collection.push(datum);
|
527 |
-
}
|
528 |
-
}
|
529 |
-
};
|
530 |
-
|
531 |
-
$(data().results).each2(function(i, datum) { process(datum, filtered.results); });
|
532 |
-
query.callback(filtered);
|
533 |
-
};
|
534 |
-
}
|
535 |
-
|
536 |
-
// TODO javadoc
|
537 |
-
function tags(data) {
|
538 |
-
var isFunc = $.isFunction(data);
|
539 |
-
return function (query) {
|
540 |
-
var t = query.term, filtered = {results: []};
|
541 |
-
var result = isFunc ? data(query) : data;
|
542 |
-
if ($.isArray(result)) {
|
543 |
-
$(result).each(function () {
|
544 |
-
var isObject = this.text !== undefined,
|
545 |
-
text = isObject ? this.text : this;
|
546 |
-
if (t === "" || query.matcher(t, text)) {
|
547 |
-
filtered.results.push(isObject ? this : {id: this, text: this});
|
548 |
-
}
|
549 |
-
});
|
550 |
-
query.callback(filtered);
|
551 |
-
}
|
552 |
-
};
|
553 |
-
}
|
554 |
-
|
555 |
-
/**
|
556 |
-
* Checks if the formatter function should be used.
|
557 |
-
*
|
558 |
-
* Throws an error if it is not a function. Returns true if it should be used,
|
559 |
-
* false if no formatting should be performed.
|
560 |
-
*
|
561 |
-
* @param formatter
|
562 |
-
*/
|
563 |
-
function checkFormatter(formatter, formatterName) {
|
564 |
-
if ($.isFunction(formatter)) return true;
|
565 |
-
if (!formatter) return false;
|
566 |
-
if (typeof(formatter) === 'string') return true;
|
567 |
-
throw new Error(formatterName +" must be a string, function, or falsy value");
|
568 |
-
}
|
569 |
-
|
570 |
-
/**
|
571 |
-
* Returns a given value
|
572 |
-
* If given a function, returns its output
|
573 |
-
*
|
574 |
-
* @param val string|function
|
575 |
-
* @param context value of "this" to be passed to function
|
576 |
-
* @returns {*}
|
577 |
-
*/
|
578 |
-
function evaluate(val, context) {
|
579 |
-
if ($.isFunction(val)) {
|
580 |
-
var args = Array.prototype.slice.call(arguments, 2);
|
581 |
-
return val.apply(context, args);
|
582 |
-
}
|
583 |
-
return val;
|
584 |
-
}
|
585 |
-
|
586 |
-
function countResults(results) {
|
587 |
-
var count = 0;
|
588 |
-
$.each(results, function(i, item) {
|
589 |
-
if (item.children) {
|
590 |
-
count += countResults(item.children);
|
591 |
-
} else {
|
592 |
-
count++;
|
593 |
-
}
|
594 |
-
});
|
595 |
-
return count;
|
596 |
-
}
|
597 |
-
|
598 |
-
/**
|
599 |
-
* Default tokenizer. This function uses breaks the input on substring match of any string from the
|
600 |
-
* opts.tokenSeparators array and uses opts.createSearchChoice to create the choice object. Both of those
|
601 |
-
* two options have to be defined in order for the tokenizer to work.
|
602 |
-
*
|
603 |
-
* @param input text user has typed so far or pasted into the search field
|
604 |
-
* @param selection currently selected choices
|
605 |
-
* @param selectCallback function(choice) callback tho add the choice to selection
|
606 |
-
* @param opts select2's opts
|
607 |
-
* @return undefined/null to leave the current input unchanged, or a string to change the input to the returned value
|
608 |
-
*/
|
609 |
-
function defaultTokenizer(input, selection, selectCallback, opts) {
|
610 |
-
var original = input, // store the original so we can compare and know if we need to tell the search to update its text
|
611 |
-
dupe = false, // check for whether a token we extracted represents a duplicate selected choice
|
612 |
-
token, // token
|
613 |
-
index, // position at which the separator was found
|
614 |
-
i, l, // looping variables
|
615 |
-
separator; // the matched separator
|
616 |
-
|
617 |
-
if (!opts.createSearchChoice || !opts.tokenSeparators || opts.tokenSeparators.length < 1) return undefined;
|
618 |
-
|
619 |
-
while (true) {
|
620 |
-
index = -1;
|
621 |
-
|
622 |
-
for (i = 0, l = opts.tokenSeparators.length; i < l; i++) {
|
623 |
-
separator = opts.tokenSeparators[i];
|
624 |
-
index = input.indexOf(separator);
|
625 |
-
if (index >= 0) break;
|
626 |
-
}
|
627 |
-
|
628 |
-
if (index < 0) break; // did not find any token separator in the input string, bail
|
629 |
-
|
630 |
-
token = input.substring(0, index);
|
631 |
-
input = input.substring(index + separator.length);
|
632 |
-
|
633 |
-
if (token.length > 0) {
|
634 |
-
token = opts.createSearchChoice.call(this, token, selection);
|
635 |
-
if (token !== undefined && token !== null && opts.id(token) !== undefined && opts.id(token) !== null) {
|
636 |
-
dupe = false;
|
637 |
-
for (i = 0, l = selection.length; i < l; i++) {
|
638 |
-
if (equal(opts.id(token), opts.id(selection[i]))) {
|
639 |
-
dupe = true; break;
|
640 |
-
}
|
641 |
-
}
|
642 |
-
|
643 |
-
if (!dupe) selectCallback(token);
|
644 |
-
}
|
645 |
-
}
|
646 |
-
}
|
647 |
-
|
648 |
-
if (original!==input) return input;
|
649 |
-
}
|
650 |
-
|
651 |
-
function cleanupJQueryElements() {
|
652 |
-
var self = this;
|
653 |
-
|
654 |
-
$.each(arguments, function (i, element) {
|
655 |
-
self[element].remove();
|
656 |
-
self[element] = null;
|
657 |
-
});
|
658 |
-
}
|
659 |
-
|
660 |
-
/**
|
661 |
-
* Creates a new class
|
662 |
-
*
|
663 |
-
* @param superClass
|
664 |
-
* @param methods
|
665 |
-
*/
|
666 |
-
function clazz(SuperClass, methods) {
|
667 |
-
var constructor = function () {};
|
668 |
-
constructor.prototype = new SuperClass;
|
669 |
-
constructor.prototype.constructor = constructor;
|
670 |
-
constructor.prototype.parent = SuperClass.prototype;
|
671 |
-
constructor.prototype = $.extend(constructor.prototype, methods);
|
672 |
-
return constructor;
|
673 |
-
}
|
674 |
-
|
675 |
-
AbstractSelect2 = clazz(Object, {
|
676 |
-
|
677 |
-
// abstract
|
678 |
-
bind: function (func) {
|
679 |
-
var self = this;
|
680 |
-
return function () {
|
681 |
-
func.apply(self, arguments);
|
682 |
-
};
|
683 |
-
},
|
684 |
-
|
685 |
-
// abstract
|
686 |
-
init: function (opts) {
|
687 |
-
var results, search, resultsSelector = ".select2-results";
|
688 |
-
|
689 |
-
// prepare options
|
690 |
-
this.opts = opts = this.prepareOpts(opts);
|
691 |
-
|
692 |
-
this.id=opts.id;
|
693 |
-
|
694 |
-
// destroy if called on an existing component
|
695 |
-
if (opts.element.data("select2") !== undefined &&
|
696 |
-
opts.element.data("select2") !== null) {
|
697 |
-
opts.element.data("select2").destroy();
|
698 |
-
}
|
699 |
-
|
700 |
-
this.container = this.createContainer();
|
701 |
-
|
702 |
-
this.liveRegion = $('.select2-hidden-accessible');
|
703 |
-
if (this.liveRegion.length == 0) {
|
704 |
-
this.liveRegion = $("<span>", {
|
705 |
-
role: "status",
|
706 |
-
"aria-live": "polite"
|
707 |
-
})
|
708 |
-
.addClass("select2-hidden-accessible")
|
709 |
-
.appendTo(document.body);
|
710 |
-
}
|
711 |
-
|
712 |
-
this.containerId="s2id_"+(opts.element.attr("id") || "autogen"+nextUid());
|
713 |
-
this.containerEventName= this.containerId
|
714 |
-
.replace(/([.])/g, '_')
|
715 |
-
.replace(/([;&,\-\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g, '\\$1');
|
716 |
-
this.container.attr("id", this.containerId);
|
717 |
-
|
718 |
-
this.container.attr("title", opts.element.attr("title"));
|
719 |
-
|
720 |
-
this.body = $(document.body);
|
721 |
-
|
722 |
-
syncCssClasses(this.container, this.opts.element, this.opts.adaptContainerCssClass);
|
723 |
-
|
724 |
-
this.container.attr("style", opts.element.attr("style"));
|
725 |
-
this.container.css(evaluate(opts.containerCss, this.opts.element));
|
726 |
-
this.container.addClass(evaluate(opts.containerCssClass, this.opts.element));
|
727 |
-
|
728 |
-
this.elementTabIndex = this.opts.element.attr("tabindex");
|
729 |
-
|
730 |
-
// swap container for the element
|
731 |
-
this.opts.element
|
732 |
-
.data("select2", this)
|
733 |
-
.attr("tabindex", "-1")
|
734 |
-
.before(this.container)
|
735 |
-
.on("click.select2", killEvent); // do not leak click events
|
736 |
-
|
737 |
-
this.container.data("select2", this);
|
738 |
-
|
739 |
-
this.dropdown = this.container.find(".select2-drop");
|
740 |
-
|
741 |
-
syncCssClasses(this.dropdown, this.opts.element, this.opts.adaptDropdownCssClass);
|
742 |
-
|
743 |
-
this.dropdown.addClass(evaluate(opts.dropdownCssClass, this.opts.element));
|
744 |
-
this.dropdown.data("select2", this);
|
745 |
-
this.dropdown.on("click", killEvent);
|
746 |
-
|
747 |
-
this.results = results = this.container.find(resultsSelector);
|
748 |
-
this.search = search = this.container.find("input.select2-input");
|
749 |
-
|
750 |
-
this.queryCount = 0;
|
751 |
-
this.resultsPage = 0;
|
752 |
-
this.context = null;
|
753 |
-
|
754 |
-
// initialize the container
|
755 |
-
this.initContainer();
|
756 |
-
|
757 |
-
this.container.on("click", killEvent);
|
758 |
-
|
759 |
-
installFilteredMouseMove(this.results);
|
760 |
-
|
761 |
-
this.dropdown.on("mousemove-filtered", resultsSelector, this.bind(this.highlightUnderEvent));
|
762 |
-
this.dropdown.on("touchstart touchmove touchend", resultsSelector, this.bind(function (event) {
|
763 |
-
this._touchEvent = true;
|
764 |
-
this.highlightUnderEvent(event);
|
765 |
-
}));
|
766 |
-
this.dropdown.on("touchmove", resultsSelector, this.bind(this.touchMoved));
|
767 |
-
this.dropdown.on("touchstart touchend", resultsSelector, this.bind(this.clearTouchMoved));
|
768 |
-
|
769 |
-
// Waiting for a click event on touch devices to select option and hide dropdown
|
770 |
-
// otherwise click will be triggered on an underlying element
|
771 |
-
this.dropdown.on('click', this.bind(function (event) {
|
772 |
-
if (this._touchEvent) {
|
773 |
-
this._touchEvent = false;
|
774 |
-
this.selectHighlighted();
|
775 |
-
}
|
776 |
-
}));
|
777 |
-
|
778 |
-
installDebouncedScroll(80, this.results);
|
779 |
-
this.dropdown.on("scroll-debounced", resultsSelector, this.bind(this.loadMoreIfNeeded));
|
780 |
-
|
781 |
-
// do not propagate change event from the search field out of the component
|
782 |
-
$(this.container).on("change", ".select2-input", function(e) {e.stopPropagation();});
|
783 |
-
$(this.dropdown).on("change", ".select2-input", function(e) {e.stopPropagation();});
|
784 |
-
|
785 |
-
// if jquery.mousewheel plugin is installed we can prevent out-of-bounds scrolling of results via mousewheel
|
786 |
-
if ($.fn.mousewheel) {
|
787 |
-
results.mousewheel(function (e, delta, deltaX, deltaY) {
|
788 |
-
var top = results.scrollTop();
|
789 |
-
if (deltaY > 0 && top - deltaY <= 0) {
|
790 |
-
results.scrollTop(0);
|
791 |
-
killEvent(e);
|
792 |
-
} else if (deltaY < 0 && results.get(0).scrollHeight - results.scrollTop() + deltaY <= results.height()) {
|
793 |
-
results.scrollTop(results.get(0).scrollHeight - results.height());
|
794 |
-
killEvent(e);
|
795 |
-
}
|
796 |
-
});
|
797 |
-
}
|
798 |
-
|
799 |
-
installKeyUpChangeEvent(search);
|
800 |
-
search.on("keyup-change input paste", this.bind(this.updateResults));
|
801 |
-
search.on("focus", function () { search.addClass("select2-focused"); });
|
802 |
-
search.on("blur", function () { search.removeClass("select2-focused");});
|
803 |
-
|
804 |
-
this.dropdown.on("mouseup", resultsSelector, this.bind(function (e) {
|
805 |
-
if ($(e.target).closest(".select2-result-selectable").length > 0) {
|
806 |
-
this.highlightUnderEvent(e);
|
807 |
-
this.selectHighlighted(e);
|
808 |
-
}
|
809 |
-
}));
|
810 |
-
|
811 |
-
// trap all mouse events from leaving the dropdown. sometimes there may be a modal that is listening
|
812 |
-
// for mouse events outside of itself so it can close itself. since the dropdown is now outside the select2's
|
813 |
-
// dom it will trigger the popup close, which is not what we want
|
814 |
-
// focusin can cause focus wars between modals and select2 since the dropdown is outside the modal.
|
815 |
-
this.dropdown.on("click mouseup mousedown touchstart touchend focusin", function (e) { e.stopPropagation(); });
|
816 |
-
|
817 |
-
this.nextSearchTerm = undefined;
|
818 |
-
|
819 |
-
if ($.isFunction(this.opts.initSelection)) {
|
820 |
-
// initialize selection based on the current value of the source element
|
821 |
-
this.initSelection();
|
822 |
-
|
823 |
-
// if the user has provided a function that can set selection based on the value of the source element
|
824 |
-
// we monitor the change event on the element and trigger it, allowing for two way synchronization
|
825 |
-
this.monitorSource();
|
826 |
-
}
|
827 |
-
|
828 |
-
if (opts.maximumInputLength !== null) {
|
829 |
-
this.search.attr("maxlength", opts.maximumInputLength);
|
830 |
-
}
|
831 |
-
|
832 |
-
var disabled = opts.element.prop("disabled");
|
833 |
-
if (disabled === undefined) disabled = false;
|
834 |
-
this.enable(!disabled);
|
835 |
-
|
836 |
-
var readonly = opts.element.prop("readonly");
|
837 |
-
if (readonly === undefined) readonly = false;
|
838 |
-
this.readonly(readonly);
|
839 |
-
|
840 |
-
// Calculate size of scrollbar
|
841 |
-
scrollBarDimensions = scrollBarDimensions || measureScrollbar();
|
842 |
-
|
843 |
-
this.autofocus = opts.element.prop("autofocus");
|
844 |
-
opts.element.prop("autofocus", false);
|
845 |
-
if (this.autofocus) this.focus();
|
846 |
-
|
847 |
-
this.search.attr("placeholder", opts.searchInputPlaceholder);
|
848 |
-
},
|
849 |
-
|
850 |
-
// abstract
|
851 |
-
destroy: function () {
|
852 |
-
var element=this.opts.element, select2 = element.data("select2"), self = this;
|
853 |
-
|
854 |
-
this.close();
|
855 |
-
|
856 |
-
if (element.length && element[0].detachEvent && self._sync) {
|
857 |
-
element.each(function () {
|
858 |
-
if (self._sync) {
|
859 |
-
this.detachEvent("onpropertychange", self._sync);
|
860 |
-
}
|
861 |
-
});
|
862 |
-
}
|
863 |
-
if (this.propertyObserver) {
|
864 |
-
this.propertyObserver.disconnect();
|
865 |
-
this.propertyObserver = null;
|
866 |
-
}
|
867 |
-
this._sync = null;
|
868 |
-
|
869 |
-
if (select2 !== undefined) {
|
870 |
-
select2.container.remove();
|
871 |
-
select2.liveRegion.remove();
|
872 |
-
select2.dropdown.remove();
|
873 |
-
element
|
874 |
-
.show()
|
875 |
-
.removeData("select2")
|
876 |
-
.off(".select2")
|
877 |
-
.prop("autofocus", this.autofocus || false);
|
878 |
-
if (this.elementTabIndex) {
|
879 |
-
element.attr({tabindex: this.elementTabIndex});
|
880 |
-
} else {
|
881 |
-
element.removeAttr("tabindex");
|
882 |
-
}
|
883 |
-
element.show();
|
884 |
-
}
|
885 |
-
|
886 |
-
cleanupJQueryElements.call(this,
|
887 |
-
"container",
|
888 |
-
"liveRegion",
|
889 |
-
"dropdown",
|
890 |
-
"results",
|
891 |
-
"search"
|
892 |
-
);
|
893 |
-
},
|
894 |
-
|
895 |
-
// abstract
|
896 |
-
optionToData: function(element) {
|
897 |
-
if (element.is("option")) {
|
898 |
-
return {
|
899 |
-
id:element.prop("value"),
|
900 |
-
text:element.text(),
|
901 |
-
element: element.get(),
|
902 |
-
css: element.attr("class"),
|
903 |
-
disabled: element.prop("disabled"),
|
904 |
-
locked: equal(element.attr("locked"), "locked") || equal(element.data("locked"), true)
|
905 |
-
};
|
906 |
-
} else if (element.is("optgroup")) {
|
907 |
-
return {
|
908 |
-
text:element.attr("label"),
|
909 |
-
children:[],
|
910 |
-
element: element.get(),
|
911 |
-
css: element.attr("class")
|
912 |
-
};
|
913 |
-
}
|
914 |
-
},
|
915 |
-
|
916 |
-
// abstract
|
917 |
-
prepareOpts: function (opts) {
|
918 |
-
var element, select, idKey, ajaxUrl, self = this;
|
919 |
-
|
920 |
-
element = opts.element;
|
921 |
-
|
922 |
-
if (element.get(0).tagName.toLowerCase() === "select") {
|
923 |
-
this.select = select = opts.element;
|
924 |
-
}
|
925 |
-
|
926 |
-
if (select) {
|
927 |
-
// these options are not allowed when attached to a select because they are picked up off the element itself
|
928 |
-
$.each(["id", "multiple", "ajax", "query", "createSearchChoice", "initSelection", "data", "tags"], function () {
|
929 |
-
if (this in opts) {
|
930 |
-
throw new Error("Option '" + this + "' is not allowed for Select2 when attached to a <select> element.");
|
931 |
-
}
|
932 |
-
});
|
933 |
-
}
|
934 |
-
|
935 |
-
opts = $.extend({}, {
|
936 |
-
populateResults: function(container, results, query) {
|
937 |
-
var populate, id=this.opts.id, liveRegion=this.liveRegion;
|
938 |
-
|
939 |
-
populate=function(results, container, depth) {
|
940 |
-
|
941 |
-
var i, l, result, selectable, disabled, compound, node, label, innerContainer, formatted;
|
942 |
-
|
943 |
-
results = opts.sortResults(results, container, query);
|
944 |
-
|
945 |
-
// collect the created nodes for bulk append
|
946 |
-
var nodes = [];
|
947 |
-
for (i = 0, l = results.length; i < l; i = i + 1) {
|
948 |
-
|
949 |
-
result=results[i];
|
950 |
-
|
951 |
-
disabled = (result.disabled === true);
|
952 |
-
selectable = (!disabled) && (id(result) !== undefined);
|
953 |
-
|
954 |
-
compound=result.children && result.children.length > 0;
|
955 |
-
|
956 |
-
node=$("<li></li>");
|
957 |
-
node.addClass("select2-results-dept-"+depth);
|
958 |
-
node.addClass("select2-result");
|
959 |
-
node.addClass(selectable ? "select2-result-selectable" : "select2-result-unselectable");
|
960 |
-
if (disabled) { node.addClass("select2-disabled"); }
|
961 |
-
if (compound) { node.addClass("select2-result-with-children"); }
|
962 |
-
node.addClass(self.opts.formatResultCssClass(result));
|
963 |
-
node.attr("role", "presentation");
|
964 |
-
|
965 |
-
label=$(document.createElement("div"));
|
966 |
-
label.addClass("select2-result-label");
|
967 |
-
label.attr("id", "select2-result-label-" + nextUid());
|
968 |
-
label.attr("role", "option");
|
969 |
-
|
970 |
-
formatted=opts.formatResult(result, label, query, self.opts.escapeMarkup);
|
971 |
-
if (formatted!==undefined) {
|
972 |
-
label.html(formatted);
|
973 |
-
node.append(label);
|
974 |
-
}
|
975 |
-
|
976 |
-
|
977 |
-
if (compound) {
|
978 |
-
|
979 |
-
innerContainer=$("<ul></ul>");
|
980 |
-
innerContainer.addClass("select2-result-sub");
|
981 |
-
populate(result.children, innerContainer, depth+1);
|
982 |
-
node.append(innerContainer);
|
983 |
-
}
|
984 |
-
|
985 |
-
node.data("select2-data", result);
|
986 |
-
nodes.push(node[0]);
|
987 |
-
}
|
988 |
-
|
989 |
-
// bulk append the created nodes
|
990 |
-
container.append(nodes);
|
991 |
-
liveRegion.text(opts.formatMatches(results.length));
|
992 |
-
};
|
993 |
-
|
994 |
-
populate(results, container, 0);
|
995 |
-
}
|
996 |
-
}, $.fn.select2.defaults, opts);
|
997 |
-
|
998 |
-
if (typeof(opts.id) !== "function") {
|
999 |
-
idKey = opts.id;
|
1000 |
-
opts.id = function (e) { return e[idKey]; };
|
1001 |
-
}
|
1002 |
-
|
1003 |
-
if ($.isArray(opts.element.data("select2Tags"))) {
|
1004 |
-
if ("tags" in opts) {
|
1005 |
-
throw "tags specified as both an attribute 'data-select2-tags' and in options of Select2 " + opts.element.attr("id");
|
1006 |
-
}
|
1007 |
-
opts.tags=opts.element.data("select2Tags");
|
1008 |
-
}
|
1009 |
-
|
1010 |
-
if (select) {
|
1011 |
-
opts.query = this.bind(function (query) {
|
1012 |
-
var data = { results: [], more: false },
|
1013 |
-
term = query.term,
|
1014 |
-
children, placeholderOption, process;
|
1015 |
-
|
1016 |
-
process=function(element, collection) {
|
1017 |
-
var group;
|
1018 |
-
if (element.is("option")) {
|
1019 |
-
if (query.matcher(term, element.text(), element)) {
|
1020 |
-
collection.push(self.optionToData(element));
|
1021 |
-
}
|
1022 |
-
} else if (element.is("optgroup")) {
|
1023 |
-
group=self.optionToData(element);
|
1024 |
-
element.children().each2(function(i, elm) { process(elm, group.children); });
|
1025 |
-
if (group.children.length>0) {
|
1026 |
-
collection.push(group);
|
1027 |
-
}
|
1028 |
-
}
|
1029 |
-
};
|
1030 |
-
|
1031 |
-
children=element.children();
|
1032 |
-
|
1033 |
-
// ignore the placeholder option if there is one
|
1034 |
-
if (this.getPlaceholder() !== undefined && children.length > 0) {
|
1035 |
-
placeholderOption = this.getPlaceholderOption();
|
1036 |
-
if (placeholderOption) {
|
1037 |
-
children=children.not(placeholderOption);
|
1038 |
-
}
|
1039 |
-
}
|
1040 |
-
|
1041 |
-
children.each2(function(i, elm) { process(elm, data.results); });
|
1042 |
-
|
1043 |
-
query.callback(data);
|
1044 |
-
});
|
1045 |
-
// this is needed because inside val() we construct choices from options and their id is hardcoded
|
1046 |
-
opts.id=function(e) { return e.id; };
|
1047 |
-
} else {
|
1048 |
-
if (!("query" in opts)) {
|
1049 |
-
|
1050 |
-
if ("ajax" in opts) {
|
1051 |
-
ajaxUrl = opts.element.data("ajax-url");
|
1052 |
-
if (ajaxUrl && ajaxUrl.length > 0) {
|
1053 |
-
opts.ajax.url = ajaxUrl;
|
1054 |
-
}
|
1055 |
-
opts.query = ajax.call(opts.element, opts.ajax);
|
1056 |
-
} else if ("data" in opts) {
|
1057 |
-
opts.query = local(opts.data);
|
1058 |
-
} else if ("tags" in opts) {
|
1059 |
-
opts.query = tags(opts.tags);
|
1060 |
-
if (opts.createSearchChoice === undefined) {
|
1061 |
-
opts.createSearchChoice = function (term) { return {id: $.trim(term), text: $.trim(term)}; };
|
1062 |
-
}
|
1063 |
-
if (opts.initSelection === undefined) {
|
1064 |
-
opts.initSelection = function (element, callback) {
|
1065 |
-
var data = [];
|
1066 |
-
$(splitVal(element.val(), opts.separator, opts.transformVal)).each(function () {
|
1067 |
-
var obj = { id: this, text: this },
|
1068 |
-
tags = opts.tags;
|
1069 |
-
if ($.isFunction(tags)) tags=tags();
|
1070 |
-
$(tags).each(function() { if (equal(this.id, obj.id)) { obj = this; return false; } });
|
1071 |
-
data.push(obj);
|
1072 |
-
});
|
1073 |
-
|
1074 |
-
callback(data);
|
1075 |
-
};
|
1076 |
-
}
|
1077 |
-
}
|
1078 |
-
}
|
1079 |
-
}
|
1080 |
-
if (typeof(opts.query) !== "function") {
|
1081 |
-
throw "query function not defined for Select2 " + opts.element.attr("id");
|
1082 |
-
}
|
1083 |
-
|
1084 |
-
if (opts.createSearchChoicePosition === 'top') {
|
1085 |
-
opts.createSearchChoicePosition = function(list, item) { list.unshift(item); };
|
1086 |
-
}
|
1087 |
-
else if (opts.createSearchChoicePosition === 'bottom') {
|
1088 |
-
opts.createSearchChoicePosition = function(list, item) { list.push(item); };
|
1089 |
-
}
|
1090 |
-
else if (typeof(opts.createSearchChoicePosition) !== "function") {
|
1091 |
-
throw "invalid createSearchChoicePosition option must be 'top', 'bottom' or a custom function";
|
1092 |
-
}
|
1093 |
-
|
1094 |
-
return opts;
|
1095 |
-
},
|
1096 |
-
|
1097 |
-
/**
|
1098 |
-
* Monitor the original element for changes and update select2 accordingly
|
1099 |
-
*/
|
1100 |
-
// abstract
|
1101 |
-
monitorSource: function () {
|
1102 |
-
var el = this.opts.element, observer, self = this;
|
1103 |
-
|
1104 |
-
el.on("change.select2", this.bind(function (e) {
|
1105 |
-
if (this.opts.element.data("select2-change-triggered") !== true) {
|
1106 |
-
this.initSelection();
|
1107 |
-
}
|
1108 |
-
}));
|
1109 |
-
|
1110 |
-
this._sync = this.bind(function () {
|
1111 |
-
|
1112 |
-
// sync enabled state
|
1113 |
-
var disabled = el.prop("disabled");
|
1114 |
-
if (disabled === undefined) disabled = false;
|
1115 |
-
this.enable(!disabled);
|
1116 |
-
|
1117 |
-
var readonly = el.prop("readonly");
|
1118 |
-
if (readonly === undefined) readonly = false;
|
1119 |
-
this.readonly(readonly);
|
1120 |
-
|
1121 |
-
if (this.container) {
|
1122 |
-
syncCssClasses(this.container, this.opts.element, this.opts.adaptContainerCssClass);
|
1123 |
-
this.container.addClass(evaluate(this.opts.containerCssClass, this.opts.element));
|
1124 |
-
}
|
1125 |
-
|
1126 |
-
if (this.dropdown) {
|
1127 |
-
syncCssClasses(this.dropdown, this.opts.element, this.opts.adaptDropdownCssClass);
|
1128 |
-
this.dropdown.addClass(evaluate(this.opts.dropdownCssClass, this.opts.element));
|
1129 |
-
}
|
1130 |
-
|
1131 |
-
});
|
1132 |
-
|
1133 |
-
// IE8-10 (IE9/10 won't fire propertyChange via attachEventListener)
|
1134 |
-
if (el.length && el[0].attachEvent) {
|
1135 |
-
el.each(function() {
|
1136 |
-
this.attachEvent("onpropertychange", self._sync);
|
1137 |
-
});
|
1138 |
-
}
|
1139 |
-
|
1140 |
-
// safari, chrome, firefox, IE11
|
1141 |
-
observer = window.MutationObserver || window.WebKitMutationObserver|| window.MozMutationObserver;
|
1142 |
-
if (observer !== undefined) {
|
1143 |
-
if (this.propertyObserver) { delete this.propertyObserver; this.propertyObserver = null; }
|
1144 |
-
this.propertyObserver = new observer(function (mutations) {
|
1145 |
-
$.each(mutations, self._sync);
|
1146 |
-
});
|
1147 |
-
this.propertyObserver.observe(el.get(0), { attributes:true, subtree:false });
|
1148 |
-
}
|
1149 |
-
},
|
1150 |
-
|
1151 |
-
// abstract
|
1152 |
-
triggerSelect: function(data) {
|
1153 |
-
var evt = $.Event("select2-selecting", { val: this.id(data), object: data, choice: data });
|
1154 |
-
this.opts.element.trigger(evt);
|
1155 |
-
return !evt.isDefaultPrevented();
|
1156 |
-
},
|
1157 |
-
|
1158 |
-
/**
|
1159 |
-
* Triggers the change event on the source element
|
1160 |
-
*/
|
1161 |
-
// abstract
|
1162 |
-
triggerChange: function (details) {
|
1163 |
-
|
1164 |
-
details = details || {};
|
1165 |
-
details= $.extend({}, details, { type: "change", val: this.val() });
|
1166 |
-
// prevents recursive triggering
|
1167 |
-
this.opts.element.data("select2-change-triggered", true);
|
1168 |
-
this.opts.element.trigger(details);
|
1169 |
-
this.opts.element.data("select2-change-triggered", false);
|
1170 |
-
|
1171 |
-
// some validation frameworks ignore the change event and listen instead to keyup, click for selects
|
1172 |
-
// so here we trigger the click event manually
|
1173 |
-
this.opts.element.click();
|
1174 |
-
|
1175 |
-
// ValidationEngine ignores the change event and listens instead to blur
|
1176 |
-
// so here we trigger the blur event manually if so desired
|
1177 |
-
if (this.opts.blurOnChange)
|
1178 |
-
this.opts.element.blur();
|
1179 |
-
},
|
1180 |
-
|
1181 |
-
//abstract
|
1182 |
-
isInterfaceEnabled: function()
|
1183 |
-
{
|
1184 |
-
return this.enabledInterface === true;
|
1185 |
-
},
|
1186 |
-
|
1187 |
-
// abstract
|
1188 |
-
enableInterface: function() {
|
1189 |
-
var enabled = this._enabled && !this._readonly,
|
1190 |
-
disabled = !enabled;
|
1191 |
-
|
1192 |
-
if (enabled === this.enabledInterface) return false;
|
1193 |
-
|
1194 |
-
this.container.toggleClass("select2-container-disabled", disabled);
|
1195 |
-
this.close();
|
1196 |
-
this.enabledInterface = enabled;
|
1197 |
-
|
1198 |
-
return true;
|
1199 |
-
},
|
1200 |
-
|
1201 |
-
// abstract
|
1202 |
-
enable: function(enabled) {
|
1203 |
-
if (enabled === undefined) enabled = true;
|
1204 |
-
if (this._enabled === enabled) return;
|
1205 |
-
this._enabled = enabled;
|
1206 |
-
|
1207 |
-
this.opts.element.prop("disabled", !enabled);
|
1208 |
-
this.enableInterface();
|
1209 |
-
},
|
1210 |
-
|
1211 |
-
// abstract
|
1212 |
-
disable: function() {
|
1213 |
-
this.enable(false);
|
1214 |
-
},
|
1215 |
-
|
1216 |
-
// abstract
|
1217 |
-
readonly: function(enabled) {
|
1218 |
-
if (enabled === undefined) enabled = false;
|
1219 |
-
if (this._readonly === enabled) return;
|
1220 |
-
this._readonly = enabled;
|
1221 |
-
|
1222 |
-
this.opts.element.prop("readonly", enabled);
|
1223 |
-
this.enableInterface();
|
1224 |
-
},
|
1225 |
-
|
1226 |
-
// abstract
|
1227 |
-
opened: function () {
|
1228 |
-
return (this.container) ? this.container.hasClass("select2-dropdown-open") : false;
|
1229 |
-
},
|
1230 |
-
|
1231 |
-
// abstract
|
1232 |
-
positionDropdown: function() {
|
1233 |
-
var $dropdown = this.dropdown,
|
1234 |
-
container = this.container,
|
1235 |
-
offset = container.offset(),
|
1236 |
-
height = container.outerHeight(false),
|
1237 |
-
width = container.outerWidth(false),
|
1238 |
-
dropHeight = $dropdown.outerHeight(false),
|
1239 |
-
$window = $(window),
|
1240 |
-
windowWidth = $window.width(),
|
1241 |
-
windowHeight = $window.height(),
|
1242 |
-
viewPortRight = $window.scrollLeft() + windowWidth,
|
1243 |
-
viewportBottom = $window.scrollTop() + windowHeight,
|
1244 |
-
dropTop = offset.top + height,
|
1245 |
-
dropLeft = offset.left,
|
1246 |
-
enoughRoomBelow = dropTop + dropHeight <= viewportBottom,
|
1247 |
-
enoughRoomAbove = (offset.top - dropHeight) >= $window.scrollTop(),
|
1248 |
-
dropWidth = $dropdown.outerWidth(false),
|
1249 |
-
enoughRoomOnRight = function() {
|
1250 |
-
return dropLeft + dropWidth <= viewPortRight;
|
1251 |
-
},
|
1252 |
-
enoughRoomOnLeft = function() {
|
1253 |
-
return offset.left + viewPortRight + container.outerWidth(false) > dropWidth;
|
1254 |
-
},
|
1255 |
-
aboveNow = $dropdown.hasClass("select2-drop-above"),
|
1256 |
-
bodyOffset,
|
1257 |
-
above,
|
1258 |
-
changeDirection,
|
1259 |
-
css,
|
1260 |
-
resultsListNode;
|
1261 |
-
|
1262 |
-
// always prefer the current above/below alignment, unless there is not enough room
|
1263 |
-
if (aboveNow) {
|
1264 |
-
above = true;
|
1265 |
-
if (!enoughRoomAbove && enoughRoomBelow) {
|
1266 |
-
changeDirection = true;
|
1267 |
-
above = false;
|
1268 |
-
}
|
1269 |
-
} else {
|
1270 |
-
above = false;
|
1271 |
-
if (!enoughRoomBelow && enoughRoomAbove) {
|
1272 |
-
changeDirection = true;
|
1273 |
-
above = true;
|
1274 |
-
}
|
1275 |
-
}
|
1276 |
-
|
1277 |
-
//if we are changing direction we need to get positions when dropdown is hidden;
|
1278 |
-
if (changeDirection) {
|
1279 |
-
$dropdown.hide();
|
1280 |
-
offset = this.container.offset();
|
1281 |
-
height = this.container.outerHeight(false);
|
1282 |
-
width = this.container.outerWidth(false);
|
1283 |
-
dropHeight = $dropdown.outerHeight(false);
|
1284 |
-
viewPortRight = $window.scrollLeft() + windowWidth;
|
1285 |
-
viewportBottom = $window.scrollTop() + windowHeight;
|
1286 |
-
dropTop = offset.top + height;
|
1287 |
-
dropLeft = offset.left;
|
1288 |
-
dropWidth = $dropdown.outerWidth(false);
|
1289 |
-
$dropdown.show();
|
1290 |
-
|
1291 |
-
// fix so the cursor does not move to the left within the search-textbox in IE
|
1292 |
-
this.focusSearch();
|
1293 |
-
}
|
1294 |
-
|
1295 |
-
if (this.opts.dropdownAutoWidth) {
|
1296 |
-
resultsListNode = $('.select2-results', $dropdown)[0];
|
1297 |
-
$dropdown.addClass('select2-drop-auto-width');
|
1298 |
-
$dropdown.css('width', '');
|
1299 |
-
// Add scrollbar width to dropdown if vertical scrollbar is present
|
1300 |
-
dropWidth = $dropdown.outerWidth(false) + (resultsListNode.scrollHeight === resultsListNode.clientHeight ? 0 : scrollBarDimensions.width);
|
1301 |
-
dropWidth > width ? width = dropWidth : dropWidth = width;
|
1302 |
-
dropHeight = $dropdown.outerHeight(false);
|
1303 |
-
}
|
1304 |
-
else {
|
1305 |
-
this.container.removeClass('select2-drop-auto-width');
|
1306 |
-
}
|
1307 |
-
|
1308 |
-
//console.log("below/ droptop:", dropTop, "dropHeight", dropHeight, "sum", (dropTop+dropHeight)+" viewport bottom", viewportBottom, "enough?", enoughRoomBelow);
|
1309 |
-
//console.log("above/ offset.top", offset.top, "dropHeight", dropHeight, "top", (offset.top-dropHeight), "scrollTop", this.body.scrollTop(), "enough?", enoughRoomAbove);
|
1310 |
-
|
1311 |
-
// fix positioning when body has an offset and is not position: static
|
1312 |
-
if (this.body.css('position') !== 'static') {
|
1313 |
-
bodyOffset = this.body.offset();
|
1314 |
-
dropTop -= bodyOffset.top;
|
1315 |
-
dropLeft -= bodyOffset.left;
|
1316 |
-
}
|
1317 |
-
|
1318 |
-
if (!enoughRoomOnRight() && enoughRoomOnLeft()) {
|
1319 |
-
dropLeft = offset.left + this.container.outerWidth(false) - dropWidth;
|
1320 |
-
}
|
1321 |
-
|
1322 |
-
css = {
|
1323 |
-
left: dropLeft,
|
1324 |
-
width: width
|
1325 |
-
};
|
1326 |
-
|
1327 |
-
if (above) {
|
1328 |
-
css.top = offset.top - dropHeight;
|
1329 |
-
css.bottom = 'auto';
|
1330 |
-
this.container.addClass("select2-drop-above");
|
1331 |
-
$dropdown.addClass("select2-drop-above");
|
1332 |
-
}
|
1333 |
-
else {
|
1334 |
-
css.top = dropTop;
|
1335 |
-
css.bottom = 'auto';
|
1336 |
-
this.container.removeClass("select2-drop-above");
|
1337 |
-
$dropdown.removeClass("select2-drop-above");
|
1338 |
-
}
|
1339 |
-
css = $.extend(css, evaluate(this.opts.dropdownCss, this.opts.element));
|
1340 |
-
|
1341 |
-
$dropdown.css(css);
|
1342 |
-
},
|
1343 |
-
|
1344 |
-
// abstract
|
1345 |
-
shouldOpen: function() {
|
1346 |
-
var event;
|
1347 |
-
|
1348 |
-
if (this.opened()) return false;
|
1349 |
-
|
1350 |
-
if (this._enabled === false || this._readonly === true) return false;
|
1351 |
-
|
1352 |
-
event = $.Event("select2-opening");
|
1353 |
-
this.opts.element.trigger(event);
|
1354 |
-
return !event.isDefaultPrevented();
|
1355 |
-
},
|
1356 |
-
|
1357 |
-
// abstract
|
1358 |
-
clearDropdownAlignmentPreference: function() {
|
1359 |
-
// clear the classes used to figure out the preference of where the dropdown should be opened
|
1360 |
-
this.container.removeClass("select2-drop-above");
|
1361 |
-
this.dropdown.removeClass("select2-drop-above");
|
1362 |
-
},
|
1363 |
-
|
1364 |
-
/**
|
1365 |
-
* Opens the dropdown
|
1366 |
-
*
|
1367 |
-
* @return {Boolean} whether or not dropdown was opened. This method will return false if, for example,
|
1368 |
-
* the dropdown is already open, or if the 'open' event listener on the element called preventDefault().
|
1369 |
-
*/
|
1370 |
-
// abstract
|
1371 |
-
open: function () {
|
1372 |
-
|
1373 |
-
if (!this.shouldOpen()) return false;
|
1374 |
-
|
1375 |
-
this.opening();
|
1376 |
-
|
1377 |
-
// Only bind the document mousemove when the dropdown is visible
|
1378 |
-
$document.on("mousemove.select2Event", function (e) {
|
1379 |
-
lastMousePosition.x = e.pageX;
|
1380 |
-
lastMousePosition.y = e.pageY;
|
1381 |
-
});
|
1382 |
-
|
1383 |
-
return true;
|
1384 |
-
},
|
1385 |
-
|
1386 |
-
/**
|
1387 |
-
* Performs the opening of the dropdown
|
1388 |
-
*/
|
1389 |
-
// abstract
|
1390 |
-
opening: function() {
|
1391 |
-
var cid = this.containerEventName,
|
1392 |
-
scroll = "scroll." + cid,
|
1393 |
-
resize = "resize."+cid,
|
1394 |
-
orient = "orientationchange."+cid,
|
1395 |
-
mask;
|
1396 |
-
|
1397 |
-
this.container.addClass("select2-dropdown-open").addClass("select2-container-active");
|
1398 |
-
|
1399 |
-
this.clearDropdownAlignmentPreference();
|
1400 |
-
|
1401 |
-
if(this.dropdown[0] !== this.body.children().last()[0]) {
|
1402 |
-
this.dropdown.detach().appendTo(this.body);
|
1403 |
-
}
|
1404 |
-
|
1405 |
-
// create the dropdown mask if doesn't already exist
|
1406 |
-
mask = $("#select2-drop-mask");
|
1407 |
-
if (mask.length === 0) {
|
1408 |
-
mask = $(document.createElement("div"));
|
1409 |
-
mask.attr("id","select2-drop-mask").attr("class","select2-drop-mask");
|
1410 |
-
mask.hide();
|
1411 |
-
mask.appendTo(this.body);
|
1412 |
-
mask.on("mousedown touchstart click", function (e) {
|
1413 |
-
// Prevent IE from generating a click event on the body
|
1414 |
-
reinsertElement(mask);
|
1415 |
-
|
1416 |
-
var dropdown = $("#select2-drop"), self;
|
1417 |
-
if (dropdown.length > 0) {
|
1418 |
-
self=dropdown.data("select2");
|
1419 |
-
if (self.opts.selectOnBlur) {
|
1420 |
-
self.selectHighlighted({noFocus: true});
|
1421 |
-
}
|
1422 |
-
self.close();
|
1423 |
-
e.preventDefault();
|
1424 |
-
e.stopPropagation();
|
1425 |
-
}
|
1426 |
-
});
|
1427 |
-
}
|
1428 |
-
|
1429 |
-
// ensure the mask is always right before the dropdown
|
1430 |
-
if (this.dropdown.prev()[0] !== mask[0]) {
|
1431 |
-
this.dropdown.before(mask);
|
1432 |
-
}
|
1433 |
-
|
1434 |
-
// move the global id to the correct dropdown
|
1435 |
-
$("#select2-drop").removeAttr("id");
|
1436 |
-
this.dropdown.attr("id", "select2-drop");
|
1437 |
-
|
1438 |
-
// show the elements
|
1439 |
-
mask.show();
|
1440 |
-
|
1441 |
-
this.positionDropdown();
|
1442 |
-
this.dropdown.show();
|
1443 |
-
this.positionDropdown();
|
1444 |
-
|
1445 |
-
this.dropdown.addClass("select2-drop-active");
|
1446 |
-
|
1447 |
-
// attach listeners to events that can change the position of the container and thus require
|
1448 |
-
// the position of the dropdown to be updated as well so it does not come unglued from the container
|
1449 |
-
var that = this;
|
1450 |
-
this.container.parents().add(window).each(function () {
|
1451 |
-
$(this).on(resize+" "+scroll+" "+orient, function (e) {
|
1452 |
-
if (that.opened()) that.positionDropdown();
|
1453 |
-
});
|
1454 |
-
});
|
1455 |
-
|
1456 |
-
|
1457 |
-
},
|
1458 |
-
|
1459 |
-
// abstract
|
1460 |
-
close: function () {
|
1461 |
-
if (!this.opened()) return;
|
1462 |
-
|
1463 |
-
var cid = this.containerEventName,
|
1464 |
-
scroll = "scroll." + cid,
|
1465 |
-
resize = "resize."+cid,
|
1466 |
-
orient = "orientationchange."+cid;
|
1467 |
-
|
1468 |
-
// unbind event listeners
|
1469 |
-
this.container.parents().add(window).each(function () { $(this).off(scroll).off(resize).off(orient); });
|
1470 |
-
|
1471 |
-
this.clearDropdownAlignmentPreference();
|
1472 |
-
|
1473 |
-
$("#select2-drop-mask").hide();
|
1474 |
-
this.dropdown.removeAttr("id"); // only the active dropdown has the select2-drop id
|
1475 |
-
this.dropdown.hide();
|
1476 |
-
this.container.removeClass("select2-dropdown-open").removeClass("select2-container-active");
|
1477 |
-
this.results.empty();
|
1478 |
-
|
1479 |
-
// Now that the dropdown is closed, unbind the global document mousemove event
|
1480 |
-
$document.off("mousemove.select2Event");
|
1481 |
-
|
1482 |
-
this.clearSearch();
|
1483 |
-
this.search.removeClass("select2-active");
|
1484 |
-
this.opts.element.trigger($.Event("select2-close"));
|
1485 |
-
},
|
1486 |
-
|
1487 |
-
/**
|
1488 |
-
* Opens control, sets input value, and updates results.
|
1489 |
-
*/
|
1490 |
-
// abstract
|
1491 |
-
externalSearch: function (term) {
|
1492 |
-
this.open();
|
1493 |
-
this.search.val(term);
|
1494 |
-
this.updateResults(false);
|
1495 |
-
},
|
1496 |
-
|
1497 |
-
// abstract
|
1498 |
-
clearSearch: function () {
|
1499 |
-
|
1500 |
-
},
|
1501 |
-
|
1502 |
-
//abstract
|
1503 |
-
getMaximumSelectionSize: function() {
|
1504 |
-
return evaluate(this.opts.maximumSelectionSize, this.opts.element);
|
1505 |
-
},
|
1506 |
-
|
1507 |
-
// abstract
|
1508 |
-
ensureHighlightVisible: function () {
|
1509 |
-
var results = this.results, children, index, child, hb, rb, y, more, topOffset;
|
1510 |
-
|
1511 |
-
index = this.highlight();
|
1512 |
-
|
1513 |
-
if (index < 0) return;
|
1514 |
-
|
1515 |
-
if (index == 0) {
|
1516 |
-
|
1517 |
-
// if the first element is highlighted scroll all the way to the top,
|
1518 |
-
// that way any unselectable headers above it will also be scrolled
|
1519 |
-
// into view
|
1520 |
-
|
1521 |
-
results.scrollTop(0);
|
1522 |
-
return;
|
1523 |
-
}
|
1524 |
-
|
1525 |
-
children = this.findHighlightableChoices().find('.select2-result-label');
|
1526 |
-
|
1527 |
-
child = $(children[index]);
|
1528 |
-
|
1529 |
-
topOffset = (child.offset() || {}).top || 0;
|
1530 |
-
|
1531 |
-
hb = topOffset + child.outerHeight(true);
|
1532 |
-
|
1533 |
-
// if this is the last child lets also make sure select2-more-results is visible
|
1534 |
-
if (index === children.length - 1) {
|
1535 |
-
more = results.find("li.select2-more-results");
|
1536 |
-
if (more.length > 0) {
|
1537 |
-
hb = more.offset().top + more.outerHeight(true);
|
1538 |
-
}
|
1539 |
-
}
|
1540 |
-
|
1541 |
-
rb = results.offset().top + results.outerHeight(false);
|
1542 |
-
if (hb > rb) {
|
1543 |
-
results.scrollTop(results.scrollTop() + (hb - rb));
|
1544 |
-
}
|
1545 |
-
y = topOffset - results.offset().top;
|
1546 |
-
|
1547 |
-
// make sure the top of the element is visible
|
1548 |
-
if (y < 0 && child.css('display') != 'none' ) {
|
1549 |
-
results.scrollTop(results.scrollTop() + y); // y is negative
|
1550 |
-
}
|
1551 |
-
},
|
1552 |
-
|
1553 |
-
// abstract
|
1554 |
-
findHighlightableChoices: function() {
|
1555 |
-
return this.results.find(".select2-result-selectable:not(.select2-disabled):not(.select2-selected)");
|
1556 |
-
},
|
1557 |
-
|
1558 |
-
// abstract
|
1559 |
-
moveHighlight: function (delta) {
|
1560 |
-
var choices = this.findHighlightableChoices(),
|
1561 |
-
index = this.highlight();
|
1562 |
-
|
1563 |
-
while (index > -1 && index < choices.length) {
|
1564 |
-
index += delta;
|
1565 |
-
var choice = $(choices[index]);
|
1566 |
-
if (choice.hasClass("select2-result-selectable") && !choice.hasClass("select2-disabled") && !choice.hasClass("select2-selected")) {
|
1567 |
-
this.highlight(index);
|
1568 |
-
break;
|
1569 |
-
}
|
1570 |
-
}
|
1571 |
-
},
|
1572 |
-
|
1573 |
-
// abstract
|
1574 |
-
highlight: function (index) {
|
1575 |
-
var choices = this.findHighlightableChoices(),
|
1576 |
-
choice,
|
1577 |
-
data;
|
1578 |
-
|
1579 |
-
if (arguments.length === 0) {
|
1580 |
-
return indexOf(choices.filter(".select2-highlighted")[0], choices.get());
|
1581 |
-
}
|
1582 |
-
|
1583 |
-
if (index >= choices.length) index = choices.length - 1;
|
1584 |
-
if (index < 0) index = 0;
|
1585 |
-
|
1586 |
-
this.removeHighlight();
|
1587 |
-
|
1588 |
-
choice = $(choices[index]);
|
1589 |
-
choice.addClass("select2-highlighted");
|
1590 |
-
|
1591 |
-
// ensure assistive technology can determine the active choice
|
1592 |
-
this.search.attr("aria-activedescendant", choice.find(".select2-result-label").attr("id"));
|
1593 |
-
|
1594 |
-
this.ensureHighlightVisible();
|
1595 |
-
|
1596 |
-
this.liveRegion.text(choice.text());
|
1597 |
-
|
1598 |
-
data = choice.data("select2-data");
|
1599 |
-
if (data) {
|
1600 |
-
this.opts.element.trigger({ type: "select2-highlight", val: this.id(data), choice: data });
|
1601 |
-
}
|
1602 |
-
},
|
1603 |
-
|
1604 |
-
removeHighlight: function() {
|
1605 |
-
this.results.find(".select2-highlighted").removeClass("select2-highlighted");
|
1606 |
-
},
|
1607 |
-
|
1608 |
-
touchMoved: function() {
|
1609 |
-
this._touchMoved = true;
|
1610 |
-
},
|
1611 |
-
|
1612 |
-
clearTouchMoved: function() {
|
1613 |
-
this._touchMoved = false;
|
1614 |
-
},
|
1615 |
-
|
1616 |
-
// abstract
|
1617 |
-
countSelectableResults: function() {
|
1618 |
-
return this.findHighlightableChoices().length;
|
1619 |
-
},
|
1620 |
-
|
1621 |
-
// abstract
|
1622 |
-
highlightUnderEvent: function (event) {
|
1623 |
-
var el = $(event.target).closest(".select2-result-selectable");
|
1624 |
-
if (el.length > 0 && !el.is(".select2-highlighted")) {
|
1625 |
-
var choices = this.findHighlightableChoices();
|
1626 |
-
this.highlight(choices.index(el));
|
1627 |
-
} else if (el.length == 0) {
|
1628 |
-
// if we are over an unselectable item remove all highlights
|
1629 |
-
this.removeHighlight();
|
1630 |
-
}
|
1631 |
-
},
|
1632 |
-
|
1633 |
-
// abstract
|
1634 |
-
loadMoreIfNeeded: function () {
|
1635 |
-
var results = this.results,
|
1636 |
-
more = results.find("li.select2-more-results"),
|
1637 |
-
below, // pixels the element is below the scroll fold, below==0 is when the element is starting to be visible
|
1638 |
-
page = this.resultsPage + 1,
|
1639 |
-
self=this,
|
1640 |
-
term=this.search.val(),
|
1641 |
-
context=this.context;
|
1642 |
-
|
1643 |
-
if (more.length === 0) return;
|
1644 |
-
below = more.offset().top - results.offset().top - results.height();
|
1645 |
-
|
1646 |
-
if (below <= this.opts.loadMorePadding) {
|
1647 |
-
more.addClass("select2-active");
|
1648 |
-
this.opts.query({
|
1649 |
-
element: this.opts.element,
|
1650 |
-
term: term,
|
1651 |
-
page: page,
|
1652 |
-
context: context,
|
1653 |
-
matcher: this.opts.matcher,
|
1654 |
-
callback: this.bind(function (data) {
|
1655 |
-
|
1656 |
-
// ignore a response if the select2 has been closed before it was received
|
1657 |
-
if (!self.opened()) return;
|
1658 |
-
|
1659 |
-
|
1660 |
-
self.opts.populateResults.call(this, results, data.results, {term: term, page: page, context:context});
|
1661 |
-
self.postprocessResults(data, false, false);
|
1662 |
-
|
1663 |
-
if (data.more===true) {
|
1664 |
-
more.detach().appendTo(results).html(self.opts.escapeMarkup(evaluate(self.opts.formatLoadMore, self.opts.element, page+1)));
|
1665 |
-
window.setTimeout(function() { self.loadMoreIfNeeded(); }, 10);
|
1666 |
-
} else {
|
1667 |
-
more.remove();
|
1668 |
-
}
|
1669 |
-
self.positionDropdown();
|
1670 |
-
self.resultsPage = page;
|
1671 |
-
self.context = data.context;
|
1672 |
-
this.opts.element.trigger({ type: "select2-loaded", items: data });
|
1673 |
-
})});
|
1674 |
-
}
|
1675 |
-
},
|
1676 |
-
|
1677 |
-
/**
|
1678 |
-
* Default tokenizer function which does nothing
|
1679 |
-
*/
|
1680 |
-
tokenize: function() {
|
1681 |
-
|
1682 |
-
},
|
1683 |
-
|
1684 |
-
/**
|
1685 |
-
* @param initial whether or not this is the call to this method right after the dropdown has been opened
|
1686 |
-
*/
|
1687 |
-
// abstract
|
1688 |
-
updateResults: function (initial) {
|
1689 |
-
var search = this.search,
|
1690 |
-
results = this.results,
|
1691 |
-
opts = this.opts,
|
1692 |
-
data,
|
1693 |
-
self = this,
|
1694 |
-
input,
|
1695 |
-
term = search.val(),
|
1696 |
-
lastTerm = $.data(this.container, "select2-last-term"),
|
1697 |
-
// sequence number used to drop out-of-order responses
|
1698 |
-
queryNumber;
|
1699 |
-
|
1700 |
-
// prevent duplicate queries against the same term
|
1701 |
-
if (initial !== true && lastTerm && equal(term, lastTerm)) return;
|
1702 |
-
|
1703 |
-
$.data(this.container, "select2-last-term", term);
|
1704 |
-
|
1705 |
-
// if the search is currently hidden we do not alter the results
|
1706 |
-
if (initial !== true && (this.showSearchInput === false || !this.opened())) {
|
1707 |
-
return;
|
1708 |
-
}
|
1709 |
-
|
1710 |
-
function postRender() {
|
1711 |
-
search.removeClass("select2-active");
|
1712 |
-
self.positionDropdown();
|
1713 |
-
if (results.find('.select2-no-results,.select2-selection-limit,.select2-searching').length) {
|
1714 |
-
self.liveRegion.text(results.text());
|
1715 |
-
}
|
1716 |
-
else {
|
1717 |
-
self.liveRegion.text(self.opts.formatMatches(results.find('.select2-result-selectable:not(".select2-selected")').length));
|
1718 |
-
}
|
1719 |
-
}
|
1720 |
-
|
1721 |
-
function render(html) {
|
1722 |
-
results.html(html);
|
1723 |
-
postRender();
|
1724 |
-
}
|
1725 |
-
|
1726 |
-
queryNumber = ++this.queryCount;
|
1727 |
-
|
1728 |
-
var maxSelSize = this.getMaximumSelectionSize();
|
1729 |
-
if (maxSelSize >=1) {
|
1730 |
-
data = this.data();
|
1731 |
-
if ($.isArray(data) && data.length >= maxSelSize && checkFormatter(opts.formatSelectionTooBig, "formatSelectionTooBig")) {
|
1732 |
-
render("<li class='select2-selection-limit'>" + evaluate(opts.formatSelectionTooBig, opts.element, maxSelSize) + "</li>");
|
1733 |
-
return;
|
1734 |
-
}
|
1735 |
-
}
|
1736 |
-
|
1737 |
-
if (search.val().length < opts.minimumInputLength) {
|
1738 |
-
if (checkFormatter(opts.formatInputTooShort, "formatInputTooShort")) {
|
1739 |
-
render("<li class='select2-no-results'>" + evaluate(opts.formatInputTooShort, opts.element, search.val(), opts.minimumInputLength) + "</li>");
|
1740 |
-
} else {
|
1741 |
-
render("");
|
1742 |
-
}
|
1743 |
-
if (initial && this.showSearch) this.showSearch(true);
|
1744 |
-
return;
|
1745 |
-
}
|
1746 |
-
|
1747 |
-
if (opts.maximumInputLength && search.val().length > opts.maximumInputLength) {
|
1748 |
-
if (checkFormatter(opts.formatInputTooLong, "formatInputTooLong")) {
|
1749 |
-
render("<li class='select2-no-results'>" + evaluate(opts.formatInputTooLong, opts.element, search.val(), opts.maximumInputLength) + "</li>");
|
1750 |
-
} else {
|
1751 |
-
render("");
|
1752 |
-
}
|
1753 |
-
return;
|
1754 |
-
}
|
1755 |
-
|
1756 |
-
if (opts.formatSearching && this.findHighlightableChoices().length === 0) {
|
1757 |
-
render("<li class='select2-searching'>" + evaluate(opts.formatSearching, opts.element) + "</li>");
|
1758 |
-
}
|
1759 |
-
|
1760 |
-
search.addClass("select2-active");
|
1761 |
-
|
1762 |
-
this.removeHighlight();
|
1763 |
-
|
1764 |
-
// give the tokenizer a chance to pre-process the input
|
1765 |
-
input = this.tokenize();
|
1766 |
-
if (input != undefined && input != null) {
|
1767 |
-
search.val(input);
|
1768 |
-
}
|
1769 |
-
|
1770 |
-
this.resultsPage = 1;
|
1771 |
-
|
1772 |
-
opts.query({
|
1773 |
-
element: opts.element,
|
1774 |
-
term: search.val(),
|
1775 |
-
page: this.resultsPage,
|
1776 |
-
context: null,
|
1777 |
-
matcher: opts.matcher,
|
1778 |
-
callback: this.bind(function (data) {
|
1779 |
-
var def; // default choice
|
1780 |
-
|
1781 |
-
// ignore old responses
|
1782 |
-
if (queryNumber != this.queryCount) {
|
1783 |
-
return;
|
1784 |
-
}
|
1785 |
-
|
1786 |
-
// ignore a response if the select2 has been closed before it was received
|
1787 |
-
if (!this.opened()) {
|
1788 |
-
this.search.removeClass("select2-active");
|
1789 |
-
return;
|
1790 |
-
}
|
1791 |
-
|
1792 |
-
// handle ajax error
|
1793 |
-
if(data.hasError !== undefined && checkFormatter(opts.formatAjaxError, "formatAjaxError")) {
|
1794 |
-
render("<li class='select2-ajax-error'>" + evaluate(opts.formatAjaxError, opts.element, data.jqXHR, data.textStatus, data.errorThrown) + "</li>");
|
1795 |
-
return;
|
1796 |
-
}
|
1797 |
-
|
1798 |
-
// save context, if any
|
1799 |
-
this.context = (data.context===undefined) ? null : data.context;
|
1800 |
-
// create a default choice and prepend it to the list
|
1801 |
-
if (this.opts.createSearchChoice && search.val() !== "") {
|
1802 |
-
def = this.opts.createSearchChoice.call(self, search.val(), data.results);
|
1803 |
-
if (def !== undefined && def !== null && self.id(def) !== undefined && self.id(def) !== null) {
|
1804 |
-
if ($(data.results).filter(
|
1805 |
-
function () {
|
1806 |
-
return equal(self.id(this), self.id(def));
|
1807 |
-
}).length === 0) {
|
1808 |
-
this.opts.createSearchChoicePosition(data.results, def);
|
1809 |
-
}
|
1810 |
-
}
|
1811 |
-
}
|
1812 |
-
|
1813 |
-
if (data.results.length === 0 && checkFormatter(opts.formatNoMatches, "formatNoMatches")) {
|
1814 |
-
render("<li class='select2-no-results'>" + evaluate(opts.formatNoMatches, opts.element, search.val()) + "</li>");
|
1815 |
-
return;
|
1816 |
-
}
|
1817 |
-
|
1818 |
-
results.empty();
|
1819 |
-
self.opts.populateResults.call(this, results, data.results, {term: search.val(), page: this.resultsPage, context:null});
|
1820 |
-
|
1821 |
-
if (data.more === true && checkFormatter(opts.formatLoadMore, "formatLoadMore")) {
|
1822 |
-
results.append("<li class='select2-more-results'>" + opts.escapeMarkup(evaluate(opts.formatLoadMore, opts.element, this.resultsPage)) + "</li>");
|
1823 |
-
window.setTimeout(function() { self.loadMoreIfNeeded(); }, 10);
|
1824 |
-
}
|
1825 |
-
|
1826 |
-
this.postprocessResults(data, initial);
|
1827 |
-
|
1828 |
-
postRender();
|
1829 |
-
|
1830 |
-
this.opts.element.trigger({ type: "select2-loaded", items: data });
|
1831 |
-
})});
|
1832 |
-
},
|
1833 |
-
|
1834 |
-
// abstract
|
1835 |
-
cancel: function () {
|
1836 |
-
this.close();
|
1837 |
-
},
|
1838 |
-
|
1839 |
-
// abstract
|
1840 |
-
blur: function () {
|
1841 |
-
// if selectOnBlur == true, select the currently highlighted option
|
1842 |
-
if (this.opts.selectOnBlur)
|
1843 |
-
this.selectHighlighted({noFocus: true});
|
1844 |
-
|
1845 |
-
this.close();
|
1846 |
-
this.container.removeClass("select2-container-active");
|
1847 |
-
// synonymous to .is(':focus'), which is available in jquery >= 1.6
|
1848 |
-
if (this.search[0] === document.activeElement) { this.search.blur(); }
|
1849 |
-
this.clearSearch();
|
1850 |
-
this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
|
1851 |
-
},
|
1852 |
-
|
1853 |
-
// abstract
|
1854 |
-
focusSearch: function () {
|
1855 |
-
focus(this.search);
|
1856 |
-
},
|
1857 |
-
|
1858 |
-
// abstract
|
1859 |
-
selectHighlighted: function (options) {
|
1860 |
-
if (this._touchMoved) {
|
1861 |
-
this.clearTouchMoved();
|
1862 |
-
return;
|
1863 |
-
}
|
1864 |
-
var index=this.highlight(),
|
1865 |
-
highlighted=this.results.find(".select2-highlighted"),
|
1866 |
-
data = highlighted.closest('.select2-result').data("select2-data");
|
1867 |
-
|
1868 |
-
if (data) {
|
1869 |
-
this.highlight(index);
|
1870 |
-
this.onSelect(data, options);
|
1871 |
-
} else if (options && options.noFocus) {
|
1872 |
-
this.close();
|
1873 |
-
}
|
1874 |
-
},
|
1875 |
-
|
1876 |
-
// abstract
|
1877 |
-
getPlaceholder: function () {
|
1878 |
-
var placeholderOption;
|
1879 |
-
return this.opts.element.attr("placeholder") ||
|
1880 |
-
this.opts.element.attr("data-placeholder") || // jquery 1.4 compat
|
1881 |
-
this.opts.element.data("placeholder") ||
|
1882 |
-
this.opts.placeholder ||
|
1883 |
-
((placeholderOption = this.getPlaceholderOption()) !== undefined ? placeholderOption.text() : undefined);
|
1884 |
-
},
|
1885 |
-
|
1886 |
-
// abstract
|
1887 |
-
getPlaceholderOption: function() {
|
1888 |
-
if (this.select) {
|
1889 |
-
var firstOption = this.select.children('option').first();
|
1890 |
-
if (this.opts.placeholderOption !== undefined ) {
|
1891 |
-
//Determine the placeholder option based on the specified placeholderOption setting
|
1892 |
-
return (this.opts.placeholderOption === "first" && firstOption) ||
|
1893 |
-
(typeof this.opts.placeholderOption === "function" && this.opts.placeholderOption(this.select));
|
1894 |
-
} else if ($.trim(firstOption.text()) === "" && firstOption.val() === "") {
|
1895 |
-
//No explicit placeholder option specified, use the first if it's blank
|
1896 |
-
return firstOption;
|
1897 |
-
}
|
1898 |
-
}
|
1899 |
-
},
|
1900 |
-
|
1901 |
-
/**
|
1902 |
-
* Get the desired width for the container element. This is
|
1903 |
-
* derived first from option `width` passed to select2, then
|
1904 |
-
* the inline 'style' on the original element, and finally
|
1905 |
-
* falls back to the jQuery calculated element width.
|
1906 |
-
*/
|
1907 |
-
// abstract
|
1908 |
-
initContainerWidth: function () {
|
1909 |
-
function resolveContainerWidth() {
|
1910 |
-
var style, attrs, matches, i, l, attr;
|
1911 |
-
|
1912 |
-
if (this.opts.width === "off") {
|
1913 |
-
return null;
|
1914 |
-
} else if (this.opts.width === "element"){
|
1915 |
-
return this.opts.element.outerWidth(false) === 0 ? 'auto' : this.opts.element.outerWidth(false) + 'px';
|
1916 |
-
} else if (this.opts.width === "copy" || this.opts.width === "resolve") {
|
1917 |
-
// check if there is inline style on the element that contains width
|
1918 |
-
style = this.opts.element.attr('style');
|
1919 |
-
if (style !== undefined) {
|
1920 |
-
attrs = style.split(';');
|
1921 |
-
for (i = 0, l = attrs.length; i < l; i = i + 1) {
|
1922 |
-
attr = attrs[i].replace(/\s/g, '');
|
1923 |
-
matches = attr.match(/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i);
|
1924 |
-
if (matches !== null && matches.length >= 1)
|
1925 |
-
return matches[1];
|
1926 |
-
}
|
1927 |
-
}
|
1928 |
-
|
1929 |
-
if (this.opts.width === "resolve") {
|
1930 |
-
// next check if css('width') can resolve a width that is percent based, this is sometimes possible
|
1931 |
-
// when attached to input type=hidden or elements hidden via css
|
1932 |
-
style = this.opts.element.css('width');
|
1933 |
-
if (style.indexOf("%") > 0) return style;
|
1934 |
-
|
1935 |
-
// finally, fallback on the calculated width of the element
|
1936 |
-
return (this.opts.element.outerWidth(false) === 0 ? 'auto' : this.opts.element.outerWidth(false) + 'px');
|
1937 |
-
}
|
1938 |
-
|
1939 |
-
return null;
|
1940 |
-
} else if ($.isFunction(this.opts.width)) {
|
1941 |
-
return this.opts.width();
|
1942 |
-
} else {
|
1943 |
-
return this.opts.width;
|
1944 |
-
}
|
1945 |
-
};
|
1946 |
-
|
1947 |
-
var width = resolveContainerWidth.call(this);
|
1948 |
-
if (width !== null) {
|
1949 |
-
this.container.css("width", width);
|
1950 |
-
}
|
1951 |
-
}
|
1952 |
-
});
|
1953 |
-
|
1954 |
-
SingleSelect2 = clazz(AbstractSelect2, {
|
1955 |
-
|
1956 |
-
// single
|
1957 |
-
|
1958 |
-
createContainer: function () {
|
1959 |
-
var container = $(document.createElement("div")).attr({
|
1960 |
-
"class": "select2-container"
|
1961 |
-
}).html([
|
1962 |
-
"<a href='javascript:void(0)' class='select2-choice' tabindex='-1'>",
|
1963 |
-
" <span class='select2-chosen'> </span><abbr class='select2-search-choice-close'></abbr>",
|
1964 |
-
" <span class='select2-arrow' role='presentation'><b role='presentation'></b></span>",
|
1965 |
-
"</a>",
|
1966 |
-
"<label for='' class='select2-offscreen'></label>",
|
1967 |
-
"<input class='select2-focusser select2-offscreen' type='text' aria-haspopup='true' role='button' />",
|
1968 |
-
"<div class='select2-drop select2-display-none'>",
|
1969 |
-
" <div class='select2-search'>",
|
1970 |
-
" <label for='' class='select2-offscreen'></label>",
|
1971 |
-
" <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input' role='combobox' aria-expanded='true'",
|
1972 |
-
" aria-autocomplete='list' />",
|
1973 |
-
" </div>",
|
1974 |
-
" <ul class='select2-results' role='listbox'>",
|
1975 |
-
" </ul>",
|
1976 |
-
"</div>"].join(""));
|
1977 |
-
return container;
|
1978 |
-
},
|
1979 |
-
|
1980 |
-
// single
|
1981 |
-
enableInterface: function() {
|
1982 |
-
if (this.parent.enableInterface.apply(this, arguments)) {
|
1983 |
-
this.focusser.prop("disabled", !this.isInterfaceEnabled());
|
1984 |
-
}
|
1985 |
-
},
|
1986 |
-
|
1987 |
-
// single
|
1988 |
-
opening: function () {
|
1989 |
-
var el, range, len;
|
1990 |
-
|
1991 |
-
if (this.opts.minimumResultsForSearch >= 0) {
|
1992 |
-
this.showSearch(true);
|
1993 |
-
}
|
1994 |
-
|
1995 |
-
this.parent.opening.apply(this, arguments);
|
1996 |
-
|
1997 |
-
if (this.showSearchInput !== false) {
|
1998 |
-
// IE appends focusser.val() at the end of field :/ so we manually insert it at the beginning using a range
|
1999 |
-
// all other browsers handle this just fine
|
2000 |
-
|
2001 |
-
this.search.val(this.focusser.val());
|
2002 |
-
}
|
2003 |
-
if (this.opts.shouldFocusInput(this)) {
|
2004 |
-
this.search.focus();
|
2005 |
-
// move the cursor to the end after focussing, otherwise it will be at the beginning and
|
2006 |
-
// new text will appear *before* focusser.val()
|
2007 |
-
el = this.search.get(0);
|
2008 |
-
if (el.createTextRange) {
|
2009 |
-
range = el.createTextRange();
|
2010 |
-
range.collapse(false);
|
2011 |
-
range.select();
|
2012 |
-
} else if (el.setSelectionRange) {
|
2013 |
-
len = this.search.val().length;
|
2014 |
-
el.setSelectionRange(len, len);
|
2015 |
-
}
|
2016 |
-
}
|
2017 |
-
|
2018 |
-
// initializes search's value with nextSearchTerm (if defined by user)
|
2019 |
-
// ignore nextSearchTerm if the dropdown is opened by the user pressing a letter
|
2020 |
-
if(this.search.val() === "") {
|
2021 |
-
if(this.nextSearchTerm != undefined){
|
2022 |
-
this.search.val(this.nextSearchTerm);
|
2023 |
-
this.search.select();
|
2024 |
-
}
|
2025 |
-
}
|
2026 |
-
|
2027 |
-
this.focusser.prop("disabled", true).val("");
|
2028 |
-
this.updateResults(true);
|
2029 |
-
this.opts.element.trigger($.Event("select2-open"));
|
2030 |
-
},
|
2031 |
-
|
2032 |
-
// single
|
2033 |
-
close: function () {
|
2034 |
-
if (!this.opened()) return;
|
2035 |
-
this.parent.close.apply(this, arguments);
|
2036 |
-
|
2037 |
-
this.focusser.prop("disabled", false);
|
2038 |
-
|
2039 |
-
if (this.opts.shouldFocusInput(this)) {
|
2040 |
-
this.focusser.focus();
|
2041 |
-
}
|
2042 |
-
},
|
2043 |
-
|
2044 |
-
// single
|
2045 |
-
focus: function () {
|
2046 |
-
if (this.opened()) {
|
2047 |
-
this.close();
|
2048 |
-
} else {
|
2049 |
-
this.focusser.prop("disabled", false);
|
2050 |
-
if (this.opts.shouldFocusInput(this)) {
|
2051 |
-
this.focusser.focus();
|
2052 |
-
}
|
2053 |
-
}
|
2054 |
-
},
|
2055 |
-
|
2056 |
-
// single
|
2057 |
-
isFocused: function () {
|
2058 |
-
return this.container.hasClass("select2-container-active");
|
2059 |
-
},
|
2060 |
-
|
2061 |
-
// single
|
2062 |
-
cancel: function () {
|
2063 |
-
this.parent.cancel.apply(this, arguments);
|
2064 |
-
this.focusser.prop("disabled", false);
|
2065 |
-
|
2066 |
-
if (this.opts.shouldFocusInput(this)) {
|
2067 |
-
this.focusser.focus();
|
2068 |
-
}
|
2069 |
-
},
|
2070 |
-
|
2071 |
-
// single
|
2072 |
-
destroy: function() {
|
2073 |
-
$("label[for='" + this.focusser.attr('id') + "']")
|
2074 |
-
.attr('for', this.opts.element.attr("id"));
|
2075 |
-
this.parent.destroy.apply(this, arguments);
|
2076 |
-
|
2077 |
-
cleanupJQueryElements.call(this,
|
2078 |
-
"selection",
|
2079 |
-
"focusser"
|
2080 |
-
);
|
2081 |
-
},
|
2082 |
-
|
2083 |
-
// single
|
2084 |
-
initContainer: function () {
|
2085 |
-
|
2086 |
-
var selection,
|
2087 |
-
container = this.container,
|
2088 |
-
dropdown = this.dropdown,
|
2089 |
-
idSuffix = nextUid(),
|
2090 |
-
elementLabel;
|
2091 |
-
|
2092 |
-
if (this.opts.minimumResultsForSearch < 0) {
|
2093 |
-
this.showSearch(false);
|
2094 |
-
} else {
|
2095 |
-
this.showSearch(true);
|
2096 |
-
}
|
2097 |
-
|
2098 |
-
this.selection = selection = container.find(".select2-choice");
|
2099 |
-
|
2100 |
-
this.focusser = container.find(".select2-focusser");
|
2101 |
-
|
2102 |
-
// add aria associations
|
2103 |
-
selection.find(".select2-chosen").attr("id", "select2-chosen-"+idSuffix);
|
2104 |
-
this.focusser.attr("aria-labelledby", "select2-chosen-"+idSuffix);
|
2105 |
-
this.results.attr("id", "select2-results-"+idSuffix);
|
2106 |
-
this.search.attr("aria-owns", "select2-results-"+idSuffix);
|
2107 |
-
|
2108 |
-
// rewrite labels from original element to focusser
|
2109 |
-
this.focusser.attr("id", "s2id_autogen"+idSuffix);
|
2110 |
-
|
2111 |
-
elementLabel = $("label[for='" + this.opts.element.attr("id") + "']");
|
2112 |
-
this.opts.element.focus(this.bind(function () { this.focus(); }));
|
2113 |
-
|
2114 |
-
this.focusser.prev()
|
2115 |
-
.text(elementLabel.text())
|
2116 |
-
.attr('for', this.focusser.attr('id'));
|
2117 |
-
|
2118 |
-
// Ensure the original element retains an accessible name
|
2119 |
-
var originalTitle = this.opts.element.attr("title");
|
2120 |
-
this.opts.element.attr("title", (originalTitle || elementLabel.text()));
|
2121 |
-
|
2122 |
-
this.focusser.attr("tabindex", this.elementTabIndex);
|
2123 |
-
|
2124 |
-
// write label for search field using the label from the focusser element
|
2125 |
-
this.search.attr("id", this.focusser.attr('id') + '_search');
|
2126 |
-
|
2127 |
-
this.search.prev()
|
2128 |
-
.text($("label[for='" + this.focusser.attr('id') + "']").text())
|
2129 |
-
.attr('for', this.search.attr('id'));
|
2130 |
-
|
2131 |
-
this.search.on("keydown", this.bind(function (e) {
|
2132 |
-
if (!this.isInterfaceEnabled()) return;
|
2133 |
-
|
2134 |
-
// filter 229 keyCodes (input method editor is processing key input)
|
2135 |
-
if (229 == e.keyCode) return;
|
2136 |
-
|
2137 |
-
if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
|
2138 |
-
// prevent the page from scrolling
|
2139 |
-
killEvent(e);
|
2140 |
-
return;
|
2141 |
-
}
|
2142 |
-
|
2143 |
-
switch (e.which) {
|
2144 |
-
case KEY.UP:
|
2145 |
-
case KEY.DOWN:
|
2146 |
-
this.moveHighlight((e.which === KEY.UP) ? -1 : 1);
|
2147 |
-
killEvent(e);
|
2148 |
-
return;
|
2149 |
-
case KEY.ENTER:
|
2150 |
-
this.selectHighlighted();
|
2151 |
-
killEvent(e);
|
2152 |
-
return;
|
2153 |
-
case KEY.TAB:
|
2154 |
-
this.selectHighlighted({noFocus: true});
|
2155 |
-
return;
|
2156 |
-
case KEY.ESC:
|
2157 |
-
this.cancel(e);
|
2158 |
-
killEvent(e);
|
2159 |
-
return;
|
2160 |
-
}
|
2161 |
-
}));
|
2162 |
-
|
2163 |
-
this.search.on("blur", this.bind(function(e) {
|
2164 |
-
// a workaround for chrome to keep the search field focussed when the scroll bar is used to scroll the dropdown.
|
2165 |
-
// without this the search field loses focus which is annoying
|
2166 |
-
if (document.activeElement === this.body.get(0)) {
|
2167 |
-
window.setTimeout(this.bind(function() {
|
2168 |
-
if (this.opened()) {
|
2169 |
-
this.search.focus();
|
2170 |
-
}
|
2171 |
-
}), 0);
|
2172 |
-
}
|
2173 |
-
}));
|
2174 |
-
|
2175 |
-
this.focusser.on("keydown", this.bind(function (e) {
|
2176 |
-
if (!this.isInterfaceEnabled()) return;
|
2177 |
-
|
2178 |
-
if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC) {
|
2179 |
-
return;
|
2180 |
-
}
|
2181 |
-
|
2182 |
-
if (this.opts.openOnEnter === false && e.which === KEY.ENTER) {
|
2183 |
-
killEvent(e);
|
2184 |
-
return;
|
2185 |
-
}
|
2186 |
-
|
2187 |
-
if (e.which == KEY.DOWN || e.which == KEY.UP
|
2188 |
-
|| (e.which == KEY.ENTER && this.opts.openOnEnter)) {
|
2189 |
-
|
2190 |
-
if (e.altKey || e.ctrlKey || e.shiftKey || e.metaKey) return;
|
2191 |
-
|
2192 |
-
this.open();
|
2193 |
-
killEvent(e);
|
2194 |
-
return;
|
2195 |
-
}
|
2196 |
-
|
2197 |
-
if (e.which == KEY.DELETE || e.which == KEY.BACKSPACE) {
|
2198 |
-
if (this.opts.allowClear) {
|
2199 |
-
this.clear();
|
2200 |
-
}
|
2201 |
-
killEvent(e);
|
2202 |
-
return;
|
2203 |
-
}
|
2204 |
-
}));
|
2205 |
-
|
2206 |
-
|
2207 |
-
installKeyUpChangeEvent(this.focusser);
|
2208 |
-
this.focusser.on("keyup-change input", this.bind(function(e) {
|
2209 |
-
if (this.opts.minimumResultsForSearch >= 0) {
|
2210 |
-
e.stopPropagation();
|
2211 |
-
if (this.opened()) return;
|
2212 |
-
this.open();
|
2213 |
-
}
|
2214 |
-
}));
|
2215 |
-
|
2216 |
-
selection.on("mousedown touchstart", "abbr", this.bind(function (e) {
|
2217 |
-
if (!this.isInterfaceEnabled()) {
|
2218 |
-
return;
|
2219 |
-
}
|
2220 |
-
|
2221 |
-
this.clear();
|
2222 |
-
killEventImmediately(e);
|
2223 |
-
this.close();
|
2224 |
-
|
2225 |
-
if (this.selection) {
|
2226 |
-
this.selection.focus();
|
2227 |
-
}
|
2228 |
-
}));
|
2229 |
-
|
2230 |
-
selection.on("mousedown touchstart", this.bind(function (e) {
|
2231 |
-
// Prevent IE from generating a click event on the body
|
2232 |
-
reinsertElement(selection);
|
2233 |
-
|
2234 |
-
if (!this.container.hasClass("select2-container-active")) {
|
2235 |
-
this.opts.element.trigger($.Event("select2-focus"));
|
2236 |
-
}
|
2237 |
-
|
2238 |
-
if (this.opened()) {
|
2239 |
-
this.close();
|
2240 |
-
} else if (this.isInterfaceEnabled()) {
|
2241 |
-
this.open();
|
2242 |
-
}
|
2243 |
-
|
2244 |
-
killEvent(e);
|
2245 |
-
}));
|
2246 |
-
|
2247 |
-
dropdown.on("mousedown touchstart", this.bind(function() {
|
2248 |
-
if (this.opts.shouldFocusInput(this)) {
|
2249 |
-
this.search.focus();
|
2250 |
-
}
|
2251 |
-
}));
|
2252 |
-
|
2253 |
-
selection.on("focus", this.bind(function(e) {
|
2254 |
-
killEvent(e);
|
2255 |
-
}));
|
2256 |
-
|
2257 |
-
this.focusser.on("focus", this.bind(function(){
|
2258 |
-
if (!this.container.hasClass("select2-container-active")) {
|
2259 |
-
this.opts.element.trigger($.Event("select2-focus"));
|
2260 |
-
}
|
2261 |
-
this.container.addClass("select2-container-active");
|
2262 |
-
})).on("blur", this.bind(function() {
|
2263 |
-
if (!this.opened()) {
|
2264 |
-
this.container.removeClass("select2-container-active");
|
2265 |
-
this.opts.element.trigger($.Event("select2-blur"));
|
2266 |
-
}
|
2267 |
-
}));
|
2268 |
-
this.search.on("focus", this.bind(function(){
|
2269 |
-
if (!this.container.hasClass("select2-container-active")) {
|
2270 |
-
this.opts.element.trigger($.Event("select2-focus"));
|
2271 |
-
}
|
2272 |
-
this.container.addClass("select2-container-active");
|
2273 |
-
}));
|
2274 |
-
|
2275 |
-
this.initContainerWidth();
|
2276 |
-
this.opts.element.hide();
|
2277 |
-
this.setPlaceholder();
|
2278 |
-
|
2279 |
-
},
|
2280 |
-
|
2281 |
-
// single
|
2282 |
-
clear: function(triggerChange) {
|
2283 |
-
var data=this.selection.data("select2-data");
|
2284 |
-
if (data) { // guard against queued quick consecutive clicks
|
2285 |
-
var evt = $.Event("select2-clearing");
|
2286 |
-
this.opts.element.trigger(evt);
|
2287 |
-
if (evt.isDefaultPrevented()) {
|
2288 |
-
return;
|
2289 |
-
}
|
2290 |
-
var placeholderOption = this.getPlaceholderOption();
|
2291 |
-
this.opts.element.val(placeholderOption ? placeholderOption.val() : "");
|
2292 |
-
this.selection.find(".select2-chosen").empty();
|
2293 |
-
this.selection.removeData("select2-data");
|
2294 |
-
this.setPlaceholder();
|
2295 |
-
|
2296 |
-
if (triggerChange !== false){
|
2297 |
-
this.opts.element.trigger({ type: "select2-removed", val: this.id(data), choice: data });
|
2298 |
-
this.triggerChange({removed:data});
|
2299 |
-
}
|
2300 |
-
}
|
2301 |
-
},
|
2302 |
-
|
2303 |
-
/**
|
2304 |
-
* Sets selection based on source element's value
|
2305 |
-
*/
|
2306 |
-
// single
|
2307 |
-
initSelection: function () {
|
2308 |
-
var selected;
|
2309 |
-
if (this.isPlaceholderOptionSelected()) {
|
2310 |
-
this.updateSelection(null);
|
2311 |
-
this.close();
|
2312 |
-
this.setPlaceholder();
|
2313 |
-
} else {
|
2314 |
-
var self = this;
|
2315 |
-
this.opts.initSelection.call(null, this.opts.element, function(selected){
|
2316 |
-
if (selected !== undefined && selected !== null) {
|
2317 |
-
self.updateSelection(selected);
|
2318 |
-
self.close();
|
2319 |
-
self.setPlaceholder();
|
2320 |
-
self.nextSearchTerm = self.opts.nextSearchTerm(selected, self.search.val());
|
2321 |
-
}
|
2322 |
-
});
|
2323 |
-
}
|
2324 |
-
},
|
2325 |
-
|
2326 |
-
isPlaceholderOptionSelected: function() {
|
2327 |
-
var placeholderOption;
|
2328 |
-
if (this.getPlaceholder() === undefined) return false; // no placeholder specified so no option should be considered
|
2329 |
-
return ((placeholderOption = this.getPlaceholderOption()) !== undefined && placeholderOption.prop("selected"))
|
2330 |
-
|| (this.opts.element.val() === "")
|
2331 |
-
|| (this.opts.element.val() === undefined)
|
2332 |
-
|| (this.opts.element.val() === null);
|
2333 |
-
},
|
2334 |
-
|
2335 |
-
// single
|
2336 |
-
prepareOpts: function () {
|
2337 |
-
var opts = this.parent.prepareOpts.apply(this, arguments),
|
2338 |
-
self=this;
|
2339 |
-
|
2340 |
-
if (opts.element.get(0).tagName.toLowerCase() === "select") {
|
2341 |
-
// install the selection initializer
|
2342 |
-
opts.initSelection = function (element, callback) {
|
2343 |
-
var selected = element.find("option").filter(function() { return this.selected && !this.disabled });
|
2344 |
-
// a single select box always has a value, no need to null check 'selected'
|
2345 |
-
callback(self.optionToData(selected));
|
2346 |
-
};
|
2347 |
-
} else if ("data" in opts) {
|
2348 |
-
// install default initSelection when applied to hidden input and data is local
|
2349 |
-
opts.initSelection = opts.initSelection || function (element, callback) {
|
2350 |
-
var id = element.val();
|
2351 |
-
//search in data by id, storing the actual matching item
|
2352 |
-
var match = null;
|
2353 |
-
opts.query({
|
2354 |
-
matcher: function(term, text, el){
|
2355 |
-
var is_match = equal(id, opts.id(el));
|
2356 |
-
if (is_match) {
|
2357 |
-
match = el;
|
2358 |
-
}
|
2359 |
-
return is_match;
|
2360 |
-
},
|
2361 |
-
callback: !$.isFunction(callback) ? $.noop : function() {
|
2362 |
-
callback(match);
|
2363 |
-
}
|
2364 |
-
});
|
2365 |
-
};
|
2366 |
-
}
|
2367 |
-
|
2368 |
-
return opts;
|
2369 |
-
},
|
2370 |
-
|
2371 |
-
// single
|
2372 |
-
getPlaceholder: function() {
|
2373 |
-
// if a placeholder is specified on a single select without a valid placeholder option ignore it
|
2374 |
-
if (this.select) {
|
2375 |
-
if (this.getPlaceholderOption() === undefined) {
|
2376 |
-
return undefined;
|
2377 |
-
}
|
2378 |
-
}
|
2379 |
-
|
2380 |
-
return this.parent.getPlaceholder.apply(this, arguments);
|
2381 |
-
},
|
2382 |
-
|
2383 |
-
// single
|
2384 |
-
setPlaceholder: function () {
|
2385 |
-
var placeholder = this.getPlaceholder();
|
2386 |
-
|
2387 |
-
if (this.isPlaceholderOptionSelected() && placeholder !== undefined) {
|
2388 |
-
|
2389 |
-
// check for a placeholder option if attached to a select
|
2390 |
-
if (this.select && this.getPlaceholderOption() === undefined) return;
|
2391 |
-
|
2392 |
-
this.selection.find(".select2-chosen").html(this.opts.escapeMarkup(placeholder));
|
2393 |
-
|
2394 |
-
this.selection.addClass("select2-default");
|
2395 |
-
|
2396 |
-
this.container.removeClass("select2-allowclear");
|
2397 |
-
}
|
2398 |
-
},
|
2399 |
-
|
2400 |
-
// single
|
2401 |
-
postprocessResults: function (data, initial, noHighlightUpdate) {
|
2402 |
-
var selected = 0, self = this, showSearchInput = true;
|
2403 |
-
|
2404 |
-
// find the selected element in the result list
|
2405 |
-
|
2406 |
-
this.findHighlightableChoices().each2(function (i, elm) {
|
2407 |
-
if (equal(self.id(elm.data("select2-data")), self.opts.element.val())) {
|
2408 |
-
selected = i;
|
2409 |
-
return false;
|
2410 |
-
}
|
2411 |
-
});
|
2412 |
-
|
2413 |
-
// and highlight it
|
2414 |
-
if (noHighlightUpdate !== false) {
|
2415 |
-
if (initial === true && selected >= 0) {
|
2416 |
-
this.highlight(selected);
|
2417 |
-
} else {
|
2418 |
-
this.highlight(0);
|
2419 |
-
}
|
2420 |
-
}
|
2421 |
-
|
2422 |
-
// hide the search box if this is the first we got the results and there are enough of them for search
|
2423 |
-
|
2424 |
-
if (initial === true) {
|
2425 |
-
var min = this.opts.minimumResultsForSearch;
|
2426 |
-
if (min >= 0) {
|
2427 |
-
this.showSearch(countResults(data.results) >= min);
|
2428 |
-
}
|
2429 |
-
}
|
2430 |
-
},
|
2431 |
-
|
2432 |
-
// single
|
2433 |
-
showSearch: function(showSearchInput) {
|
2434 |
-
if (this.showSearchInput === showSearchInput) return;
|
2435 |
-
|
2436 |
-
this.showSearchInput = showSearchInput;
|
2437 |
-
|
2438 |
-
this.dropdown.find(".select2-search").toggleClass("select2-search-hidden", !showSearchInput);
|
2439 |
-
this.dropdown.find(".select2-search").toggleClass("select2-offscreen", !showSearchInput);
|
2440 |
-
//add "select2-with-searchbox" to the container if search box is shown
|
2441 |
-
$(this.dropdown, this.container).toggleClass("select2-with-searchbox", showSearchInput);
|
2442 |
-
},
|
2443 |
-
|
2444 |
-
// single
|
2445 |
-
onSelect: function (data, options) {
|
2446 |
-
|
2447 |
-
if (!this.triggerSelect(data)) { return; }
|
2448 |
-
|
2449 |
-
var old = this.opts.element.val(),
|
2450 |
-
oldData = this.data();
|
2451 |
-
|
2452 |
-
this.opts.element.val(this.id(data));
|
2453 |
-
this.updateSelection(data);
|
2454 |
-
|
2455 |
-
this.opts.element.trigger({ type: "select2-selected", val: this.id(data), choice: data });
|
2456 |
-
|
2457 |
-
this.nextSearchTerm = this.opts.nextSearchTerm(data, this.search.val());
|
2458 |
-
this.close();
|
2459 |
-
|
2460 |
-
if ((!options || !options.noFocus) && this.opts.shouldFocusInput(this)) {
|
2461 |
-
this.focusser.focus();
|
2462 |
-
}
|
2463 |
-
|
2464 |
-
if (!equal(old, this.id(data))) {
|
2465 |
-
this.triggerChange({ added: data, removed: oldData });
|
2466 |
-
}
|
2467 |
-
},
|
2468 |
-
|
2469 |
-
// single
|
2470 |
-
updateSelection: function (data) {
|
2471 |
-
|
2472 |
-
var container=this.selection.find(".select2-chosen"), formatted, cssClass;
|
2473 |
-
|
2474 |
-
this.selection.data("select2-data", data);
|
2475 |
-
|
2476 |
-
container.empty();
|
2477 |
-
if (data !== null) {
|
2478 |
-
formatted=this.opts.formatSelection(data, container, this.opts.escapeMarkup);
|
2479 |
-
}
|
2480 |
-
if (formatted !== undefined) {
|
2481 |
-
container.append(formatted);
|
2482 |
-
}
|
2483 |
-
cssClass=this.opts.formatSelectionCssClass(data, container);
|
2484 |
-
if (cssClass !== undefined) {
|
2485 |
-
container.addClass(cssClass);
|
2486 |
-
}
|
2487 |
-
|
2488 |
-
this.selection.removeClass("select2-default");
|
2489 |
-
|
2490 |
-
if (this.opts.allowClear && this.getPlaceholder() !== undefined) {
|
2491 |
-
this.container.addClass("select2-allowclear");
|
2492 |
-
}
|
2493 |
-
},
|
2494 |
-
|
2495 |
-
// single
|
2496 |
-
val: function () {
|
2497 |
-
var val,
|
2498 |
-
triggerChange = false,
|
2499 |
-
data = null,
|
2500 |
-
self = this,
|
2501 |
-
oldData = this.data();
|
2502 |
-
|
2503 |
-
if (arguments.length === 0) {
|
2504 |
-
return this.opts.element.val();
|
2505 |
-
}
|
2506 |
-
|
2507 |
-
val = arguments[0];
|
2508 |
-
|
2509 |
-
if (arguments.length > 1) {
|
2510 |
-
triggerChange = arguments[1];
|
2511 |
-
}
|
2512 |
-
|
2513 |
-
if (this.select) {
|
2514 |
-
this.select
|
2515 |
-
.val(val)
|
2516 |
-
.find("option").filter(function() { return this.selected }).each2(function (i, elm) {
|
2517 |
-
data = self.optionToData(elm);
|
2518 |
-
return false;
|
2519 |
-
});
|
2520 |
-
this.updateSelection(data);
|
2521 |
-
this.setPlaceholder();
|
2522 |
-
if (triggerChange) {
|
2523 |
-
this.triggerChange({added: data, removed:oldData});
|
2524 |
-
}
|
2525 |
-
} else {
|
2526 |
-
// val is an id. !val is true for [undefined,null,'',0] - 0 is legal
|
2527 |
-
if (!val && val !== 0) {
|
2528 |
-
this.clear(triggerChange);
|
2529 |
-
return;
|
2530 |
-
}
|
2531 |
-
if (this.opts.initSelection === undefined) {
|
2532 |
-
throw new Error("cannot call val() if initSelection() is not defined");
|
2533 |
-
}
|
2534 |
-
this.opts.element.val(val);
|
2535 |
-
this.opts.initSelection(this.opts.element, function(data){
|
2536 |
-
self.opts.element.val(!data ? "" : self.id(data));
|
2537 |
-
self.updateSelection(data);
|
2538 |
-
self.setPlaceholder();
|
2539 |
-
if (triggerChange) {
|
2540 |
-
self.triggerChange({added: data, removed:oldData});
|
2541 |
-
}
|
2542 |
-
});
|
2543 |
-
}
|
2544 |
-
},
|
2545 |
-
|
2546 |
-
// single
|
2547 |
-
clearSearch: function () {
|
2548 |
-
this.search.val("");
|
2549 |
-
this.focusser.val("");
|
2550 |
-
},
|
2551 |
-
|
2552 |
-
// single
|
2553 |
-
data: function(value) {
|
2554 |
-
var data,
|
2555 |
-
triggerChange = false;
|
2556 |
-
|
2557 |
-
if (arguments.length === 0) {
|
2558 |
-
data = this.selection.data("select2-data");
|
2559 |
-
if (data == undefined) data = null;
|
2560 |
-
return data;
|
2561 |
-
} else {
|
2562 |
-
if (arguments.length > 1) {
|
2563 |
-
triggerChange = arguments[1];
|
2564 |
-
}
|
2565 |
-
if (!value) {
|
2566 |
-
this.clear(triggerChange);
|
2567 |
-
} else {
|
2568 |
-
data = this.data();
|
2569 |
-
this.opts.element.val(!value ? "" : this.id(value));
|
2570 |
-
this.updateSelection(value);
|
2571 |
-
if (triggerChange) {
|
2572 |
-
this.triggerChange({added: value, removed:data});
|
2573 |
-
}
|
2574 |
-
}
|
2575 |
-
}
|
2576 |
-
}
|
2577 |
-
});
|
2578 |
-
|
2579 |
-
MultiSelect2 = clazz(AbstractSelect2, {
|
2580 |
-
|
2581 |
-
// multi
|
2582 |
-
createContainer: function () {
|
2583 |
-
var container = $(document.createElement("div")).attr({
|
2584 |
-
"class": "select2-container select2-container-multi"
|
2585 |
-
}).html([
|
2586 |
-
"<ul class='select2-choices'>",
|
2587 |
-
" <li class='select2-search-field'>",
|
2588 |
-
" <label for='' class='select2-offscreen'></label>",
|
2589 |
-
" <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input'>",
|
2590 |
-
" </li>",
|
2591 |
-
"</ul>",
|
2592 |
-
"<div class='select2-drop select2-drop-multi select2-display-none'>",
|
2593 |
-
" <ul class='select2-results'>",
|
2594 |
-
" </ul>",
|
2595 |
-
"</div>"].join(""));
|
2596 |
-
return container;
|
2597 |
-
},
|
2598 |
-
|
2599 |
-
// multi
|
2600 |
-
prepareOpts: function () {
|
2601 |
-
var opts = this.parent.prepareOpts.apply(this, arguments),
|
2602 |
-
self=this;
|
2603 |
-
|
2604 |
-
// TODO validate placeholder is a string if specified
|
2605 |
-
if (opts.element.get(0).tagName.toLowerCase() === "select") {
|
2606 |
-
// install the selection initializer
|
2607 |
-
opts.initSelection = function (element, callback) {
|
2608 |
-
|
2609 |
-
var data = [];
|
2610 |
-
|
2611 |
-
element.find("option").filter(function() { return this.selected && !this.disabled }).each2(function (i, elm) {
|
2612 |
-
data.push(self.optionToData(elm));
|
2613 |
-
});
|
2614 |
-
callback(data);
|
2615 |
-
};
|
2616 |
-
} else if ("data" in opts) {
|
2617 |
-
// install default initSelection when applied to hidden input and data is local
|
2618 |
-
opts.initSelection = opts.initSelection || function (element, callback) {
|
2619 |
-
var ids = splitVal(element.val(), opts.separator, opts.transformVal);
|
2620 |
-
//search in data by array of ids, storing matching items in a list
|
2621 |
-
var matches = [];
|
2622 |
-
opts.query({
|
2623 |
-
matcher: function(term, text, el){
|
2624 |
-
var is_match = $.grep(ids, function(id) {
|
2625 |
-
return equal(id, opts.id(el));
|
2626 |
-
}).length;
|
2627 |
-
if (is_match) {
|
2628 |
-
matches.push(el);
|
2629 |
-
}
|
2630 |
-
return is_match;
|
2631 |
-
},
|
2632 |
-
callback: !$.isFunction(callback) ? $.noop : function() {
|
2633 |
-
// reorder matches based on the order they appear in the ids array because right now
|
2634 |
-
// they are in the order in which they appear in data array
|
2635 |
-
var ordered = [];
|
2636 |
-
for (var i = 0; i < ids.length; i++) {
|
2637 |
-
var id = ids[i];
|
2638 |
-
for (var j = 0; j < matches.length; j++) {
|
2639 |
-
var match = matches[j];
|
2640 |
-
if (equal(id, opts.id(match))) {
|
2641 |
-
ordered.push(match);
|
2642 |
-
matches.splice(j, 1);
|
2643 |
-
break;
|
2644 |
-
}
|
2645 |
-
}
|
2646 |
-
}
|
2647 |
-
callback(ordered);
|
2648 |
-
}
|
2649 |
-
});
|
2650 |
-
};
|
2651 |
-
}
|
2652 |
-
|
2653 |
-
return opts;
|
2654 |
-
},
|
2655 |
-
|
2656 |
-
// multi
|
2657 |
-
selectChoice: function (choice) {
|
2658 |
-
|
2659 |
-
var selected = this.container.find(".select2-search-choice-focus");
|
2660 |
-
if (selected.length && choice && choice[0] == selected[0]) {
|
2661 |
-
|
2662 |
-
} else {
|
2663 |
-
if (selected.length) {
|
2664 |
-
this.opts.element.trigger("choice-deselected", selected);
|
2665 |
-
}
|
2666 |
-
selected.removeClass("select2-search-choice-focus");
|
2667 |
-
if (choice && choice.length) {
|
2668 |
-
this.close();
|
2669 |
-
choice.addClass("select2-search-choice-focus");
|
2670 |
-
this.opts.element.trigger("choice-selected", choice);
|
2671 |
-
}
|
2672 |
-
}
|
2673 |
-
},
|
2674 |
-
|
2675 |
-
// multi
|
2676 |
-
destroy: function() {
|
2677 |
-
$("label[for='" + this.search.attr('id') + "']")
|
2678 |
-
.attr('for', this.opts.element.attr("id"));
|
2679 |
-
this.parent.destroy.apply(this, arguments);
|
2680 |
-
|
2681 |
-
cleanupJQueryElements.call(this,
|
2682 |
-
"searchContainer",
|
2683 |
-
"selection"
|
2684 |
-
);
|
2685 |
-
},
|
2686 |
-
|
2687 |
-
// multi
|
2688 |
-
initContainer: function () {
|
2689 |
-
|
2690 |
-
var selector = ".select2-choices", selection;
|
2691 |
-
|
2692 |
-
this.searchContainer = this.container.find(".select2-search-field");
|
2693 |
-
this.selection = selection = this.container.find(selector);
|
2694 |
-
|
2695 |
-
var _this = this;
|
2696 |
-
this.selection.on("click", ".select2-container:not(.select2-container-disabled) .select2-search-choice:not(.select2-locked)", function (e) {
|
2697 |
-
_this.search[0].focus();
|
2698 |
-
_this.selectChoice($(this));
|
2699 |
-
});
|
2700 |
-
|
2701 |
-
// rewrite labels from original element to focusser
|
2702 |
-
this.search.attr("id", "s2id_autogen"+nextUid());
|
2703 |
-
|
2704 |
-
this.search.prev()
|
2705 |
-
.text($("label[for='" + this.opts.element.attr("id") + "']").text())
|
2706 |
-
.attr('for', this.search.attr('id'));
|
2707 |
-
this.opts.element.focus(this.bind(function () { this.focus(); }));
|
2708 |
-
|
2709 |
-
this.search.on("input paste", this.bind(function() {
|
2710 |
-
if (this.search.attr('placeholder') && this.search.val().length == 0) return;
|
2711 |
-
if (!this.isInterfaceEnabled()) return;
|
2712 |
-
if (!this.opened()) {
|
2713 |
-
this.open();
|
2714 |
-
}
|
2715 |
-
}));
|
2716 |
-
|
2717 |
-
this.search.attr("tabindex", this.elementTabIndex);
|
2718 |
-
|
2719 |
-
this.keydowns = 0;
|
2720 |
-
this.search.on("keydown", this.bind(function (e) {
|
2721 |
-
if (!this.isInterfaceEnabled()) return;
|
2722 |
-
|
2723 |
-
++this.keydowns;
|
2724 |
-
var selected = selection.find(".select2-search-choice-focus");
|
2725 |
-
var prev = selected.prev(".select2-search-choice:not(.select2-locked)");
|
2726 |
-
var next = selected.next(".select2-search-choice:not(.select2-locked)");
|
2727 |
-
var pos = getCursorInfo(this.search);
|
2728 |
-
|
2729 |
-
if (selected.length &&
|
2730 |
-
(e.which == KEY.LEFT || e.which == KEY.RIGHT || e.which == KEY.BACKSPACE || e.which == KEY.DELETE || e.which == KEY.ENTER)) {
|
2731 |
-
var selectedChoice = selected;
|
2732 |
-
if (e.which == KEY.LEFT && prev.length) {
|
2733 |
-
selectedChoice = prev;
|
2734 |
-
}
|
2735 |
-
else if (e.which == KEY.RIGHT) {
|
2736 |
-
selectedChoice = next.length ? next : null;
|
2737 |
-
}
|
2738 |
-
else if (e.which === KEY.BACKSPACE) {
|
2739 |
-
if (this.unselect(selected.first())) {
|
2740 |
-
this.search.width(10);
|
2741 |
-
selectedChoice = prev.length ? prev : next;
|
2742 |
-
}
|
2743 |
-
} else if (e.which == KEY.DELETE) {
|
2744 |
-
if (this.unselect(selected.first())) {
|
2745 |
-
this.search.width(10);
|
2746 |
-
selectedChoice = next.length ? next : null;
|
2747 |
-
}
|
2748 |
-
} else if (e.which == KEY.ENTER) {
|
2749 |
-
selectedChoice = null;
|
2750 |
-
}
|
2751 |
-
|
2752 |
-
this.selectChoice(selectedChoice);
|
2753 |
-
killEvent(e);
|
2754 |
-
if (!selectedChoice || !selectedChoice.length) {
|
2755 |
-
this.open();
|
2756 |
-
}
|
2757 |
-
return;
|
2758 |
-
} else if (((e.which === KEY.BACKSPACE && this.keydowns == 1)
|
2759 |
-
|| e.which == KEY.LEFT) && (pos.offset == 0 && !pos.length)) {
|
2760 |
-
|
2761 |
-
this.selectChoice(selection.find(".select2-search-choice:not(.select2-locked)").last());
|
2762 |
-
killEvent(e);
|
2763 |
-
return;
|
2764 |
-
} else {
|
2765 |
-
this.selectChoice(null);
|
2766 |
-
}
|
2767 |
-
|
2768 |
-
if (this.opened()) {
|
2769 |
-
switch (e.which) {
|
2770 |
-
case KEY.UP:
|
2771 |
-
case KEY.DOWN:
|
2772 |
-
this.moveHighlight((e.which === KEY.UP) ? -1 : 1);
|
2773 |
-
killEvent(e);
|
2774 |
-
return;
|
2775 |
-
case KEY.ENTER:
|
2776 |
-
this.selectHighlighted();
|
2777 |
-
killEvent(e);
|
2778 |
-
return;
|
2779 |
-
case KEY.TAB:
|
2780 |
-
this.selectHighlighted({noFocus:true});
|
2781 |
-
this.close();
|
2782 |
-
return;
|
2783 |
-
case KEY.ESC:
|
2784 |
-
this.cancel(e);
|
2785 |
-
killEvent(e);
|
2786 |
-
return;
|
2787 |
-
}
|
2788 |
-
}
|
2789 |
-
|
2790 |
-
if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e)
|
2791 |
-
|| e.which === KEY.BACKSPACE || e.which === KEY.ESC) {
|
2792 |
-
return;
|
2793 |
-
}
|
2794 |
-
|
2795 |
-
if (e.which === KEY.ENTER) {
|
2796 |
-
if (this.opts.openOnEnter === false) {
|
2797 |
-
return;
|
2798 |
-
} else if (e.altKey || e.ctrlKey || e.shiftKey || e.metaKey) {
|
2799 |
-
return;
|
2800 |
-
}
|
2801 |
-
}
|
2802 |
-
|
2803 |
-
this.open();
|
2804 |
-
|
2805 |
-
if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
|
2806 |
-
// prevent the page from scrolling
|
2807 |
-
killEvent(e);
|
2808 |
-
}
|
2809 |
-
|
2810 |
-
if (e.which === KEY.ENTER) {
|
2811 |
-
// prevent form from being submitted
|
2812 |
-
killEvent(e);
|
2813 |
-
}
|
2814 |
-
|
2815 |
-
}));
|
2816 |
-
|
2817 |
-
this.search.on("keyup", this.bind(function (e) {
|
2818 |
-
this.keydowns = 0;
|
2819 |
-
this.resizeSearch();
|
2820 |
-
})
|
2821 |
-
);
|
2822 |
-
|
2823 |
-
this.search.on("blur", this.bind(function(e) {
|
2824 |
-
this.container.removeClass("select2-container-active");
|
2825 |
-
this.search.removeClass("select2-focused");
|
2826 |
-
this.selectChoice(null);
|
2827 |
-
if (!this.opened()) this.clearSearch();
|
2828 |
-
e.stopImmediatePropagation();
|
2829 |
-
this.opts.element.trigger($.Event("select2-blur"));
|
2830 |
-
}));
|
2831 |
-
|
2832 |
-
this.container.on("click", selector, this.bind(function (e) {
|
2833 |
-
if (!this.isInterfaceEnabled()) return;
|
2834 |
-
if ($(e.target).closest(".select2-search-choice").length > 0) {
|
2835 |
-
// clicked inside a select2 search choice, do not open
|
2836 |
-
return;
|
2837 |
-
}
|
2838 |
-
this.selectChoice(null);
|
2839 |
-
this.clearPlaceholder();
|
2840 |
-
if (!this.container.hasClass("select2-container-active")) {
|
2841 |
-
this.opts.element.trigger($.Event("select2-focus"));
|
2842 |
-
}
|
2843 |
-
this.open();
|
2844 |
-
this.focusSearch();
|
2845 |
-
e.preventDefault();
|
2846 |
-
}));
|
2847 |
-
|
2848 |
-
this.container.on("focus", selector, this.bind(function () {
|
2849 |
-
if (!this.isInterfaceEnabled()) return;
|
2850 |
-
if (!this.container.hasClass("select2-container-active")) {
|
2851 |
-
this.opts.element.trigger($.Event("select2-focus"));
|
2852 |
-
}
|
2853 |
-
this.container.addClass("select2-container-active");
|
2854 |
-
this.dropdown.addClass("select2-drop-active");
|
2855 |
-
this.clearPlaceholder();
|
2856 |
-
}));
|
2857 |
-
|
2858 |
-
this.initContainerWidth();
|
2859 |
-
this.opts.element.hide();
|
2860 |
-
|
2861 |
-
// set the placeholder if necessary
|
2862 |
-
this.clearSearch();
|
2863 |
-
},
|
2864 |
-
|
2865 |
-
// multi
|
2866 |
-
enableInterface: function() {
|
2867 |
-
if (this.parent.enableInterface.apply(this, arguments)) {
|
2868 |
-
this.search.prop("disabled", !this.isInterfaceEnabled());
|
2869 |
-
}
|
2870 |
-
},
|
2871 |
-
|
2872 |
-
// multi
|
2873 |
-
initSelection: function () {
|
2874 |
-
var data;
|
2875 |
-
if (this.opts.element.val() === "" && this.opts.element.text() === "") {
|
2876 |
-
this.updateSelection([]);
|
2877 |
-
this.close();
|
2878 |
-
// set the placeholder if necessary
|
2879 |
-
this.clearSearch();
|
2880 |
-
}
|
2881 |
-
if (this.select || this.opts.element.val() !== "") {
|
2882 |
-
var self = this;
|
2883 |
-
this.opts.initSelection.call(null, this.opts.element, function(data){
|
2884 |
-
if (data !== undefined && data !== null) {
|
2885 |
-
self.updateSelection(data);
|
2886 |
-
self.close();
|
2887 |
-
// set the placeholder if necessary
|
2888 |
-
self.clearSearch();
|
2889 |
-
}
|
2890 |
-
});
|
2891 |
-
}
|
2892 |
-
},
|
2893 |
-
|
2894 |
-
// multi
|
2895 |
-
clearSearch: function () {
|
2896 |
-
var placeholder = this.getPlaceholder(),
|
2897 |
-
maxWidth = this.getMaxSearchWidth();
|
2898 |
-
|
2899 |
-
if (placeholder !== undefined && this.getVal().length === 0 && this.search.hasClass("select2-focused") === false) {
|
2900 |
-
this.search.val(placeholder).addClass("select2-default");
|
2901 |
-
// stretch the search box to full width of the container so as much of the placeholder is visible as possible
|
2902 |
-
// we could call this.resizeSearch(), but we do not because that requires a sizer and we do not want to create one so early because of a firefox bug, see #944
|
2903 |
-
this.search.width(maxWidth > 0 ? maxWidth : this.container.css("width"));
|
2904 |
-
} else {
|
2905 |
-
this.search.val("").width(10);
|
2906 |
-
}
|
2907 |
-
},
|
2908 |
-
|
2909 |
-
// multi
|
2910 |
-
clearPlaceholder: function () {
|
2911 |
-
if (this.search.hasClass("select2-default")) {
|
2912 |
-
this.search.val("").removeClass("select2-default");
|
2913 |
-
}
|
2914 |
-
},
|
2915 |
-
|
2916 |
-
// multi
|
2917 |
-
opening: function () {
|
2918 |
-
this.clearPlaceholder(); // should be done before super so placeholder is not used to search
|
2919 |
-
this.resizeSearch();
|
2920 |
-
|
2921 |
-
this.parent.opening.apply(this, arguments);
|
2922 |
-
|
2923 |
-
this.focusSearch();
|
2924 |
-
|
2925 |
-
// initializes search's value with nextSearchTerm (if defined by user)
|
2926 |
-
// ignore nextSearchTerm if the dropdown is opened by the user pressing a letter
|
2927 |
-
if(this.search.val() === "") {
|
2928 |
-
if(this.nextSearchTerm != undefined){
|
2929 |
-
this.search.val(this.nextSearchTerm);
|
2930 |
-
this.search.select();
|
2931 |
-
}
|
2932 |
-
}
|
2933 |
-
|
2934 |
-
this.updateResults(true);
|
2935 |
-
if (this.opts.shouldFocusInput(this)) {
|
2936 |
-
this.search.focus();
|
2937 |
-
}
|
2938 |
-
this.opts.element.trigger($.Event("select2-open"));
|
2939 |
-
},
|
2940 |
-
|
2941 |
-
// multi
|
2942 |
-
close: function () {
|
2943 |
-
if (!this.opened()) return;
|
2944 |
-
this.parent.close.apply(this, arguments);
|
2945 |
-
},
|
2946 |
-
|
2947 |
-
// multi
|
2948 |
-
focus: function () {
|
2949 |
-
this.close();
|
2950 |
-
this.search.focus();
|
2951 |
-
},
|
2952 |
-
|
2953 |
-
// multi
|
2954 |
-
isFocused: function () {
|
2955 |
-
return this.search.hasClass("select2-focused");
|
2956 |
-
},
|
2957 |
-
|
2958 |
-
// multi
|
2959 |
-
updateSelection: function (data) {
|
2960 |
-
var ids = [], filtered = [], self = this;
|
2961 |
-
|
2962 |
-
// filter out duplicates
|
2963 |
-
$(data).each(function () {
|
2964 |
-
if (indexOf(self.id(this), ids) < 0) {
|
2965 |
-
ids.push(self.id(this));
|
2966 |
-
filtered.push(this);
|
2967 |
-
}
|
2968 |
-
});
|
2969 |
-
data = filtered;
|
2970 |
-
|
2971 |
-
this.selection.find(".select2-search-choice").remove();
|
2972 |
-
$(data).each(function () {
|
2973 |
-
self.addSelectedChoice(this);
|
2974 |
-
});
|
2975 |
-
self.postprocessResults();
|
2976 |
-
},
|
2977 |
-
|
2978 |
-
// multi
|
2979 |
-
tokenize: function() {
|
2980 |
-
var input = this.search.val();
|
2981 |
-
input = this.opts.tokenizer.call(this, input, this.data(), this.bind(this.onSelect), this.opts);
|
2982 |
-
if (input != null && input != undefined) {
|
2983 |
-
this.search.val(input);
|
2984 |
-
if (input.length > 0) {
|
2985 |
-
this.open();
|
2986 |
-
}
|
2987 |
-
}
|
2988 |
-
|
2989 |
-
},
|
2990 |
-
|
2991 |
-
// multi
|
2992 |
-
onSelect: function (data, options) {
|
2993 |
-
|
2994 |
-
if (!this.triggerSelect(data) || data.text === "") { return; }
|
2995 |
-
|
2996 |
-
this.addSelectedChoice(data);
|
2997 |
-
|
2998 |
-
this.opts.element.trigger({ type: "selected", val: this.id(data), choice: data });
|
2999 |
-
|
3000 |
-
// keep track of the search's value before it gets cleared
|
3001 |
-
this.nextSearchTerm = this.opts.nextSearchTerm(data, this.search.val());
|
3002 |
-
|
3003 |
-
this.clearSearch();
|
3004 |
-
this.updateResults();
|
3005 |
-
|
3006 |
-
if (this.select || !this.opts.closeOnSelect) this.postprocessResults(data, false, this.opts.closeOnSelect===true);
|
3007 |
-
|
3008 |
-
if (this.opts.closeOnSelect) {
|
3009 |
-
this.close();
|
3010 |
-
this.search.width(10);
|
3011 |
-
} else {
|
3012 |
-
if (this.countSelectableResults()>0) {
|
3013 |
-
this.search.width(10);
|
3014 |
-
this.resizeSearch();
|
3015 |
-
if (this.getMaximumSelectionSize() > 0 && this.val().length >= this.getMaximumSelectionSize()) {
|
3016 |
-
// if we reached max selection size repaint the results so choices
|
3017 |
-
// are replaced with the max selection reached message
|
3018 |
-
this.updateResults(true);
|
3019 |
-
} else {
|
3020 |
-
// initializes search's value with nextSearchTerm and update search result
|
3021 |
-
if(this.nextSearchTerm != undefined){
|
3022 |
-
this.search.val(this.nextSearchTerm);
|
3023 |
-
this.updateResults();
|
3024 |
-
this.search.select();
|
3025 |
-
}
|
3026 |
-
}
|
3027 |
-
this.positionDropdown();
|
3028 |
-
} else {
|
3029 |
-
// if nothing left to select close
|
3030 |
-
this.close();
|
3031 |
-
this.search.width(10);
|
3032 |
-
}
|
3033 |
-
}
|
3034 |
-
|
3035 |
-
// since its not possible to select an element that has already been
|
3036 |
-
// added we do not need to check if this is a new element before firing change
|
3037 |
-
this.triggerChange({ added: data });
|
3038 |
-
|
3039 |
-
if (!options || !options.noFocus)
|
3040 |
-
this.focusSearch();
|
3041 |
-
},
|
3042 |
-
|
3043 |
-
// multi
|
3044 |
-
cancel: function () {
|
3045 |
-
this.close();
|
3046 |
-
this.focusSearch();
|
3047 |
-
},
|
3048 |
-
|
3049 |
-
addSelectedChoice: function (data) {
|
3050 |
-
var enableChoice = !data.locked,
|
3051 |
-
enabledItem = $(
|
3052 |
-
"<li class='select2-search-choice'>" +
|
3053 |
-
" <div></div>" +
|
3054 |
-
" <a href='#' class='select2-search-choice-close' tabindex='-1'></a>" +
|
3055 |
-
"</li>"),
|
3056 |
-
disabledItem = $(
|
3057 |
-
"<li class='select2-search-choice select2-locked'>" +
|
3058 |
-
"<div></div>" +
|
3059 |
-
"</li>");
|
3060 |
-
var choice = enableChoice ? enabledItem : disabledItem,
|
3061 |
-
id = this.id(data),
|
3062 |
-
val = this.getVal(),
|
3063 |
-
formatted,
|
3064 |
-
cssClass;
|
3065 |
-
|
3066 |
-
formatted=this.opts.formatSelection(data, choice.find("div"), this.opts.escapeMarkup);
|
3067 |
-
if (formatted != undefined) {
|
3068 |
-
choice.find("div").replaceWith($("<div></div>").html(formatted));
|
3069 |
-
}
|
3070 |
-
cssClass=this.opts.formatSelectionCssClass(data, choice.find("div"));
|
3071 |
-
if (cssClass != undefined) {
|
3072 |
-
choice.addClass(cssClass);
|
3073 |
-
}
|
3074 |
-
|
3075 |
-
if(enableChoice){
|
3076 |
-
choice.find(".select2-search-choice-close")
|
3077 |
-
.on("mousedown", killEvent)
|
3078 |
-
.on("click dblclick", this.bind(function (e) {
|
3079 |
-
if (!this.isInterfaceEnabled()) return;
|
3080 |
-
|
3081 |
-
this.unselect($(e.target));
|
3082 |
-
this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
|
3083 |
-
killEvent(e);
|
3084 |
-
this.close();
|
3085 |
-
this.focusSearch();
|
3086 |
-
})).on("focus", this.bind(function () {
|
3087 |
-
if (!this.isInterfaceEnabled()) return;
|
3088 |
-
this.container.addClass("select2-container-active");
|
3089 |
-
this.dropdown.addClass("select2-drop-active");
|
3090 |
-
}));
|
3091 |
-
}
|
3092 |
-
|
3093 |
-
choice.data("select2-data", data);
|
3094 |
-
choice.insertBefore(this.searchContainer);
|
3095 |
-
|
3096 |
-
val.push(id);
|
3097 |
-
this.setVal(val);
|
3098 |
-
},
|
3099 |
-
|
3100 |
-
// multi
|
3101 |
-
unselect: function (selected) {
|
3102 |
-
var val = this.getVal(),
|
3103 |
-
data,
|
3104 |
-
index;
|
3105 |
-
selected = selected.closest(".select2-search-choice");
|
3106 |
-
|
3107 |
-
if (selected.length === 0) {
|
3108 |
-
throw "Invalid argument: " + selected + ". Must be .select2-search-choice";
|
3109 |
-
}
|
3110 |
-
|
3111 |
-
data = selected.data("select2-data");
|
3112 |
-
|
3113 |
-
if (!data) {
|
3114 |
-
// prevent a race condition when the 'x' is clicked really fast repeatedly the event can be queued
|
3115 |
-
// and invoked on an element already removed
|
3116 |
-
return;
|
3117 |
-
}
|
3118 |
-
|
3119 |
-
var evt = $.Event("select2-removing");
|
3120 |
-
evt.val = this.id(data);
|
3121 |
-
evt.choice = data;
|
3122 |
-
this.opts.element.trigger(evt);
|
3123 |
-
|
3124 |
-
if (evt.isDefaultPrevented()) {
|
3125 |
-
return false;
|
3126 |
-
}
|
3127 |
-
|
3128 |
-
while((index = indexOf(this.id(data), val)) >= 0) {
|
3129 |
-
val.splice(index, 1);
|
3130 |
-
this.setVal(val);
|
3131 |
-
if (this.select) this.postprocessResults();
|
3132 |
-
}
|
3133 |
-
|
3134 |
-
selected.remove();
|
3135 |
-
|
3136 |
-
this.opts.element.trigger({ type: "select2-removed", val: this.id(data), choice: data });
|
3137 |
-
this.triggerChange({ removed: data });
|
3138 |
-
|
3139 |
-
return true;
|
3140 |
-
},
|
3141 |
-
|
3142 |
-
// multi
|
3143 |
-
postprocessResults: function (data, initial, noHighlightUpdate) {
|
3144 |
-
var val = this.getVal(),
|
3145 |
-
choices = this.results.find(".select2-result"),
|
3146 |
-
compound = this.results.find(".select2-result-with-children"),
|
3147 |
-
self = this;
|
3148 |
-
|
3149 |
-
choices.each2(function (i, choice) {
|
3150 |
-
var id = self.id(choice.data("select2-data"));
|
3151 |
-
if (indexOf(id, val) >= 0) {
|
3152 |
-
choice.addClass("select2-selected");
|
3153 |
-
// mark all children of the selected parent as selected
|
3154 |
-
choice.find(".select2-result-selectable").addClass("select2-selected");
|
3155 |
-
}
|
3156 |
-
});
|
3157 |
-
|
3158 |
-
compound.each2(function(i, choice) {
|
3159 |
-
// hide an optgroup if it doesn't have any selectable children
|
3160 |
-
if (!choice.is('.select2-result-selectable')
|
3161 |
-
&& choice.find(".select2-result-selectable:not(.select2-selected)").length === 0) {
|
3162 |
-
choice.addClass("select2-selected");
|
3163 |
-
}
|
3164 |
-
});
|
3165 |
-
|
3166 |
-
if (this.highlight() == -1 && noHighlightUpdate !== false && this.opts.closeOnSelect === true){
|
3167 |
-
self.highlight(0);
|
3168 |
-
}
|
3169 |
-
|
3170 |
-
//If all results are chosen render formatNoMatches
|
3171 |
-
if(!this.opts.createSearchChoice && !choices.filter('.select2-result:not(.select2-selected)').length > 0){
|
3172 |
-
if(!data || data && !data.more && this.results.find(".select2-no-results").length === 0) {
|
3173 |
-
if (checkFormatter(self.opts.formatNoMatches, "formatNoMatches")) {
|
3174 |
-
this.results.append("<li class='select2-no-results'>" + evaluate(self.opts.formatNoMatches, self.opts.element, self.search.val()) + "</li>");
|
3175 |
-
}
|
3176 |
-
}
|
3177 |
-
}
|
3178 |
-
|
3179 |
-
},
|
3180 |
-
|
3181 |
-
// multi
|
3182 |
-
getMaxSearchWidth: function() {
|
3183 |
-
return this.selection.width() - getSideBorderPadding(this.search);
|
3184 |
-
},
|
3185 |
-
|
3186 |
-
// multi
|
3187 |
-
resizeSearch: function () {
|
3188 |
-
var minimumWidth, left, maxWidth, containerLeft, searchWidth,
|
3189 |
-
sideBorderPadding = getSideBorderPadding(this.search);
|
3190 |
-
|
3191 |
-
minimumWidth = measureTextWidth(this.search) + 10;
|
3192 |
-
|
3193 |
-
left = this.search.offset().left;
|
3194 |
-
|
3195 |
-
maxWidth = this.selection.width();
|
3196 |
-
containerLeft = this.selection.offset().left;
|
3197 |
-
|
3198 |
-
searchWidth = maxWidth - (left - containerLeft) - sideBorderPadding;
|
3199 |
-
|
3200 |
-
if (searchWidth < minimumWidth) {
|
3201 |
-
searchWidth = maxWidth - sideBorderPadding;
|
3202 |
-
}
|
3203 |
-
|
3204 |
-
if (searchWidth < 40) {
|
3205 |
-
searchWidth = maxWidth - sideBorderPadding;
|
3206 |
-
}
|
3207 |
-
|
3208 |
-
if (searchWidth <= 0) {
|
3209 |
-
searchWidth = minimumWidth;
|
3210 |
-
}
|
3211 |
-
|
3212 |
-
this.search.width(Math.floor(searchWidth));
|
3213 |
-
},
|
3214 |
-
|
3215 |
-
// multi
|
3216 |
-
getVal: function () {
|
3217 |
-
var val;
|
3218 |
-
if (this.select) {
|
3219 |
-
val = this.select.val();
|
3220 |
-
return val === null ? [] : val;
|
3221 |
-
} else {
|
3222 |
-
val = this.opts.element.val();
|
3223 |
-
return splitVal(val, this.opts.separator, this.opts.transformVal);
|
3224 |
-
}
|
3225 |
-
},
|
3226 |
-
|
3227 |
-
// multi
|
3228 |
-
setVal: function (val) {
|
3229 |
-
var unique;
|
3230 |
-
if (this.select) {
|
3231 |
-
this.select.val(val);
|
3232 |
-
} else {
|
3233 |
-
unique = [];
|
3234 |
-
// filter out duplicates
|
3235 |
-
$(val).each(function () {
|
3236 |
-
if (indexOf(this, unique) < 0) unique.push(this);
|
3237 |
-
});
|
3238 |
-
this.opts.element.val(unique.length === 0 ? "" : unique.join(this.opts.separator));
|
3239 |
-
}
|
3240 |
-
},
|
3241 |
-
|
3242 |
-
// multi
|
3243 |
-
buildChangeDetails: function (old, current) {
|
3244 |
-
var current = current.slice(0),
|
3245 |
-
old = old.slice(0);
|
3246 |
-
|
3247 |
-
// remove intersection from each array
|
3248 |
-
for (var i = 0; i < current.length; i++) {
|
3249 |
-
for (var j = 0; j < old.length; j++) {
|
3250 |
-
if (equal(this.opts.id(current[i]), this.opts.id(old[j]))) {
|
3251 |
-
current.splice(i, 1);
|
3252 |
-
if(i>0){
|
3253 |
-
i--;
|
3254 |
-
}
|
3255 |
-
old.splice(j, 1);
|
3256 |
-
j--;
|
3257 |
-
}
|
3258 |
-
}
|
3259 |
-
}
|
3260 |
-
|
3261 |
-
return {added: current, removed: old};
|
3262 |
-
},
|
3263 |
-
|
3264 |
-
|
3265 |
-
// multi
|
3266 |
-
val: function (val, triggerChange) {
|
3267 |
-
var oldData, self=this;
|
3268 |
-
|
3269 |
-
if (arguments.length === 0) {
|
3270 |
-
return this.getVal();
|
3271 |
-
}
|
3272 |
-
|
3273 |
-
oldData=this.data();
|
3274 |
-
if (!oldData.length) oldData=[];
|
3275 |
-
|
3276 |
-
// val is an id. !val is true for [undefined,null,'',0] - 0 is legal
|
3277 |
-
if (!val && val !== 0) {
|
3278 |
-
this.opts.element.val("");
|
3279 |
-
this.updateSelection([]);
|
3280 |
-
this.clearSearch();
|
3281 |
-
if (triggerChange) {
|
3282 |
-
this.triggerChange({added: this.data(), removed: oldData});
|
3283 |
-
}
|
3284 |
-
return;
|
3285 |
-
}
|
3286 |
-
|
3287 |
-
// val is a list of ids
|
3288 |
-
this.setVal(val);
|
3289 |
-
|
3290 |
-
if (this.select) {
|
3291 |
-
this.opts.initSelection(this.select, this.bind(this.updateSelection));
|
3292 |
-
if (triggerChange) {
|
3293 |
-
this.triggerChange(this.buildChangeDetails(oldData, this.data()));
|
3294 |
-
}
|
3295 |
-
} else {
|
3296 |
-
if (this.opts.initSelection === undefined) {
|
3297 |
-
throw new Error("val() cannot be called if initSelection() is not defined");
|
3298 |
-
}
|
3299 |
-
|
3300 |
-
this.opts.initSelection(this.opts.element, function(data){
|
3301 |
-
var ids=$.map(data, self.id);
|
3302 |
-
self.setVal(ids);
|
3303 |
-
self.updateSelection(data);
|
3304 |
-
self.clearSearch();
|
3305 |
-
if (triggerChange) {
|
3306 |
-
self.triggerChange(self.buildChangeDetails(oldData, self.data()));
|
3307 |
-
}
|
3308 |
-
});
|
3309 |
-
}
|
3310 |
-
this.clearSearch();
|
3311 |
-
},
|
3312 |
-
|
3313 |
-
// multi
|
3314 |
-
onSortStart: function() {
|
3315 |
-
if (this.select) {
|
3316 |
-
throw new Error("Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead.");
|
3317 |
-
}
|
3318 |
-
|
3319 |
-
// collapse search field into 0 width so its container can be collapsed as well
|
3320 |
-
this.search.width(0);
|
3321 |
-
// hide the container
|
3322 |
-
this.searchContainer.hide();
|
3323 |
-
},
|
3324 |
-
|
3325 |
-
// multi
|
3326 |
-
onSortEnd:function() {
|
3327 |
-
|
3328 |
-
var val=[], self=this;
|
3329 |
-
|
3330 |
-
// show search and move it to the end of the list
|
3331 |
-
this.searchContainer.show();
|
3332 |
-
// make sure the search container is the last item in the list
|
3333 |
-
this.searchContainer.appendTo(this.searchContainer.parent());
|
3334 |
-
// since we collapsed the width in dragStarted, we resize it here
|
3335 |
-
this.resizeSearch();
|
3336 |
-
|
3337 |
-
// update selection
|
3338 |
-
this.selection.find(".select2-search-choice").each(function() {
|
3339 |
-
val.push(self.opts.id($(this).data("select2-data")));
|
3340 |
-
});
|
3341 |
-
this.setVal(val);
|
3342 |
-
this.triggerChange();
|
3343 |
-
},
|
3344 |
-
|
3345 |
-
// multi
|
3346 |
-
data: function(values, triggerChange) {
|
3347 |
-
var self=this, ids, old;
|
3348 |
-
if (arguments.length === 0) {
|
3349 |
-
return this.selection
|
3350 |
-
.children(".select2-search-choice")
|
3351 |
-
.map(function() { return $(this).data("select2-data"); })
|
3352 |
-
.get();
|
3353 |
-
} else {
|
3354 |
-
old = this.data();
|
3355 |
-
if (!values) { values = []; }
|
3356 |
-
ids = $.map(values, function(e) { return self.opts.id(e); });
|
3357 |
-
this.setVal(ids);
|
3358 |
-
this.updateSelection(values);
|
3359 |
-
this.clearSearch();
|
3360 |
-
if (triggerChange) {
|
3361 |
-
this.triggerChange(this.buildChangeDetails(old, this.data()));
|
3362 |
-
}
|
3363 |
-
}
|
3364 |
-
}
|
3365 |
-
});
|
3366 |
-
|
3367 |
-
$.fn.select2 = function () {
|
3368 |
-
|
3369 |
-
var args = Array.prototype.slice.call(arguments, 0),
|
3370 |
-
opts,
|
3371 |
-
select2,
|
3372 |
-
method, value, multiple,
|
3373 |
-
allowedMethods = ["val", "destroy", "opened", "open", "close", "focus", "isFocused", "container", "dropdown", "onSortStart", "onSortEnd", "enable", "disable", "readonly", "positionDropdown", "data", "search"],
|
3374 |
-
valueMethods = ["opened", "isFocused", "container", "dropdown"],
|
3375 |
-
propertyMethods = ["val", "data"],
|
3376 |
-
methodsMap = { search: "externalSearch" };
|
3377 |
-
|
3378 |
-
this.each(function () {
|
3379 |
-
if (args.length === 0 || typeof(args[0]) === "object") {
|
3380 |
-
opts = args.length === 0 ? {} : $.extend({}, args[0]);
|
3381 |
-
opts.element = $(this);
|
3382 |
-
|
3383 |
-
if (opts.element.get(0).tagName.toLowerCase() === "select") {
|
3384 |
-
multiple = opts.element.prop("multiple");
|
3385 |
-
} else {
|
3386 |
-
multiple = opts.multiple || false;
|
3387 |
-
if ("tags" in opts) {opts.multiple = multiple = true;}
|
3388 |
-
}
|
3389 |
-
|
3390 |
-
select2 = multiple ? new window.Select2["class"].multi() : new window.Select2["class"].single();
|
3391 |
-
select2.init(opts);
|
3392 |
-
} else if (typeof(args[0]) === "string") {
|
3393 |
-
|
3394 |
-
if (indexOf(args[0], allowedMethods) < 0) {
|
3395 |
-
throw "Unknown method: " + args[0];
|
3396 |
-
}
|
3397 |
-
|
3398 |
-
value = undefined;
|
3399 |
-
select2 = $(this).data("select2");
|
3400 |
-
if (select2 === undefined) return;
|
3401 |
-
|
3402 |
-
method=args[0];
|
3403 |
-
|
3404 |
-
if (method === "container") {
|
3405 |
-
value = select2.container;
|
3406 |
-
} else if (method === "dropdown") {
|
3407 |
-
value = select2.dropdown;
|
3408 |
-
} else {
|
3409 |
-
if (methodsMap[method]) method = methodsMap[method];
|
3410 |
-
|
3411 |
-
value = select2[method].apply(select2, args.slice(1));
|
3412 |
-
}
|
3413 |
-
if (indexOf(args[0], valueMethods) >= 0
|
3414 |
-
|| (indexOf(args[0], propertyMethods) >= 0 && args.length == 1)) {
|
3415 |
-
return false; // abort the iteration, ready to return first matched value
|
3416 |
-
}
|
3417 |
-
} else {
|
3418 |
-
throw "Invalid arguments to select2 plugin: " + args;
|
3419 |
-
}
|
3420 |
-
});
|
3421 |
-
return (value === undefined) ? this : value;
|
3422 |
-
};
|
3423 |
-
|
3424 |
-
// plugin defaults, accessible to users
|
3425 |
-
$.fn.select2.defaults = {
|
3426 |
-
width: "copy",
|
3427 |
-
loadMorePadding: 0,
|
3428 |
-
closeOnSelect: true,
|
3429 |
-
openOnEnter: true,
|
3430 |
-
containerCss: {},
|
3431 |
-
dropdownCss: {},
|
3432 |
-
containerCssClass: "",
|
3433 |
-
dropdownCssClass: "",
|
3434 |
-
formatResult: function(result, container, query, escapeMarkup) {
|
3435 |
-
var markup=[];
|
3436 |
-
markMatch(this.text(result), query.term, markup, escapeMarkup);
|
3437 |
-
return markup.join("");
|
3438 |
-
},
|
3439 |
-
transformVal: function(val) {
|
3440 |
-
return $.trim(val);
|
3441 |
-
},
|
3442 |
-
formatSelection: function (data, container, escapeMarkup) {
|
3443 |
-
return data ? escapeMarkup(this.text(data)) : undefined;
|
3444 |
-
},
|
3445 |
-
sortResults: function (results, container, query) {
|
3446 |
-
return results;
|
3447 |
-
},
|
3448 |
-
formatResultCssClass: function(data) {return data.css;},
|
3449 |
-
formatSelectionCssClass: function(data, container) {return undefined;},
|
3450 |
-
minimumResultsForSearch: 0,
|
3451 |
-
minimumInputLength: 0,
|
3452 |
-
maximumInputLength: null,
|
3453 |
-
maximumSelectionSize: 0,
|
3454 |
-
id: function (e) { return e == undefined ? null : e.id; },
|
3455 |
-
text: function (e) {
|
3456 |
-
if (e && this.data && this.data.text) {
|
3457 |
-
if ($.isFunction(this.data.text)) {
|
3458 |
-
return this.data.text(e);
|
3459 |
-
} else {
|
3460 |
-
return e[this.data.text];
|
3461 |
-
}
|
3462 |
-
} else {
|
3463 |
-
return e.text;
|
3464 |
-
}
|
3465 |
-
},
|
3466 |
-
matcher: function(term, text) {
|
3467 |
-
return stripDiacritics(''+text).toUpperCase().indexOf(stripDiacritics(''+term).toUpperCase()) >= 0;
|
3468 |
-
},
|
3469 |
-
separator: ",",
|
3470 |
-
tokenSeparators: [],
|
3471 |
-
tokenizer: defaultTokenizer,
|
3472 |
-
escapeMarkup: defaultEscapeMarkup,
|
3473 |
-
blurOnChange: false,
|
3474 |
-
selectOnBlur: false,
|
3475 |
-
adaptContainerCssClass: function(c) { return c; },
|
3476 |
-
adaptDropdownCssClass: function(c) { return null; },
|
3477 |
-
nextSearchTerm: function(selectedObject, currentSearchTerm) { return undefined; },
|
3478 |
-
searchInputPlaceholder: '',
|
3479 |
-
createSearchChoicePosition: 'top',
|
3480 |
-
shouldFocusInput: function (instance) {
|
3481 |
-
// Attempt to detect touch devices
|
3482 |
-
var supportsTouchEvents = (('ontouchstart' in window) ||
|
3483 |
-
(navigator.msMaxTouchPoints > 0));
|
3484 |
-
|
3485 |
-
// Only devices which support touch events should be special cased
|
3486 |
-
if (!supportsTouchEvents) {
|
3487 |
-
return true;
|
3488 |
-
}
|
3489 |
-
|
3490 |
-
// Never focus the input if search is disabled
|
3491 |
-
if (instance.opts.minimumResultsForSearch < 0) {
|
3492 |
-
return false;
|
3493 |
-
}
|
3494 |
-
|
3495 |
-
return true;
|
3496 |
-
}
|
3497 |
-
};
|
3498 |
-
|
3499 |
-
$.fn.select2.locales = [];
|
3500 |
-
|
3501 |
-
$.fn.select2.locales['en'] = {
|
3502 |
-
formatMatches: function (matches) { if (matches === 1) { return "One result is available, press enter to select it."; } return matches + " results are available, use up and down arrow keys to navigate."; },
|
3503 |
-
formatNoMatches: function () { return "No matches found"; },
|
3504 |
-
formatAjaxError: function (jqXHR, textStatus, errorThrown) { return "Loading failed"; },
|
3505 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Please enter " + n + " or more character" + (n == 1 ? "" : "s"); },
|
3506 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Please delete " + n + " character" + (n == 1 ? "" : "s"); },
|
3507 |
-
formatSelectionTooBig: function (limit) { return "You can only select " + limit + " item" + (limit == 1 ? "" : "s"); },
|
3508 |
-
formatLoadMore: function (pageNumber) { return "Loading more results…"; },
|
3509 |
-
formatSearching: function () { return "Searching…"; }
|
3510 |
-
};
|
3511 |
-
|
3512 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['en']);
|
3513 |
-
|
3514 |
-
$.fn.select2.ajaxDefaults = {
|
3515 |
-
transport: $.ajax,
|
3516 |
-
params: {
|
3517 |
-
type: "GET",
|
3518 |
-
cache: false,
|
3519 |
-
dataType: "json"
|
3520 |
-
}
|
3521 |
-
};
|
3522 |
-
|
3523 |
-
// exports
|
3524 |
-
window.Select2 = {
|
3525 |
-
query: {
|
3526 |
-
ajax: ajax,
|
3527 |
-
local: local,
|
3528 |
-
tags: tags
|
3529 |
-
}, util: {
|
3530 |
-
debounce: debounce,
|
3531 |
-
markMatch: markMatch,
|
3532 |
-
escapeMarkup: defaultEscapeMarkup,
|
3533 |
-
stripDiacritics: stripDiacritics
|
3534 |
-
}, "class": {
|
3535 |
-
"abstract": AbstractSelect2,
|
3536 |
-
"single": SingleSelect2,
|
3537 |
-
"multi": MultiSelect2
|
3538 |
-
}
|
3539 |
-
};
|
3540 |
-
|
3541 |
-
}(jQuery));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2.min.js
DELETED
@@ -1,23 +0,0 @@
|
|
1 |
-
/*
|
2 |
-
Copyright 2014 Igor Vaynberg
|
3 |
-
|
4 |
-
Version: 3.5.2 Timestamp: Sat Nov 1 14:43:36 EDT 2014
|
5 |
-
|
6 |
-
This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
|
7 |
-
General Public License version 2 (the "GPL License"). You may choose either license to govern your
|
8 |
-
use of this software only upon the condition that you accept all of the terms of either the Apache
|
9 |
-
License or the GPL License.
|
10 |
-
|
11 |
-
You may obtain a copy of the Apache License and the GPL License at:
|
12 |
-
|
13 |
-
http://www.apache.org/licenses/LICENSE-2.0
|
14 |
-
http://www.gnu.org/licenses/gpl-2.0.html
|
15 |
-
|
16 |
-
Unless required by applicable law or agreed to in writing, software distributed under the Apache License
|
17 |
-
or the GPL Licesnse is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
18 |
-
either express or implied. See the Apache License and the GPL License for the specific language governing
|
19 |
-
permissions and limitations under the Apache License and the GPL License.
|
20 |
-
*/
|
21 |
-
!function(a){"undefined"==typeof a.fn.each2&&a.extend(a.fn,{each2:function(b){for(var c=a([0]),d=-1,e=this.length;++d<e&&(c.context=c[0]=this[d])&&b.call(c[0],d,c)!==!1;);return this}})}(jQuery),function(a,b){"use strict";function n(b){var c=a(document.createTextNode(""));b.before(c),c.before(b),c.remove()}function o(a){function b(a){return m[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function p(a,b){for(var c=0,d=b.length;d>c;c+=1)if(r(a,b[c]))return c;return-1}function q(){var b=a(l);b.appendTo(document.body);var c={width:b.width()-b[0].clientWidth,height:b.height()-b[0].clientHeight};return b.remove(),c}function r(a,c){return a===c?!0:a===b||c===b?!1:null===a||null===c?!1:a.constructor===String?a+""==c+"":c.constructor===String?c+""==a+"":!1}function s(a,b,c){var d,e,f;if(null===a||a.length<1)return[];for(d=a.split(b),e=0,f=d.length;f>e;e+=1)d[e]=c(d[e]);return d}function t(a){return a.outerWidth(!1)-a.width()}function u(c){var d="keyup-change-value";c.on("keydown",function(){a.data(c,d)===b&&a.data(c,d,c.val())}),c.on("keyup",function(){var e=a.data(c,d);e!==b&&c.val()!==e&&(a.removeData(c,d),c.trigger("keyup-change"))})}function v(c){c.on("mousemove",function(c){var d=h;(d===b||d.x!==c.pageX||d.y!==c.pageY)&&a(c.target).trigger("mousemove-filtered",c)})}function w(a,c,d){d=d||b;var e;return function(){var b=arguments;window.clearTimeout(e),e=window.setTimeout(function(){c.apply(d,b)},a)}}function x(a,b){var c=w(a,function(a){b.trigger("scroll-debounced",a)});b.on("scroll",function(a){p(a.target,b.get())>=0&&c(a)})}function y(a){a[0]!==document.activeElement&&window.setTimeout(function(){var d,b=a[0],c=a.val().length;a.focus();var e=b.offsetWidth>0||b.offsetHeight>0;e&&b===document.activeElement&&(b.setSelectionRange?b.setSelectionRange(c,c):b.createTextRange&&(d=b.createTextRange(),d.collapse(!1),d.select()))},0)}function z(b){b=a(b)[0];var c=0,d=0;if("selectionStart"in b)c=b.selectionStart,d=b.selectionEnd-c;else if("selection"in document){b.focus();var e=document.selection.createRange();d=document.selection.createRange().text.length,e.moveStart("character",-b.value.length),c=e.text.length-d}return{offset:c,length:d}}function A(a){a.preventDefault(),a.stopPropagation()}function B(a){a.preventDefault(),a.stopImmediatePropagation()}function C(b){if(!g){var c=b[0].currentStyle||window.getComputedStyle(b[0],null);g=a(document.createElement("div")).css({position:"absolute",left:"-10000px",top:"-10000px",display:"none",fontSize:c.fontSize,fontFamily:c.fontFamily,fontStyle:c.fontStyle,fontWeight:c.fontWeight,letterSpacing:c.letterSpacing,textTransform:c.textTransform,whiteSpace:"nowrap"}),g.attr("class","select2-sizer"),a(document.body).append(g)}return g.text(b.val()),g.width()}function D(b,c,d){var e,g,f=[];e=a.trim(b.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each2(function(){0===this.indexOf("select2-")&&f.push(this)})),e=a.trim(c.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each2(function(){0!==this.indexOf("select2-")&&(g=d(this),g&&f.push(g))})),b.attr("class",f.join(" "))}function E(a,b,c,d){var e=o(a.toUpperCase()).indexOf(o(b.toUpperCase())),f=b.length;return 0>e?(c.push(d(a)),void 0):(c.push(d(a.substring(0,e))),c.push("<span class='select2-match'>"),c.push(d(a.substring(e,e+f))),c.push("</span>"),c.push(d(a.substring(e+f,a.length))),void 0)}function F(a){var b={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})}function G(c){var d,e=null,f=c.quietMillis||100,g=c.url,h=this;return function(i){window.clearTimeout(d),d=window.setTimeout(function(){var d=c.data,f=g,j=c.transport||a.fn.select2.ajaxDefaults.transport,k={type:c.type||"GET",cache:c.cache||!1,jsonpCallback:c.jsonpCallback||b,dataType:c.dataType||"json"},l=a.extend({},a.fn.select2.ajaxDefaults.params,k);d=d?d.call(h,i.term,i.page,i.context):null,f="function"==typeof f?f.call(h,i.term,i.page,i.context):f,e&&"function"==typeof e.abort&&e.abort(),c.params&&(a.isFunction(c.params)?a.extend(l,c.params.call(h)):a.extend(l,c.params)),a.extend(l,{url:f,dataType:c.dataType,data:d,success:function(a){var b=c.results(a,i.page,i);i.callback(b)},error:function(a,b,c){var d={hasError:!0,jqXHR:a,textStatus:b,errorThrown:c};i.callback(d)}}),e=j.call(h,l)},f)}}function H(b){var d,e,c=b,f=function(a){return""+a.text};a.isArray(c)&&(e=c,c={results:e}),a.isFunction(c)===!1&&(e=c,c=function(){return e});var g=c();return g.text&&(f=g.text,a.isFunction(f)||(d=g.text,f=function(a){return a[d]})),function(b){var g,d=b.term,e={results:[]};return""===d?(b.callback(c()),void 0):(g=function(c,e){var h,i;if(c=c[0],c.children){h={};for(i in c)c.hasOwnProperty(i)&&(h[i]=c[i]);h.children=[],a(c.children).each2(function(a,b){g(b,h.children)}),(h.children.length||b.matcher(d,f(h),c))&&e.push(h)}else b.matcher(d,f(c),c)&&e.push(c)},a(c().results).each2(function(a,b){g(b,e.results)}),b.callback(e),void 0)}}function I(c){var d=a.isFunction(c);return function(e){var f=e.term,g={results:[]},h=d?c(e):c;a.isArray(h)&&(a(h).each(function(){var a=this.text!==b,c=a?this.text:this;(""===f||e.matcher(f,c))&&g.results.push(a?this:{id:this,text:this})}),e.callback(g))}}function J(b,c){if(a.isFunction(b))return!0;if(!b)return!1;if("string"==typeof b)return!0;throw new Error(c+" must be a string, function, or falsy value")}function K(b,c){if(a.isFunction(b)){var d=Array.prototype.slice.call(arguments,2);return b.apply(c,d)}return b}function L(b){var c=0;return a.each(b,function(a,b){b.children?c+=L(b.children):c++}),c}function M(a,c,d,e){var h,i,j,k,l,f=a,g=!1;if(!e.createSearchChoice||!e.tokenSeparators||e.tokenSeparators.length<1)return b;for(;;){for(i=-1,j=0,k=e.tokenSeparators.length;k>j&&(l=e.tokenSeparators[j],i=a.indexOf(l),!(i>=0));j++);if(0>i)break;if(h=a.substring(0,i),a=a.substring(i+l.length),h.length>0&&(h=e.createSearchChoice.call(this,h,c),h!==b&&null!==h&&e.id(h)!==b&&null!==e.id(h))){for(g=!1,j=0,k=c.length;k>j;j++)if(r(e.id(h),e.id(c[j]))){g=!0;break}g||d(h)}}return f!==a?a:void 0}function N(){var b=this;a.each(arguments,function(a,c){b[c].remove(),b[c]=null})}function O(b,c){var d=function(){};return d.prototype=new b,d.prototype.constructor=d,d.prototype.parent=b.prototype,d.prototype=a.extend(d.prototype,c),d}if(window.Select2===b){var c,d,e,f,g,i,j,h={x:0,y:0},k={TAB:9,ENTER:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,SHIFT:16,CTRL:17,ALT:18,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,BACKSPACE:8,DELETE:46,isArrow:function(a){switch(a=a.which?a.which:a){case k.LEFT:case k.RIGHT:case k.UP:case k.DOWN:return!0}return!1},isControl:function(a){var b=a.which;switch(b){case k.SHIFT:case k.CTRL:case k.ALT:return!0}return a.metaKey?!0:!1},isFunctionKey:function(a){return a=a.which?a.which:a,a>=112&&123>=a}},l="<div class='select2-measure-scrollbar'></div>",m={"\u24b6":"A","\uff21":"A","\xc0":"A","\xc1":"A","\xc2":"A","\u1ea6":"A","\u1ea4":"A","\u1eaa":"A","\u1ea8":"A","\xc3":"A","\u0100":"A","\u0102":"A","\u1eb0":"A","\u1eae":"A","\u1eb4":"A","\u1eb2":"A","\u0226":"A","\u01e0":"A","\xc4":"A","\u01de":"A","\u1ea2":"A","\xc5":"A","\u01fa":"A","\u01cd":"A","\u0200":"A","\u0202":"A","\u1ea0":"A","\u1eac":"A","\u1eb6":"A","\u1e00":"A","\u0104":"A","\u023a":"A","\u2c6f":"A","\ua732":"AA","\xc6":"AE","\u01fc":"AE","\u01e2":"AE","\ua734":"AO","\ua736":"AU","\ua738":"AV","\ua73a":"AV","\ua73c":"AY","\u24b7":"B","\uff22":"B","\u1e02":"B","\u1e04":"B","\u1e06":"B","\u0243":"B","\u0182":"B","\u0181":"B","\u24b8":"C","\uff23":"C","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\xc7":"C","\u1e08":"C","\u0187":"C","\u023b":"C","\ua73e":"C","\u24b9":"D","\uff24":"D","\u1e0a":"D","\u010e":"D","\u1e0c":"D","\u1e10":"D","\u1e12":"D","\u1e0e":"D","\u0110":"D","\u018b":"D","\u018a":"D","\u0189":"D","\ua779":"D","\u01f1":"DZ","\u01c4":"DZ","\u01f2":"Dz","\u01c5":"Dz","\u24ba":"E","\uff25":"E","\xc8":"E","\xc9":"E","\xca":"E","\u1ec0":"E","\u1ebe":"E","\u1ec4":"E","\u1ec2":"E","\u1ebc":"E","\u0112":"E","\u1e14":"E","\u1e16":"E","\u0114":"E","\u0116":"E","\xcb":"E","\u1eba":"E","\u011a":"E","\u0204":"E","\u0206":"E","\u1eb8":"E","\u1ec6":"E","\u0228":"E","\u1e1c":"E","\u0118":"E","\u1e18":"E","\u1e1a":"E","\u0190":"E","\u018e":"E","\u24bb":"F","\uff26":"F","\u1e1e":"F","\u0191":"F","\ua77b":"F","\u24bc":"G","\uff27":"G","\u01f4":"G","\u011c":"G","\u1e20":"G","\u011e":"G","\u0120":"G","\u01e6":"G","\u0122":"G","\u01e4":"G","\u0193":"G","\ua7a0":"G","\ua77d":"G","\ua77e":"G","\u24bd":"H","\uff28":"H","\u0124":"H","\u1e22":"H","\u1e26":"H","\u021e":"H","\u1e24":"H","\u1e28":"H","\u1e2a":"H","\u0126":"H","\u2c67":"H","\u2c75":"H","\ua78d":"H","\u24be":"I","\uff29":"I","\xcc":"I","\xcd":"I","\xce":"I","\u0128":"I","\u012a":"I","\u012c":"I","\u0130":"I","\xcf":"I","\u1e2e":"I","\u1ec8":"I","\u01cf":"I","\u0208":"I","\u020a":"I","\u1eca":"I","\u012e":"I","\u1e2c":"I","\u0197":"I","\u24bf":"J","\uff2a":"J","\u0134":"J","\u0248":"J","\u24c0":"K","\uff2b":"K","\u1e30":"K","\u01e8":"K","\u1e32":"K","\u0136":"K","\u1e34":"K","\u0198":"K","\u2c69":"K","\ua740":"K","\ua742":"K","\ua744":"K","\ua7a2":"K","\u24c1":"L","\uff2c":"L","\u013f":"L","\u0139":"L","\u013d":"L","\u1e36":"L","\u1e38":"L","\u013b":"L","\u1e3c":"L","\u1e3a":"L","\u0141":"L","\u023d":"L","\u2c62":"L","\u2c60":"L","\ua748":"L","\ua746":"L","\ua780":"L","\u01c7":"LJ","\u01c8":"Lj","\u24c2":"M","\uff2d":"M","\u1e3e":"M","\u1e40":"M","\u1e42":"M","\u2c6e":"M","\u019c":"M","\u24c3":"N","\uff2e":"N","\u01f8":"N","\u0143":"N","\xd1":"N","\u1e44":"N","\u0147":"N","\u1e46":"N","\u0145":"N","\u1e4a":"N","\u1e48":"N","\u0220":"N","\u019d":"N","\ua790":"N","\ua7a4":"N","\u01ca":"NJ","\u01cb":"Nj","\u24c4":"O","\uff2f":"O","\xd2":"O","\xd3":"O","\xd4":"O","\u1ed2":"O","\u1ed0":"O","\u1ed6":"O","\u1ed4":"O","\xd5":"O","\u1e4c":"O","\u022c":"O","\u1e4e":"O","\u014c":"O","\u1e50":"O","\u1e52":"O","\u014e":"O","\u022e":"O","\u0230":"O","\xd6":"O","\u022a":"O","\u1ece":"O","\u0150":"O","\u01d1":"O","\u020c":"O","\u020e":"O","\u01a0":"O","\u1edc":"O","\u1eda":"O","\u1ee0":"O","\u1ede":"O","\u1ee2":"O","\u1ecc":"O","\u1ed8":"O","\u01ea":"O","\u01ec":"O","\xd8":"O","\u01fe":"O","\u0186":"O","\u019f":"O","\ua74a":"O","\ua74c":"O","\u01a2":"OI","\ua74e":"OO","\u0222":"OU","\u24c5":"P","\uff30":"P","\u1e54":"P","\u1e56":"P","\u01a4":"P","\u2c63":"P","\ua750":"P","\ua752":"P","\ua754":"P","\u24c6":"Q","\uff31":"Q","\ua756":"Q","\ua758":"Q","\u024a":"Q","\u24c7":"R","\uff32":"R","\u0154":"R","\u1e58":"R","\u0158":"R","\u0210":"R","\u0212":"R","\u1e5a":"R","\u1e5c":"R","\u0156":"R","\u1e5e":"R","\u024c":"R","\u2c64":"R","\ua75a":"R","\ua7a6":"R","\ua782":"R","\u24c8":"S","\uff33":"S","\u1e9e":"S","\u015a":"S","\u1e64":"S","\u015c":"S","\u1e60":"S","\u0160":"S","\u1e66":"S","\u1e62":"S","\u1e68":"S","\u0218":"S","\u015e":"S","\u2c7e":"S","\ua7a8":"S","\ua784":"S","\u24c9":"T","\uff34":"T","\u1e6a":"T","\u0164":"T","\u1e6c":"T","\u021a":"T","\u0162":"T","\u1e70":"T","\u1e6e":"T","\u0166":"T","\u01ac":"T","\u01ae":"T","\u023e":"T","\ua786":"T","\ua728":"TZ","\u24ca":"U","\uff35":"U","\xd9":"U","\xda":"U","\xdb":"U","\u0168":"U","\u1e78":"U","\u016a":"U","\u1e7a":"U","\u016c":"U","\xdc":"U","\u01db":"U","\u01d7":"U","\u01d5":"U","\u01d9":"U","\u1ee6":"U","\u016e":"U","\u0170":"U","\u01d3":"U","\u0214":"U","\u0216":"U","\u01af":"U","\u1eea":"U","\u1ee8":"U","\u1eee":"U","\u1eec":"U","\u1ef0":"U","\u1ee4":"U","\u1e72":"U","\u0172":"U","\u1e76":"U","\u1e74":"U","\u0244":"U","\u24cb":"V","\uff36":"V","\u1e7c":"V","\u1e7e":"V","\u01b2":"V","\ua75e":"V","\u0245":"V","\ua760":"VY","\u24cc":"W","\uff37":"W","\u1e80":"W","\u1e82":"W","\u0174":"W","\u1e86":"W","\u1e84":"W","\u1e88":"W","\u2c72":"W","\u24cd":"X","\uff38":"X","\u1e8a":"X","\u1e8c":"X","\u24ce":"Y","\uff39":"Y","\u1ef2":"Y","\xdd":"Y","\u0176":"Y","\u1ef8":"Y","\u0232":"Y","\u1e8e":"Y","\u0178":"Y","\u1ef6":"Y","\u1ef4":"Y","\u01b3":"Y","\u024e":"Y","\u1efe":"Y","\u24cf":"Z","\uff3a":"Z","\u0179":"Z","\u1e90":"Z","\u017b":"Z","\u017d":"Z","\u1e92":"Z","\u1e94":"Z","\u01b5":"Z","\u0224":"Z","\u2c7f":"Z","\u2c6b":"Z","\ua762":"Z","\u24d0":"a","\uff41":"a","\u1e9a":"a","\xe0":"a","\xe1":"a","\xe2":"a","\u1ea7":"a","\u1ea5":"a","\u1eab":"a","\u1ea9":"a","\xe3":"a","\u0101":"a","\u0103":"a","\u1eb1":"a","\u1eaf":"a","\u1eb5":"a","\u1eb3":"a","\u0227":"a","\u01e1":"a","\xe4":"a","\u01df":"a","\u1ea3":"a","\xe5":"a","\u01fb":"a","\u01ce":"a","\u0201":"a","\u0203":"a","\u1ea1":"a","\u1ead":"a","\u1eb7":"a","\u1e01":"a","\u0105":"a","\u2c65":"a","\u0250":"a","\ua733":"aa","\xe6":"ae","\u01fd":"ae","\u01e3":"ae","\ua735":"ao","\ua737":"au","\ua739":"av","\ua73b":"av","\ua73d":"ay","\u24d1":"b","\uff42":"b","\u1e03":"b","\u1e05":"b","\u1e07":"b","\u0180":"b","\u0183":"b","\u0253":"b","\u24d2":"c","\uff43":"c","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\xe7":"c","\u1e09":"c","\u0188":"c","\u023c":"c","\ua73f":"c","\u2184":"c","\u24d3":"d","\uff44":"d","\u1e0b":"d","\u010f":"d","\u1e0d":"d","\u1e11":"d","\u1e13":"d","\u1e0f":"d","\u0111":"d","\u018c":"d","\u0256":"d","\u0257":"d","\ua77a":"d","\u01f3":"dz","\u01c6":"dz","\u24d4":"e","\uff45":"e","\xe8":"e","\xe9":"e","\xea":"e","\u1ec1":"e","\u1ebf":"e","\u1ec5":"e","\u1ec3":"e","\u1ebd":"e","\u0113":"e","\u1e15":"e","\u1e17":"e","\u0115":"e","\u0117":"e","\xeb":"e","\u1ebb":"e","\u011b":"e","\u0205":"e","\u0207":"e","\u1eb9":"e","\u1ec7":"e","\u0229":"e","\u1e1d":"e","\u0119":"e","\u1e19":"e","\u1e1b":"e","\u0247":"e","\u025b":"e","\u01dd":"e","\u24d5":"f","\uff46":"f","\u1e1f":"f","\u0192":"f","\ua77c":"f","\u24d6":"g","\uff47":"g","\u01f5":"g","\u011d":"g","\u1e21":"g","\u011f":"g","\u0121":"g","\u01e7":"g","\u0123":"g","\u01e5":"g","\u0260":"g","\ua7a1":"g","\u1d79":"g","\ua77f":"g","\u24d7":"h","\uff48":"h","\u0125":"h","\u1e23":"h","\u1e27":"h","\u021f":"h","\u1e25":"h","\u1e29":"h","\u1e2b":"h","\u1e96":"h","\u0127":"h","\u2c68":"h","\u2c76":"h","\u0265":"h","\u0195":"hv","\u24d8":"i","\uff49":"i","\xec":"i","\xed":"i","\xee":"i","\u0129":"i","\u012b":"i","\u012d":"i","\xef":"i","\u1e2f":"i","\u1ec9":"i","\u01d0":"i","\u0209":"i","\u020b":"i","\u1ecb":"i","\u012f":"i","\u1e2d":"i","\u0268":"i","\u0131":"i","\u24d9":"j","\uff4a":"j","\u0135":"j","\u01f0":"j","\u0249":"j","\u24da":"k","\uff4b":"k","\u1e31":"k","\u01e9":"k","\u1e33":"k","\u0137":"k","\u1e35":"k","\u0199":"k","\u2c6a":"k","\ua741":"k","\ua743":"k","\ua745":"k","\ua7a3":"k","\u24db":"l","\uff4c":"l","\u0140":"l","\u013a":"l","\u013e":"l","\u1e37":"l","\u1e39":"l","\u013c":"l","\u1e3d":"l","\u1e3b":"l","\u017f":"l","\u0142":"l","\u019a":"l","\u026b":"l","\u2c61":"l","\ua749":"l","\ua781":"l","\ua747":"l","\u01c9":"lj","\u24dc":"m","\uff4d":"m","\u1e3f":"m","\u1e41":"m","\u1e43":"m","\u0271":"m","\u026f":"m","\u24dd":"n","\uff4e":"n","\u01f9":"n","\u0144":"n","\xf1":"n","\u1e45":"n","\u0148":"n","\u1e47":"n","\u0146":"n","\u1e4b":"n","\u1e49":"n","\u019e":"n","\u0272":"n","\u0149":"n","\ua791":"n","\ua7a5":"n","\u01cc":"nj","\u24de":"o","\uff4f":"o","\xf2":"o","\xf3":"o","\xf4":"o","\u1ed3":"o","\u1ed1":"o","\u1ed7":"o","\u1ed5":"o","\xf5":"o","\u1e4d":"o","\u022d":"o","\u1e4f":"o","\u014d":"o","\u1e51":"o","\u1e53":"o","\u014f":"o","\u022f":"o","\u0231":"o","\xf6":"o","\u022b":"o","\u1ecf":"o","\u0151":"o","\u01d2":"o","\u020d":"o","\u020f":"o","\u01a1":"o","\u1edd":"o","\u1edb":"o","\u1ee1":"o","\u1edf":"o","\u1ee3":"o","\u1ecd":"o","\u1ed9":"o","\u01eb":"o","\u01ed":"o","\xf8":"o","\u01ff":"o","\u0254":"o","\ua74b":"o","\ua74d":"o","\u0275":"o","\u01a3":"oi","\u0223":"ou","\ua74f":"oo","\u24df":"p","\uff50":"p","\u1e55":"p","\u1e57":"p","\u01a5":"p","\u1d7d":"p","\ua751":"p","\ua753":"p","\ua755":"p","\u24e0":"q","\uff51":"q","\u024b":"q","\ua757":"q","\ua759":"q","\u24e1":"r","\uff52":"r","\u0155":"r","\u1e59":"r","\u0159":"r","\u0211":"r","\u0213":"r","\u1e5b":"r","\u1e5d":"r","\u0157":"r","\u1e5f":"r","\u024d":"r","\u027d":"r","\ua75b":"r","\ua7a7":"r","\ua783":"r","\u24e2":"s","\uff53":"s","\xdf":"s","\u015b":"s","\u1e65":"s","\u015d":"s","\u1e61":"s","\u0161":"s","\u1e67":"s","\u1e63":"s","\u1e69":"s","\u0219":"s","\u015f":"s","\u023f":"s","\ua7a9":"s","\ua785":"s","\u1e9b":"s","\u24e3":"t","\uff54":"t","\u1e6b":"t","\u1e97":"t","\u0165":"t","\u1e6d":"t","\u021b":"t","\u0163":"t","\u1e71":"t","\u1e6f":"t","\u0167":"t","\u01ad":"t","\u0288":"t","\u2c66":"t","\ua787":"t","\ua729":"tz","\u24e4":"u","\uff55":"u","\xf9":"u","\xfa":"u","\xfb":"u","\u0169":"u","\u1e79":"u","\u016b":"u","\u1e7b":"u","\u016d":"u","\xfc":"u","\u01dc":"u","\u01d8":"u","\u01d6":"u","\u01da":"u","\u1ee7":"u","\u016f":"u","\u0171":"u","\u01d4":"u","\u0215":"u","\u0217":"u","\u01b0":"u","\u1eeb":"u","\u1ee9":"u","\u1eef":"u","\u1eed":"u","\u1ef1":"u","\u1ee5":"u","\u1e73":"u","\u0173":"u","\u1e77":"u","\u1e75":"u","\u0289":"u","\u24e5":"v","\uff56":"v","\u1e7d":"v","\u1e7f":"v","\u028b":"v","\ua75f":"v","\u028c":"v","\ua761":"vy","\u24e6":"w","\uff57":"w","\u1e81":"w","\u1e83":"w","\u0175":"w","\u1e87":"w","\u1e85":"w","\u1e98":"w","\u1e89":"w","\u2c73":"w","\u24e7":"x","\uff58":"x","\u1e8b":"x","\u1e8d":"x","\u24e8":"y","\uff59":"y","\u1ef3":"y","\xfd":"y","\u0177":"y","\u1ef9":"y","\u0233":"y","\u1e8f":"y","\xff":"y","\u1ef7":"y","\u1e99":"y","\u1ef5":"y","\u01b4":"y","\u024f":"y","\u1eff":"y","\u24e9":"z","\uff5a":"z","\u017a":"z","\u1e91":"z","\u017c":"z","\u017e":"z","\u1e93":"z","\u1e95":"z","\u01b6":"z","\u0225":"z","\u0240":"z","\u2c6c":"z","\ua763":"z","\u0386":"\u0391","\u0388":"\u0395","\u0389":"\u0397","\u038a":"\u0399","\u03aa":"\u0399","\u038c":"\u039f","\u038e":"\u03a5","\u03ab":"\u03a5","\u038f":"\u03a9","\u03ac":"\u03b1","\u03ad":"\u03b5","\u03ae":"\u03b7","\u03af":"\u03b9","\u03ca":"\u03b9","\u0390":"\u03b9","\u03cc":"\u03bf","\u03cd":"\u03c5","\u03cb":"\u03c5","\u03b0":"\u03c5","\u03c9":"\u03c9","\u03c2":"\u03c3"};i=a(document),f=function(){var a=1;return function(){return a++}}(),c=O(Object,{bind:function(a){var b=this;return function(){a.apply(b,arguments)}},init:function(c){var d,e,g=".select2-results";this.opts=c=this.prepareOpts(c),this.id=c.id,c.element.data("select2")!==b&&null!==c.element.data("select2")&&c.element.data("select2").destroy(),this.container=this.createContainer(),this.liveRegion=a(".select2-hidden-accessible"),0==this.liveRegion.length&&(this.liveRegion=a("<span>",{role:"status","aria-live":"polite"}).addClass("select2-hidden-accessible").appendTo(document.body)),this.containerId="s2id_"+(c.element.attr("id")||"autogen"+f()),this.containerEventName=this.containerId.replace(/([.])/g,"_").replace(/([;&,\-\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g,"\\$1"),this.container.attr("id",this.containerId),this.container.attr("title",c.element.attr("title")),this.body=a(document.body),D(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.attr("style",c.element.attr("style")),this.container.css(K(c.containerCss,this.opts.element)),this.container.addClass(K(c.containerCssClass,this.opts.element)),this.elementTabIndex=this.opts.element.attr("tabindex"),this.opts.element.data("select2",this).attr("tabindex","-1").before(this.container).on("click.select2",A),this.container.data("select2",this),this.dropdown=this.container.find(".select2-drop"),D(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(K(c.dropdownCssClass,this.opts.element)),this.dropdown.data("select2",this),this.dropdown.on("click",A),this.results=d=this.container.find(g),this.search=e=this.container.find("input.select2-input"),this.queryCount=0,this.resultsPage=0,this.context=null,this.initContainer(),this.container.on("click",A),v(this.results),this.dropdown.on("mousemove-filtered",g,this.bind(this.highlightUnderEvent)),this.dropdown.on("touchstart touchmove touchend",g,this.bind(function(a){this._touchEvent=!0,this.highlightUnderEvent(a)})),this.dropdown.on("touchmove",g,this.bind(this.touchMoved)),this.dropdown.on("touchstart touchend",g,this.bind(this.clearTouchMoved)),this.dropdown.on("click",this.bind(function(){this._touchEvent&&(this._touchEvent=!1,this.selectHighlighted())})),x(80,this.results),this.dropdown.on("scroll-debounced",g,this.bind(this.loadMoreIfNeeded)),a(this.container).on("change",".select2-input",function(a){a.stopPropagation()}),a(this.dropdown).on("change",".select2-input",function(a){a.stopPropagation()}),a.fn.mousewheel&&d.mousewheel(function(a,b,c,e){var f=d.scrollTop();e>0&&0>=f-e?(d.scrollTop(0),A(a)):0>e&&d.get(0).scrollHeight-d.scrollTop()+e<=d.height()&&(d.scrollTop(d.get(0).scrollHeight-d.height()),A(a))}),u(e),e.on("keyup-change input paste",this.bind(this.updateResults)),e.on("focus",function(){e.addClass("select2-focused")}),e.on("blur",function(){e.removeClass("select2-focused")}),this.dropdown.on("mouseup",g,this.bind(function(b){a(b.target).closest(".select2-result-selectable").length>0&&(this.highlightUnderEvent(b),this.selectHighlighted(b))})),this.dropdown.on("click mouseup mousedown touchstart touchend focusin",function(a){a.stopPropagation()}),this.nextSearchTerm=b,a.isFunction(this.opts.initSelection)&&(this.initSelection(),this.monitorSource()),null!==c.maximumInputLength&&this.search.attr("maxlength",c.maximumInputLength);var h=c.element.prop("disabled");h===b&&(h=!1),this.enable(!h);var i=c.element.prop("readonly");i===b&&(i=!1),this.readonly(i),j=j||q(),this.autofocus=c.element.prop("autofocus"),c.element.prop("autofocus",!1),this.autofocus&&this.focus(),this.search.attr("placeholder",c.searchInputPlaceholder)},destroy:function(){var a=this.opts.element,c=a.data("select2"),d=this;this.close(),a.length&&a[0].detachEvent&&d._sync&&a.each(function(){d._sync&&this.detachEvent("onpropertychange",d._sync)}),this.propertyObserver&&(this.propertyObserver.disconnect(),this.propertyObserver=null),this._sync=null,c!==b&&(c.container.remove(),c.liveRegion.remove(),c.dropdown.remove(),a.show().removeData("select2").off(".select2").prop("autofocus",this.autofocus||!1),this.elementTabIndex?a.attr({tabindex:this.elementTabIndex}):a.removeAttr("tabindex"),a.show()),N.call(this,"container","liveRegion","dropdown","results","search")},optionToData:function(a){return a.is("option")?{id:a.prop("value"),text:a.text(),element:a.get(),css:a.attr("class"),disabled:a.prop("disabled"),locked:r(a.attr("locked"),"locked")||r(a.data("locked"),!0)}:a.is("optgroup")?{text:a.attr("label"),children:[],element:a.get(),css:a.attr("class")}:void 0},prepareOpts:function(c){var d,e,g,h,i=this;if(d=c.element,"select"===d.get(0).tagName.toLowerCase()&&(this.select=e=c.element),e&&a.each(["id","multiple","ajax","query","createSearchChoice","initSelection","data","tags"],function(){if(this in c)throw new Error("Option '"+this+"' is not allowed for Select2 when attached to a <select> element.")}),c=a.extend({},{populateResults:function(d,e,g){var h,j=this.opts.id,k=this.liveRegion;h=function(d,e,l){var m,n,o,p,q,r,s,t,u,v;d=c.sortResults(d,e,g);var w=[];for(m=0,n=d.length;n>m;m+=1)o=d[m],q=o.disabled===!0,p=!q&&j(o)!==b,r=o.children&&o.children.length>0,s=a("<li></li>"),s.addClass("select2-results-dept-"+l),s.addClass("select2-result"),s.addClass(p?"select2-result-selectable":"select2-result-unselectable"),q&&s.addClass("select2-disabled"),r&&s.addClass("select2-result-with-children"),s.addClass(i.opts.formatResultCssClass(o)),s.attr("role","presentation"),t=a(document.createElement("div")),t.addClass("select2-result-label"),t.attr("id","select2-result-label-"+f()),t.attr("role","option"),v=c.formatResult(o,t,g,i.opts.escapeMarkup),v!==b&&(t.html(v),s.append(t)),r&&(u=a("<ul></ul>"),u.addClass("select2-result-sub"),h(o.children,u,l+1),s.append(u)),s.data("select2-data",o),w.push(s[0]);e.append(w),k.text(c.formatMatches(d.length))},h(e,d,0)}},a.fn.select2.defaults,c),"function"!=typeof c.id&&(g=c.id,c.id=function(a){return a[g]}),a.isArray(c.element.data("select2Tags"))){if("tags"in c)throw"tags specified as both an attribute 'data-select2-tags' and in options of Select2 "+c.element.attr("id");c.tags=c.element.data("select2Tags")}if(e?(c.query=this.bind(function(a){var f,g,h,c={results:[],more:!1},e=a.term;h=function(b,c){var d;b.is("option")?a.matcher(e,b.text(),b)&&c.push(i.optionToData(b)):b.is("optgroup")&&(d=i.optionToData(b),b.children().each2(function(a,b){h(b,d.children)}),d.children.length>0&&c.push(d))},f=d.children(),this.getPlaceholder()!==b&&f.length>0&&(g=this.getPlaceholderOption(),g&&(f=f.not(g))),f.each2(function(a,b){h(b,c.results)}),a.callback(c)}),c.id=function(a){return a.id}):"query"in c||("ajax"in c?(h=c.element.data("ajax-url"),h&&h.length>0&&(c.ajax.url=h),c.query=G.call(c.element,c.ajax)):"data"in c?c.query=H(c.data):"tags"in c&&(c.query=I(c.tags),c.createSearchChoice===b&&(c.createSearchChoice=function(b){return{id:a.trim(b),text:a.trim(b)}}),c.initSelection===b&&(c.initSelection=function(b,d){var e=[];a(s(b.val(),c.separator,c.transformVal)).each(function(){var b={id:this,text:this},d=c.tags;a.isFunction(d)&&(d=d()),a(d).each(function(){return r(this.id,b.id)?(b=this,!1):void 0}),e.push(b)}),d(e)}))),"function"!=typeof c.query)throw"query function not defined for Select2 "+c.element.attr("id");if("top"===c.createSearchChoicePosition)c.createSearchChoicePosition=function(a,b){a.unshift(b)};else if("bottom"===c.createSearchChoicePosition)c.createSearchChoicePosition=function(a,b){a.push(b)};else if("function"!=typeof c.createSearchChoicePosition)throw"invalid createSearchChoicePosition option must be 'top', 'bottom' or a custom function";return c},monitorSource:function(){var d,c=this.opts.element,e=this;c.on("change.select2",this.bind(function(){this.opts.element.data("select2-change-triggered")!==!0&&this.initSelection()})),this._sync=this.bind(function(){var a=c.prop("disabled");a===b&&(a=!1),this.enable(!a);var d=c.prop("readonly");d===b&&(d=!1),this.readonly(d),this.container&&(D(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.addClass(K(this.opts.containerCssClass,this.opts.element))),this.dropdown&&(D(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(K(this.opts.dropdownCssClass,this.opts.element)))}),c.length&&c[0].attachEvent&&c.each(function(){this.attachEvent("onpropertychange",e._sync)}),d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,d!==b&&(this.propertyObserver&&(delete this.propertyObserver,this.propertyObserver=null),this.propertyObserver=new d(function(b){a.each(b,e._sync)}),this.propertyObserver.observe(c.get(0),{attributes:!0,subtree:!1}))},triggerSelect:function(b){var c=a.Event("select2-selecting",{val:this.id(b),object:b,choice:b});return this.opts.element.trigger(c),!c.isDefaultPrevented()},triggerChange:function(b){b=b||{},b=a.extend({},b,{type:"change",val:this.val()}),this.opts.element.data("select2-change-triggered",!0),this.opts.element.trigger(b),this.opts.element.data("select2-change-triggered",!1),this.opts.element.click(),this.opts.blurOnChange&&this.opts.element.blur()},isInterfaceEnabled:function(){return this.enabledInterface===!0},enableInterface:function(){var a=this._enabled&&!this._readonly,b=!a;return a===this.enabledInterface?!1:(this.container.toggleClass("select2-container-disabled",b),this.close(),this.enabledInterface=a,!0)},enable:function(a){a===b&&(a=!0),this._enabled!==a&&(this._enabled=a,this.opts.element.prop("disabled",!a),this.enableInterface())},disable:function(){this.enable(!1)},readonly:function(a){a===b&&(a=!1),this._readonly!==a&&(this._readonly=a,this.opts.element.prop("readonly",a),this.enableInterface())},opened:function(){return this.container?this.container.hasClass("select2-dropdown-open"):!1},positionDropdown:function(){var v,w,x,y,z,b=this.dropdown,c=this.container,d=c.offset(),e=c.outerHeight(!1),f=c.outerWidth(!1),g=b.outerHeight(!1),h=a(window),i=h.width(),k=h.height(),l=h.scrollLeft()+i,m=h.scrollTop()+k,n=d.top+e,o=d.left,p=m>=n+g,q=d.top-g>=h.scrollTop(),r=b.outerWidth(!1),s=function(){return l>=o+r},t=function(){return d.left+l+c.outerWidth(!1)>r},u=b.hasClass("select2-drop-above");u?(w=!0,!q&&p&&(x=!0,w=!1)):(w=!1,!p&&q&&(x=!0,w=!0)),x&&(b.hide(),d=this.container.offset(),e=this.container.outerHeight(!1),f=this.container.outerWidth(!1),g=b.outerHeight(!1),l=h.scrollLeft()+i,m=h.scrollTop()+k,n=d.top+e,o=d.left,r=b.outerWidth(!1),b.show(),this.focusSearch()),this.opts.dropdownAutoWidth?(z=a(".select2-results",b)[0],b.addClass("select2-drop-auto-width"),b.css("width",""),r=b.outerWidth(!1)+(z.scrollHeight===z.clientHeight?0:j.width),r>f?f=r:r=f,g=b.outerHeight(!1)):this.container.removeClass("select2-drop-auto-width"),"static"!==this.body.css("position")&&(v=this.body.offset(),n-=v.top,o-=v.left),!s()&&t()&&(o=d.left+this.container.outerWidth(!1)-r),y={left:o,width:f},w?(y.top=d.top-g,y.bottom="auto",this.container.addClass("select2-drop-above"),b.addClass("select2-drop-above")):(y.top=n,y.bottom="auto",this.container.removeClass("select2-drop-above"),b.removeClass("select2-drop-above")),y=a.extend(y,K(this.opts.dropdownCss,this.opts.element)),b.css(y)},shouldOpen:function(){var b;return this.opened()?!1:this._enabled===!1||this._readonly===!0?!1:(b=a.Event("select2-opening"),this.opts.element.trigger(b),!b.isDefaultPrevented())},clearDropdownAlignmentPreference:function(){this.container.removeClass("select2-drop-above"),this.dropdown.removeClass("select2-drop-above")},open:function(){return this.shouldOpen()?(this.opening(),i.on("mousemove.select2Event",function(a){h.x=a.pageX,h.y=a.pageY}),!0):!1},opening:function(){var f,b=this.containerEventName,c="scroll."+b,d="resize."+b,e="orientationchange."+b;this.container.addClass("select2-dropdown-open").addClass("select2-container-active"),this.clearDropdownAlignmentPreference(),this.dropdown[0]!==this.body.children().last()[0]&&this.dropdown.detach().appendTo(this.body),f=a("#select2-drop-mask"),0===f.length&&(f=a(document.createElement("div")),f.attr("id","select2-drop-mask").attr("class","select2-drop-mask"),f.hide(),f.appendTo(this.body),f.on("mousedown touchstart click",function(b){n(f);var d,c=a("#select2-drop");c.length>0&&(d=c.data("select2"),d.opts.selectOnBlur&&d.selectHighlighted({noFocus:!0}),d.close(),b.preventDefault(),b.stopPropagation())})),this.dropdown.prev()[0]!==f[0]&&this.dropdown.before(f),a("#select2-drop").removeAttr("id"),this.dropdown.attr("id","select2-drop"),f.show(),this.positionDropdown(),this.dropdown.show(),this.positionDropdown(),this.dropdown.addClass("select2-drop-active");var g=this;this.container.parents().add(window).each(function(){a(this).on(d+" "+c+" "+e,function(){g.opened()&&g.positionDropdown()})})},close:function(){if(this.opened()){var b=this.containerEventName,c="scroll."+b,d="resize."+b,e="orientationchange."+b;this.container.parents().add(window).each(function(){a(this).off(c).off(d).off(e)}),this.clearDropdownAlignmentPreference(),a("#select2-drop-mask").hide(),this.dropdown.removeAttr("id"),this.dropdown.hide(),this.container.removeClass("select2-dropdown-open").removeClass("select2-container-active"),this.results.empty(),i.off("mousemove.select2Event"),this.clearSearch(),this.search.removeClass("select2-active"),this.opts.element.trigger(a.Event("select2-close"))}},externalSearch:function(a){this.open(),this.search.val(a),this.updateResults(!1)},clearSearch:function(){},getMaximumSelectionSize:function(){return K(this.opts.maximumSelectionSize,this.opts.element)},ensureHighlightVisible:function(){var c,d,e,f,g,h,i,j,b=this.results;if(d=this.highlight(),!(0>d)){if(0==d)return b.scrollTop(0),void 0;c=this.findHighlightableChoices().find(".select2-result-label"),e=a(c[d]),j=(e.offset()||{}).top||0,f=j+e.outerHeight(!0),d===c.length-1&&(i=b.find("li.select2-more-results"),i.length>0&&(f=i.offset().top+i.outerHeight(!0))),g=b.offset().top+b.outerHeight(!1),f>g&&b.scrollTop(b.scrollTop()+(f-g)),h=j-b.offset().top,0>h&&"none"!=e.css("display")&&b.scrollTop(b.scrollTop()+h)}},findHighlightableChoices:function(){return this.results.find(".select2-result-selectable:not(.select2-disabled):not(.select2-selected)")},moveHighlight:function(b){for(var c=this.findHighlightableChoices(),d=this.highlight();d>-1&&d<c.length;){d+=b;
|
22 |
-
var e=a(c[d]);if(e.hasClass("select2-result-selectable")&&!e.hasClass("select2-disabled")&&!e.hasClass("select2-selected")){this.highlight(d);break}}},highlight:function(b){var d,e,c=this.findHighlightableChoices();return 0===arguments.length?p(c.filter(".select2-highlighted")[0],c.get()):(b>=c.length&&(b=c.length-1),0>b&&(b=0),this.removeHighlight(),d=a(c[b]),d.addClass("select2-highlighted"),this.search.attr("aria-activedescendant",d.find(".select2-result-label").attr("id")),this.ensureHighlightVisible(),this.liveRegion.text(d.text()),e=d.data("select2-data"),e&&this.opts.element.trigger({type:"select2-highlight",val:this.id(e),choice:e}),void 0)},removeHighlight:function(){this.results.find(".select2-highlighted").removeClass("select2-highlighted")},touchMoved:function(){this._touchMoved=!0},clearTouchMoved:function(){this._touchMoved=!1},countSelectableResults:function(){return this.findHighlightableChoices().length},highlightUnderEvent:function(b){var c=a(b.target).closest(".select2-result-selectable");if(c.length>0&&!c.is(".select2-highlighted")){var d=this.findHighlightableChoices();this.highlight(d.index(c))}else 0==c.length&&this.removeHighlight()},loadMoreIfNeeded:function(){var c,a=this.results,b=a.find("li.select2-more-results"),d=this.resultsPage+1,e=this,f=this.search.val(),g=this.context;0!==b.length&&(c=b.offset().top-a.offset().top-a.height(),c<=this.opts.loadMorePadding&&(b.addClass("select2-active"),this.opts.query({element:this.opts.element,term:f,page:d,context:g,matcher:this.opts.matcher,callback:this.bind(function(c){e.opened()&&(e.opts.populateResults.call(this,a,c.results,{term:f,page:d,context:g}),e.postprocessResults(c,!1,!1),c.more===!0?(b.detach().appendTo(a).html(e.opts.escapeMarkup(K(e.opts.formatLoadMore,e.opts.element,d+1))),window.setTimeout(function(){e.loadMoreIfNeeded()},10)):b.remove(),e.positionDropdown(),e.resultsPage=d,e.context=c.context,this.opts.element.trigger({type:"select2-loaded",items:c}))})})))},tokenize:function(){},updateResults:function(c){function m(){d.removeClass("select2-active"),h.positionDropdown(),e.find(".select2-no-results,.select2-selection-limit,.select2-searching").length?h.liveRegion.text(e.text()):h.liveRegion.text(h.opts.formatMatches(e.find('.select2-result-selectable:not(".select2-selected")').length))}function n(a){e.html(a),m()}var g,i,l,d=this.search,e=this.results,f=this.opts,h=this,j=d.val(),k=a.data(this.container,"select2-last-term");if((c===!0||!k||!r(j,k))&&(a.data(this.container,"select2-last-term",j),c===!0||this.showSearchInput!==!1&&this.opened())){l=++this.queryCount;var o=this.getMaximumSelectionSize();if(o>=1&&(g=this.data(),a.isArray(g)&&g.length>=o&&J(f.formatSelectionTooBig,"formatSelectionTooBig")))return n("<li class='select2-selection-limit'>"+K(f.formatSelectionTooBig,f.element,o)+"</li>"),void 0;if(d.val().length<f.minimumInputLength)return J(f.formatInputTooShort,"formatInputTooShort")?n("<li class='select2-no-results'>"+K(f.formatInputTooShort,f.element,d.val(),f.minimumInputLength)+"</li>"):n(""),c&&this.showSearch&&this.showSearch(!0),void 0;if(f.maximumInputLength&&d.val().length>f.maximumInputLength)return J(f.formatInputTooLong,"formatInputTooLong")?n("<li class='select2-no-results'>"+K(f.formatInputTooLong,f.element,d.val(),f.maximumInputLength)+"</li>"):n(""),void 0;f.formatSearching&&0===this.findHighlightableChoices().length&&n("<li class='select2-searching'>"+K(f.formatSearching,f.element)+"</li>"),d.addClass("select2-active"),this.removeHighlight(),i=this.tokenize(),i!=b&&null!=i&&d.val(i),this.resultsPage=1,f.query({element:f.element,term:d.val(),page:this.resultsPage,context:null,matcher:f.matcher,callback:this.bind(function(g){var i;if(l==this.queryCount){if(!this.opened())return this.search.removeClass("select2-active"),void 0;if(g.hasError!==b&&J(f.formatAjaxError,"formatAjaxError"))return n("<li class='select2-ajax-error'>"+K(f.formatAjaxError,f.element,g.jqXHR,g.textStatus,g.errorThrown)+"</li>"),void 0;if(this.context=g.context===b?null:g.context,this.opts.createSearchChoice&&""!==d.val()&&(i=this.opts.createSearchChoice.call(h,d.val(),g.results),i!==b&&null!==i&&h.id(i)!==b&&null!==h.id(i)&&0===a(g.results).filter(function(){return r(h.id(this),h.id(i))}).length&&this.opts.createSearchChoicePosition(g.results,i)),0===g.results.length&&J(f.formatNoMatches,"formatNoMatches"))return n("<li class='select2-no-results'>"+K(f.formatNoMatches,f.element,d.val())+"</li>"),void 0;e.empty(),h.opts.populateResults.call(this,e,g.results,{term:d.val(),page:this.resultsPage,context:null}),g.more===!0&&J(f.formatLoadMore,"formatLoadMore")&&(e.append("<li class='select2-more-results'>"+f.escapeMarkup(K(f.formatLoadMore,f.element,this.resultsPage))+"</li>"),window.setTimeout(function(){h.loadMoreIfNeeded()},10)),this.postprocessResults(g,c),m(),this.opts.element.trigger({type:"select2-loaded",items:g})}})})}},cancel:function(){this.close()},blur:function(){this.opts.selectOnBlur&&this.selectHighlighted({noFocus:!0}),this.close(),this.container.removeClass("select2-container-active"),this.search[0]===document.activeElement&&this.search.blur(),this.clearSearch(),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus")},focusSearch:function(){y(this.search)},selectHighlighted:function(a){if(this._touchMoved)return this.clearTouchMoved(),void 0;var b=this.highlight(),c=this.results.find(".select2-highlighted"),d=c.closest(".select2-result").data("select2-data");d?(this.highlight(b),this.onSelect(d,a)):a&&a.noFocus&&this.close()},getPlaceholder:function(){var a;return this.opts.element.attr("placeholder")||this.opts.element.attr("data-placeholder")||this.opts.element.data("placeholder")||this.opts.placeholder||((a=this.getPlaceholderOption())!==b?a.text():b)},getPlaceholderOption:function(){if(this.select){var c=this.select.children("option").first();if(this.opts.placeholderOption!==b)return"first"===this.opts.placeholderOption&&c||"function"==typeof this.opts.placeholderOption&&this.opts.placeholderOption(this.select);if(""===a.trim(c.text())&&""===c.val())return c}},initContainerWidth:function(){function c(){var c,d,e,f,g,h;if("off"===this.opts.width)return null;if("element"===this.opts.width)return 0===this.opts.element.outerWidth(!1)?"auto":this.opts.element.outerWidth(!1)+"px";if("copy"===this.opts.width||"resolve"===this.opts.width){if(c=this.opts.element.attr("style"),c!==b)for(d=c.split(";"),f=0,g=d.length;g>f;f+=1)if(h=d[f].replace(/\s/g,""),e=h.match(/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i),null!==e&&e.length>=1)return e[1];return"resolve"===this.opts.width?(c=this.opts.element.css("width"),c.indexOf("%")>0?c:0===this.opts.element.outerWidth(!1)?"auto":this.opts.element.outerWidth(!1)+"px"):null}return a.isFunction(this.opts.width)?this.opts.width():this.opts.width}var d=c.call(this);null!==d&&this.container.css("width",d)}}),d=O(c,{createContainer:function(){var b=a(document.createElement("div")).attr({"class":"select2-container"}).html(["<a href='javascript:void(0)' class='select2-choice' tabindex='-1'>"," <span class='select2-chosen'> </span><abbr class='select2-search-choice-close'></abbr>"," <span class='select2-arrow' role='presentation'><b role='presentation'></b></span>","</a>","<label for='' class='select2-offscreen'></label>","<input class='select2-focusser select2-offscreen' type='text' aria-haspopup='true' role='button' />","<div class='select2-drop select2-display-none'>"," <div class='select2-search'>"," <label for='' class='select2-offscreen'></label>"," <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input' role='combobox' aria-expanded='true'"," aria-autocomplete='list' />"," </div>"," <ul class='select2-results' role='listbox'>"," </ul>","</div>"].join(""));return b},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.focusser.prop("disabled",!this.isInterfaceEnabled())},opening:function(){var c,d,e;this.opts.minimumResultsForSearch>=0&&this.showSearch(!0),this.parent.opening.apply(this,arguments),this.showSearchInput!==!1&&this.search.val(this.focusser.val()),this.opts.shouldFocusInput(this)&&(this.search.focus(),c=this.search.get(0),c.createTextRange?(d=c.createTextRange(),d.collapse(!1),d.select()):c.setSelectionRange&&(e=this.search.val().length,c.setSelectionRange(e,e))),""===this.search.val()&&this.nextSearchTerm!=b&&(this.search.val(this.nextSearchTerm),this.search.select()),this.focusser.prop("disabled",!0).val(""),this.updateResults(!0),this.opts.element.trigger(a.Event("select2-open"))},close:function(){this.opened()&&(this.parent.close.apply(this,arguments),this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus())},focus:function(){this.opened()?this.close():(this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus())},isFocused:function(){return this.container.hasClass("select2-container-active")},cancel:function(){this.parent.cancel.apply(this,arguments),this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus()},destroy:function(){a("label[for='"+this.focusser.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments),N.call(this,"selection","focusser")},initContainer:function(){var b,g,c=this.container,d=this.dropdown,e=f();this.opts.minimumResultsForSearch<0?this.showSearch(!1):this.showSearch(!0),this.selection=b=c.find(".select2-choice"),this.focusser=c.find(".select2-focusser"),b.find(".select2-chosen").attr("id","select2-chosen-"+e),this.focusser.attr("aria-labelledby","select2-chosen-"+e),this.results.attr("id","select2-results-"+e),this.search.attr("aria-owns","select2-results-"+e),this.focusser.attr("id","s2id_autogen"+e),g=a("label[for='"+this.opts.element.attr("id")+"']"),this.opts.element.focus(this.bind(function(){this.focus()})),this.focusser.prev().text(g.text()).attr("for",this.focusser.attr("id"));var h=this.opts.element.attr("title");this.opts.element.attr("title",h||g.text()),this.focusser.attr("tabindex",this.elementTabIndex),this.search.attr("id",this.focusser.attr("id")+"_search"),this.search.prev().text(a("label[for='"+this.focusser.attr("id")+"']").text()).attr("for",this.search.attr("id")),this.search.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()&&229!=a.keyCode){if(a.which===k.PAGE_UP||a.which===k.PAGE_DOWN)return A(a),void 0;switch(a.which){case k.UP:case k.DOWN:return this.moveHighlight(a.which===k.UP?-1:1),A(a),void 0;case k.ENTER:return this.selectHighlighted(),A(a),void 0;case k.TAB:return this.selectHighlighted({noFocus:!0}),void 0;case k.ESC:return this.cancel(a),A(a),void 0}}})),this.search.on("blur",this.bind(function(){document.activeElement===this.body.get(0)&&window.setTimeout(this.bind(function(){this.opened()&&this.search.focus()}),0)})),this.focusser.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()&&a.which!==k.TAB&&!k.isControl(a)&&!k.isFunctionKey(a)&&a.which!==k.ESC){if(this.opts.openOnEnter===!1&&a.which===k.ENTER)return A(a),void 0;if(a.which==k.DOWN||a.which==k.UP||a.which==k.ENTER&&this.opts.openOnEnter){if(a.altKey||a.ctrlKey||a.shiftKey||a.metaKey)return;return this.open(),A(a),void 0}return a.which==k.DELETE||a.which==k.BACKSPACE?(this.opts.allowClear&&this.clear(),A(a),void 0):void 0}})),u(this.focusser),this.focusser.on("keyup-change input",this.bind(function(a){if(this.opts.minimumResultsForSearch>=0){if(a.stopPropagation(),this.opened())return;this.open()}})),b.on("mousedown touchstart","abbr",this.bind(function(a){this.isInterfaceEnabled()&&(this.clear(),B(a),this.close(),this.selection&&this.selection.focus())})),b.on("mousedown touchstart",this.bind(function(c){n(b),this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.opened()?this.close():this.isInterfaceEnabled()&&this.open(),A(c)})),d.on("mousedown touchstart",this.bind(function(){this.opts.shouldFocusInput(this)&&this.search.focus()})),b.on("focus",this.bind(function(a){A(a)})),this.focusser.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active")})).on("blur",this.bind(function(){this.opened()||(this.container.removeClass("select2-container-active"),this.opts.element.trigger(a.Event("select2-blur")))})),this.search.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active")})),this.initContainerWidth(),this.opts.element.hide(),this.setPlaceholder()},clear:function(b){var c=this.selection.data("select2-data");if(c){var d=a.Event("select2-clearing");if(this.opts.element.trigger(d),d.isDefaultPrevented())return;var e=this.getPlaceholderOption();this.opts.element.val(e?e.val():""),this.selection.find(".select2-chosen").empty(),this.selection.removeData("select2-data"),this.setPlaceholder(),b!==!1&&(this.opts.element.trigger({type:"select2-removed",val:this.id(c),choice:c}),this.triggerChange({removed:c}))}},initSelection:function(){if(this.isPlaceholderOptionSelected())this.updateSelection(null),this.close(),this.setPlaceholder();else{var c=this;this.opts.initSelection.call(null,this.opts.element,function(a){a!==b&&null!==a&&(c.updateSelection(a),c.close(),c.setPlaceholder(),c.nextSearchTerm=c.opts.nextSearchTerm(a,c.search.val()))})}},isPlaceholderOptionSelected:function(){var a;return this.getPlaceholder()===b?!1:(a=this.getPlaceholderOption())!==b&&a.prop("selected")||""===this.opts.element.val()||this.opts.element.val()===b||null===this.opts.element.val()},prepareOpts:function(){var b=this.parent.prepareOpts.apply(this,arguments),c=this;return"select"===b.element.get(0).tagName.toLowerCase()?b.initSelection=function(a,b){var d=a.find("option").filter(function(){return this.selected&&!this.disabled});b(c.optionToData(d))}:"data"in b&&(b.initSelection=b.initSelection||function(c,d){var e=c.val(),f=null;b.query({matcher:function(a,c,d){var g=r(e,b.id(d));return g&&(f=d),g},callback:a.isFunction(d)?function(){d(f)}:a.noop})}),b},getPlaceholder:function(){return this.select&&this.getPlaceholderOption()===b?b:this.parent.getPlaceholder.apply(this,arguments)},setPlaceholder:function(){var a=this.getPlaceholder();if(this.isPlaceholderOptionSelected()&&a!==b){if(this.select&&this.getPlaceholderOption()===b)return;this.selection.find(".select2-chosen").html(this.opts.escapeMarkup(a)),this.selection.addClass("select2-default"),this.container.removeClass("select2-allowclear")}},postprocessResults:function(a,b,c){var d=0,e=this;if(this.findHighlightableChoices().each2(function(a,b){return r(e.id(b.data("select2-data")),e.opts.element.val())?(d=a,!1):void 0}),c!==!1&&(b===!0&&d>=0?this.highlight(d):this.highlight(0)),b===!0){var g=this.opts.minimumResultsForSearch;g>=0&&this.showSearch(L(a.results)>=g)}},showSearch:function(b){this.showSearchInput!==b&&(this.showSearchInput=b,this.dropdown.find(".select2-search").toggleClass("select2-search-hidden",!b),this.dropdown.find(".select2-search").toggleClass("select2-offscreen",!b),a(this.dropdown,this.container).toggleClass("select2-with-searchbox",b))},onSelect:function(a,b){if(this.triggerSelect(a)){var c=this.opts.element.val(),d=this.data();this.opts.element.val(this.id(a)),this.updateSelection(a),this.opts.element.trigger({type:"select2-selected",val:this.id(a),choice:a}),this.nextSearchTerm=this.opts.nextSearchTerm(a,this.search.val()),this.close(),b&&b.noFocus||!this.opts.shouldFocusInput(this)||this.focusser.focus(),r(c,this.id(a))||this.triggerChange({added:a,removed:d})}},updateSelection:function(a){var d,e,c=this.selection.find(".select2-chosen");this.selection.data("select2-data",a),c.empty(),null!==a&&(d=this.opts.formatSelection(a,c,this.opts.escapeMarkup)),d!==b&&c.append(d),e=this.opts.formatSelectionCssClass(a,c),e!==b&&c.addClass(e),this.selection.removeClass("select2-default"),this.opts.allowClear&&this.getPlaceholder()!==b&&this.container.addClass("select2-allowclear")},val:function(){var a,c=!1,d=null,e=this,f=this.data();if(0===arguments.length)return this.opts.element.val();if(a=arguments[0],arguments.length>1&&(c=arguments[1]),this.select)this.select.val(a).find("option").filter(function(){return this.selected}).each2(function(a,b){return d=e.optionToData(b),!1}),this.updateSelection(d),this.setPlaceholder(),c&&this.triggerChange({added:d,removed:f});else{if(!a&&0!==a)return this.clear(c),void 0;if(this.opts.initSelection===b)throw new Error("cannot call val() if initSelection() is not defined");this.opts.element.val(a),this.opts.initSelection(this.opts.element,function(a){e.opts.element.val(a?e.id(a):""),e.updateSelection(a),e.setPlaceholder(),c&&e.triggerChange({added:a,removed:f})})}},clearSearch:function(){this.search.val(""),this.focusser.val("")},data:function(a){var c,d=!1;return 0===arguments.length?(c=this.selection.data("select2-data"),c==b&&(c=null),c):(arguments.length>1&&(d=arguments[1]),a?(c=this.data(),this.opts.element.val(a?this.id(a):""),this.updateSelection(a),d&&this.triggerChange({added:a,removed:c})):this.clear(d),void 0)}}),e=O(c,{createContainer:function(){var b=a(document.createElement("div")).attr({"class":"select2-container select2-container-multi"}).html(["<ul class='select2-choices'>"," <li class='select2-search-field'>"," <label for='' class='select2-offscreen'></label>"," <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input'>"," </li>","</ul>","<div class='select2-drop select2-drop-multi select2-display-none'>"," <ul class='select2-results'>"," </ul>","</div>"].join(""));return b},prepareOpts:function(){var b=this.parent.prepareOpts.apply(this,arguments),c=this;return"select"===b.element.get(0).tagName.toLowerCase()?b.initSelection=function(a,b){var d=[];a.find("option").filter(function(){return this.selected&&!this.disabled}).each2(function(a,b){d.push(c.optionToData(b))}),b(d)}:"data"in b&&(b.initSelection=b.initSelection||function(c,d){var e=s(c.val(),b.separator,b.transformVal),f=[];b.query({matcher:function(c,d,g){var h=a.grep(e,function(a){return r(a,b.id(g))}).length;return h&&f.push(g),h},callback:a.isFunction(d)?function(){for(var a=[],c=0;c<e.length;c++)for(var g=e[c],h=0;h<f.length;h++){var i=f[h];if(r(g,b.id(i))){a.push(i),f.splice(h,1);break}}d(a)}:a.noop})}),b},selectChoice:function(a){var b=this.container.find(".select2-search-choice-focus");b.length&&a&&a[0]==b[0]||(b.length&&this.opts.element.trigger("choice-deselected",b),b.removeClass("select2-search-choice-focus"),a&&a.length&&(this.close(),a.addClass("select2-search-choice-focus"),this.opts.element.trigger("choice-selected",a)))},destroy:function(){a("label[for='"+this.search.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments),N.call(this,"searchContainer","selection")},initContainer:function(){var c,b=".select2-choices";this.searchContainer=this.container.find(".select2-search-field"),this.selection=c=this.container.find(b);var d=this;this.selection.on("click",".select2-container:not(.select2-container-disabled) .select2-search-choice:not(.select2-locked)",function(){d.search[0].focus(),d.selectChoice(a(this))}),this.search.attr("id","s2id_autogen"+f()),this.search.prev().text(a("label[for='"+this.opts.element.attr("id")+"']").text()).attr("for",this.search.attr("id")),this.opts.element.focus(this.bind(function(){this.focus()})),this.search.on("input paste",this.bind(function(){this.search.attr("placeholder")&&0==this.search.val().length||this.isInterfaceEnabled()&&(this.opened()||this.open())})),this.search.attr("tabindex",this.elementTabIndex),this.keydowns=0,this.search.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()){++this.keydowns;var b=c.find(".select2-search-choice-focus"),d=b.prev(".select2-search-choice:not(.select2-locked)"),e=b.next(".select2-search-choice:not(.select2-locked)"),f=z(this.search);if(b.length&&(a.which==k.LEFT||a.which==k.RIGHT||a.which==k.BACKSPACE||a.which==k.DELETE||a.which==k.ENTER)){var g=b;return a.which==k.LEFT&&d.length?g=d:a.which==k.RIGHT?g=e.length?e:null:a.which===k.BACKSPACE?this.unselect(b.first())&&(this.search.width(10),g=d.length?d:e):a.which==k.DELETE?this.unselect(b.first())&&(this.search.width(10),g=e.length?e:null):a.which==k.ENTER&&(g=null),this.selectChoice(g),A(a),g&&g.length||this.open(),void 0}if((a.which===k.BACKSPACE&&1==this.keydowns||a.which==k.LEFT)&&0==f.offset&&!f.length)return this.selectChoice(c.find(".select2-search-choice:not(.select2-locked)").last()),A(a),void 0;if(this.selectChoice(null),this.opened())switch(a.which){case k.UP:case k.DOWN:return this.moveHighlight(a.which===k.UP?-1:1),A(a),void 0;case k.ENTER:return this.selectHighlighted(),A(a),void 0;case k.TAB:return this.selectHighlighted({noFocus:!0}),this.close(),void 0;case k.ESC:return this.cancel(a),A(a),void 0}if(a.which!==k.TAB&&!k.isControl(a)&&!k.isFunctionKey(a)&&a.which!==k.BACKSPACE&&a.which!==k.ESC){if(a.which===k.ENTER){if(this.opts.openOnEnter===!1)return;if(a.altKey||a.ctrlKey||a.shiftKey||a.metaKey)return}this.open(),(a.which===k.PAGE_UP||a.which===k.PAGE_DOWN)&&A(a),a.which===k.ENTER&&A(a)}}})),this.search.on("keyup",this.bind(function(){this.keydowns=0,this.resizeSearch()})),this.search.on("blur",this.bind(function(b){this.container.removeClass("select2-container-active"),this.search.removeClass("select2-focused"),this.selectChoice(null),this.opened()||this.clearSearch(),b.stopImmediatePropagation(),this.opts.element.trigger(a.Event("select2-blur"))})),this.container.on("click",b,this.bind(function(b){this.isInterfaceEnabled()&&(a(b.target).closest(".select2-search-choice").length>0||(this.selectChoice(null),this.clearPlaceholder(),this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.open(),this.focusSearch(),b.preventDefault()))})),this.container.on("focus",b,this.bind(function(){this.isInterfaceEnabled()&&(this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"),this.clearPlaceholder())})),this.initContainerWidth(),this.opts.element.hide(),this.clearSearch()},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.search.prop("disabled",!this.isInterfaceEnabled())},initSelection:function(){if(""===this.opts.element.val()&&""===this.opts.element.text()&&(this.updateSelection([]),this.close(),this.clearSearch()),this.select||""!==this.opts.element.val()){var c=this;this.opts.initSelection.call(null,this.opts.element,function(a){a!==b&&null!==a&&(c.updateSelection(a),c.close(),c.clearSearch())})}},clearSearch:function(){var a=this.getPlaceholder(),c=this.getMaxSearchWidth();a!==b&&0===this.getVal().length&&this.search.hasClass("select2-focused")===!1?(this.search.val(a).addClass("select2-default"),this.search.width(c>0?c:this.container.css("width"))):this.search.val("").width(10)},clearPlaceholder:function(){this.search.hasClass("select2-default")&&this.search.val("").removeClass("select2-default")},opening:function(){this.clearPlaceholder(),this.resizeSearch(),this.parent.opening.apply(this,arguments),this.focusSearch(),""===this.search.val()&&this.nextSearchTerm!=b&&(this.search.val(this.nextSearchTerm),this.search.select()),this.updateResults(!0),this.opts.shouldFocusInput(this)&&this.search.focus(),this.opts.element.trigger(a.Event("select2-open"))},close:function(){this.opened()&&this.parent.close.apply(this,arguments)},focus:function(){this.close(),this.search.focus()},isFocused:function(){return this.search.hasClass("select2-focused")},updateSelection:function(b){var c=[],d=[],e=this;a(b).each(function(){p(e.id(this),c)<0&&(c.push(e.id(this)),d.push(this))}),b=d,this.selection.find(".select2-search-choice").remove(),a(b).each(function(){e.addSelectedChoice(this)}),e.postprocessResults()},tokenize:function(){var a=this.search.val();a=this.opts.tokenizer.call(this,a,this.data(),this.bind(this.onSelect),this.opts),null!=a&&a!=b&&(this.search.val(a),a.length>0&&this.open())},onSelect:function(a,c){this.triggerSelect(a)&&""!==a.text&&(this.addSelectedChoice(a),this.opts.element.trigger({type:"selected",val:this.id(a),choice:a}),this.nextSearchTerm=this.opts.nextSearchTerm(a,this.search.val()),this.clearSearch(),this.updateResults(),(this.select||!this.opts.closeOnSelect)&&this.postprocessResults(a,!1,this.opts.closeOnSelect===!0),this.opts.closeOnSelect?(this.close(),this.search.width(10)):this.countSelectableResults()>0?(this.search.width(10),this.resizeSearch(),this.getMaximumSelectionSize()>0&&this.val().length>=this.getMaximumSelectionSize()?this.updateResults(!0):this.nextSearchTerm!=b&&(this.search.val(this.nextSearchTerm),this.updateResults(),this.search.select()),this.positionDropdown()):(this.close(),this.search.width(10)),this.triggerChange({added:a}),c&&c.noFocus||this.focusSearch())},cancel:function(){this.close(),this.focusSearch()},addSelectedChoice:function(c){var j,k,d=!c.locked,e=a("<li class='select2-search-choice'> <div></div> <a href='#' class='select2-search-choice-close' tabindex='-1'></a></li>"),f=a("<li class='select2-search-choice select2-locked'><div></div></li>"),g=d?e:f,h=this.id(c),i=this.getVal();j=this.opts.formatSelection(c,g.find("div"),this.opts.escapeMarkup),j!=b&&g.find("div").replaceWith(a("<div></div>").html(j)),k=this.opts.formatSelectionCssClass(c,g.find("div")),k!=b&&g.addClass(k),d&&g.find(".select2-search-choice-close").on("mousedown",A).on("click dblclick",this.bind(function(b){this.isInterfaceEnabled()&&(this.unselect(a(b.target)),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus"),A(b),this.close(),this.focusSearch())})).on("focus",this.bind(function(){this.isInterfaceEnabled()&&(this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"))})),g.data("select2-data",c),g.insertBefore(this.searchContainer),i.push(h),this.setVal(i)},unselect:function(b){var d,e,c=this.getVal();if(b=b.closest(".select2-search-choice"),0===b.length)throw"Invalid argument: "+b+". Must be .select2-search-choice";if(d=b.data("select2-data")){var f=a.Event("select2-removing");if(f.val=this.id(d),f.choice=d,this.opts.element.trigger(f),f.isDefaultPrevented())return!1;for(;(e=p(this.id(d),c))>=0;)c.splice(e,1),this.setVal(c),this.select&&this.postprocessResults();return b.remove(),this.opts.element.trigger({type:"select2-removed",val:this.id(d),choice:d}),this.triggerChange({removed:d}),!0}},postprocessResults:function(a,b,c){var d=this.getVal(),e=this.results.find(".select2-result"),f=this.results.find(".select2-result-with-children"),g=this;e.each2(function(a,b){var c=g.id(b.data("select2-data"));p(c,d)>=0&&(b.addClass("select2-selected"),b.find(".select2-result-selectable").addClass("select2-selected"))}),f.each2(function(a,b){b.is(".select2-result-selectable")||0!==b.find(".select2-result-selectable:not(.select2-selected)").length||b.addClass("select2-selected")}),-1==this.highlight()&&c!==!1&&this.opts.closeOnSelect===!0&&g.highlight(0),!this.opts.createSearchChoice&&!e.filter(".select2-result:not(.select2-selected)").length>0&&(!a||a&&!a.more&&0===this.results.find(".select2-no-results").length)&&J(g.opts.formatNoMatches,"formatNoMatches")&&this.results.append("<li class='select2-no-results'>"+K(g.opts.formatNoMatches,g.opts.element,g.search.val())+"</li>")},getMaxSearchWidth:function(){return this.selection.width()-t(this.search)},resizeSearch:function(){var a,b,c,d,e,f=t(this.search);a=C(this.search)+10,b=this.search.offset().left,c=this.selection.width(),d=this.selection.offset().left,e=c-(b-d)-f,a>e&&(e=c-f),40>e&&(e=c-f),0>=e&&(e=a),this.search.width(Math.floor(e))},getVal:function(){var a;return this.select?(a=this.select.val(),null===a?[]:a):(a=this.opts.element.val(),s(a,this.opts.separator,this.opts.transformVal))},setVal:function(b){var c;this.select?this.select.val(b):(c=[],a(b).each(function(){p(this,c)<0&&c.push(this)}),this.opts.element.val(0===c.length?"":c.join(this.opts.separator)))},buildChangeDetails:function(a,b){for(var b=b.slice(0),a=a.slice(0),c=0;c<b.length;c++)for(var d=0;d<a.length;d++)r(this.opts.id(b[c]),this.opts.id(a[d]))&&(b.splice(c,1),c>0&&c--,a.splice(d,1),d--);return{added:b,removed:a}},val:function(c,d){var e,f=this;if(0===arguments.length)return this.getVal();if(e=this.data(),e.length||(e=[]),!c&&0!==c)return this.opts.element.val(""),this.updateSelection([]),this.clearSearch(),d&&this.triggerChange({added:this.data(),removed:e}),void 0;if(this.setVal(c),this.select)this.opts.initSelection(this.select,this.bind(this.updateSelection)),d&&this.triggerChange(this.buildChangeDetails(e,this.data()));else{if(this.opts.initSelection===b)throw new Error("val() cannot be called if initSelection() is not defined");this.opts.initSelection(this.opts.element,function(b){var c=a.map(b,f.id);f.setVal(c),f.updateSelection(b),f.clearSearch(),d&&f.triggerChange(f.buildChangeDetails(e,f.data()))})}this.clearSearch()},onSortStart:function(){if(this.select)throw new Error("Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead.");this.search.width(0),this.searchContainer.hide()},onSortEnd:function(){var b=[],c=this;this.searchContainer.show(),this.searchContainer.appendTo(this.searchContainer.parent()),this.resizeSearch(),this.selection.find(".select2-search-choice").each(function(){b.push(c.opts.id(a(this).data("select2-data")))}),this.setVal(b),this.triggerChange()},data:function(b,c){var e,f,d=this;return 0===arguments.length?this.selection.children(".select2-search-choice").map(function(){return a(this).data("select2-data")}).get():(f=this.data(),b||(b=[]),e=a.map(b,function(a){return d.opts.id(a)}),this.setVal(e),this.updateSelection(b),this.clearSearch(),c&&this.triggerChange(this.buildChangeDetails(f,this.data())),void 0)}}),a.fn.select2=function(){var d,e,f,g,h,c=Array.prototype.slice.call(arguments,0),i=["val","destroy","opened","open","close","focus","isFocused","container","dropdown","onSortStart","onSortEnd","enable","disable","readonly","positionDropdown","data","search"],j=["opened","isFocused","container","dropdown"],k=["val","data"],l={search:"externalSearch"};return this.each(function(){if(0===c.length||"object"==typeof c[0])d=0===c.length?{}:a.extend({},c[0]),d.element=a(this),"select"===d.element.get(0).tagName.toLowerCase()?h=d.element.prop("multiple"):(h=d.multiple||!1,"tags"in d&&(d.multiple=h=!0)),e=h?new window.Select2["class"].multi:new window.Select2["class"].single,e.init(d);else{if("string"!=typeof c[0])throw"Invalid arguments to select2 plugin: "+c;if(p(c[0],i)<0)throw"Unknown method: "+c[0];if(g=b,e=a(this).data("select2"),e===b)return;if(f=c[0],"container"===f?g=e.container:"dropdown"===f?g=e.dropdown:(l[f]&&(f=l[f]),g=e[f].apply(e,c.slice(1))),p(c[0],j)>=0||p(c[0],k)>=0&&1==c.length)return!1}}),g===b?this:g},a.fn.select2.defaults={width:"copy",loadMorePadding:0,closeOnSelect:!0,openOnEnter:!0,containerCss:{},dropdownCss:{},containerCssClass:"",dropdownCssClass:"",formatResult:function(a,b,c,d){var e=[];return E(this.text(a),c.term,e,d),e.join("")},transformVal:function(b){return a.trim(b)},formatSelection:function(a,c,d){return a?d(this.text(a)):b},sortResults:function(a){return a},formatResultCssClass:function(a){return a.css},formatSelectionCssClass:function(){return b},minimumResultsForSearch:0,minimumInputLength:0,maximumInputLength:null,maximumSelectionSize:0,id:function(a){return a==b?null:a.id},text:function(b){return b&&this.data&&this.data.text?a.isFunction(this.data.text)?this.data.text(b):b[this.data.text]:b.text
|
23 |
-
},matcher:function(a,b){return o(""+b).toUpperCase().indexOf(o(""+a).toUpperCase())>=0},separator:",",tokenSeparators:[],tokenizer:M,escapeMarkup:F,blurOnChange:!1,selectOnBlur:!1,adaptContainerCssClass:function(a){return a},adaptDropdownCssClass:function(){return null},nextSearchTerm:function(){return b},searchInputPlaceholder:"",createSearchChoicePosition:"top",shouldFocusInput:function(a){var b="ontouchstart"in window||navigator.msMaxTouchPoints>0;return b?a.opts.minimumResultsForSearch<0?!1:!0:!0}},a.fn.select2.locales=[],a.fn.select2.locales.en={formatMatches:function(a){return 1===a?"One result is available, press enter to select it.":a+" results are available, use up and down arrow keys to navigate."},formatNoMatches:function(){return"No matches found"},formatAjaxError:function(){return"Loading failed"},formatInputTooShort:function(a,b){var c=b-a.length;return"Please enter "+c+" or more character"+(1==c?"":"s")},formatInputTooLong:function(a,b){var c=a.length-b;return"Please delete "+c+" character"+(1==c?"":"s")},formatSelectionTooBig:function(a){return"You can only select "+a+" item"+(1==a?"":"s")},formatLoadMore:function(){return"Loading more results\u2026"},formatSearching:function(){return"Searching\u2026"}},a.extend(a.fn.select2.defaults,a.fn.select2.locales.en),a.fn.select2.ajaxDefaults={transport:a.ajax,params:{type:"GET",cache:!1,dataType:"json"}},window.Select2={query:{ajax:G,local:H,tags:I},util:{debounce:w,markMatch:E,escapeMarkup:F,stripDiacritics:o},"class":{"abstract":c,single:d,multi:e}}}}(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2.png
DELETED
Binary file
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ar.js
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Arabic translation.
|
3 |
-
*
|
4 |
-
* Author: Adel KEDJOUR <adel@kedjour.com>
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
|
9 |
-
$.fn.select2.locales['ar'] = {
|
10 |
-
formatNoMatches: function () { return "لم يتم العثور على مطابقات"; },
|
11 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; if (n == 1){ return "الرجاء إدخال حرف واحد على الأكثر"; } return n == 2 ? "الرجاء إدخال حرفين على الأكثر" : "الرجاء إدخال " + n + " على الأكثر"; },
|
12 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; if (n == 1){ return "الرجاء إدخال حرف واحد على الأقل"; } return n == 2 ? "الرجاء إدخال حرفين على الأقل" : "الرجاء إدخال " + n + " على الأقل "; },
|
13 |
-
formatSelectionTooBig: function (limit) { if (limit == 1){ return "يمكنك أن تختار إختيار واحد فقط"; } return limit == 2 ? "يمكنك أن تختار إختيارين فقط" : "يمكنك أن تختار " + limit + " إختيارات فقط"; },
|
14 |
-
formatLoadMore: function (pageNumber) { return "تحميل المزيد من النتائج…"; },
|
15 |
-
formatSearching: function () { return "البحث…"; }
|
16 |
-
};
|
17 |
-
|
18 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['ar']);
|
19 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_az.js
DELETED
@@ -1,20 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Azerbaijani translation.
|
3 |
-
*
|
4 |
-
* Author: Farhad Safarov <farhad.safarov@gmail.com>
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
|
9 |
-
$.fn.select2.locales['az'] = {
|
10 |
-
formatMatches: function (matches) { return matches + " nəticə mövcuddur, hərəkət etdirmək üçün yuxarı və aşağı düymələrindən istifadə edin."; },
|
11 |
-
formatNoMatches: function () { return "Nəticə tapılmadı"; },
|
12 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return n + " simvol daxil edin"; },
|
13 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return n + " simvol silin"; },
|
14 |
-
formatSelectionTooBig: function (limit) { return "Sadəcə " + limit + " element seçə bilərsiniz"; },
|
15 |
-
formatLoadMore: function (pageNumber) { return "Daha çox nəticə yüklənir…"; },
|
16 |
-
formatSearching: function () { return "Axtarılır…"; }
|
17 |
-
};
|
18 |
-
|
19 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['az']);
|
20 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_bg.js
DELETED
@@ -1,20 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Bulgarian translation.
|
3 |
-
*
|
4 |
-
* @author Lubomir Vikev <lubomirvikev@gmail.com>
|
5 |
-
* @author Uriy Efremochkin <efremochkin@uriy.me>
|
6 |
-
*/
|
7 |
-
(function ($) {
|
8 |
-
"use strict";
|
9 |
-
|
10 |
-
$.fn.select2.locales['bg'] = {
|
11 |
-
formatNoMatches: function () { return "Няма намерени съвпадения"; },
|
12 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Моля въведете още " + n + " символ" + (n > 1 ? "а" : ""); },
|
13 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Моля въведете с " + n + " по-малко символ" + (n > 1 ? "а" : ""); },
|
14 |
-
formatSelectionTooBig: function (limit) { return "Можете да направите до " + limit + (limit > 1 ? " избора" : " избор"); },
|
15 |
-
formatLoadMore: function (pageNumber) { return "Зареждат се още…"; },
|
16 |
-
formatSearching: function () { return "Търсене…"; }
|
17 |
-
};
|
18 |
-
|
19 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['bg']);
|
20 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ca.js
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Catalan translation.
|
3 |
-
*
|
4 |
-
* Author: David Planella <david.planella@gmail.com>
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
|
9 |
-
$.fn.select2.locales['ca'] = {
|
10 |
-
formatNoMatches: function () { return "No s'ha trobat cap coincidència"; },
|
11 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Introduïu " + n + " caràcter" + (n == 1 ? "" : "s") + " més"; },
|
12 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Introduïu " + n + " caràcter" + (n == 1? "" : "s") + "menys"; },
|
13 |
-
formatSelectionTooBig: function (limit) { return "Només podeu seleccionar " + limit + " element" + (limit == 1 ? "" : "s"); },
|
14 |
-
formatLoadMore: function (pageNumber) { return "S'estan carregant més resultats…"; },
|
15 |
-
formatSearching: function () { return "S'està cercant…"; }
|
16 |
-
};
|
17 |
-
|
18 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['ca']);
|
19 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_cs.js
DELETED
@@ -1,51 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Czech translation.
|
3 |
-
*
|
4 |
-
* Author: Michal Marek <ahoj@michal-marek.cz>
|
5 |
-
* Author - sklonovani: David Vallner <david@vallner.net>
|
6 |
-
*/
|
7 |
-
(function ($) {
|
8 |
-
"use strict";
|
9 |
-
// use text for the numbers 2 through 4
|
10 |
-
var smallNumbers = {
|
11 |
-
2: function(masc) { return (masc ? "dva" : "dvě"); },
|
12 |
-
3: function() { return "tři"; },
|
13 |
-
4: function() { return "čtyři"; }
|
14 |
-
}
|
15 |
-
$.fn.select2.locales['cs'] = {
|
16 |
-
formatNoMatches: function () { return "Nenalezeny žádné položky"; },
|
17 |
-
formatInputTooShort: function (input, min) {
|
18 |
-
var n = min - input.length;
|
19 |
-
if (n == 1) {
|
20 |
-
return "Prosím zadejte ještě jeden znak";
|
21 |
-
} else if (n <= 4) {
|
22 |
-
return "Prosím zadejte ještě další "+smallNumbers[n](true)+" znaky";
|
23 |
-
} else {
|
24 |
-
return "Prosím zadejte ještě dalších "+n+" znaků";
|
25 |
-
}
|
26 |
-
},
|
27 |
-
formatInputTooLong: function (input, max) {
|
28 |
-
var n = input.length - max;
|
29 |
-
if (n == 1) {
|
30 |
-
return "Prosím zadejte o jeden znak méně";
|
31 |
-
} else if (n <= 4) {
|
32 |
-
return "Prosím zadejte o "+smallNumbers[n](true)+" znaky méně";
|
33 |
-
} else {
|
34 |
-
return "Prosím zadejte o "+n+" znaků méně";
|
35 |
-
}
|
36 |
-
},
|
37 |
-
formatSelectionTooBig: function (limit) {
|
38 |
-
if (limit == 1) {
|
39 |
-
return "Můžete zvolit jen jednu položku";
|
40 |
-
} else if (limit <= 4) {
|
41 |
-
return "Můžete zvolit maximálně "+smallNumbers[limit](false)+" položky";
|
42 |
-
} else {
|
43 |
-
return "Můžete zvolit maximálně "+limit+" položek";
|
44 |
-
}
|
45 |
-
},
|
46 |
-
formatLoadMore: function (pageNumber) { return "Načítají se další výsledky…"; },
|
47 |
-
formatSearching: function () { return "Vyhledávání…"; }
|
48 |
-
};
|
49 |
-
|
50 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['cs']);
|
51 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_da.js
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Danish translation.
|
3 |
-
*
|
4 |
-
* Author: Anders Jenbo <anders@jenbo.dk>
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
|
9 |
-
$.fn.select2.locales['da'] = {
|
10 |
-
formatNoMatches: function () { return "Ingen resultater fundet"; },
|
11 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Angiv venligst " + n + " tegn mere"; },
|
12 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Angiv venligst " + n + " tegn mindre"; },
|
13 |
-
formatSelectionTooBig: function (limit) { return "Du kan kun vælge " + limit + " emne" + (limit === 1 ? "" : "r"); },
|
14 |
-
formatLoadMore: function (pageNumber) { return "Indlæser flere resultater…"; },
|
15 |
-
formatSearching: function () { return "Søger…"; }
|
16 |
-
};
|
17 |
-
|
18 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['da']);
|
19 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_de.js
DELETED
@@ -1,18 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 German translation
|
3 |
-
*/
|
4 |
-
(function ($) {
|
5 |
-
"use strict";
|
6 |
-
|
7 |
-
$.fn.select2.locales['de'] = {
|
8 |
-
formatNoMatches: function () { return "Keine Übereinstimmungen gefunden"; },
|
9 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Bitte " + n + " Zeichen mehr eingeben"; },
|
10 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Bitte " + n + " Zeichen weniger eingeben"; },
|
11 |
-
formatSelectionTooBig: function (limit) { return "Sie können nur " + limit + " Eintr" + (limit === 1 ? "ag" : "äge") + " auswählen"; },
|
12 |
-
formatLoadMore: function (pageNumber) { return "Lade mehr Ergebnisse…"; },
|
13 |
-
formatSearching: function () { return "Suche…"; },
|
14 |
-
formatMatches: function (matches) { return matches + " Ergebnis " + (matches > 1 ? "se" : "") + " verfügbar, zum Navigieren die Hoch-/Runter-Pfeiltasten verwenden."; }
|
15 |
-
};
|
16 |
-
|
17 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['de']);
|
18 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_el.js
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Greek translation.
|
3 |
-
*
|
4 |
-
* @author Uriy Efremochkin <efremochkin@uriy.me>
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
|
9 |
-
$.fn.select2.locales['el'] = {
|
10 |
-
formatNoMatches: function () { return "Δεν βρέθηκαν αποτελέσματα"; },
|
11 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Παρακαλούμε εισάγετε " + n + " περισσότερο" + (n > 1 ? "υς" : "") + " χαρακτήρ" + (n > 1 ? "ες" : "α"); },
|
12 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Παρακαλούμε διαγράψτε " + n + " χαρακτήρ" + (n > 1 ? "ες" : "α"); },
|
13 |
-
formatSelectionTooBig: function (limit) { return "Μπορείτε να επιλέξετε μόνο " + limit + " αντικείμεν" + (limit > 1 ? "α" : "ο"); },
|
14 |
-
formatLoadMore: function (pageNumber) { return "Φόρτωση περισσότερων…"; },
|
15 |
-
formatSearching: function () { return "Αναζήτηση…"; }
|
16 |
-
};
|
17 |
-
|
18 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['el']);
|
19 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_en.js.template
DELETED
@@ -1,20 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 <Language> translation.
|
3 |
-
*
|
4 |
-
* Author: Your Name <your@email>
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
|
9 |
-
$.fn.select2.locales['en'] = {
|
10 |
-
formatMatches: function (matches) { if (matches === 1) { return "One result is available, press enter to select it."; } return matches + " results are available, use up and down arrow keys to navigate."; },
|
11 |
-
formatNoMatches: function () { return "No matches found"; },
|
12 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Please enter " + n + " or more character" + (n == 1 ? "" : "s"); },
|
13 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Please delete " + n + " character" + (n == 1 ? "" : "s"); },
|
14 |
-
formatSelectionTooBig: function (limit) { return "You can only select " + limit + " item" + (limit == 1 ? "" : "s"); },
|
15 |
-
formatLoadMore: function (pageNumber) { return "Loading more results…"; },
|
16 |
-
formatSearching: function () { return "Searching…"; }
|
17 |
-
};
|
18 |
-
|
19 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['en']);
|
20 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_es.js
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Spanish translation
|
3 |
-
*/
|
4 |
-
(function ($) {
|
5 |
-
"use strict";
|
6 |
-
|
7 |
-
$.fn.select2.locales['es'] = {
|
8 |
-
formatMatches: function (matches) { if (matches === 1) { return "Un resultado disponible, presione enter para seleccionarlo."; } return matches + " resultados disponibles, use las teclas de dirección para navegar."; },
|
9 |
-
formatNoMatches: function () { return "No se encontraron resultados"; },
|
10 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Por favor, introduzca " + n + " car" + (n == 1? "ácter" : "acteres"); },
|
11 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Por favor, elimine " + n + " car" + (n == 1? "ácter" : "acteres"); },
|
12 |
-
formatSelectionTooBig: function (limit) { return "Sólo puede seleccionar " + limit + " elemento" + (limit == 1 ? "" : "s"); },
|
13 |
-
formatLoadMore: function (pageNumber) { return "Cargando más resultados…"; },
|
14 |
-
formatSearching: function () { return "Buscando…"; },
|
15 |
-
formatAjaxError: function() { return "La carga falló"; }
|
16 |
-
};
|
17 |
-
|
18 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['es']);
|
19 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_et.js
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Estonian translation.
|
3 |
-
*
|
4 |
-
* Author: Kuldar Kalvik <kuldar@kalvik.ee>
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
|
9 |
-
$.fn.select2.locales['et'] = {
|
10 |
-
formatNoMatches: function () { return "Tulemused puuduvad"; },
|
11 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Sisesta " + n + " täht" + (n == 1 ? "" : "e") + " rohkem"; },
|
12 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Sisesta " + n + " täht" + (n == 1? "" : "e") + " vähem"; },
|
13 |
-
formatSelectionTooBig: function (limit) { return "Saad vaid " + limit + " tulemus" + (limit == 1 ? "e" : "t") + " valida"; },
|
14 |
-
formatLoadMore: function (pageNumber) { return "Laen tulemusi.."; },
|
15 |
-
formatSearching: function () { return "Otsin.."; }
|
16 |
-
};
|
17 |
-
|
18 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['et']);
|
19 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_eu.js
DELETED
@@ -1,45 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Basque translation.
|
3 |
-
*
|
4 |
-
* Author: Julen Ruiz Aizpuru <julenx at gmail dot com>
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
|
9 |
-
$.fn.select2.locales['eu'] = {
|
10 |
-
formatNoMatches: function () {
|
11 |
-
return "Ez da bat datorrenik aurkitu";
|
12 |
-
},
|
13 |
-
formatInputTooShort: function (input, min) {
|
14 |
-
var n = min - input.length;
|
15 |
-
if (n === 1) {
|
16 |
-
return "Idatzi karaktere bat gehiago";
|
17 |
-
} else {
|
18 |
-
return "Idatzi " + n + " karaktere gehiago";
|
19 |
-
}
|
20 |
-
},
|
21 |
-
formatInputTooLong: function (input, max) {
|
22 |
-
var n = input.length - max;
|
23 |
-
if (n === 1) {
|
24 |
-
return "Idatzi karaktere bat gutxiago";
|
25 |
-
} else {
|
26 |
-
return "Idatzi " + n + " karaktere gutxiago";
|
27 |
-
}
|
28 |
-
},
|
29 |
-
formatSelectionTooBig: function (limit) {
|
30 |
-
if (limit === 1 ) {
|
31 |
-
return "Elementu bakarra hauta dezakezu";
|
32 |
-
} else {
|
33 |
-
return limit + " elementu hauta ditzakezu soilik";
|
34 |
-
}
|
35 |
-
},
|
36 |
-
formatLoadMore: function (pageNumber) {
|
37 |
-
return "Emaitza gehiago kargatzen…";
|
38 |
-
},
|
39 |
-
formatSearching: function () {
|
40 |
-
return "Bilatzen…";
|
41 |
-
}
|
42 |
-
};
|
43 |
-
|
44 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['eu']);
|
45 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_fa.js
DELETED
@@ -1,21 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Persian translation.
|
3 |
-
*
|
4 |
-
* Author: Ali Choopan <choopan@arsh.co>
|
5 |
-
* Author: Ebrahim Byagowi <ebrahim@gnu.org>
|
6 |
-
*/
|
7 |
-
(function ($) {
|
8 |
-
"use strict";
|
9 |
-
|
10 |
-
$.fn.select2.locales['fa'] = {
|
11 |
-
formatMatches: function (matches) { return matches + " نتیجه موجود است، کلیدهای جهت بالا و پایین را برای گشتن استفاده کنید."; },
|
12 |
-
formatNoMatches: function () { return "نتیجهای یافت نشد."; },
|
13 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "لطفاً " + n + " نویسه بیشتر وارد نمایید"; },
|
14 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "لطفاً " + n + " نویسه را حذف کنید."; },
|
15 |
-
formatSelectionTooBig: function (limit) { return "شما فقط میتوانید " + limit + " مورد را انتخاب کنید"; },
|
16 |
-
formatLoadMore: function (pageNumber) { return "در حال بارگیری موارد بیشتر…"; },
|
17 |
-
formatSearching: function () { return "در حال جستجو…"; }
|
18 |
-
};
|
19 |
-
|
20 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['fa']);
|
21 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_fi.js
DELETED
@@ -1,30 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Finnish translation
|
3 |
-
*/
|
4 |
-
(function ($) {
|
5 |
-
"use strict";
|
6 |
-
$.fn.select2.locales['fi'] = {
|
7 |
-
formatNoMatches: function () {
|
8 |
-
return "Ei tuloksia";
|
9 |
-
},
|
10 |
-
formatInputTooShort: function (input, min) {
|
11 |
-
var n = min - input.length;
|
12 |
-
return "Ole hyvä ja anna " + n + " merkkiä lisää";
|
13 |
-
},
|
14 |
-
formatInputTooLong: function (input, max) {
|
15 |
-
var n = input.length - max;
|
16 |
-
return "Ole hyvä ja anna " + n + " merkkiä vähemmän";
|
17 |
-
},
|
18 |
-
formatSelectionTooBig: function (limit) {
|
19 |
-
return "Voit valita ainoastaan " + limit + " kpl";
|
20 |
-
},
|
21 |
-
formatLoadMore: function (pageNumber) {
|
22 |
-
return "Ladataan lisää tuloksia…";
|
23 |
-
},
|
24 |
-
formatSearching: function () {
|
25 |
-
return "Etsitään…";
|
26 |
-
}
|
27 |
-
};
|
28 |
-
|
29 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['fi']);
|
30 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_fr.js
DELETED
@@ -1,18 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 French translation
|
3 |
-
*/
|
4 |
-
(function ($) {
|
5 |
-
"use strict";
|
6 |
-
|
7 |
-
$.fn.select2.locales['fr'] = {
|
8 |
-
formatMatches: function (matches) { return matches + " résultats sont disponibles, utilisez les flèches haut et bas pour naviguer."; },
|
9 |
-
formatNoMatches: function () { return "Aucun résultat trouvé"; },
|
10 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Saisissez " + n + " caractère" + (n == 1? "" : "s") + " supplémentaire" + (n == 1? "" : "s") ; },
|
11 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Supprimez " + n + " caractère" + (n == 1? "" : "s"); },
|
12 |
-
formatSelectionTooBig: function (limit) { return "Vous pouvez seulement sélectionner " + limit + " élément" + (limit == 1 ? "" : "s"); },
|
13 |
-
formatLoadMore: function (pageNumber) { return "Chargement de résultats supplémentaires…"; },
|
14 |
-
formatSearching: function () { return "Recherche en cours…"; }
|
15 |
-
};
|
16 |
-
|
17 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['fr']);
|
18 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_gl.js
DELETED
@@ -1,45 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Galician translation
|
3 |
-
*
|
4 |
-
* Author: Leandro Regueiro <leandro.regueiro@gmail.com>
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
|
9 |
-
$.fn.select2.locales['gl'] = {
|
10 |
-
formatNoMatches: function () {
|
11 |
-
return "Non se atoparon resultados";
|
12 |
-
},
|
13 |
-
formatInputTooShort: function (input, min) {
|
14 |
-
var n = min - input.length;
|
15 |
-
if (n === 1) {
|
16 |
-
return "Engada un carácter";
|
17 |
-
} else {
|
18 |
-
return "Engada " + n + " caracteres";
|
19 |
-
}
|
20 |
-
},
|
21 |
-
formatInputTooLong: function (input, max) {
|
22 |
-
var n = input.length - max;
|
23 |
-
if (n === 1) {
|
24 |
-
return "Elimine un carácter";
|
25 |
-
} else {
|
26 |
-
return "Elimine " + n + " caracteres";
|
27 |
-
}
|
28 |
-
},
|
29 |
-
formatSelectionTooBig: function (limit) {
|
30 |
-
if (limit === 1 ) {
|
31 |
-
return "Só pode seleccionar un elemento";
|
32 |
-
} else {
|
33 |
-
return "Só pode seleccionar " + limit + " elementos";
|
34 |
-
}
|
35 |
-
},
|
36 |
-
formatLoadMore: function (pageNumber) {
|
37 |
-
return "Cargando máis resultados…";
|
38 |
-
},
|
39 |
-
formatSearching: function () {
|
40 |
-
return "Buscando…";
|
41 |
-
}
|
42 |
-
};
|
43 |
-
|
44 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['gl']);
|
45 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_he.js
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Hebrew translation.
|
3 |
-
*
|
4 |
-
* Author: Yakir Sitbon <http://www.yakirs.net/>
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
|
9 |
-
$.fn.select2.locales['he'] = {
|
10 |
-
formatNoMatches: function () { return "לא נמצאו התאמות"; },
|
11 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "נא להזין עוד " + n + " תווים נוספים"; },
|
12 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "נא להזין פחות " + n + " תווים"; },
|
13 |
-
formatSelectionTooBig: function (limit) { return "ניתן לבחור " + limit + " פריטים"; },
|
14 |
-
formatLoadMore: function (pageNumber) { return "טוען תוצאות נוספות…"; },
|
15 |
-
formatSearching: function () { return "מחפש…"; }
|
16 |
-
};
|
17 |
-
|
18 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['he']);
|
19 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_hr.js
DELETED
@@ -1,24 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Croatian translation.
|
3 |
-
*
|
4 |
-
* @author Edi Modrić <edi.modric@gmail.com>
|
5 |
-
* @author Uriy Efremochkin <efremochkin@uriy.me>
|
6 |
-
*/
|
7 |
-
(function ($) {
|
8 |
-
"use strict";
|
9 |
-
|
10 |
-
$.fn.select2.locales['hr'] = {
|
11 |
-
formatNoMatches: function () { return "Nema rezultata"; },
|
12 |
-
formatInputTooShort: function (input, min) { return "Unesite još" + character(min - input.length); },
|
13 |
-
formatInputTooLong: function (input, max) { return "Unesite" + character(input.length - max) + " manje"; },
|
14 |
-
formatSelectionTooBig: function (limit) { return "Maksimalan broj odabranih stavki je " + limit; },
|
15 |
-
formatLoadMore: function (pageNumber) { return "Učitavanje rezultata…"; },
|
16 |
-
formatSearching: function () { return "Pretraga…"; }
|
17 |
-
};
|
18 |
-
|
19 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['hr']);
|
20 |
-
|
21 |
-
function character (n) {
|
22 |
-
return " " + n + " znak" + (n%10 < 5 && n%10 > 0 && (n%100 < 5 || n%100 > 19) ? n%10 > 1 ? "a" : "" : "ova");
|
23 |
-
}
|
24 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_hu.js
DELETED
@@ -1,17 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Hungarian translation
|
3 |
-
*/
|
4 |
-
(function ($) {
|
5 |
-
"use strict";
|
6 |
-
|
7 |
-
$.fn.select2.locales['hu'] = {
|
8 |
-
formatNoMatches: function () { return "Nincs találat."; },
|
9 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Túl rövid. Még " + n + " karakter hiányzik."; },
|
10 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Túl hosszú. " + n + " karakterrel több, mint kellene."; },
|
11 |
-
formatSelectionTooBig: function (limit) { return "Csak " + limit + " elemet lehet kiválasztani."; },
|
12 |
-
formatLoadMore: function (pageNumber) { return "Töltés…"; },
|
13 |
-
formatSearching: function () { return "Keresés…"; }
|
14 |
-
};
|
15 |
-
|
16 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['hu']);
|
17 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_id.js
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Indonesian translation.
|
3 |
-
*
|
4 |
-
* Author: Ibrahim Yusuf <ibrahim7usuf@gmail.com>
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
|
9 |
-
$.fn.select2.locales['id'] = {
|
10 |
-
formatNoMatches: function () { return "Tidak ada data yang sesuai"; },
|
11 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Masukkan " + n + " huruf lagi" + (n == 1 ? "" : "s"); },
|
12 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Hapus " + n + " huruf" + (n == 1 ? "" : "s"); },
|
13 |
-
formatSelectionTooBig: function (limit) { return "Anda hanya dapat memilih " + limit + " pilihan" + (limit == 1 ? "" : "s"); },
|
14 |
-
formatLoadMore: function (pageNumber) { return "Mengambil data…"; },
|
15 |
-
formatSearching: function () { return "Mencari…"; }
|
16 |
-
};
|
17 |
-
|
18 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['id']);
|
19 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_is.js
DELETED
@@ -1,17 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Icelandic translation.
|
3 |
-
*/
|
4 |
-
(function ($) {
|
5 |
-
"use strict";
|
6 |
-
|
7 |
-
$.fn.select2.locales['is'] = {
|
8 |
-
formatNoMatches: function () { return "Ekkert fannst"; },
|
9 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Vinsamlegast skrifið " + n + " staf" + (n > 1 ? "i" : "") + " í viðbót"; },
|
10 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Vinsamlegast styttið texta um " + n + " staf" + (n > 1 ? "i" : ""); },
|
11 |
-
formatSelectionTooBig: function (limit) { return "Þú getur aðeins valið " + limit + " atriði"; },
|
12 |
-
formatLoadMore: function (pageNumber) { return "Sæki fleiri niðurstöður…"; },
|
13 |
-
formatSearching: function () { return "Leita…"; }
|
14 |
-
};
|
15 |
-
|
16 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['is']);
|
17 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_it.js
DELETED
@@ -1,17 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Italian translation
|
3 |
-
*/
|
4 |
-
(function ($) {
|
5 |
-
"use strict";
|
6 |
-
|
7 |
-
$.fn.select2.locales['it'] = {
|
8 |
-
formatNoMatches: function () { return "Nessuna corrispondenza trovata"; },
|
9 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Inserisci ancora " + n + " caratter" + (n == 1? "e" : "i"); },
|
10 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Inserisci " + n + " caratter" + (n == 1? "e" : "i") + " in meno"; },
|
11 |
-
formatSelectionTooBig: function (limit) { return "Puoi selezionare solo " + limit + " element" + (limit == 1 ? "o" : "i"); },
|
12 |
-
formatLoadMore: function (pageNumber) { return "Caricamento in corso…"; },
|
13 |
-
formatSearching: function () { return "Ricerca…"; }
|
14 |
-
};
|
15 |
-
|
16 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['it']);
|
17 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ja.js
DELETED
@@ -1,17 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Japanese translation.
|
3 |
-
*/
|
4 |
-
(function ($) {
|
5 |
-
"use strict";
|
6 |
-
|
7 |
-
$.fn.select2.locales['ja'] = {
|
8 |
-
formatNoMatches: function () { return "該当なし"; },
|
9 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "後" + n + "文字入れてください"; },
|
10 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "検索文字列が" + n + "文字長すぎます"; },
|
11 |
-
formatSelectionTooBig: function (limit) { return "最多で" + limit + "項目までしか選択できません"; },
|
12 |
-
formatLoadMore: function (pageNumber) { return "読込中・・・"; },
|
13 |
-
formatSearching: function () { return "検索中・・・"; }
|
14 |
-
};
|
15 |
-
|
16 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['ja']);
|
17 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ka.js
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Georgian (Kartuli) translation.
|
3 |
-
*
|
4 |
-
* Author: Dimitri Kurashvili dimakura@gmail.com
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
|
9 |
-
$.fn.select2.locales['ka'] = {
|
10 |
-
formatNoMatches: function () { return "ვერ მოიძებნა"; },
|
11 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "გთხოვთ შეიყვანოთ კიდევ " + n + " სიმბოლო"; },
|
12 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "გთხოვთ წაშალოთ " + n + " სიმბოლო"; },
|
13 |
-
formatSelectionTooBig: function (limit) { return "თქვენ შეგიძლიათ მხოლოდ " + limit + " ჩანაწერის მონიშვნა"; },
|
14 |
-
formatLoadMore: function (pageNumber) { return "შედეგის ჩატვირთვა…"; },
|
15 |
-
formatSearching: function () { return "ძებნა…"; }
|
16 |
-
};
|
17 |
-
|
18 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['ka']);
|
19 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ko.js
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Korean translation.
|
3 |
-
*
|
4 |
-
* @author Swen Mun <longfinfunnel@gmail.com>
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
|
9 |
-
$.fn.select2.locales['ko'] = {
|
10 |
-
formatNoMatches: function () { return "결과 없음"; },
|
11 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "너무 짧습니다. "+n+"글자 더 입력해주세요."; },
|
12 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "너무 깁니다. "+n+"글자 지워주세요."; },
|
13 |
-
formatSelectionTooBig: function (limit) { return "최대 "+limit+"개까지만 선택하실 수 있습니다."; },
|
14 |
-
formatLoadMore: function (pageNumber) { return "불러오는 중…"; },
|
15 |
-
formatSearching: function () { return "검색 중…"; }
|
16 |
-
};
|
17 |
-
|
18 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['ko']);
|
19 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_lt.js
DELETED
@@ -1,26 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Lithuanian translation.
|
3 |
-
*
|
4 |
-
* @author CRONUS Karmalakas <cronus dot karmalakas at gmail dot com>
|
5 |
-
* @author Uriy Efremochkin <efremochkin@uriy.me>
|
6 |
-
*/
|
7 |
-
(function ($) {
|
8 |
-
"use strict";
|
9 |
-
|
10 |
-
$.fn.select2.locales['lt'] = {
|
11 |
-
formatNoMatches: function () { return "Atitikmenų nerasta"; },
|
12 |
-
formatInputTooShort: function (input, min) { return "Įrašykite dar" + character(min - input.length); },
|
13 |
-
formatInputTooLong: function (input, max) { return "Pašalinkite" + character(input.length - max); },
|
14 |
-
formatSelectionTooBig: function (limit) {
|
15 |
-
return "Jūs galite pasirinkti tik " + limit + " element" + ((limit%100 > 9 && limit%100 < 21) || limit%10 == 0 ? "ų" : limit%10 > 1 ? "us" : "ą");
|
16 |
-
},
|
17 |
-
formatLoadMore: function (pageNumber) { return "Kraunama daugiau rezultatų…"; },
|
18 |
-
formatSearching: function () { return "Ieškoma…"; }
|
19 |
-
};
|
20 |
-
|
21 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['lt']);
|
22 |
-
|
23 |
-
function character (n) {
|
24 |
-
return " " + n + " simbol" + ((n%100 > 9 && n%100 < 21) || n%10 == 0 ? "ių" : n%10 > 1 ? "ius" : "į");
|
25 |
-
}
|
26 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_lv.js
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Latvian translation.
|
3 |
-
*
|
4 |
-
* @author Uriy Efremochkin <efremochkin@uriy.me>
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
|
9 |
-
$.fn.select2.locales['lv'] = {
|
10 |
-
formatNoMatches: function () { return "Sakritību nav"; },
|
11 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Lūdzu ievadiet vēl " + n + " simbol" + (n == 11 ? "us" : n%10 == 1 ? "u" : "us"); },
|
12 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Lūdzu ievadiet par " + n + " simbol" + (n == 11 ? "iem" : n%10 == 1 ? "u" : "iem") + " mazāk"; },
|
13 |
-
formatSelectionTooBig: function (limit) { return "Jūs varat izvēlēties ne vairāk kā " + limit + " element" + (limit == 11 ? "us" : limit%10 == 1 ? "u" : "us"); },
|
14 |
-
formatLoadMore: function (pageNumber) { return "Datu ielāde…"; },
|
15 |
-
formatSearching: function () { return "Meklēšana…"; }
|
16 |
-
};
|
17 |
-
|
18 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['lv']);
|
19 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_mk.js
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Macedonian translation.
|
3 |
-
*
|
4 |
-
* Author: Marko Aleksic <psybaron@gmail.com>
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
|
9 |
-
$.fn.select2.locales['mk'] = {
|
10 |
-
formatNoMatches: function () { return "Нема пронајдено совпаѓања"; },
|
11 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Ве молиме внесете уште " + n + " карактер" + (n == 1 ? "" : "и"); },
|
12 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Ве молиме внесете " + n + " помалку карактер" + (n == 1? "" : "и"); },
|
13 |
-
formatSelectionTooBig: function (limit) { return "Можете да изберете само " + limit + " ставк" + (limit == 1 ? "а" : "и"); },
|
14 |
-
formatLoadMore: function (pageNumber) { return "Вчитување резултати…"; },
|
15 |
-
formatSearching: function () { return "Пребарување…"; }
|
16 |
-
};
|
17 |
-
|
18 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['mk']);
|
19 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ms.js
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Malay translation.
|
3 |
-
*
|
4 |
-
* Author: Kepoweran <kepoweran@gmail.com>
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
|
9 |
-
$.fn.select2.locales['ms'] = {
|
10 |
-
formatNoMatches: function () { return "Tiada padanan yang ditemui"; },
|
11 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Sila masukkan " + n + " aksara lagi"; },
|
12 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Sila hapuskan " + n + " aksara"; },
|
13 |
-
formatSelectionTooBig: function (limit) { return "Anda hanya boleh memilih " + limit + " pilihan"; },
|
14 |
-
formatLoadMore: function (pageNumber) { return "Sedang memuatkan keputusan…"; },
|
15 |
-
formatSearching: function () { return "Mencari…"; }
|
16 |
-
};
|
17 |
-
|
18 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['ms']);
|
19 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_nb.js
DELETED
@@ -1,22 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Norwegian Bokmål translation.
|
3 |
-
*
|
4 |
-
* Author: Torgeir Veimo <torgeir.veimo@gmail.com>
|
5 |
-
* Author: Bjørn Johansen <post@bjornjohansen.no>
|
6 |
-
*/
|
7 |
-
(function ($) {
|
8 |
-
"use strict";
|
9 |
-
|
10 |
-
$.fn.select2.locales['nb'] = {
|
11 |
-
formatMatches: function (matches) { if (matches === 1) { return "Ett resultat er tilgjengelig, trykk enter for å velge det."; } return matches + " resultater er tilgjengelig. Bruk piltastene opp og ned for å navigere."; },
|
12 |
-
formatNoMatches: function () { return "Ingen treff"; },
|
13 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Vennligst skriv inn " + n + (n>1 ? " flere tegn" : " tegn til"); },
|
14 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Vennligst fjern " + n + " tegn"; },
|
15 |
-
formatSelectionTooBig: function (limit) { return "Du kan velge maks " + limit + " elementer"; },
|
16 |
-
formatLoadMore: function (pageNumber) { return "Laster flere resultater …"; },
|
17 |
-
formatSearching: function () { return "Søker …"; }
|
18 |
-
};
|
19 |
-
|
20 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['no']);
|
21 |
-
})(jQuery);
|
22 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_nl.js
DELETED
@@ -1,17 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Dutch translation
|
3 |
-
*/
|
4 |
-
(function ($) {
|
5 |
-
"use strict";
|
6 |
-
|
7 |
-
$.fn.select2.locales['nl'] = {
|
8 |
-
formatNoMatches: function () { return "Geen resultaten gevonden"; },
|
9 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Vul nog " + n + " karakter" + (n == 1? "" : "s") + " in"; },
|
10 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Haal " + n + " karakter" + (n == 1? "" : "s") + " weg"; },
|
11 |
-
formatSelectionTooBig: function (limit) { return "Maximaal " + limit + " item" + (limit == 1 ? "" : "s") + " toegestaan"; },
|
12 |
-
formatLoadMore: function (pageNumber) { return "Meer resultaten laden…"; },
|
13 |
-
formatSearching: function () { return "Zoeken…"; }
|
14 |
-
};
|
15 |
-
|
16 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['nl']);
|
17 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_pl.js
DELETED
@@ -1,54 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Polish translation.
|
3 |
-
*
|
4 |
-
* @author Jan Kondratowicz <jan@kondratowicz.pl>
|
5 |
-
* @author Uriy Efremochkin <efremochkin@uriy.me>
|
6 |
-
* @author Michał Połtyn <mike@poltyn.com>
|
7 |
-
* @author Damian Zajkowski <damian.zajkowski@gmail.com>
|
8 |
-
*/
|
9 |
-
(function($) {
|
10 |
-
"use strict";
|
11 |
-
|
12 |
-
$.fn.select2.locales['pl'] = {
|
13 |
-
formatNoMatches: function() {
|
14 |
-
return "Brak wyników";
|
15 |
-
},
|
16 |
-
formatInputTooShort: function(input, min) {
|
17 |
-
return "Wpisz co najmniej" + character(min - input.length, "znak", "i");
|
18 |
-
},
|
19 |
-
formatInputTooLong: function(input, max) {
|
20 |
-
return "Wpisana fraza jest za długa o" + character(input.length - max, "znak", "i");
|
21 |
-
},
|
22 |
-
formatSelectionTooBig: function(limit) {
|
23 |
-
return "Możesz zaznaczyć najwyżej" + character(limit, "element", "y");
|
24 |
-
},
|
25 |
-
formatLoadMore: function(pageNumber) {
|
26 |
-
return "Ładowanie wyników…";
|
27 |
-
},
|
28 |
-
formatSearching: function() {
|
29 |
-
return "Szukanie…";
|
30 |
-
}
|
31 |
-
};
|
32 |
-
|
33 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['pl']);
|
34 |
-
|
35 |
-
function character(n, word, pluralSuffix) {
|
36 |
-
//Liczba pojedyncza - brak suffiksu
|
37 |
-
//jeden znak
|
38 |
-
//jeden element
|
39 |
-
var suffix = '';
|
40 |
-
if (n > 1 && n < 5) {
|
41 |
-
//Liczaba mnoga ilość od 2 do 4 - własny suffiks
|
42 |
-
//Dwa znaki, trzy znaki, cztery znaki.
|
43 |
-
//Dwa elementy, trzy elementy, cztery elementy
|
44 |
-
suffix = pluralSuffix;
|
45 |
-
} else if (n == 0 || n >= 5) {
|
46 |
-
//Ilość 0 suffiks ów
|
47 |
-
//Liczaba mnoga w ilości 5 i więcej - suffiks ów (nie poprawny dla wszystkich wyrazów, np. 100 wiadomości)
|
48 |
-
//Zero znaków, Pięć znaków, sześć znaków, siedem znaków, osiem znaków.
|
49 |
-
//Zero elementów Pięć elementów, sześć elementów, siedem elementów, osiem elementów.
|
50 |
-
suffix = 'ów';
|
51 |
-
}
|
52 |
-
return " " + n + " " + word + suffix;
|
53 |
-
}
|
54 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_pt-BR.js
DELETED
@@ -1,18 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Brazilian Portuguese translation
|
3 |
-
*/
|
4 |
-
(function ($) {
|
5 |
-
"use strict";
|
6 |
-
|
7 |
-
$.fn.select2.locales['pt-BR'] = {
|
8 |
-
formatNoMatches: function () { return "Nenhum resultado encontrado"; },
|
9 |
-
formatAjaxError: function () { return "Erro na busca"; },
|
10 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Digite " + (min == 1 ? "" : "mais") + " " + n + " caracter" + (n == 1? "" : "es"); },
|
11 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Apague " + n + " caracter" + (n == 1? "" : "es"); },
|
12 |
-
formatSelectionTooBig: function (limit) { return "Só é possível selecionar " + limit + " elemento" + (limit == 1 ? "" : "s"); },
|
13 |
-
formatLoadMore: function (pageNumber) { return "Carregando mais resultados…"; },
|
14 |
-
formatSearching: function () { return "Buscando…"; }
|
15 |
-
};
|
16 |
-
|
17 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['pt-BR']);
|
18 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_pt-PT.js
DELETED
@@ -1,17 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Portuguese (Portugal) translation
|
3 |
-
*/
|
4 |
-
(function ($) {
|
5 |
-
"use strict";
|
6 |
-
|
7 |
-
$.fn.select2.locales['pt-PT'] = {
|
8 |
-
formatNoMatches: function () { return "Nenhum resultado encontrado"; },
|
9 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Introduza " + n + " car" + (n == 1 ? "ácter" : "acteres"); },
|
10 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Apague " + n + " car" + (n == 1 ? "ácter" : "acteres"); },
|
11 |
-
formatSelectionTooBig: function (limit) { return "Só é possível selecionar " + limit + " elemento" + (limit == 1 ? "" : "s"); },
|
12 |
-
formatLoadMore: function (pageNumber) { return "A carregar mais resultados…"; },
|
13 |
-
formatSearching: function () { return "A pesquisar…"; }
|
14 |
-
};
|
15 |
-
|
16 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['pt-PT']);
|
17 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ro.js
DELETED
@@ -1,17 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Romanian translation.
|
3 |
-
*/
|
4 |
-
(function ($) {
|
5 |
-
"use strict";
|
6 |
-
|
7 |
-
$.fn.select2.locales['ro'] = {
|
8 |
-
formatNoMatches: function () { return "Nu a fost găsit nimic"; },
|
9 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Vă rugăm să introduceți incă " + n + " caracter" + (n == 1 ? "" : "e"); },
|
10 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Vă rugăm să introduceți mai puțin de " + n + " caracter" + (n == 1? "" : "e"); },
|
11 |
-
formatSelectionTooBig: function (limit) { return "Aveți voie să selectați cel mult " + limit + " element" + (limit == 1 ? "" : "e"); },
|
12 |
-
formatLoadMore: function (pageNumber) { return "Se încarcă…"; },
|
13 |
-
formatSearching: function () { return "Căutare…"; }
|
14 |
-
};
|
15 |
-
|
16 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['ro']);
|
17 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_rs.js
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Serbian translation.
|
3 |
-
*
|
4 |
-
* @author Limon Monte <limon.monte@gmail.com>
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
|
9 |
-
$.fn.select2.locales['rs'] = {
|
10 |
-
formatNoMatches: function () { return "Ništa nije pronađeno"; },
|
11 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Ukucajte bar još " + n + " simbol" + (n % 10 == 1 && n % 100 != 11 ? "" : "a"); },
|
12 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Obrišite " + n + " simbol" + (n % 10 == 1 && n % 100 != 11 ? "" : "a"); },
|
13 |
-
formatSelectionTooBig: function (limit) { return "Možete izabrati samo " + limit + " stavk" + (limit % 10 == 1 && limit % 100 != 11 ? "u" : (limit % 10 >= 2 && limit % 10 <= 4 && (limit % 100 < 12 || limit % 100 > 14)? "e" : "i")); },
|
14 |
-
formatLoadMore: function (pageNumber) { return "Preuzimanje još rezultata…"; },
|
15 |
-
formatSearching: function () { return "Pretraga…"; }
|
16 |
-
};
|
17 |
-
|
18 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['rs']);
|
19 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ru.js
DELETED
@@ -1,23 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Russian translation.
|
3 |
-
*
|
4 |
-
* @author Uriy Efremochkin <efremochkin@uriy.me>
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
|
9 |
-
$.fn.select2.locales['ru'] = {
|
10 |
-
formatNoMatches: function () { return "Совпадений не найдено"; },
|
11 |
-
formatInputTooShort: function (input, min) { return "Пожалуйста, введите еще хотя бы" + character(min - input.length); },
|
12 |
-
formatInputTooLong: function (input, max) { return "Пожалуйста, введите на" + character(input.length - max) + " меньше"; },
|
13 |
-
formatSelectionTooBig: function (limit) { return "Вы можете выбрать не более " + limit + " элемент" + (limit%10 == 1 && limit%100 != 11 ? "а" : "ов"); },
|
14 |
-
formatLoadMore: function (pageNumber) { return "Загрузка данных…"; },
|
15 |
-
formatSearching: function () { return "Поиск…"; }
|
16 |
-
};
|
17 |
-
|
18 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['ru']);
|
19 |
-
|
20 |
-
function character (n) {
|
21 |
-
return " " + n + " символ" + (n%10 < 5 && n%10 > 0 && (n%100 < 5 || n%100 > 20) ? n%10 > 1 ? "a" : "" : "ов");
|
22 |
-
}
|
23 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_sk.js
DELETED
@@ -1,50 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Slovak translation.
|
3 |
-
*
|
4 |
-
* Author: David Vallner <david@vallner.net>
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
// use text for the numbers 2 through 4
|
9 |
-
var smallNumbers = {
|
10 |
-
2: function(masc) { return (masc ? "dva" : "dve"); },
|
11 |
-
3: function() { return "tri"; },
|
12 |
-
4: function() { return "štyri"; }
|
13 |
-
};
|
14 |
-
$.fn.select2.locales['sk'] = {
|
15 |
-
formatNoMatches: function () { return "Nenašli sa žiadne položky"; },
|
16 |
-
formatInputTooShort: function (input, min) {
|
17 |
-
var n = min - input.length;
|
18 |
-
if (n == 1) {
|
19 |
-
return "Prosím, zadajte ešte jeden znak";
|
20 |
-
} else if (n <= 4) {
|
21 |
-
return "Prosím, zadajte ešte ďalšie "+smallNumbers[n](true)+" znaky";
|
22 |
-
} else {
|
23 |
-
return "Prosím, zadajte ešte ďalších "+n+" znakov";
|
24 |
-
}
|
25 |
-
},
|
26 |
-
formatInputTooLong: function (input, max) {
|
27 |
-
var n = input.length - max;
|
28 |
-
if (n == 1) {
|
29 |
-
return "Prosím, zadajte o jeden znak menej";
|
30 |
-
} else if (n >= 2 && n <= 4) {
|
31 |
-
return "Prosím, zadajte o "+smallNumbers[n](true)+" znaky menej";
|
32 |
-
} else {
|
33 |
-
return "Prosím, zadajte o "+n+" znakov menej";
|
34 |
-
}
|
35 |
-
},
|
36 |
-
formatSelectionTooBig: function (limit) {
|
37 |
-
if (limit == 1) {
|
38 |
-
return "Môžete zvoliť len jednu položku";
|
39 |
-
} else if (limit >= 2 && limit <= 4) {
|
40 |
-
return "Môžete zvoliť najviac "+smallNumbers[limit](false)+" položky";
|
41 |
-
} else {
|
42 |
-
return "Môžete zvoliť najviac "+limit+" položiek";
|
43 |
-
}
|
44 |
-
},
|
45 |
-
formatLoadMore: function (pageNumber) { return "Načítavajú sa ďalšie výsledky…"; },
|
46 |
-
formatSearching: function () { return "Vyhľadávanie…"; }
|
47 |
-
};
|
48 |
-
|
49 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['sk']);
|
50 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_sv.js
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Swedish translation.
|
3 |
-
*
|
4 |
-
* Author: Jens Rantil <jens.rantil@telavox.com>
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
|
9 |
-
$.fn.select2.locales['sv'] = {
|
10 |
-
formatNoMatches: function () { return "Inga träffar"; },
|
11 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Var god skriv in " + n + (n>1 ? " till tecken" : " tecken till"); },
|
12 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Var god sudda ut " + n + " tecken"; },
|
13 |
-
formatSelectionTooBig: function (limit) { return "Du kan max välja " + limit + " element"; },
|
14 |
-
formatLoadMore: function (pageNumber) { return "Laddar fler resultat…"; },
|
15 |
-
formatSearching: function () { return "Söker…"; }
|
16 |
-
};
|
17 |
-
|
18 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['sv']);
|
19 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_th.js
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Thai translation.
|
3 |
-
*
|
4 |
-
* Author: Atsawin Chaowanakritsanakul <joke@nakhon.net>
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
|
9 |
-
$.fn.select2.locales['th'] = {
|
10 |
-
formatNoMatches: function () { return "ไม่พบข้อมูล"; },
|
11 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "โปรดพิมพ์เพิ่มอีก " + n + " ตัวอักษร"; },
|
12 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "โปรดลบออก " + n + " ตัวอักษร"; },
|
13 |
-
formatSelectionTooBig: function (limit) { return "คุณสามารถเลือกได้ไม่เกิน " + limit + " รายการ"; },
|
14 |
-
formatLoadMore: function (pageNumber) { return "กำลังค้นข้อมูลเพิ่ม…"; },
|
15 |
-
formatSearching: function () { return "กำลังค้นข้อมูล…"; }
|
16 |
-
};
|
17 |
-
|
18 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['th']);
|
19 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_tr.js
DELETED
@@ -1,19 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Turkish translation.
|
3 |
-
*
|
4 |
-
* Author: Salim KAYABAŞI <salim.kayabasi@gmail.com>
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
|
9 |
-
$.fn.select2.locales['tr'] = {
|
10 |
-
formatNoMatches: function () { return "Sonuç bulunamadı"; },
|
11 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "En az " + n + " karakter daha girmelisiniz"; },
|
12 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return n + " karakter azaltmalısınız"; },
|
13 |
-
formatSelectionTooBig: function (limit) { return "Sadece " + limit + " seçim yapabilirsiniz"; },
|
14 |
-
formatLoadMore: function (pageNumber) { return "Daha fazla…"; },
|
15 |
-
formatSearching: function () { return "Aranıyor…"; }
|
16 |
-
};
|
17 |
-
|
18 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['tr']);
|
19 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ug-CN.js
DELETED
@@ -1,16 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Uyghur translation
|
3 |
-
*/
|
4 |
-
(function ($) {
|
5 |
-
"use strict";
|
6 |
-
$.fn.select2.locales['ug-CN'] = {
|
7 |
-
formatNoMatches: function () { return "ماس كېلىدىغان ئۇچۇر تېپىلمىدى"; },
|
8 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "يەنە " + n + " ھەرپ كىرگۈزۈڭ";},
|
9 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "" + n + "ھەرپ ئۆچۈرۈڭ";},
|
10 |
-
formatSelectionTooBig: function (limit) { return "ئەڭ كۆپ بولغاندا" + limit + " تال ئۇچۇر تاللىيالايسىز"; },
|
11 |
-
formatLoadMore: function (pageNumber) { return "ئۇچۇرلار ئوقۇلىۋاتىدۇ…"; },
|
12 |
-
formatSearching: function () { return "ئىزدەۋاتىدۇ…"; }
|
13 |
-
};
|
14 |
-
|
15 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['ug-CN']);
|
16 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_uk.js
DELETED
@@ -1,25 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Ukrainian translation.
|
3 |
-
*
|
4 |
-
* @author bigmihail <bigmihail@bigmir.net>
|
5 |
-
* @author Uriy Efremochkin <efremochkin@uriy.me>
|
6 |
-
*/
|
7 |
-
(function ($) {
|
8 |
-
"use strict";
|
9 |
-
|
10 |
-
$.fn.select2.locales['uk'] = {
|
11 |
-
formatMatches: function (matches) { return character(matches, "результат") + " знайдено, використовуйте клавіші зі стрілками вверх та вниз для навігації."; },
|
12 |
-
formatNoMatches: function () { return "Нічого не знайдено"; },
|
13 |
-
formatInputTooShort: function (input, min) { return "Введіть буль ласка ще " + character(min - input.length, "символ"); },
|
14 |
-
formatInputTooLong: function (input, max) { return "Введіть буль ласка на " + character(input.length - max, "символ") + " менше"; },
|
15 |
-
formatSelectionTooBig: function (limit) { return "Ви можете вибрати лише " + character(limit, "елемент"); },
|
16 |
-
formatLoadMore: function (pageNumber) { return "Завантаження даних…"; },
|
17 |
-
formatSearching: function () { return "Пошук…"; }
|
18 |
-
};
|
19 |
-
|
20 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['uk']);
|
21 |
-
|
22 |
-
function character (n, word) {
|
23 |
-
return n + " " + word + (n%10 < 5 && n%10 > 0 && (n%100 < 5 || n%100 > 19) ? n%10 > 1 ? "и" : "" : "ів");
|
24 |
-
}
|
25 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_vi.js
DELETED
@@ -1,20 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Vietnamese translation.
|
3 |
-
*
|
4 |
-
* Author: Long Nguyen <olragon@gmail.com>
|
5 |
-
*/
|
6 |
-
(function ($) {
|
7 |
-
"use strict";
|
8 |
-
|
9 |
-
$.fn.select2.locales['vi'] = {
|
10 |
-
formatNoMatches: function () { return "Không tìm thấy kết quả"; },
|
11 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "Vui lòng nhập nhiều hơn " + n + " ký tự" + (n == 1 ? "" : "s"); },
|
12 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "Vui lòng nhập ít hơn " + n + " ký tự" + (n == 1? "" : "s"); },
|
13 |
-
formatSelectionTooBig: function (limit) { return "Chỉ có thể chọn được " + limit + " tùy chọn" + (limit == 1 ? "" : "s"); },
|
14 |
-
formatLoadMore: function (pageNumber) { return "Đang lấy thêm kết quả…"; },
|
15 |
-
formatSearching: function () { return "Đang tìm…"; }
|
16 |
-
};
|
17 |
-
|
18 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['vi']);
|
19 |
-
})(jQuery);
|
20 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_zh-CN.js
DELETED
@@ -1,16 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Chinese translation
|
3 |
-
*/
|
4 |
-
(function ($) {
|
5 |
-
"use strict";
|
6 |
-
$.fn.select2.locales['zh-CN'] = {
|
7 |
-
formatNoMatches: function () { return "没有找到匹配项"; },
|
8 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "请再输入" + n + "个字符";},
|
9 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "请删掉" + n + "个字符";},
|
10 |
-
formatSelectionTooBig: function (limit) { return "你只能选择最多" + limit + "项"; },
|
11 |
-
formatLoadMore: function (pageNumber) { return "加载结果中…"; },
|
12 |
-
formatSearching: function () { return "搜索中…"; }
|
13 |
-
};
|
14 |
-
|
15 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['zh-CN']);
|
16 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_zh-TW.js
DELETED
@@ -1,16 +0,0 @@
|
|
1 |
-
/**
|
2 |
-
* Select2 Traditional Chinese translation
|
3 |
-
*/
|
4 |
-
(function ($) {
|
5 |
-
"use strict";
|
6 |
-
$.fn.select2.locales['zh-TW'] = {
|
7 |
-
formatNoMatches: function () { return "沒有找到相符的項目"; },
|
8 |
-
formatInputTooShort: function (input, min) { var n = min - input.length; return "請再輸入" + n + "個字元";},
|
9 |
-
formatInputTooLong: function (input, max) { var n = input.length - max; return "請刪掉" + n + "個字元";},
|
10 |
-
formatSelectionTooBig: function (limit) { return "你只能選擇最多" + limit + "項"; },
|
11 |
-
formatLoadMore: function (pageNumber) { return "載入中…"; },
|
12 |
-
formatSearching: function () { return "搜尋中…"; }
|
13 |
-
};
|
14 |
-
|
15 |
-
$.extend($.fn.select2.defaults, $.fn.select2.locales['zh-TW']);
|
16 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2x2.png
DELETED
Binary file
|
admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_themecheck.php
DELETED
@@ -1,123 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// Exit if accessed directly
|
4 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
5 |
-
exit;
|
6 |
-
}
|
7 |
-
|
8 |
-
/**
|
9 |
-
* I got tired of answering ThemeCheck issues. This will resolve them all.
|
10 |
-
*
|
11 |
-
* @package Redux_Framework
|
12 |
-
* @subpackage Redux_ThemeCheck
|
13 |
-
* @author Dovy Paukstys
|
14 |
-
*/
|
15 |
-
|
16 |
-
// Don't duplicate me!
|
17 |
-
if ( ! class_exists( 'Redux_ThemeCheck' ) ) {
|
18 |
-
|
19 |
-
/**
|
20 |
-
* Redux Helpers Class
|
21 |
-
* Class of useful functions that can/should be shared among all Redux files.
|
22 |
-
*
|
23 |
-
* @since 1.0.0
|
24 |
-
*/
|
25 |
-
class Redux_ThemeCheck {
|
26 |
-
|
27 |
-
public $dir;
|
28 |
-
|
29 |
-
public function __construct() {
|
30 |
-
|
31 |
-
if ( isset( $_GET['page'] ) && $_GET['page'] == "themecheck" ) {
|
32 |
-
add_action( 'admin_notices', array( $this, 'themeCheckExits' ) );
|
33 |
-
}
|
34 |
-
|
35 |
-
|
36 |
-
}
|
37 |
-
|
38 |
-
public function themeCheckExits() {
|
39 |
-
if ( function_exists( 'themecheck_add_page' ) ) {
|
40 |
-
$this->load();
|
41 |
-
}
|
42 |
-
}
|
43 |
-
|
44 |
-
public function load() {
|
45 |
-
|
46 |
-
$redux = new ReduxFramework();
|
47 |
-
$redux->init();
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
//if ( ! empty( $redux ) ) {
|
52 |
-
|
53 |
-
|
54 |
-
$dir = ReduxFramework::$_dir . '../';
|
55 |
-
|
56 |
-
if ( isset( $_POST['themename'] ) && ! empty( $_POST['themename'] ) ) {
|
57 |
-
if ( strpos( $dir, $_POST['themename'] ) !== false ) {
|
58 |
-
?>
|
59 |
-
<div class="updated">
|
60 |
-
<p><?php
|
61 |
-
echo sprintf( __( 'The theme you are testing has %s embedded. We invite you to read the %sTheme-Check Documentation%s to understand some warnings you will see because of Redux.', 'redux-framework' ), '<a href="http://reduxframework.com" target="_blank">Redux Framework</a>', '<a href="http://docs.reduxframework.com/core/theme-check/">', '</a>' );
|
62 |
-
?>
|
63 |
-
</div><?php
|
64 |
-
}
|
65 |
-
}
|
66 |
-
|
67 |
-
if ( ! ReduxFramework::$_is_plugin ) {
|
68 |
-
$errors = array();
|
69 |
-
|
70 |
-
if ( file_exists( $dir . '.tx' ) ) {
|
71 |
-
$errors[] = ".tx/";
|
72 |
-
}
|
73 |
-
if ( file_exists( $dir . 'bin' ) ) {
|
74 |
-
$errors[] = "bin/";
|
75 |
-
}
|
76 |
-
if ( file_exists( $dir . 'tests' ) ) {
|
77 |
-
$errors[] = "tests/";
|
78 |
-
}
|
79 |
-
if ( file_exists( $dir . '.gitignore' ) ) {
|
80 |
-
$errors[] = ".gitignore";
|
81 |
-
}
|
82 |
-
|
83 |
-
if ( file_exists( $dir . '.git' ) ) {
|
84 |
-
$errors[] = ".git/";
|
85 |
-
}
|
86 |
-
if ( file_exists( $dir . 'node_modules' ) ) {
|
87 |
-
$errors[] = "node_modules/";
|
88 |
-
}
|
89 |
-
if ( file_exists( $dir . '.travis.yml' ) ) {
|
90 |
-
$errors[] = ".travis.yml";
|
91 |
-
}
|
92 |
-
if ( file_exists( $dir . 'bootstrap_tests.php' ) ) {
|
93 |
-
$errors[] = "bootstrap_tests.php";
|
94 |
-
}
|
95 |
-
if ( file_exists( $dir . 'phpunit.xml' ) ) {
|
96 |
-
$errors[] = "phpunit.xml";
|
97 |
-
}
|
98 |
-
if ( file_exists( $dir . '.ds_store' ) ) {
|
99 |
-
$errors[] = ".ds_store";
|
100 |
-
}
|
101 |
-
if ( file_exists( $dir . 'codestyles' ) ) {
|
102 |
-
$errors[] = "codestyles/";
|
103 |
-
}
|
104 |
-
|
105 |
-
if ( ! empty( $errors ) ) {
|
106 |
-
?>
|
107 |
-
<div class="error">
|
108 |
-
<p><?php
|
109 |
-
_e( 'The following directories & files are still located in your <strong>Redux</strong> directory. They may cause errors in Theme-Check.', 'redux-framework' );
|
110 |
-
echo '<br /><ul style="margin-left:15px;">';
|
111 |
-
foreach ( $errors as $error ) {
|
112 |
-
echo '<li><strong>~/' . $error . '</strong></li>';
|
113 |
-
}
|
114 |
-
?>
|
115 |
-
</ul></div><?php
|
116 |
-
}
|
117 |
-
}
|
118 |
-
|
119 |
-
}
|
120 |
-
}
|
121 |
-
|
122 |
-
new Redux_ThemeCheck();
|
123 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/inc/debug.php
DELETED
@@ -1,84 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Redux Framework is free software: you can redistribute it and/or modify
|
5 |
-
* it under the terms of the GNU General Public License as published by
|
6 |
-
* the Free Software Foundation, either version 2 of the License, or
|
7 |
-
* any later version.
|
8 |
-
* Redux Framework is distributed in the hope that it will be useful,
|
9 |
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
10 |
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
11 |
-
* GNU General Public License for more details.
|
12 |
-
* You should have received a copy of the GNU General Public License
|
13 |
-
* along with Redux Framework. If not, see <http://www.gnu.org/licenses/>.
|
14 |
-
*
|
15 |
-
* @package ReduxFramework
|
16 |
-
* @subpackage debug object
|
17 |
-
* @author Dovy Paukstys
|
18 |
-
* @author Kevin Provance (kprovance)
|
19 |
-
* @version 3.1.8
|
20 |
-
*/
|
21 |
-
|
22 |
-
// Exit if accessed directly
|
23 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
24 |
-
exit;
|
25 |
-
}
|
26 |
-
|
27 |
-
if ( ! class_exists( 'ReduxDebugObject' ) ) {
|
28 |
-
|
29 |
-
/**
|
30 |
-
* Main ReduxFramework_import_export class
|
31 |
-
*
|
32 |
-
* @since 1.0.0
|
33 |
-
*/
|
34 |
-
class ReduxDebugObject {
|
35 |
-
public function __construct( $parent ) {
|
36 |
-
$this->parent = $parent;
|
37 |
-
}
|
38 |
-
|
39 |
-
public function render() {
|
40 |
-
echo '<div id="dev_mode_default_section_group' . '" class="redux-group-tab">';
|
41 |
-
echo '<h3>' . __( 'Options Object', 'redux-framework' ) . '</h3>';
|
42 |
-
echo '<div class="redux-section-desc">';
|
43 |
-
echo '<div id="redux-object-browser"></div>';
|
44 |
-
echo '</div>';
|
45 |
-
|
46 |
-
if ( version_compare( phpversion(), "5.3.0", ">=" ) ) {
|
47 |
-
$json = json_encode( $this->parent->options, true );
|
48 |
-
} else {
|
49 |
-
$json = json_encode( $this->parent->options );
|
50 |
-
}
|
51 |
-
|
52 |
-
echo '<div id="redux-object-json" class="hide">' . $json . '</div>';
|
53 |
-
|
54 |
-
echo '<a href="#" id="consolePrintObject" class="button">' . __( 'Show Object in Javascript Console Object', 'redux-framework' ) . '</a>';
|
55 |
-
|
56 |
-
echo '</div>';
|
57 |
-
}
|
58 |
-
|
59 |
-
public function render_tab() {
|
60 |
-
echo '<li id="dev_mode_default_section_group_li" class="redux-group-tab-link-li">';
|
61 |
-
|
62 |
-
if ( ! empty( $this->parent->args['icon_type'] ) && $this->parent->args['icon_type'] == 'image' ) {
|
63 |
-
$icon = ( ! isset( $this->parent->args['dev_mode_icon'] ) ) ? '' : '<img src="' . $this->parent->args['dev_mode_icon'] . '" /> ';
|
64 |
-
} else {
|
65 |
-
$icon_class = ( ! isset( $this->parent->args['dev_mode_icon_class'] ) ) ? '' : ' ' . $this->parent->args['dev_mode_icon_class'];
|
66 |
-
$icon = ( ! isset( $this->parent->args['dev_mode_icon'] ) ) ? '<i class="el el-info-circle' . $icon_class . '"></i>' : '<i class="icon-' . $this->parent->args['dev_mode_icon'] . $icon_class . '"></i> ';
|
67 |
-
}
|
68 |
-
|
69 |
-
echo '<a href="javascript:void(0);" id="dev_mode_default_section_group_li_a" class="redux-group-tab-link-a custom-tab" data-rel="dev_mode_default">' . $icon . ' <span class="group_title">' . __( 'Options Object', 'redux-framework' ) . '</span></a>';
|
70 |
-
echo '</li>';
|
71 |
-
}
|
72 |
-
|
73 |
-
public function add_submenu() {
|
74 |
-
add_submenu_page(
|
75 |
-
$this->parent->args['page_slug'],
|
76 |
-
__( 'Options Object', 'redux-framework' ),
|
77 |
-
__( 'Options Object', 'redux-framework' ),
|
78 |
-
$this->parent->args['page_permissions'],
|
79 |
-
$this->parent->args['page_slug'] . '&tab=dev_mode_default',
|
80 |
-
'__return_null'
|
81 |
-
);
|
82 |
-
}
|
83 |
-
}
|
84 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/ace.js
DELETED
@@ -1,11 +0,0 @@
|
|
1 |
-
(function(){function s(r){var i=function(e,t){return n("",e,t)},s=e;r&&(e[r]||(e[r]={}),s=e[r]);if(!s.define||!s.define.packaged)t.original=s.define,s.define=t,s.define.packaged=!0;if(!s.require||!s.require.packaged)n.original=s.require,s.require=i,s.require.packaged=!0}var ACE_NAMESPACE = "ace",e=function(){return this}();if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(window,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules||(t.modules={},t.payloads={}),t.payloads[e]=r,t.modules[e]=null},n=function(e,t,r){if(Object.prototype.toString.call(t)==="[object Array]"){var s=[];for(var o=0,u=t.length;o<u;++o){var a=i(e,t[o]);if(!a&&n.original)return n.original.apply(window,arguments);s.push(a)}r&&r.apply(null,s)}else{if(typeof t=="string"){var f=i(e,t);return!f&&n.original?n.original.apply(window,arguments):(r&&r(),f)}if(n.original)return n.original.apply(window,arguments)}},r=function(e,t){if(t.indexOf("!")!==-1){var n=t.split("!");return r(e,n[0])+"!"+r(e,n[1])}if(t.charAt(0)=="."){var i=e.split("/").slice(0,-1).join("/");t=i+"/"+t;while(t.indexOf(".")!==-1&&s!=t){var s=t;t=t.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return t},i=function(e,i){i=r(e,i);var s=t.modules[i];if(!s){s=t.payloads[i];if(typeof s=="function"){var o={},u={id:i,uri:"",exports:o,packaged:!0},a=function(e,t){return n(i,e,t)},f=s(a,o,u);o=f||u.exports,t.modules[i]=o,delete t.payloads[i]}s=t.modules[i]=o||s}return s};s(ACE_NAMESPACE)})(),ace.define("ace/lib/regexp",["require","exports","module"],function(e,t,n){"use strict";function o(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.extended?"x":"")+(e.sticky?"y":"")}function u(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var r=n||0;r<e.length;r++)if(e[r]===t)return r;return-1}var r={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},i=r.exec.call(/()??/,"")[1]===undefined,s=function(){var e=/^/g;return r.test.call(e,""),!e.lastIndex}();if(s&&i)return;RegExp.prototype.exec=function(e){var t=r.exec.apply(this,arguments),n,a;if(typeof e=="string"&&t){!i&&t.length>1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;e<arguments.length-2;e++)arguments[e]===undefined&&(t[e]=undefined)}));if(this._xregexp&&this._xregexp.captureNames)for(var f=1;f<t.length;f++)n=this._xregexp.captureNames[f-1],n&&(t[n]=t[f]);!s&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=u.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),a=e+o,f=a+s-o,l=n-a,c=n-o;if(f<a)for(var h=0;h<l;++h)this[f+h]=this[a+h];else if(f>a)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(u.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(t){return a(t)=="[object Array]"});var m=Object("a"),g=m[0]!="a"||!(0 in m);Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=arguments[1],s=-1,o=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s<o)s in r&&t.call(i,r[s],s,n)}),Array.prototype.map||(Array.prototype.map=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u<i;u++)u in r&&(s[u]=t.call(o,r[u],u,n));return s}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f<i;f++)f in r&&(o=r[f],t.call(u,o,f,n)&&s.push(o));return s}),Array.prototype.every||(Array.prototype.every=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&!t.call(s,r[o],o,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&t.call(s,r[o],o,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s<i;s++)s in r&&(o=t.call(void 0,o,r[s],s,n));return o}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n<r;n++){var i=A[n];f(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var _=" \n\f\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff";if(!String.prototype.trim||_.trim()){_="["+_+"]";var D=new RegExp("^"+_+_+"*"),P=new RegExp(_+_+"*$");String.prototype.trim=function(){return String(this).replace(D,"").replace(P,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(e,t,n){"use strict";e("./regexp"),e("./es5-shim")}),ace.define("ace/lib/dom",["require","exports","module"],function(e,t,n){"use strict";var r="http://www.w3.org/1999/xhtml";t.getDocumentHead=function(e){return e||(e=document),e.head||e.getElementsByTagName("head")[0]||e.documentElement},t.createElement=function(e,t){return document.createElementNS?document.createElementNS(t||r,e):document.createElement(e)},t.hasCssClass=function(e,t){var n=(e.className||"").split(/\s+/g);return n.indexOf(t)!==-1},t.addCssClass=function(e,n){t.hasCssClass(e,n)||(e.className+=" "+n)},t.removeCssClass=function(e,t){var n=e.className.split(/\s+/g);for(;;){var r=n.indexOf(t);if(r==-1)break;n.splice(r,1)}e.className=n.join(" ")},t.toggleCssClass=function(e,t){var n=e.className.split(/\s+/g),r=!0;for(;;){var i=n.indexOf(t);if(i==-1)break;r=!1,n.splice(i,1)}return r&&n.push(t),e.className=n.join(" "),r},t.setCssClass=function(e,n,r){r?t.addCssClass(e,n):t.removeCssClass(e,n)},t.hasCssString=function(e,t){var n=0,r;t=t||document;if(t.createStyleSheet&&(r=t.styleSheets)){while(n<r.length)if(r[n++].owningElement.id===e)return!0}else if(r=t.getElementsByTagName("style"))while(n<r.length)if(r[n++].id===e)return!0;return!1},t.importCssString=function(n,i,s){s=s||document;if(i&&t.hasCssString(i,s))return null;var o;s.createStyleSheet?(o=s.createStyleSheet(),o.cssText=n,i&&(o.owningElement.id=i)):(o=s.createElementNS?s.createElementNS(r,"style"):s.createElement("style"),o.appendChild(s.createTextNode(n)),i&&(o.id=i),t.getDocumentHead(s).appendChild(o))},t.importCssStylsheet=function(e,n){if(n.createStyleSheet)n.createStyleSheet(e);else{var r=t.createElement("link");r.rel="stylesheet",r.href=e,t.getDocumentHead(n).appendChild(r)}},t.getInnerWidth=function(e){return parseInt(t.computedStyle(e,"paddingLeft"),10)+parseInt(t.computedStyle(e,"paddingRight"),10)+e.clientWidth},t.getInnerHeight=function(e){return parseInt(t.computedStyle(e,"paddingTop"),10)+parseInt(t.computedStyle(e,"paddingBottom"),10)+e.clientHeight};if(typeof document=="undefined")return;window.pageYOffset!==undefined?(t.getPageScrollTop=function(){return window.pageYOffset},t.getPageScrollLeft=function(){return window.pageXOffset}):(t.getPageScrollTop=function(){return document.body.scrollTop},t.getPageScrollLeft=function(){return document.body.scrollLeft}),window.getComputedStyle?t.computedStyle=function(e,t){return t?(window.getComputedStyle(e,"")||{})[t]||"":window.getComputedStyle(e,"")||{}}:t.computedStyle=function(e,t){return t?e.currentStyle[t]:e.currentStyle},t.scrollbarWidth=function(e){var n=t.createElement("ace_inner");n.style.width="100%",n.style.minWidth="0px",n.style.height="200px",n.style.display="block";var r=t.createElement("ace_outer"),i=r.style;i.position="absolute",i.left="-10000px",i.overflow="hidden",i.width="200px",i.minWidth="0px",i.height="150px",i.display="block",r.appendChild(n);var s=e.documentElement;s.appendChild(r);var o=n.offsetWidth;i.overflow="scroll";var u=n.offsetWidth;return o==u&&(u=r.clientWidth),s.removeChild(r),o-u},t.setInnerHtml=function(e,t){var n=e.cloneNode(!1);return n.innerHTML=t,e.parentNode.replaceChild(n,e),n},"textContent"in document.documentElement?(t.setInnerText=function(e,t){e.textContent=t},t.getInnerText=function(e){return e.textContent}):(t.setInnerText=function(e,t){e.innerText=t},t.getInnerText=function(e){return e.innerText}),t.getParentWindow=function(e){return e.defaultView||e.parentWindow}}),ace.define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop"],function(e,t,n){"use strict";e("./fixoldbrowsers");var r=e("./oop"),i=function(){var e={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,"super":8,meta:8,command:8,cmd:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"}},t,n;for(n in e.FUNCTION_KEYS)t=e.FUNCTION_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);for(n in e.PRINTABLE_KEYS)t=e.PRINTABLE_KEYS[n].toLowerCase(),e[t]=parseInt(n,10);return r.mixin(e,e.MODIFIER_KEYS),r.mixin(e,e.PRINTABLE_KEYS),r.mixin(e,e.FUNCTION_KEYS),e.enter=e["return"],e.escape=e.esc,e.del=e["delete"],e[173]="-",function(){var t=["cmd","ctrl","alt","shift"];for(var n=Math.pow(2,t.length);n--;)e.KEY_MODS[n]=t.filter(function(t){return n&e.KEY_MODS[t]}).join("-")+"-"}(),e.KEY_MODS[0]="",e.KEY_MODS[-1]="input",e}();r.mixin(t,i),t.keyCodeToString=function(e){var t=i[e];return typeof t!="string"&&(t=String.fromCharCode(e)),t.toLowerCase()}}),ace.define("ace/lib/useragent",["require","exports","module"],function(e,t,n){"use strict";t.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS};if(typeof navigator!="object")return;var r=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),i=navigator.userAgent;t.isWin=r=="win",t.isMac=r=="mac",t.isLinux=r=="linux",t.isIE=navigator.appName=="Microsoft Internet Explorer"||navigator.appName.indexOf("MSAppHost")>=0?parseFloat((i.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((i.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=(window.Controllers||window.controllers)&&window.navigator.product==="Gecko",t.isOldGecko=t.isGecko&&parseInt((i.match(/rv\:(\d+)/)||[])[1],10)<4,t.isOpera=window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]",t.isWebKit=parseFloat(i.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(i.split(" Chrome/")[1])||undefined,t.isAIR=i.indexOf("AdobeAIR")>=0,t.isIPad=i.indexOf("iPad")>=0,t.isTouchPad=i.indexOf("TouchPad")>=0,t.isChromeOS=i.indexOf(" CrOS ")>=0}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t,n){var o=s(t);if(!i.isMac&&u){if(u[91]||u[92])o|=8;if(u.altGr){if((3&o)==3)return;u.altGr=0}if(n===18||n===17){var f="location"in t?t.location:t.keyLocation;if(n===17&&f===1)a=t.timeStamp;else if(n===18&&o===3&&f===2){var l=-a;a=t.timeStamp,l+=a,l<3&&(u.altGr=!0)}}}if(n in r.MODIFIER_KEYS){switch(r.MODIFIER_KEYS[n]){case"Alt":o=2;break;case"Shift":o=4;break;case"Ctrl":o=1;break;default:o=8}n=-1}o&8&&(n===91||n===93)&&(n=-1);if(!o&&n===13){var f="location"in t?t.location:t.keyLocation;if(f===3){e(t,o,-n);if(t.defaultPrevented)return}}if(i.isChromeOS&&o&8){e(t,o,n);if(t.defaultPrevented)return;o&=-9}return!!o||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS?e(t,o,n):!1}var r=e("./keys"),i=e("./useragent");t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var r=function(){n.call(e,window.event)};n._wrapper=r,e.attachEvent("on"+t,r)}},t.removeListener=function(e,t,n){if(e.removeEventListener)return e.removeEventListener(t,n,!1);e.detachEvent&&e.detachEvent("on"+t,n._wrapper||n)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return e.type=="dblclick"?0:e.type=="contextmenu"||i.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,r){function i(e){n&&n(e),r&&r(e),t.removeListener(document,"mousemove",n,!0),t.removeListener(document,"mouseup",i,!0),t.removeListener(document,"dragstart",i,!0)}return t.addListener(document,"mousemove",n,!0),t.addListener(document,"mouseup",i,!0),t.addListener(document,"dragstart",i,!0),i},t.addMouseWheelListener=function(e,n){"onmousewheel"in e?t.addListener(e,"mousewheel",function(e){var t=8;e.wheelDeltaX!==undefined?(e.wheelX=-e.wheelDeltaX/t,e.wheelY=-e.wheelDeltaY/t):(e.wheelX=0,e.wheelY=-e.wheelDelta/t),n(e)}):"onwheel"in e?t.addListener(e,"wheel",function(e){var t=.35;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=e.deltaX*t||0,e.wheelY=e.deltaY*t||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=(e.deltaX||0)*5,e.wheelY=(e.deltaY||0)*5}n(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=(e.detail||0)*5,e.wheelY=0):(e.wheelX=0,e.wheelY=(e.detail||0)*5),n(e)})},t.addMultiMouseDownListener=function(e,n,r,s){var o=0,u,a,f,l={2:"dblclick",3:"tripleclick",4:"quadclick"};t.addListener(e,"mousedown",function(e){t.getButton(e)!==0?o=0:e.detail>1?(o++,o>4&&(o=1)):o=1;if(i.isIE){var c=Math.abs(e.clientX-u)>5||Math.abs(e.clientY-a)>5;if(!f||c)o=1;f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),o==1&&(u=e.clientX,a=e.clientY)}e._clicks=o,r[s]("mousedown",e);if(o>4)o=0;else if(o>1)return r[s](l[o],e)}),i.isOldIE&&t.addListener(e,"dblclick",function(e){o=2,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),r[s]("mousedown",e),r[s](l[o],e)})};var s=!i.isMac||!i.isOpera||"KeyboardEvent"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};t.getModifierString=function(e){return r.KEY_MODS[s(e)]};var u=null,a=0;t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var s=null;r(e,"keydown",function(e){s=e.keyCode}),r(e,"keypress",function(e){return o(n,e,s)})}else{var a=null;r(e,"keydown",function(e){u[e.keyCode]=!0;var t=o(n,e,e.keyCode);return a=e.defaultPrevented,t}),r(e,"keypress",function(e){a&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),a=null)}),r(e,"keyup",function(e){u[e.keyCode]=null}),u||(u=Object.create(null),r(window,"focus",function(e){u=Object.create(null)}))}};if(window.postMessage&&!i.isOldIE){var f=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+f;t.addListener(n,"message",function i(s){s.data==r&&(t.stopPropagation(s),t.removeListener(n,"message",i),e())}),n.postMessage(r,"*")}}t.nextFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame,t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),ace.define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function(e){if(typeof e!="object"||!e)return e;var n=e.constructor;if(n===RegExp)return e;var r=n();for(var i in e)typeof e[i]=="object"?r[i]=t.deepCopy(e[i]):r[i]=e[i];return r},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n==null&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("../lib/dom"),o=e("../lib/lang"),u=i.isChrome<18,a=i.isIE,f=function(e,t){function b(e){if(h)return;if(k)t=0,r=e?0:n.value.length-1;else var t=e?2:1,r=2;try{n.setSelectionRange(t,r)}catch(i){}}function w(){if(h)return;n.value=f,i.isWebKit&&y.schedule()}function R(){clearTimeout(q),q=setTimeout(function(){p&&(n.style.cssText=p,p=""),t.renderer.$keepTextAreaAtCursor==null&&(t.renderer.$keepTextAreaAtCursor=!0,t.renderer.$moveTextAreaToCursor())},i.isOldIE?200:0)}var n=s.createElement("textarea");n.className="ace_text-input",i.isTouchPad&&n.setAttribute("x-palm-disable-auto-cap",!0),n.setAttribute("wrap","off"),n.setAttribute("autocorrect","off"),n.setAttribute("autocapitalize","off"),n.setAttribute("spellcheck",!1),n.style.opacity="0",i.isOldIE&&(n.style.top="-100px"),e.insertBefore(n,e.firstChild);var f="",l=!1,c=!1,h=!1,p="",d=!0;try{var v=document.activeElement===n}catch(m){}r.addListener(n,"blur",function(e){t.onBlur(e),v=!1}),r.addListener(n,"focus",function(e){v=!0,t.onFocus(e),b()}),this.focus=function(){n.style.position="fixed",n.style.top="-10000000px",n.focus(),setTimeout(function(){n.style.position=""},0)},this.blur=function(){n.blur()},this.isFocused=function(){return v};var g=o.delayedCall(function(){v&&b(d)}),y=o.delayedCall(function(){h||(n.value=f,v&&b())});i.isWebKit||t.addEventListener("changeSelection",function(){t.selection.isEmpty()!=d&&(d=!d,g.schedule())}),w(),v&&t.onFocus();var E=function(e){return e.selectionStart===0&&e.selectionEnd===e.value.length};!n.setSelectionRange&&n.createTextRange&&(n.setSelectionRange=function(e,t){var n=this.createTextRange();n.collapse(!0),n.moveStart("character",e),n.moveEnd("character",t),n.select()},E=function(e){try{var t=e.ownerDocument.selection.createRange()}catch(n){}return!t||t.parentElement()!=e?!1:t.text==e.value});if(i.isOldIE){var S=!1,x=function(e){if(S)return;var t=n.value;if(h||!t||t==f)return;if(e&&t==f[0])return T.schedule();A(t),S=!0,w(),S=!1},T=o.delayedCall(x);r.addListener(n,"propertychange",x);var N={13:1,27:1};r.addListener(n,"keyup",function(e){h&&(!n.value||N[e.keyCode])&&setTimeout(F,0);if((n.value.charCodeAt(0)||0)<129)return T.call();h?j():B()}),r.addListener(n,"keydown",function(e){T.schedule(50)})}var C=function(e){l?l=!1:E(n)?(t.selectAll(),b()):k&&b(t.selection.isEmpty())},k=null;this.setInputHandler=function(e){k=e},this.getInputHandler=function(){return k};var L=!1,A=function(e){k&&(e=k(e),k=null),c?(b(),e&&t.onPaste(e),c=!1):e==f.charAt(0)?L?t.execCommand("del",{source:"ace"}):t.execCommand("backspace",{source:"ace"}):(e.substring(0,2)==f?e=e.substr(2):e.charAt(0)==f.charAt(0)?e=e.substr(1):e.charAt(e.length-1)==f.charAt(0)&&(e=e.slice(0,-1)),e.charAt(e.length-1)==f.charAt(0)&&(e=e.slice(0,-1)),e&&t.onTextInput(e)),L&&(L=!1)},O=function(e){if(h)return;var t=n.value;A(t),w()},M=function(e,t){var n=e.clipboardData||window.clipboardData;if(!n||u)return;var r=a?"Text":"text/plain";return t?n.setData(r,t)!==!1:n.getData(r)},_=function(e,i){var s=t.getCopyText();if(!s)return r.preventDefault(e);M(e,s)?(i?t.onCut():t.onCopy(),r.preventDefault(e)):(l=!0,n.value=s,n.select(),setTimeout(function(){l=!1,w(),b(),i?t.onCut():t.onCopy()}))},D=function(e){_(e,!0)},P=function(e){_(e,!1)},H=function(e){var s=M(e);typeof s=="string"?(s&&t.onPaste(s),i.isIE&&setTimeout(b),r.preventDefault(e)):(n.value="",c=!0)};r.addCommandKeyListener(n,t.onCommandKey.bind(t)),r.addListener(n,"select",C),r.addListener(n,"input",O),r.addListener(n,"cut",D),r.addListener(n,"copy",P),r.addListener(n,"paste",H),(!("oncut"in n)||!("oncopy"in n)||!("onpaste"in n))&&r.addListener(e,"keydown",function(e){if(i.isMac&&!e.metaKey||!e.ctrlKey)return;switch(e.keyCode){case 67:P(e);break;case 86:H(e);break;case 88:D(e)}});var B=function(e){if(h||!t.onCompositionStart||t.$readOnly)return;h={},t.onCompositionStart(),setTimeout(j,0),t.on("mousedown",F),t.selection.isEmpty()||(t.insert(""),t.session.markUndoGroup(),t.selection.clearSelection()),t.session.markUndoGroup()},j=function(){if(!h||!t.onCompositionUpdate||t.$readOnly)return;var e=n.value.replace(/\x01/g,"");if(h.lastValue===e)return;t.onCompositionUpdate(e),h.lastValue&&t.undo(),h.lastValue=e;if(h.lastValue){var r=t.selection.getRange();t.insert(h.lastValue),t.session.markUndoGroup(),h.range=t.selection.getRange(),t.selection.setRange(r),t.selection.clearSelection()}},F=function(e){if(!t.onCompositionEnd||t.$readOnly)return;var r=h;h=!1;var i=setTimeout(function(){i=null;var e=n.value.replace(/\x01/g,"");if(h)return;e==r.lastValue?w():!r.lastValue&&e&&(w(),A(e))});k=function(n){return i&&clearTimeout(i),n=n.replace(/\x01/g,""),n==r.lastValue?"":(r.lastValue&&i&&t.undo(),n)},t.onCompositionEnd(),t.removeListener("mousedown",F),e.type=="compositionend"&&r.range&&t.selection.setRange(r.range)},I=o.delayedCall(j,50);r.addListener(n,"compositionstart",B),i.isGecko?r.addListener(n,"text",function(){I.schedule()}):(r.addListener(n,"keyup",function(){I.schedule()}),r.addListener(n,"keydown",function(){I.schedule()})),r.addListener(n,"compositionend",F),this.getElement=function(){return n},this.setReadOnly=function(e){n.readOnly=e},this.onContextMenu=function(e){L=!0,b(t.selection.isEmpty()),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,o){if(!o&&i.isOldIE)return;p||(p=n.style.cssText),n.style.cssText=(o?"z-index:100000;":"")+"height:"+n.style.height+";"+(i.isIE?"opacity:0.1;":"");var u=t.container.getBoundingClientRect(),a=s.computedStyle(t.container),f=u.top+(parseInt(a.borderTopWidth)||0),l=u.left+(parseInt(u.borderLeftWidth)||0),c=u.bottom-f-n.clientHeight-2,h=function(e){n.style.left=e.clientX-l-2+"px",n.style.top=Math.min(e.clientY-f-2,c)+"px"};h(e);if(e.type!="mousedown")return;t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),i.isWin&&!i.isOldIE&&r.capture(t.container,h,R)},this.onContextMenuClose=R;var q,U=function(e){t.textInput.onContextMenu(e),R()};r.addListener(t.renderer.scroller,"contextmenu",U),r.addListener(n,"contextmenu",U)};t.TextInput=f}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function u(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e));var n=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];n.forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function a(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}function f(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row==e.end.row-1&&!e.start.column&&!e.end.column)var n=t.column-4;else var n=2*t.row-e.start.row-e.end.row;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=0;(function(){this.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var r=this.editor,i=e.getButton();if(i!==0){var s=r.getSelectionRange(),o=s.isEmpty();r.$blockScrolling++,o&&r.selection.moveToPosition(n),r.$blockScrolling--,r.textInput.onContextMenu(e.domEvent);return}this.mousedownEvent.time=Date.now();if(t&&!r.isFocused()){r.focus();if(this.$focusTimout&&!this.$clickSelection&&!r.inMultiSelectMode){this.setState("focusWait"),this.captureMouse(e);return}}return this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;n.$blockScrolling++,this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select"),n.$blockScrolling--},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);t.$blockScrolling++;if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(r==1)e=this.$clickSelection.start;else{var i=f(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.$blockScrolling--,t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);n.$blockScrolling++;if(this.$clickSelection){var s=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end);if(s==-1&&o<=0){t=this.$clickSelection.end;if(i.end.row!=r.row||i.end.column!=r.column)r=i.start}else if(o==1&&s>=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=f(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.$blockScrolling--,n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=a(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>o||t-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(e.getAccelKey())return;e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=e.domEvent.timeStamp,n=t-(this.$lastScrollTime||0),r=this.editor,i=r.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);if(i||n<200)return this.$lastScrollTime=t,r.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()}}).call(u.prototype),t.DefaultHandlers=u}),ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,n){"use strict";function s(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}var r=e("./lib/oop"),i=e("./lib/dom");(function(){this.$init=function(){return this.$element=i.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){i.setInnerText(this.getElement(),e)},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){i.addCssClass(this.getElement(),e)},this.show=function(e,t,n){e!=null&&this.setText(e),t!=null&&n!=null&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth}}).call(s.prototype),t.Tooltip=s}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,n){"use strict";function u(e){function l(){var r=u.getDocumentPosition().row,s=n.$annotations[r];if(!s)return c();var o=t.session.getLength();if(r==o){var a=t.renderer.pixelToScreenCoordinates(0,u.y).row,l=u.$pos;if(a>t.session.documentToScreenRow(l.row,l.column))return c()}if(f==s)return;f=s.text.join("<br/>"),i.setHtml(f),i.show(),t.on("mousewheel",c);if(e.$tooltipFollowsMouse)h(u);else{var p=n.$cells[t.session.documentToScreenRow(r,0)].element,d=p.getBoundingClientRect(),v=i.getElement().style;v.left=d.right+"px",v.top=d.bottom+"px"}}function c(){o&&(o=clearTimeout(o)),f&&(i.hide(),f=null,t.removeEventListener("mousewheel",c))}function h(e){i.setPosition(e.x,e.y)}var t=e.editor,n=t.renderer.$gutterLayer,i=new a(t.container);e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused()||r.getButton()!=0)return;var i=n.getRegion(r);if(i=="foldWidgets")return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.setState("selectByLines"),e.captureMouse(r),r.preventDefault()});var o,u,f;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(r.hasCssClass(n,"ace_fold-widget"))return c();f&&e.$tooltipFollowsMouse&&h(t),u=t;if(o)return;o=setTimeout(function(){o=null,u&&!e.isMousePressed?l():c()},50)}),s.addListener(t.renderer.$gutter,"mouseout",function(e){u=null;if(!f||o)return;o=setTimeout(function(){o=null,c()},50)}),t.on("changeSession",c)}function a(e){o.call(this,e)}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/event"),o=e("../tooltip").Tooltip;i.inherits(a,o),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),s=this.getHeight();e+=15,t+=15,e+i>n&&(e-=e+i-n),t+s>r&&(t-=20+s),o.prototype.setPosition.call(this,e,t)}}.call(a.prototype),t.GutterHandler=u}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(s.prototype)}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function f(e){function T(e,n){var r=Date.now(),i=!n||e.row!=n.row,s=!n||e.column!=n.column;if(!S||i||s)t.$blockScrolling+=1,t.moveCursorToPosition(e),t.$blockScrolling-=1,S=r,x={x:p,y:d};else{var o=l(x.x,x.y,p,d);o>a?S=null:r-S>=u&&(t.renderer.scrollCursorIntoView(),S=null)}}function N(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,s=t.renderer.layerConfig.characterWidth,u=t.renderer.scroller.getBoundingClientRect(),a={x:{left:p-u.left,right:u.right-p},y:{top:d-u.top,bottom:u.bottom-d}},f=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};f/s<=2&&(c.column+=a.x.left<a.x.right?-3:2),l/i<=1&&(c.row+=a.y.top<a.y.bottom?-1:1);var h=e.row!=c.row,v=e.column!=c.column,m=!n||e.row!=n.row;h||v&&!m?E?r-E>=o&&t.renderer.scrollCursorIntoView(c):E=r:E=null}function C(){var e=g;g=t.renderer.screenToTextCoordinates(p,d),T(g,e),N(g,e)}function k(){m=t.selection.toOrientedRange(),h=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),C(),v=setInterval(C,20),y=0,i.addListener(document,"mousemove",O)}function L(){clearInterval(v),t.session.removeMarker(h),h=null,t.$blockScrolling+=1,t.selection.fromOrientedRange(m),t.$blockScrolling-=1,t.isFocused()&&!w&&t.renderer.$cursorLayer.setBlinking(!t.getReadOnly()),m=null,g=null,y=0,E=null,S=null,i.removeListener(document,"mousemove",O)}function O(){A==null&&(A=setTimeout(function(){A!=null&&h&&L()},20))}function M(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e=="text/plain"||e=="Text"})}function _(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],r=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":n.indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",s.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var f=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];f.forEach(function(t){e[t]=this[t]},this),t.addEventListener("mousedown",this.onMouseDown.bind(e));var c=t.container,h,p,d,v,m,g,y=0,b,w,E,S,x;this.onDragStart=function(e){if(this.cancelDrag||!c.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}m=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",s.isOpera&&(t.container.appendChild(n),n.scrollTop=0),i.setDragImage&&i.setDragImage(n,0,0),s.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(e){c.draggable=!1,w=!1,this.setState(null);if(!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!b&&n=="move"&&t.session.remove(t.getSelectionRange()),t.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||k(),y++,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragOver=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||(k(),y++),A!==null&&(A=null),e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragLeave=function(e){y--;if(y<=0&&h)return L(),b=null,i.preventDefault(e)},this.onDrop=function(e){if(!g)return;var n=e.dataTransfer;if(w)switch(b){case"move":m.contains(g.row,g.column)?m={start:g,end:g}:m=t.moveText(m,g);break;case"copy":m=t.moveText(m,g,!0)}else{var r=n.getData("Text");m={start:g,end:t.session.insert(g,r)},t.focus(),b=null}return L(),i.preventDefault(e)},i.addListener(c,"dragstart",this.onDragStart.bind(e)),i.addListener(c,"dragend",this.onDragEnd.bind(e)),i.addListener(c,"dragenter",this.onDragEnter.bind(e)),i.addListener(c,"dragover",this.onDragOver.bind(e)),i.addListener(c,"dragleave",this.onDragLeave.bind(e)),i.addListener(c,"drop",this.onDrop.bind(e));var A=null}function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=200,u=200,a=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var n=s.isWin?"default":"move";e.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&this.state=="dragReady"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state==="dragWait"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(!this.$dragEnabled)return;this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),i=e.domEvent.detail||1;if(i===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on");if(t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var u=t.container;u.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}).call(f.prototype),t.DragdropHandler=f}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){n.readyState===4&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){if(n||!i.readyState||i.readyState=="loaded"||i.readyState=="complete")i=i.onload=i.onreadystatechange=null,n||t()}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t){var i=n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var s=r.indexOf(t);s!=-1&&r.splice(s,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"no use strict";function o(e){typeof console!="undefined"&&console.warn&&console.warn.apply(console,arguments)}function u(e,t){var n=new Error(e);n.data=t,typeof console=="object"&&console.error&&console.error(n),setTimeout(function(){throw n})}var r=e("./oop"),i=e("./event_emitter").EventEmitter,s={setOptions:function(e){Object.keys(e).forEach(function(t){this.setOption(t,e[t])},this)},getOptions:function(e){var t={};return e?Array.isArray(e)||(t=e,e=Object.keys(t)):e=Object.keys(this.$options),e.forEach(function(e){t[e]=this.getOption(e)},this),t},setOption:function(e,t){if(this["$"+e]===t)return;var n=this.$options[e];if(!n)return o('misspelled option "'+e+'"');if(n.forwardTo)return this[n.forwardTo]&&this[n.forwardTo].setOption(e,t);n.handlesSet||(this["$"+e]=t),n&&n.set&&n.set.call(this,t)},getOption:function(e){var t=this.$options[e];return t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(e):t&&t.get?t.get.call(this):this["$"+e]:o('misspelled option "'+e+'"')}},a=function(){this.$defaultOptions={}};(function(){r.implement(this,i),this.defineOptions=function(e,t,n){return e.$options||(this.$defaultOptions[t]=e.$options={}),Object.keys(n).forEach(function(t){var r=n[t];typeof r=="string"&&(r={forwardTo:r}),r.name||(r.name=t),e.$options[r.name]=r,"initialValue"in r&&(e["$"+r.name]=r.initialValue)}),r.implement(e,s),this},this.resetOptions=function(e){Object.keys(e.$options).forEach(function(t){var n=e.$options[t];"value"in n&&e.setOption(t,n.value)})},this.setDefaultValue=function(e,t,n){var r=this.$defaultOptions[e]||(this.$defaultOptions[e]={});r[t]&&(r.forwardTo?this.setDefaultValue(r.forwardTo,t,n):r[t].value=n)},this.setDefaultValues=function(e,t){Object.keys(t).forEach(function(n){this.setDefaultValue(e,n,t[n])},this)},this.warn=o,this.reportError=u}).call(a.prototype),t.AppConfig=a}),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/app_config"],function(e,t,n){"no use strict";function f(r){a.packaged=r||e.packaged||n.packaged||u.define&&define.packaged;if(!u.document)return"";var i={},s="",o=document.currentScript||document._currentScript,f=o&&o.ownerDocument||document,c=f.getElementsByTagName("script");for(var h=0;h<c.length;h++){var p=c[h],d=p.src||p.getAttribute("src");if(!d)continue;var v=p.attributes;for(var m=0,g=v.length;m<g;m++){var y=v[m];y.name.indexOf("data-ace-")===0&&(i[l(y.name.replace(/^data-ace-/,""))]=y.value)}var b=d.match(/^(.*)\/ace(\-\w+)?\.js(\?|$)/);b&&(s=b[1])}s&&(i.base=i.base||s,i.packaged=!0),i.basePath=i.base,i.workerPath=i.workerPath||i.base,i.modePath=i.modePath||i.base,i.themePath=i.themePath||i.base,delete i.base;for(var w in i)typeof i[w]!="undefined"&&t.set(w,i[w])}function l(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./lib/net"),o=e("./lib/app_config").AppConfig;n.exports=t=new o;var u=function(){return this}(),a={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{}};t.get=function(e){if(!a.hasOwnProperty(e))throw new Error("Unknown config key: "+e);return a[e]},t.set=function(e,t){if(!a.hasOwnProperty(e))throw new Error("Unknown config key: "+e);a[e]=t},t.all=function(){return r.copyObject(a)},t.moduleUrl=function(e,t){if(a.$moduleUrls[e])return a.$moduleUrls[e];var n=e.split("/");t=t||n[n.length-2]||"";var r=t=="snippets"?"/":"-",i=n[n.length-1];if(t=="worker"&&r=="-"){var s=new RegExp("^"+t+"[\\-_]|[\\-_]"+t+"$","g");i=i.replace(s,"")}(!i||i==t)&&n.length>1&&(i=n[n.length-2]);var o=a[t+"Path"];return o==null?o=a.basePath:r=="/"&&(t=r=""),o&&o.slice(-1)!="/"&&(o+="/"),o+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return a.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,o;Array.isArray(n)&&(o=n[0],n=n[1]);try{i=e(n)}catch(u){}if(i&&!t.$loading[n])return r&&r(i);t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r);if(t.$loading[n].length>1)return;var a=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return a();s.loadScript(t.moduleUrl(n,o),a)},t.init=f}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("./default_handlers").DefaultHandlers,o=e("./default_gutter_handler").GutterHandler,u=e("./mouse_event").MouseEvent,a=e("./dragdrop_handler").DragdropHandler,f=e("../config"),l=function(e){var t=this;this.editor=e,new s(this),new o(this),new a(this);var n=function(t){(!document.hasFocus||!document.hasFocus())&&window.focus(),e.focus()},u=e.renderer.getMouseEventTarget();r.addListener(u,"click",this.onMouseEvent.bind(this,"click")),r.addListener(u,"mousemove",this.onMouseMove.bind(this,"mousemove")),r.addMultiMouseDownListener(u,[400,300,250],this,"onMouseEvent"),e.renderer.scrollBarV&&(r.addMultiMouseDownListener(e.renderer.scrollBarV.inner,[400,300,250],this,"onMouseEvent"),r.addMultiMouseDownListener(e.renderer.scrollBarH.inner,[400,300,250],this,"onMouseEvent"),i.isIE&&(r.addListener(e.renderer.scrollBarV.element,"mousedown",n),r.addListener(e.renderer.scrollBarH.element,"mousedown",n))),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel"));var f=e.renderer.$gutter;r.addListener(f,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),r.addListener(f,"click",this.onMouseEvent.bind(this,"gutterclick")),r.addListener(f,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),r.addListener(f,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),r.addListener(u,"mousedown",n),r.addListener(f,"mousedown",function(t){return e.focus(),r.preventDefault(t)}),e.on("mousemove",function(n){if(t.state||t.$dragDelay||!t.$dragEnabled)return;var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),s=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?s.setCursorStyle("default"):s.setCursorStyle("")})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new u(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;if(!n||!n.length)return;this.editor._emit(e,new u(t,this.editor))},this.onMouseWheel=function(e,t){var n=new u(t,this.editor);n.speed=this.$scrollSpeed*2,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor.renderer;n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=null);var s=this,o=function(e){if(!e)return;if(i.isWebKit&&!e.which&&s.releaseMouse)return s.releaseMouse();s.x=e.clientX,s.y=e.clientY,t&&t(e),s.mouseEvent=new u(e,s.editor),s.$mouseMoved=!0},a=function(e){clearInterval(l),f(),s[s.state+"End"]&&s[s.state+"End"](e),s.state="",n.$keepTextAreaAtCursor==null&&(n.$keepTextAreaAtCursor=!0,n.$moveTextAreaToCursor()),s.isMousePressed=!1,s.$onCaptureMouseMove=s.releaseMouse=null,e&&s.onMouseEvent("mouseup",e)},f=function(){s[s.state]&&s[s.state](),s.$mouseMoved=!1};if(i.isOldIE&&e.domEvent.type=="dblclick")return setTimeout(function(){a(e)});s.$onCaptureMouseMove=o,s.releaseMouse=r.capture(this.editor.container,o,a);var l=setInterval(f,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){if(t&&t.domEvent&&t.domEvent.type!="contextmenu")return;this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent)}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(l.prototype),f.defineOptions(l.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=l}),ace.define("ace/mouse/fold_handler",["require","exports","module"],function(e,t,n){"use strict";function r(e){e.on("click",function(t){var n=t.getDocumentPosition(),r=e.session,i=r.getFoldAt(n.row,n.column,1);i&&(t.getAccelKey()?r.removeFold(i):r.expandFold(i),t.stop())}),e.on("gutterclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session,s=i.getParentFoldRangeData(r,!0),o=s.range||s.firstRange;if(o){r=o.start.row;var u=i.getFoldAt(r,i.getLine(r).length,1);u?i.removeFold(u):(i.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}t.FoldHandler=r}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),s=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]==e)return;while(t[t.length-1]&&t[t.length-1]!=this.$defaultHandler)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)},this.addKeyboardHandler=function(e,t){if(!e)return;typeof e=="function"&&!e.handleKeyboard&&(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),t==undefined?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t==-1?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,r){var s,o=!1,u=this.$editor.commands;for(var a=this.$handlers.length;a--;){s=this.$handlers[a].handleKeyboard(this.$data,e,t,n,r);if(!s||!s.command)continue;s.command=="null"?o=!0:o=u.exec(s.command,this.$editor,s.args,r),o&&r&&e!=-1&&s.passEvent!=1&&s.command.passEvent!=1&&i.stopEvent(r);if(o)break}return o},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){var t=this.$callKeyboardHandlers(-1,e);t||this.$editor.commands.exec("insertstring",this.$editor,e)}}).call(s.prototype),t.KeyBinding=s}),ace.define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/lang"),s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.lead=this.selectionLead=this.doc.createAnchor(0,0),this.anchor=this.selectionAnchor=this.doc.createAnchor(0,0);var t=this;this.lead.on("change",function(e){t._emit("changeCursor"),t.$isEmpty||t._emit("changeSelection"),!t.$keepDesiredColumnOnChange&&e.old.column!=e.value.column&&(t.$desiredColumn=null)}),this.selectionAnchor.on("change",function(){t.$isEmpty||t._emit("changeSelection")})};(function(){r.implement(this,s),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return this.isEmpty()?!1:this.getRange().isMultiLine()},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.anchor.setPosition(e,t),this.$isEmpty&&(this.$isEmpty=!1,this._emit("changeSelection"))},this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.shiftSelection=function(e){if(this.$isEmpty){this.moveCursorTo(this.lead.row,this.lead.column+e);return}var t=this.getSelectionAnchor(),n=this.getSelectionLead(),r=this.isBackwards();(!r||t.column!==0)&&this.setSelectionAnchor(t.row,t.column+e),(r||n.column!==0)&&this.$moveSelection(function(){this.moveCursorTo(n.row,n.column+e)})},this.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.isEmpty()?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column===0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(e.column-n,e.column).split(" ").length-1==n?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var n=this.session.getTabSize(),e=this.lead;this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(e.column,e.column+n).split(" ").length-1==n?this.moveCursorBy(0,n):this.moveCursorBy(0,1)}},this.moveCursorLineStart=function(){var e=this.lead.row,t=this.lead.column,n=this.session.documentToScreenRow(e,t),r=this.session.screenToDocumentPosition(n,0),i=this.session.getDisplayLine(e,null,r.row,r.column),s=i.match(/^\s*/);s[0].length!=t&&!this.session.$useEmacsStyleLineStart&&(r.column+=s[0].length),this.moveCursorToPosition(r)},this.moveCursorLineEnd=function(){var e=this.lead,t=this.session.getDocumentLastRowColumnPosition(e.row,e.column);if(this.lead.column==t.column){var n=this.session.getLine(t.row);if(t.column==n.length){var r=n.search(/\s+$/);r>0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var s=this.session.getFoldAt(e,t,1);if(s){this.moveCursorTo(s.end.row,s.end.column);return}if(i=this.session.nonTokenRe.exec(r))t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t);if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e<this.doc.getLength()-1&&this.moveCursorWordRight();return}if(i=this.session.tokenRe.exec(r))t+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(e,t)},this.moveCursorLongWordLeft=function(){var e=this.lead.row,t=this.lead.column,n;if(n=this.session.getFoldAt(e,t,-1)){this.moveCursorTo(n.start.row,n.start.column);return}var r=this.session.getFoldStringAt(e,t,-1);r==null&&(r=this.doc.getLine(e).substring(0,t));var s=i.stringReverse(r),o;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;if(o=this.session.nonTokenRe.exec(s))t-=this.session.nonTokenRe.lastIndex,s=s.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0;if(t<=0){this.moveCursorTo(e,0),this.moveCursorLeft(),e>0&&this.moveCursorWordLeft();return}if(o=this.session.tokenRe.exec(s))t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(e,t)},this.$shortWordEndIndex=function(e){var t,n=0,r,i=/\s/,s=this.session.tokenRe;s.lastIndex=0;if(t=this.session.tokenRe.exec(e))n=this.session.tokenRe.lastIndex;else{while((r=e[n])&&i.test(r))n++;if(n<1){s.lastIndex=0;while((r=e[n])&&!s.test(r)){s.lastIndex=0,n++;if(i.test(r)){if(n>2){n--;break}while((r=e[n])&&i.test(r))n++;if(n>2)break}}}}return s.lastIndex=0,n},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e<s&&/^\s*$/.test(r));/^\s+/.test(r)||(r=""),t=0}var o=this.$shortWordEndIndex(r);this.moveCursorTo(e,t+o)},this.moveCursorShortWordLeft=function(){var e=this.lead.row,t=this.lead.column,n;if(n=this.session.getFoldAt(e,t,-1))return this.moveCursorTo(n.start.row,n.start.column);var r=this.session.getLine(e).substring(0,t);if(t===0){do e--,r=this.doc.getLine(e);while(e>0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column);t===0&&(this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var r=this.session.screenToDocumentPosition(n.row+e,n.column);e!==0&&t===0&&r.row===this.lead.row&&r.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[r.row]&&r.row++,this.moveCursorTo(r.row,r.column+t,t===0)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0,this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e.call(null,this);var n=this.getCursor();return o.fromPoints(t,n)}catch(r){return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(e.start==undefined){if(this.rangeList){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e.isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(u.prototype),t.Selection=u}),ace.define("ace/tokenizer",["require","exports","module","ace/config"],function(e,t,n){"use strict";var r=e("./config"),i=2e3,s=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){var n=this.states[t],r=[],i=0,s=this.matchMappings[t]={defaultToken:"text"},o="g",u=[];for(var a=0;a<n.length;a++){var f=n[a];f.defaultToken&&(s.defaultToken=f.defaultToken),f.caseInsensitive&&(o="gi");if(f.regex==null)continue;f.regex instanceof RegExp&&(f.regex=f.regex.toString().slice(1,-1));var l=f.regex,c=(new RegExp("(?:("+l+")|(.))")).exec("a").length-2;Array.isArray(f.token)?f.token.length==1||c==1?f.token=f.token[0]:c-1!=f.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:f,groupCount:c-1}),f.token=f.token[0]):(f.tokenArray=f.token,f.token=null,f.onMatch=this.$arrayTokens):typeof f.token=="function"&&!f.onMatch&&(c>1?f.onMatch=this.$applyToken:f.onMatch=f.token),c>1&&(/\\\d/.test(f.regex)?l=f.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(c=1,l=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&u.push(f)),s[i]=a,i+=c,r.push(l),f.onMatch||(f.onMatch=null)}r.length||(s[0]=0,r.push("$")),u.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",o)}};(function(){this.$setMaxTokenCount=function(e){i=e|0},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n=="string")return[{type:n,value:e}];var r=[];for(var i=0,s=n.length;i<s;i++)t[i]&&(r[r.length]={type:n[i],value:t[i]});return r},this.$arrayTokens=function(e){if(!e)return[];var t=this.splitRegex.exec(e);if(!t)return"text";var n=[],r=this.tokenArray;for(var i=0,s=r.length;i<s;i++)t[i+1]&&(n[n.length]={type:r[i],value:t[i+1]});return n},this.removeCapturingGroups=function(e){var t=e.replace(/\[(?:\\.|[^\]])*?\]|\\.|\(\?[:=!]|(\()/g,function(e,t){return t?"(?:":e});return t},this.createSplitterRegexp=function(e,t){if(e.indexOf("(?=")!=-1){var n=0,r=!1,i={};e.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,t,s,o,u,a){return r?r=u!="]":u?r=!0:o?(n==i.stack&&(i.end=a+1,i.stack=-1),n--):s&&(n++,s.length!=1&&(i.stack=n,i.start=a)),e}),i.end!=null&&/^\)*$/.test(e.substr(i.end))&&(e=e.substring(0,i.start)+e.substr(i.end))}return new RegExp(e,(t||"").replace("g",""))},this.getLineTokens=function(e,t){if(t&&typeof t!="string"){var n=t.slice(0);t=n[0],t==="#tmp"&&(n.shift(),t=n.shift())}else var n=[];var r=t||"start",s=this.states[r];s||(r="start",s=this.states[r]);var o=this.matchMappings[r],u=this.regExps[r];u.lastIndex=0;var a,f=[],l=0,c=0,h={type:null,value:""};while(a=u.exec(e)){var p=o.defaultToken,d=null,v=a[0],m=u.lastIndex;if(m-v.length>l){var g=e.substring(l,m-v.length);h.type==p?h.value+=g:(h.type&&f.push(h),h={type:p,value:g})}for(var y=0;y<a.length-2;y++){if(a[y+1]===undefined)continue;d=s[o[y]],d.onMatch?p=d.onMatch(v,r,n):p=d.token,d.next&&(typeof d.next=="string"?r=d.next:r=d.next(r,n),s=this.states[r],s||(this.reportError("state doesn't exist",r),r="start",s=this.states[r]),o=this.matchMappings[r],l=m,u=this.regExps[r],u.lastIndex=m);break}if(v)if(typeof p=="string")!!d&&d.merge===!1||h.type!==p?(h.type&&f.push(h),h={type:p,value:v}):h.value+=v;else if(p){h.type&&f.push(h),h={type:null,value:""};for(var y=0;y<p.length;y++)f.push(p[y])}if(l==e.length)break;l=m;if(c++>i){c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});while(l<e.length)h.type&&f.push(h),h={value:e.substring(l,l+=2e3),type:"overflow"};r="start",n=[];break}}return h.type&&f.push(h),n.length>1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:f,state:n.length?n:r}},this.reportError=r.reportError}).call(s.prototype),t.Tokenizer=s}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){var r=e[n];for(var i=0;i<r.length;i++){var s=r[i];if(s.next||s.onMatch)typeof s.next!="string"?s.nextState&&s.nextState.indexOf(t)!==0&&(s.nextState=t+s.nextState):s.next.indexOf(t)!==0&&(s.next=t+s.next)}this.$rules[t+n]=r}},this.getRules=function(){return this.$rules},this.embedRules=function(e,t,n,i,s){var o=typeof e=="function"?(new e).getRules():e;if(i)for(var u=0;u<i.length;u++)i[u]=t+i[u];else{i=[];for(var a in o)i.push(t+a)}this.addRules(o,t);if(n){var f=Array.prototype[s?"push":"unshift"];for(var u=0;u<i.length;u++)f.apply(this.$rules[i[u]],r.deepCopy(n))}this.$embeds||(this.$embeds=[]),this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds};var e=function(e,t){return(e!="start"||t.length)&&t.unshift(this.nextState,e),this.nextState},t=function(e,t){return t.shift(),t.shift()||"start"};this.normalizeRules=function(){function i(s){var o=r[s];o.processed=!0;for(var u=0;u<o.length;u++){var a=o[u];!a.regex&&a.start&&(a.regex=a.start,a.next||(a.next=[]),a.next.push({defaultToken:a.token},{token:a.token+".end",regex:a.end||a.start,next:"pop"}),a.token=a.token+".start",a.push=!0);var f=a.next||a.push;if(f&&Array.isArray(f)){var l=a.stateName;l||(l=a.token,typeof l!="string"&&(l=l[0]||""),r[l]&&(l+=n++)),r[l]=f,a.next=l,i(l)}else f=="pop"&&(a.next=t);a.push&&(a.nextState=a.next||a.push,a.next=e,delete a.push);if(a.rules)for(var c in a.rules)r[c]?r[c].push&&r[c].push.apply(r[c],a.rules[c]):r[c]=a.rules[c];if(a.include||typeof a=="string")var h=a.include||a,p=r[h];else Array.isArray(a)&&(p=a);if(p){var d=[u,1].concat(p);a.noEscape&&(d=d.filter(function(e){return!e.next})),o.splice.apply(o,d),u--,p=null}a.keywordMap&&(a.token=this.createKeywordMapper(a.keywordMap,a.defaultToken||"text",a.caseInsensitive),delete a.defaultToken)}}var n=0,r=this.$rules;Object.keys(r).forEach(i,this)},this.createKeywordMapper=function(e,t,n,r){var i=Object.create(null);return Object.keys(e).forEach(function(t){var s=e[t];n&&(s=s.toLowerCase());var o=s.split(r||"|");for(var u=o.length;u--;)i[o[u]]=t}),Object.getPrototypeOf(i)&&(i.__proto__=null),this.$keywordList=Object.keys(i),e=null,n?function(e){return i[e.toLowerCase()]||t}:function(e){return i[e]||t}},this.getKeywords=function(){return this.$keywords}}).call(i.prototype),t.TextHighlightRules=i}),ace.define("ace/mode/behaviour",["require","exports","module"],function(e,t,n){"use strict";var r=function(){this.$behaviours={}};(function(){this.add=function(e,t,n){switch(undefined){case this.$behaviours:this.$behaviours={};case this.$behaviours[e]:this.$behaviours[e]={}}this.$behaviours[e][t]=n},this.addBehaviours=function(e){for(var t in e)for(var n in e[t])this.add(t,n,e[t][n])},this.remove=function(e){this.$behaviours&&this.$behaviours[e]&&delete this.$behaviours[e]},this.inherit=function(e,t){if(typeof e=="function")var n=(new e).getBehaviours(t);else var n=e.getBehaviours(t);this.addBehaviours(n)},this.getBehaviours=function(e){if(!e)return this.$behaviours;var t={};for(var n=0;n<e.length;n++)this.$behaviours[e[n]]&&(t[e[n]]=this.$behaviours[e[n]]);return t}}).call(r.prototype),t.Behaviour=r}),ace.define("ace/unicode",["require","exports","module"],function(e,t,n){"use strict";function r(e){var n=/\w{4}/g;for(var r in e)t.packages[r]=e[r].replace(n,"\\u$&")}t.packages={},r({L:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Ll:"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F0521052305250561-05871D00-1D2B1D62-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7C2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2D00-2D25A641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CFB00-FB06FB13-FB17FF41-FF5A",Lu:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A",Lt:"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",Lm:"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F",Lo:"01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF12135-21382D30-2D652D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",M:"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DE-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0903093C093E-094E0951-0955096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F90-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135F1712-17141732-1734175217531772177317B6-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAA1C24-1C371CD0-1CD21CD4-1CE81CED1CF21DC0-1DE61DFD-1DFF20D0-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66F-A672A67CA67DA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",Mn:"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0902093C0941-0948094D0951-095509620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F90-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135F1712-17141732-1734175217531772177317B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1DC0-1DE61DFD-1DFF20D0-20DC20E120E5-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66FA67CA67DA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",Mc:"0903093E-09400949-094C094E0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1C24-1C2B1C341C351CE11CF2A823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9
|
|