Version Description
- Added Import/Export functionality
- Added Ditty shortcode to Ditty edit screen
- Re-ordered Ditty sub menu
- RTL admin updates
- Added Avada builder element
Download this release
Release Info
Developer | metaphorcreations |
Plugin | Ditty News Ticker |
Version | 3.0.17 |
Comparing to | |
See all releases |
Code changes from version 3.0.16 to 3.0.17
- ditty-news-ticker.php +2 -2
- includes/admin/columns.php +10 -6
- includes/admin/export.php +768 -32
- includes/admin/settings.php +10 -101
- includes/builders/fusion/builder.php +53 -0
- includes/builders/fusion/preview.php +12 -0
- includes/class-ditty-displays.php +10 -6
- includes/class-ditty-layouts.php +32 -6
- includes/class-ditty-singles.php +6 -3
- includes/class-ditty.php +3 -0
- includes/css/ditty-admin.css +126 -9
- includes/css/ditty.css +13 -3
- includes/fields/ditty-field-checkboxes.php +3 -0
- includes/helpers.php +73 -21
- includes/hooks.php +62 -0
- includes/img/ditty.svg +1 -0
- includes/js/admin/class-ditty-settings.js +58 -55
- includes/js/admin/general.js +25 -0
- includes/js/ditty-admin.js +1 -0
- includes/js/ditty-admin.min.js +1 -1194
- includes/js/ditty-editor.min.js +2 -2
- includes/js/editor/class-ditty-layouts-panel.js +31 -0
- includes/sass/admin/_dashboard.scss +23 -0
- includes/sass/admin/_export.scss +14 -0
- includes/sass/admin/_pages.scss +33 -0
- includes/sass/admin/_rtl.scss +66 -0
- includes/sass/admin/_settings.scss +25 -3
- includes/sass/ditty-admin.scss +3 -1
- includes/sass/editor/_layouts_panel.scss +2 -1
- includes/sass/partials/_ditty-ui.scss +1 -0
- includes/sass/partials/_fields.scss +12 -1
- includes/wizard.php +1 -1
- readme.txt +10 -3
ditty-news-ticker.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Plugin Name: Ditty (formerly Ditty News Ticker)
|
5 |
* Plugin URI: https://www.metaphorcreations.com/ditty
|
6 |
* Description: Formerly Ditty News Ticker. Ditty is a multi-functional data display plugin.
|
7 |
-
* Version: 3.0.
|
8 |
* Author: Metaphor Creations
|
9 |
* Author URI: https://www.metaphorcreations.com
|
10 |
* License: GPL-2.0+
|
@@ -20,7 +20,7 @@ if ( ! defined( 'WPINC' ) ) {
|
|
20 |
|
21 |
// Plugin version.
|
22 |
if ( ! defined( 'DITTY_VERSION' ) ) {
|
23 |
-
define( 'DITTY_VERSION', '3.0.
|
24 |
}
|
25 |
|
26 |
// Plugin Folder Path.
|
4 |
* Plugin Name: Ditty (formerly Ditty News Ticker)
|
5 |
* Plugin URI: https://www.metaphorcreations.com/ditty
|
6 |
* Description: Formerly Ditty News Ticker. Ditty is a multi-functional data display plugin.
|
7 |
+
* Version: 3.0.17
|
8 |
* Author: Metaphor Creations
|
9 |
* Author URI: https://www.metaphorcreations.com
|
10 |
* License: GPL-2.0+
|
20 |
|
21 |
// Plugin version.
|
22 |
if ( ! defined( 'DITTY_VERSION' ) ) {
|
23 |
+
define( 'DITTY_VERSION', '3.0.17' );
|
24 |
}
|
25 |
|
26 |
// Plugin Folder Path.
|
includes/admin/columns.php
CHANGED
@@ -23,6 +23,7 @@ function ditty_manage_posts_columns( $columns, $post_type ){
|
|
23 |
case 'ditty':
|
24 |
$new_columns['ditty_display'] = __( 'Display', 'ditty-news-ticker' );
|
25 |
$new_columns['ditty_display_type'] = __( 'Display Type', 'ditty-news-ticker' );
|
|
|
26 |
break;
|
27 |
}
|
28 |
|
@@ -35,7 +36,7 @@ add_filter( 'manage_posts_columns', 'ditty_manage_posts_columns', 10, 2 );
|
|
35 |
/**
|
36 |
* Display the custom edit screen columns
|
37 |
*
|
38 |
-
* @since 3.0
|
39 |
*/
|
40 |
function ditty_manage_posts_custom_column( $column, $post_id ){
|
41 |
global $post;
|
@@ -76,17 +77,20 @@ function ditty_manage_posts_custom_column( $column, $post_id ){
|
|
76 |
break;
|
77 |
case 'ditty_display':
|
78 |
$display_id = get_post_meta( $post_id, '_ditty_display', true );
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
break;
|
85 |
case 'ditty_display_version':
|
86 |
$meta = get_post_meta( $post_id, '_ditty_display_version', true );
|
87 |
$label = $meta;
|
88 |
echo $label;
|
89 |
break;
|
|
|
|
|
|
|
90 |
default:
|
91 |
break;
|
92 |
}
|
23 |
case 'ditty':
|
24 |
$new_columns['ditty_display'] = __( 'Display', 'ditty-news-ticker' );
|
25 |
$new_columns['ditty_display_type'] = __( 'Display Type', 'ditty-news-ticker' );
|
26 |
+
$new_columns['ditty_shortcode'] = __( 'Shortcode', 'ditty-news-ticker' );
|
27 |
break;
|
28 |
}
|
29 |
|
36 |
/**
|
37 |
* Display the custom edit screen columns
|
38 |
*
|
39 |
+
* @since 3.0.17
|
40 |
*/
|
41 |
function ditty_manage_posts_custom_column( $column, $post_id ){
|
42 |
global $post;
|
77 |
break;
|
78 |
case 'ditty_display':
|
79 |
$display_id = get_post_meta( $post_id, '_ditty_display', true );
|
80 |
+
if ( $display_id ) {
|
81 |
+
$display = new Ditty_Display( $display_id );
|
82 |
+
$label = $display->get_label();
|
83 |
+
echo "<a href='edit.php?post_type={$post->post_type}&ditty_display={$display_id}'>".$label."</a> - <a href='" . get_edit_post_link( $display->get_display_id() ) . "'>" . __( 'Edit', 'ditty-news-ticker' ) . "</a>";
|
84 |
+
}
|
85 |
break;
|
86 |
case 'ditty_display_version':
|
87 |
$meta = get_post_meta( $post_id, '_ditty_display_version', true );
|
88 |
$label = $meta;
|
89 |
echo $label;
|
90 |
break;
|
91 |
+
case 'ditty_shortcode':
|
92 |
+
echo "[ditty id={$post_id}]";
|
93 |
+
break;
|
94 |
default:
|
95 |
break;
|
96 |
}
|
includes/admin/export.php
CHANGED
@@ -1,37 +1,277 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
*
|
5 |
*
|
6 |
-
* @since 3.0.
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
break;
|
20 |
-
default:
|
21 |
-
break;
|
22 |
-
}
|
23 |
|
24 |
-
|
25 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
}
|
27 |
-
add_action( 'wp_ajax_ditty_export_posts', 'ditty_export_posts_ajax' );
|
28 |
|
29 |
/**
|
30 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
*
|
32 |
-
* @since 3.0.
|
33 |
*/
|
34 |
-
function
|
35 |
$args = array(
|
36 |
'posts_per_page' => -1,
|
37 |
'orderby' => 'post_date',
|
@@ -39,20 +279,516 @@ function ditty_export_ditty_posts() {
|
|
39 |
);
|
40 |
$posts = get_posts( $args );
|
41 |
|
42 |
-
$
|
|
|
|
|
43 |
if ( is_array( $posts ) && count( $posts ) > 0 ) {
|
44 |
foreach ( $posts as $i => $post ) {
|
45 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
|
47 |
-
//
|
48 |
-
$
|
49 |
|
50 |
-
|
51 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
|
53 |
-
|
54 |
-
$items = ditty_items_meta( $post->ID );
|
55 |
-
$post_data['items'] = ( array ) $items;
|
56 |
}
|
57 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
}
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* Render the import/export page
|
5 |
*
|
6 |
+
* @since 3.0.17
|
7 |
+
*/
|
8 |
+
|
9 |
+
function ditty_heading() {
|
10 |
+
?>
|
11 |
+
<header class="ditty-header">
|
12 |
+
<div class="ditty-header__wrapper">
|
13 |
+
<?php echo ditty_svg_logo(); ?>
|
14 |
+
</div>
|
15 |
+
</header>
|
16 |
+
<?php
|
17 |
+
}
|
18 |
+
function ditty_export_display() {
|
19 |
+
?>
|
20 |
+
<div id="ditty-page" class="wrap">
|
21 |
|
22 |
+
<div id="ditty-page__header">
|
23 |
+
<h2><?php esc_html_e( 'Ditty Import/Export', 'ditty-news-ticker' ); ?></h2>
|
24 |
+
</div>
|
|
|
|
|
|
|
|
|
25 |
|
26 |
+
<div id="ditty-page__content">
|
27 |
+
<div id="ditty-settings">
|
28 |
+
<?php
|
29 |
+
$current_tab = isset( $_GET['tab'] ) ? sanitize_key( $_GET['tab'] ) : 'export_ditty';
|
30 |
+
$settings = apply_filters( 'ditty_settings_tabs', array(
|
31 |
+
'export_ditty' => array(
|
32 |
+
'icon_svg' => ditty_svg_d(),
|
33 |
+
'label' => __( 'Export Ditty', 'ditty-news-ticker' ),
|
34 |
+
'fields' => 'ditty_settings_export_ditty',
|
35 |
+
),
|
36 |
+
'export_layouts' => array(
|
37 |
+
'icon' => 'fas fa-pencil-ruler',
|
38 |
+
'label' => __( 'Export Layouts', 'ditty-news-ticker' ),
|
39 |
+
'fields' => 'ditty_settings_export_layouts',
|
40 |
+
),
|
41 |
+
'export_displays' => array(
|
42 |
+
'icon' => 'fas fa-tablet-alt',
|
43 |
+
'label' => __( 'Export Displays', 'ditty-news-ticker' ),
|
44 |
+
'fields' => 'ditty_settings_export_displays',
|
45 |
+
),
|
46 |
+
'import' => array(
|
47 |
+
'icon' => 'fas fa-file-download',
|
48 |
+
'label' => __( 'Import Posts', 'ditty-news-ticker' ),
|
49 |
+
'fields' => 'ditty_settings_import',
|
50 |
+
),
|
51 |
+
) );
|
52 |
+
?>
|
53 |
+
|
54 |
+
<div class="ditty-settings__tabs">
|
55 |
+
<?php
|
56 |
+
if ( is_array( $settings ) && count( $settings ) > 0 ) {
|
57 |
+
foreach ( $settings as $slug => $setting ) {
|
58 |
+
$active = ( $slug == $current_tab ) ? ' active' : '';
|
59 |
+
echo '<a href="' . add_query_arg( 'tab', $slug ) . '" class="ditty-settings__tab ditty-settings__tab--' . esc_attr( $slug ) . $active . '" data-panel="' . esc_attr( $slug ) . '">';
|
60 |
+
if ( isset( $setting['icon'] ) ) {
|
61 |
+
echo '<i class="' . esc_attr( $setting['icon'] ) . '"></i>';
|
62 |
+
} elseif( isset( $setting['icon_svg'] ) ) {
|
63 |
+
echo $setting['icon_svg'];
|
64 |
+
}
|
65 |
+
echo '<span>' . esc_html( $setting['label'] ) . '</span>';
|
66 |
+
echo '</a>';
|
67 |
+
}
|
68 |
+
}
|
69 |
+
?>
|
70 |
+
</div>
|
71 |
+
|
72 |
+
<form class="ditty-settings__form" method="post" enctype="multipart/form-data">
|
73 |
+
<div class="ditty-notification-bar">
|
74 |
+
<div class="ditty-notification ditty-notification--updated"><?php echo esc_html( ditty_admin_strings( 'settings_updated' ) ); ?></div>
|
75 |
+
<div class="ditty-notification ditty-notification--warning"><?php echo esc_html( ditty_admin_strings( 'settings_changed' ) ); ?></div>
|
76 |
+
<div class="ditty-notification ditty-notification--error"><?php echo esc_html( ditty_admin_strings( 'settings_error' ) ); ?></div>
|
77 |
+
</div>
|
78 |
+
<div class="ditty-settings__panels">
|
79 |
+
<?php
|
80 |
+
if ( isset( $settings[$current_tab] ) ) {
|
81 |
+
?>
|
82 |
+
<div class="ditty-settings__panel ditty-settings__panel--<?php echo esc_attr( $slug ); ?>" style="display:block;">
|
83 |
+
<?php
|
84 |
+
if ( isset( $settings[$current_tab]['fields'] ) && function_exists( $settings[$current_tab]['fields'] ) ) {
|
85 |
+
call_user_func( $settings[$current_tab]['fields'] );
|
86 |
+
}
|
87 |
+
?>
|
88 |
+
</div>
|
89 |
+
<?php
|
90 |
+
}
|
91 |
+
?>
|
92 |
+
</div>
|
93 |
+
<input type="hidden" name="ditty_export_nonce" value="<?php echo wp_create_nonce( basename( __FILE__ ) ); ?>" />
|
94 |
+
<div class="ditty-updating-overlay"></div>
|
95 |
+
</form>
|
96 |
+
</div>
|
97 |
+
</div>
|
98 |
+
</div><!-- /.wrap -->
|
99 |
+
<?php
|
100 |
}
|
|
|
101 |
|
102 |
/**
|
103 |
+
* Setup the import and export fields
|
104 |
+
*
|
105 |
+
* @since 3.0.17
|
106 |
+
*/
|
107 |
+
function ditty_settings_import() {
|
108 |
+
$fields = array(
|
109 |
+
'ditty_import_heading' => array(
|
110 |
+
'type' => 'heading',
|
111 |
+
'id' => 'ditty_import_heading',
|
112 |
+
'name' => esc_html__( 'Ditty Import', 'ditty-news-ticker' ),
|
113 |
+
'desc' => esc_html__( "Select a Ditty export file you would like to import. Please make sure your file has the .json extension, and that it was generated by the Ditty Export tool. When you click the import button below, Ditty will import the posts.", 'ditty-news-ticker' ),
|
114 |
+
),
|
115 |
+
);
|
116 |
+
|
117 |
+
if ( isset( $_POST['ditty_import_button'] ) ) {
|
118 |
+
$fields['ditty_import_options'] = array(
|
119 |
+
'type' => 'html',
|
120 |
+
'id' => 'ditty_import_options',
|
121 |
+
'std' => ditty_import_options(),
|
122 |
+
);
|
123 |
+
$fields['ditty_new_import_button'] = array(
|
124 |
+
'type' => 'html',
|
125 |
+
'id' => 'ditty_new_import_button',
|
126 |
+
'std' => '<a class="ditty-button" href="' . admin_url( 'edit.php?post_type=ditty&page=ditty_export&tab=import' ) . '">' . esc_html__( 'New Import', 'ditty-news-ticker' ) . '</a>',
|
127 |
+
);
|
128 |
+
} else {
|
129 |
+
$fields['ditty_import_posts'] = array(
|
130 |
+
'type' => 'text',
|
131 |
+
'id' => 'ditty_import_posts',
|
132 |
+
'input_class' => 'ditty-export-posts',
|
133 |
+
'atts' => array(
|
134 |
+
'type' => 'file',
|
135 |
+
),
|
136 |
+
);
|
137 |
+
$fields['ditty_import_button'] = array(
|
138 |
+
'type' => 'button',
|
139 |
+
'id' => 'ditty_import_button',
|
140 |
+
'label' => esc_html__( 'Import Posts', 'ditty-news-ticker' ) . ' <i class="fas fa-sync-alt fa-spin"></i>',
|
141 |
+
'icon_after' => 'fas fa-sync-alt fa-spin',
|
142 |
+
'input_class' => 'ditty-import-button',
|
143 |
+
'atts' => array(
|
144 |
+
'type' => 'submit',
|
145 |
+
),
|
146 |
+
);
|
147 |
+
}
|
148 |
+
ditty_fields( $fields );
|
149 |
+
}
|
150 |
+
|
151 |
+
/**
|
152 |
+
* Export Ditty posts
|
153 |
+
*
|
154 |
+
* @since 3.0.17
|
155 |
+
*/
|
156 |
+
function ditty_settings_export_ditty() {
|
157 |
+
$fields = array(
|
158 |
+
'ditty_export_heading' => array(
|
159 |
+
'type' => 'heading',
|
160 |
+
'id' => 'ditty_export_heading',
|
161 |
+
'name' => esc_html__( 'Export Ditty', 'ditty-news-ticker' ),
|
162 |
+
'desc' => esc_html__( "Select the Ditty you would like to export. When you click the download button below, Ditty will create a JSON file for you to save to your computer. Once you've saved the download file, you can use the Import tool to import the Ditty posts. You can optionally include the connected Layouts and Displays for each Ditty.", 'ditty-news-ticker' ),
|
163 |
+
),
|
164 |
+
'ditty_export_ditty_ids' => array(
|
165 |
+
'type' => 'checkboxes',
|
166 |
+
'id' => 'ditty_export_ditty_ids',
|
167 |
+
'options' => ditty_export_ditty_options(),
|
168 |
+
'input_class' => 'ditty-export-posts',
|
169 |
+
),
|
170 |
+
'ditty_export_connections' => array(
|
171 |
+
'name' => esc_html__( 'Connected Posts', 'ditty-news-ticker' ),
|
172 |
+
'desc' => esc_html__( "Do you want to export connected Layouts and Displays for your Ditty?", 'ditty-news-ticker' ),
|
173 |
+
'type' => 'checkboxes',
|
174 |
+
'id' => 'ditty_export_connections',
|
175 |
+
'inline' => true,
|
176 |
+
'options' => array(
|
177 |
+
'layouts' => esc_html__( 'Export connected Layouts', 'ditty-news-ticker' ),
|
178 |
+
'displays' => esc_html__( 'Export connected Displays', 'ditty-news-ticker' ),
|
179 |
+
),
|
180 |
+
'std' => array(
|
181 |
+
'layouts' => 'layouts',
|
182 |
+
'displays' => 'displays',
|
183 |
+
),
|
184 |
+
'class' => 'ditty-field-heading--top',
|
185 |
+
),
|
186 |
+
'ditty_export_button' => array(
|
187 |
+
'type' => 'button',
|
188 |
+
'id' => 'ditty_export_button',
|
189 |
+
'label' => esc_html__( 'Export Selected Posts', 'ditty-news-ticker' ) . ' <i class="fas fa-sync-alt fa-spin"></i>',
|
190 |
+
'icon_after' => 'fas fa-sync-alt fa-spin',
|
191 |
+
'input_class' => 'ditty-export-button',
|
192 |
+
'atts' => array(
|
193 |
+
'disabled' => 'disabled',
|
194 |
+
'type' => 'submit',
|
195 |
+
),
|
196 |
+
),
|
197 |
+
);
|
198 |
+
ditty_fields( $fields );
|
199 |
+
}
|
200 |
+
|
201 |
+
/**
|
202 |
+
* Export Ditty posts
|
203 |
+
*
|
204 |
+
* @since 3.0.17
|
205 |
+
*/
|
206 |
+
function ditty_settings_export_layouts() {
|
207 |
+
$fields = array(
|
208 |
+
'ditty_export_heading' => array(
|
209 |
+
'type' => 'heading',
|
210 |
+
'id' => 'ditty_export_heading',
|
211 |
+
'name' => esc_html__( 'Export Layouts', 'ditty-news-ticker' ),
|
212 |
+
'desc' => esc_html__( "Select the Layouts you would like to export. When you click the download button below, Ditty will create a JSON file for you to save to your computer. Once you've saved the download file, you can use the Import tool to import the Layout posts.", 'ditty-news-ticker' ),
|
213 |
+
),
|
214 |
+
'ditty_export_layout_ids' => array(
|
215 |
+
'type' => 'checkboxes',
|
216 |
+
'id' => 'ditty_export_layout_ids',
|
217 |
+
'options' => ditty_export_layout_options(),
|
218 |
+
'input_class' => 'ditty-export-posts',
|
219 |
+
),
|
220 |
+
'ditty_export_button' => array(
|
221 |
+
'type' => 'button',
|
222 |
+
'id' => 'ditty_export_button',
|
223 |
+
'label' => esc_html__( 'Export Selected Posts', 'ditty-news-ticker' ) . ' <i class="fas fa-sync-alt fa-spin"></i>',
|
224 |
+
'icon_after' => 'fas fa-sync-alt fa-spin',
|
225 |
+
'input_class' => 'ditty-export-button',
|
226 |
+
'atts' => array(
|
227 |
+
'disabled' => 'disabled',
|
228 |
+
'type' => 'submit',
|
229 |
+
),
|
230 |
+
),
|
231 |
+
);
|
232 |
+
ditty_fields( $fields );
|
233 |
+
}
|
234 |
+
|
235 |
+
/**
|
236 |
+
* Export Ditty posts
|
237 |
+
*
|
238 |
+
* @since 3.0.17
|
239 |
+
*/
|
240 |
+
function ditty_settings_export_displays() {
|
241 |
+
$fields = array(
|
242 |
+
'ditty_export_heading' => array(
|
243 |
+
'type' => 'heading',
|
244 |
+
'id' => 'ditty_export_heading',
|
245 |
+
'name' => esc_html__( 'Export Displays', 'ditty-news-ticker' ),
|
246 |
+
'desc' => esc_html__( "Select the Displays you would like to export. When you click the download button below, Ditty will create a JSON file for you to save to your computer. Once you've saved the download file, you can use the Import tool to import the Display posts.", 'ditty-news-ticker' ),
|
247 |
+
),
|
248 |
+
'ditty_export_display_ids' => array(
|
249 |
+
'type' => 'checkboxes',
|
250 |
+
'id' => 'ditty_export_display_ids',
|
251 |
+
'options' => ditty_export_display_options(),
|
252 |
+
'input_class' => 'ditty-export-posts',
|
253 |
+
),
|
254 |
+
'ditty_export_button' => array(
|
255 |
+
'type' => 'button',
|
256 |
+
'id' => 'ditty_export_button',
|
257 |
+
'label' => esc_html__( 'Export Selected Posts', 'ditty-news-ticker' ) . ' <i class="fas fa-sync-alt fa-spin"></i>',
|
258 |
+
'icon_after' => 'fas fa-sync-alt fa-spin',
|
259 |
+
'input_class' => 'ditty-export-button',
|
260 |
+
'atts' => array(
|
261 |
+
'disabled' => 'disabled',
|
262 |
+
'type' => 'submit',
|
263 |
+
),
|
264 |
+
),
|
265 |
+
);
|
266 |
+
ditty_fields( $fields );
|
267 |
+
}
|
268 |
+
|
269 |
+
/**
|
270 |
+
* Create the Ditty export fields
|
271 |
*
|
272 |
+
* @since 3.0.17
|
273 |
*/
|
274 |
+
function ditty_export_ditty_options() {
|
275 |
$args = array(
|
276 |
'posts_per_page' => -1,
|
277 |
'orderby' => 'post_date',
|
279 |
);
|
280 |
$posts = get_posts( $args );
|
281 |
|
282 |
+
$options = array(
|
283 |
+
'select_all' => esc_html__( 'Select all Ditty', 'ditty-news-ticker' ),
|
284 |
+
);
|
285 |
if ( is_array( $posts ) && count( $posts ) > 0 ) {
|
286 |
foreach ( $posts as $i => $post ) {
|
287 |
+
$options[$post->ID] = $post->post_title;
|
288 |
+
}
|
289 |
+
}
|
290 |
+
return $options;
|
291 |
+
}
|
292 |
+
|
293 |
+
/**
|
294 |
+
* Create the Layout export fields
|
295 |
+
*
|
296 |
+
* @since 3.0.17
|
297 |
+
*/
|
298 |
+
function ditty_export_layout_options() {
|
299 |
+
$layouts = ditty_layout_posts();
|
300 |
+
$options = array(
|
301 |
+
'select_all' => esc_html__( 'Select all Layouts', 'ditty-news-ticker' ),
|
302 |
+
);
|
303 |
+
if ( is_array( $layouts ) && count( $layouts ) > 0 ) {
|
304 |
+
foreach ( $layouts as $i => $layout ) {
|
305 |
+
$version = get_post_meta( $layout->ID, '_ditty_layout_version', true );
|
306 |
+
$version_string = '';
|
307 |
+
if ( $version ) {
|
308 |
+
$version_string = " <small class='ditty-layout-version'>(v{$version})</small>";
|
309 |
+
}
|
310 |
+
$options[$layout->ID] = $layout->post_title . $version_string;
|
311 |
+
}
|
312 |
+
}
|
313 |
+
return $options;
|
314 |
+
}
|
315 |
+
|
316 |
+
/**
|
317 |
+
* Create the Display export fields
|
318 |
+
*
|
319 |
+
* @since 3.0.17
|
320 |
+
*/
|
321 |
+
function ditty_export_display_options() {
|
322 |
+
$displays = ditty_display_posts();
|
323 |
+
$options = array(
|
324 |
+
'select_all' => esc_html__( 'Select all Displays', 'ditty-news-ticker' ),
|
325 |
+
);
|
326 |
+
if ( is_array( $displays ) && count( $displays ) > 0 ) {
|
327 |
+
foreach ( $displays as $i => $display ) {
|
328 |
+
$version = get_post_meta( $display->ID, '_ditty_display_version', true );
|
329 |
+
$version_string = '';
|
330 |
+
if ( $version ) {
|
331 |
+
$version_string = " <small class='ditty-display-version'>(v{$version})</small>";
|
332 |
+
}
|
333 |
+
$options[$display->ID] = $display->post_title . $version_string;
|
334 |
+
}
|
335 |
+
}
|
336 |
+
return $options;
|
337 |
+
}
|
338 |
+
|
339 |
+
/**
|
340 |
+
* Create the export file
|
341 |
+
*
|
342 |
+
* @since 3.0.17
|
343 |
+
*/
|
344 |
+
function ditty_create_export_file() {
|
345 |
+
if ( ! isset( $_POST['ditty_export_button'] ) ) {
|
346 |
+
return false;
|
347 |
+
}
|
348 |
+
// verify nonce
|
349 |
+
if ( ! isset( $_POST['ditty_export_nonce'] ) || ! wp_verify_nonce( $_POST['ditty_export_nonce'], basename( __FILE__ ) ) ) {
|
350 |
+
return false;
|
351 |
+
}
|
352 |
+
$export = array();
|
353 |
+
$ditty_ids = isset( $_POST['ditty_export_ditty_ids'] ) ? $_POST['ditty_export_ditty_ids'] : array();
|
354 |
+
$layout_ids = isset( $_POST['ditty_export_layout_ids'] ) ? $_POST['ditty_export_layout_ids'] : array();
|
355 |
+
$display_ids = isset( $_POST['ditty_export_display_ids'] ) ? $_POST['ditty_export_display_ids'] : array();
|
356 |
+
$connections = isset( $_POST['ditty_export_connections'] ) ? $_POST['ditty_export_connections'] : array();
|
357 |
+
|
358 |
+
if ( ! empty( $ditty_ids ) ) {
|
359 |
+
if ( $ditty_data = ditty_export_ditty_posts( $ditty_ids ) ) {
|
360 |
+
if ( isset( $ditty_data['ditty'] ) ) {
|
361 |
+
$export['ditty'] = $ditty_data['ditty'];
|
362 |
+
}
|
363 |
+
if ( isset( $connections['layouts'] ) && isset( $ditty_data['layout_ids'] ) ) {
|
364 |
+
$layout_ids = array_merge( $layout_ids, $ditty_data['layout_ids'] );
|
365 |
+
$layout_ids = array_unique( $layout_ids );
|
366 |
+
}
|
367 |
+
if ( isset( $connections['displays'] ) && isset( $ditty_data['display_ids'] ) ) {
|
368 |
+
$display_ids = array_merge( $display_ids, $ditty_data['display_ids'] );
|
369 |
+
$display_ids = array_unique( $display_ids );
|
370 |
+
}
|
371 |
+
}
|
372 |
+
}
|
373 |
+
|
374 |
+
if ( ! empty( $layout_ids ) ) {
|
375 |
+
if ( $layout_data = ditty_export_ditty_layouts( $layout_ids ) ) {
|
376 |
+
$export['layouts'] = $layout_data;
|
377 |
+
}
|
378 |
+
}
|
379 |
+
|
380 |
+
if ( ! empty( $display_ids ) ) {
|
381 |
+
if ( $display_data = ditty_export_ditty_displays( $display_ids ) ) {
|
382 |
+
$export['displays'] = $display_data;
|
383 |
+
}
|
384 |
+
}
|
385 |
+
|
386 |
+
if ( empty( $export ) ) {
|
387 |
+
return false;
|
388 |
+
}
|
389 |
+
|
390 |
+
$export_json = json_encode( $export );
|
391 |
+
$filename = 'ditty-export-' . date( 'Y-m-d' ) . '.json';
|
392 |
+
$filename = sanitize_file_name( $filename );
|
393 |
+
header( 'Content-Description: File Transfer' );
|
394 |
+
header( "Content-Disposition: attachment; filename=$filename" );
|
395 |
+
header( 'Content-Type: application/json; charset=' . get_option( 'blog_charset' ), true );
|
396 |
+
echo $export_json;
|
397 |
+
die();
|
398 |
+
}
|
399 |
+
add_action( 'admin_init', 'ditty_create_export_file' );
|
400 |
+
|
401 |
+
/**
|
402 |
+
* Export posts
|
403 |
+
*
|
404 |
+
* @since 3.0.17
|
405 |
+
*/
|
406 |
+
function ditty_export_ditty_posts( $post_ids ) {
|
407 |
+
$export = array();
|
408 |
+
$dittys = array();
|
409 |
+
$displays = array();
|
410 |
+
$layouts = array();
|
411 |
+
|
412 |
+
if ( is_array( $post_ids ) && count( $post_ids ) > 0 ) {
|
413 |
+
foreach ( $post_ids as $i => $post_id ) {
|
414 |
+
if ( 'select_all' == $post_id ) {
|
415 |
+
continue;
|
416 |
+
}
|
417 |
+
$uniq_id = ditty_maybe_add_uniq_id( $post_id );
|
418 |
+
$display = get_post_meta( $post_id, '_ditty_display', true );
|
419 |
+
$display_uniq_id = ditty_maybe_add_uniq_id( $display );
|
420 |
|
421 |
+
// Store the display for possible export
|
422 |
+
$displays[$display] = $display;
|
423 |
|
424 |
+
$items = array();
|
425 |
+
$all_meta = Ditty()->db_items->get_items( $post_id );
|
426 |
+
if ( is_array( $all_meta ) && count( $all_meta ) > 0 ) {
|
427 |
+
foreach ( $all_meta as $i => $meta ) {
|
428 |
+
if ( is_object( $meta ) ) {
|
429 |
+
$meta = ( array ) $meta;
|
430 |
+
}
|
431 |
+
|
432 |
+
// Clean and store all item custom
|
433 |
+
$custom_meta = ditty_item_get_all_meta( $meta['item_id'] );
|
434 |
+
if ( is_array( $custom_meta ) && count( $custom_meta ) > 0 ) {
|
435 |
+
$cleaned_meta = array();
|
436 |
+
foreach ( $custom_meta as $data ) {
|
437 |
+
if ( is_object( $data ) ) {
|
438 |
+
$data = ( array ) $data;
|
439 |
+
}
|
440 |
+
$data['meta_value'] = maybe_unserialize( $data['meta_value'] );
|
441 |
+
unset( $data['meta_id'] );
|
442 |
+
unset( $data['item_id'] );
|
443 |
+
$cleaned_meta[] = $data;
|
444 |
+
}
|
445 |
+
$meta['custom_meta'] = $cleaned_meta;
|
446 |
+
}
|
447 |
+
|
448 |
+
$item_value = maybe_unserialize( $meta['item_value'] );
|
449 |
+
$meta['item_value'] = $item_value;
|
450 |
+
|
451 |
+
$layout_value = maybe_unserialize( $meta['layout_value'] );
|
452 |
+
$updated_layout_value = array();
|
453 |
+
if ( is_array( $layout_value ) && count( $layout_value ) > 0 ) {
|
454 |
+
foreach ( $layout_value as $variation => $layout_id ) {
|
455 |
+
$layouts[$layout_id] = $layout_id;
|
456 |
+
$updated_layout_value[$variation] = ditty_maybe_add_uniq_id( $layout_id );
|
457 |
+
}
|
458 |
+
}
|
459 |
+
$meta['layout_value'] = $updated_layout_value;
|
460 |
+
|
461 |
+
unset( $meta['item_id'] );
|
462 |
+
unset( $meta['date_created'] );
|
463 |
+
unset( $meta['date_modified'] );
|
464 |
+
unset( $meta['ditty_id'] );
|
465 |
+
$items[] = $meta;
|
466 |
+
}
|
467 |
+
}
|
468 |
+
|
469 |
+
$dittys[$uniq_id] = array(
|
470 |
+
'label' => get_the_title( $post_id ),
|
471 |
+
'init' => get_post_meta( $post_id, '_ditty_init', true ),
|
472 |
+
'settings' => get_post_meta( $post_id, '_ditty_settings', true ),
|
473 |
+
'display' => $display_uniq_id,
|
474 |
+
'items' => $items,
|
475 |
+
'uniq_id' => $uniq_id,
|
476 |
+
);
|
477 |
+
}
|
478 |
+
}
|
479 |
+
if ( ! empty( $dittys ) ) {
|
480 |
+
$export['ditty'] = $dittys;
|
481 |
+
}
|
482 |
+
if ( ! empty( $layouts ) ) {
|
483 |
+
$export['layout_ids'] = array_values( $layouts );
|
484 |
+
}
|
485 |
+
if ( ! empty( $displays ) ) {
|
486 |
+
$export['display_ids'] = array_values( $displays );
|
487 |
+
}
|
488 |
+
if ( ! empty( $export ) ) {
|
489 |
+
return $export;
|
490 |
+
}
|
491 |
+
}
|
492 |
+
|
493 |
+
/**
|
494 |
+
* Export Layouts
|
495 |
+
*
|
496 |
+
* @since 3.0.17
|
497 |
+
*/
|
498 |
+
function ditty_export_ditty_layouts( $post_ids ) {
|
499 |
+
$export = array();
|
500 |
+
$layouts = array();
|
501 |
+
|
502 |
+
if ( is_array( $post_ids ) && count( $post_ids ) > 0 ) {
|
503 |
+
foreach ( $post_ids as $i => $post_id ) {
|
504 |
+
if ( 'select_all' == $post_id ) {
|
505 |
+
continue;
|
506 |
+
}
|
507 |
+
$uniq_id = ditty_maybe_add_uniq_id( $post_id );
|
508 |
+
$layouts[$uniq_id] = array(
|
509 |
+
'label' => get_the_title( $post_id ),
|
510 |
+
'description' => get_post_meta( $post_id, '_ditty_layout_description', true ),
|
511 |
+
'html' => stripslashes( get_post_meta( $post_id, '_ditty_layout_html', true ) ),
|
512 |
+
'css' => get_post_meta( $post_id, '_ditty_layout_css', true ),
|
513 |
+
'version' => get_post_meta( $post_id, '_ditty_layout_version', true ),
|
514 |
+
'uniq_id' => $uniq_id,
|
515 |
+
);
|
516 |
+
}
|
517 |
+
}
|
518 |
+
|
519 |
+
if ( ! empty( $layouts ) ) {
|
520 |
+
return $layouts;
|
521 |
+
}
|
522 |
+
}
|
523 |
+
|
524 |
+
/**
|
525 |
+
* Export Displays
|
526 |
+
*
|
527 |
+
* @since 3.0.17
|
528 |
+
*/
|
529 |
+
function ditty_export_ditty_displays( $post_ids ) {
|
530 |
+
$export = array();
|
531 |
+
$displays = array();
|
532 |
+
|
533 |
+
if ( is_array( $post_ids ) && count( $post_ids ) > 0 ) {
|
534 |
+
foreach ( $post_ids as $i => $post_id ) {
|
535 |
+
if ( 'select_all' == $post_id ) {
|
536 |
+
continue;
|
537 |
+
}
|
538 |
+
$uniq_id = ditty_maybe_add_uniq_id( $post_id );
|
539 |
+
$displays[$uniq_id] = array(
|
540 |
+
'label' => get_the_title( $post_id ),
|
541 |
+
'description' => get_post_meta( $post_id, '_ditty_display_description', true ),
|
542 |
+
'display_type' => get_post_meta( $post_id, '_ditty_display_type', true ),
|
543 |
+
'settings' => get_post_meta( $post_id, '_ditty_display_settings', true ),
|
544 |
+
'version' => get_post_meta( $post_id, '_ditty_display_version', true ),
|
545 |
+
'uniq_id' => $uniq_id,
|
546 |
+
);
|
547 |
+
}
|
548 |
+
}
|
549 |
+
|
550 |
+
if ( ! empty( $displays ) ) {
|
551 |
+
return $displays;
|
552 |
+
}
|
553 |
+
}
|
554 |
+
|
555 |
+
/**
|
556 |
+
* Create the export file
|
557 |
+
*
|
558 |
+
* @since 3.0.17
|
559 |
+
*/
|
560 |
+
function ditty_import_posts() {
|
561 |
+
if ( ! isset( $_POST['ditty_import_button'] ) ) {
|
562 |
+
return false;
|
563 |
+
}
|
564 |
+
// verify nonce
|
565 |
+
if ( ! isset( $_POST['ditty_export_nonce'] ) || ! wp_verify_nonce( $_POST['ditty_export_nonce'], basename( __FILE__ ) ) ) {
|
566 |
+
return false;
|
567 |
+
}
|
568 |
+
if ( ! isset( $_FILES['ditty_import_posts'] ) || ! $_FILES['ditty_import_posts']['tmp_name'] ) {
|
569 |
+
return false;
|
570 |
+
}
|
571 |
+
|
572 |
+
$transient_name = 'ditty_import';
|
573 |
+
$transient_data = array();
|
574 |
+
|
575 |
+
$json_data = file_get_contents( $_FILES['ditty_import_posts']['tmp_name'] );
|
576 |
+
$data = json_decode( $json_data, 1 );
|
577 |
+
$layouts = array();
|
578 |
+
$displays = array();
|
579 |
+
|
580 |
+
// Import Layouts
|
581 |
+
if ( isset( $data['layouts'] ) && is_array( $data['layouts'] ) && count( $data['layouts'] ) > 0 ) {
|
582 |
+
|
583 |
+
// Add to the transient data
|
584 |
+
$transient_data['layouts'] = array();
|
585 |
+
|
586 |
+
foreach ( $data['layouts'] as $uniq_id => $layout_data ) {
|
587 |
+
$postarr = array(
|
588 |
+
'post_type' => 'ditty_layout',
|
589 |
+
'post_status' => 'publish',
|
590 |
+
'post_title' => esc_html( $layout_data['label'] ),
|
591 |
+
);
|
592 |
+
$imported_layout_id = wp_insert_post( $postarr );
|
593 |
+
$imported_data = array(
|
594 |
+
'id' => $imported_layout_id,
|
595 |
+
);
|
596 |
+
|
597 |
+
if ( isset( $layout_data['description'] ) ) {
|
598 |
+
update_post_meta( $imported_layout_id, '_ditty_layout_description', wp_kses_post( $layout_data['description'] ) );
|
599 |
+
}
|
600 |
+
if ( isset( $layout_data['html'] ) ) {
|
601 |
+
$html = str_replace( '\\', '\\\\', $layout_data['html'] );
|
602 |
+
update_post_meta( $imported_layout_id, '_ditty_layout_html', wp_kses_post( $html ) );
|
603 |
+
}
|
604 |
+
if ( isset( $layout_data['css'] ) ) {
|
605 |
+
update_post_meta( $imported_layout_id, '_ditty_layout_css', wp_kses_post( $layout_data['css'] ) );
|
606 |
+
}
|
607 |
+
if ( isset( $layout_data['version'] ) ) {
|
608 |
+
update_post_meta( $imported_layout_id, '_ditty_layout_version', wp_kses_post( $layout_data['version'] ) );
|
609 |
+
}
|
610 |
+
update_post_meta( $imported_layout_id, '_ditty_uniq_id', $uniq_id );
|
611 |
+
$layouts[$uniq_id] = $imported_layout_id;
|
612 |
+
|
613 |
+
$transient_data['layouts'][$imported_layout_id] = $imported_data;
|
614 |
+
}
|
615 |
+
}
|
616 |
+
|
617 |
+
// Import Displays
|
618 |
+
if ( isset( $data['displays'] ) && is_array( $data['displays'] ) && count( $data['displays'] ) > 0 ) {
|
619 |
+
|
620 |
+
// Add to the transient data
|
621 |
+
$transient_data['displays'] = array();
|
622 |
+
|
623 |
+
foreach ( $data['displays'] as $uniq_id => $display_data ) {
|
624 |
+
$postarr = array(
|
625 |
+
'post_type' => 'ditty_display',
|
626 |
+
'post_status' => 'publish',
|
627 |
+
'post_title' => esc_html( $display_data['label'] ),
|
628 |
+
);
|
629 |
+
$imported_display_id = wp_insert_post( $postarr );
|
630 |
+
$imported_data = array(
|
631 |
+
'id' => $imported_display_id,
|
632 |
+
);
|
633 |
+
|
634 |
+
if ( isset( $display_data['description'] ) ) {
|
635 |
+
update_post_meta( $imported_display_id, '_ditty_display_description', wp_kses_post( $display_data['description'] ) );
|
636 |
+
}
|
637 |
+
if ( isset( $display_data['display_type'] ) ) {
|
638 |
+
update_post_meta( $imported_display_id, '_ditty_display_type', esc_html( $display_data['display_type'] ) );
|
639 |
+
}
|
640 |
+
if ( $display_object = ditty_display_type_object( $display_data['display_type'] ) ) {
|
641 |
+
$fields = $display_object->fields();
|
642 |
+
$sanitized_settings = ditty_sanitize_fields( $fields, $display_data['settings'], "ditty_display_type_{$display_data['display_type']}" );
|
643 |
+
update_post_meta( $imported_display_id, '_ditty_display_settings', $sanitized_settings );
|
644 |
+
}
|
645 |
+
if ( isset( $display_data['version'] ) ) {
|
646 |
+
update_post_meta( $imported_display_id, '_ditty_display_version', wp_kses_post( $display_data['version'] ) );
|
647 |
+
}
|
648 |
+
update_post_meta( $imported_display_id, '_ditty_uniq_id', $uniq_id );
|
649 |
+
$displays[$uniq_id] = $imported_display_id;
|
650 |
|
651 |
+
$transient_data['displays'][$imported_display_id] = $imported_data;
|
|
|
|
|
652 |
}
|
653 |
}
|
654 |
+
|
655 |
+
// Import Ditty
|
656 |
+
if ( isset( $data['ditty'] ) && is_array( $data['ditty'] ) && count( $data['ditty'] ) > 0 ) {
|
657 |
+
|
658 |
+
// Add to the transient data
|
659 |
+
$transient_data['ditty'] = array();
|
660 |
+
|
661 |
+
foreach ( $data['ditty'] as $uniq_id => $ditty_data ) {
|
662 |
+
$postarr = array(
|
663 |
+
'post_type' => 'ditty',
|
664 |
+
'post_status' => 'publish',
|
665 |
+
'post_title' => esc_html( $ditty_data['label'] ),
|
666 |
+
);
|
667 |
+
$imported_ditty_id = wp_insert_post( $postarr );
|
668 |
+
$imported_data = array(
|
669 |
+
'id' => $imported_ditty_id,
|
670 |
+
);
|
671 |
+
|
672 |
+
|
673 |
+
$settings = isset( $ditty_data['settings'] ) ? $ditty_data['settings'] : array();
|
674 |
+
$sanitized_settings = Ditty()->singles->sanitize_settings( $settings );
|
675 |
+
update_post_meta( $imported_ditty_id, '_ditty_settings', $sanitized_settings );
|
676 |
+
|
677 |
+
update_post_meta( $imported_ditty_id, '_ditty_init', 'yes' );
|
678 |
+
|
679 |
+
if ( isset( $displays[$ditty_data['display']] ) ) {
|
680 |
+
$imported_data['display'] = $displays[$ditty_data['display']];
|
681 |
+
update_post_meta( $imported_ditty_id, '_ditty_display', intval( $displays[$ditty_data['display']] ) );
|
682 |
+
}
|
683 |
+
|
684 |
+
update_post_meta( $imported_ditty_id, '_ditty_uniq_id', $uniq_id );
|
685 |
+
|
686 |
+
// Add items
|
687 |
+
if ( is_array( $ditty_data['items'] ) && count( $ditty_data['items'] ) > 0 ) {
|
688 |
+
foreach ( $ditty_data['items'] as $i => $item ) {
|
689 |
+
|
690 |
+
// Gather the custom meta
|
691 |
+
$custom_meta = false;
|
692 |
+
if ( isset( $item['custom_meta'] ) ) {
|
693 |
+
$custom_meta = $item['custom_meta'];
|
694 |
+
unset( $item['custom_meta'] );
|
695 |
+
}
|
696 |
+
|
697 |
+
// Add the ditty id
|
698 |
+
$item['ditty_id'] = $imported_ditty_id;
|
699 |
+
|
700 |
+
// Add the item author
|
701 |
+
$item['item_author'] = get_current_user_id();
|
702 |
+
|
703 |
+
// Set the layouts
|
704 |
+
$updated_layout_value = array();
|
705 |
+
if ( is_array( $item['layout_value'] ) && count( $item['layout_value'] ) > 0 ) {
|
706 |
+
foreach ( $item['layout_value'] as $variation => $layout_id ) {
|
707 |
+
if ( isset( $layouts[$layout_id] ) ) {
|
708 |
+
$updated_layout_value[$variation] = $layouts[$layout_id];
|
709 |
+
}
|
710 |
+
}
|
711 |
+
}
|
712 |
+
$item['layout_value'] = $updated_layout_value;
|
713 |
+
|
714 |
+
// Sanitize and save item data
|
715 |
+
$sanitized_item_data = Ditty()->singles->sanitize_item_data( $item );
|
716 |
+
if ( $new_item_id = Ditty()->db_items->insert( apply_filters( 'ditty_item_db_data', $sanitized_item_data, $imported_ditty_id ), 'item' ) ) {
|
717 |
+
|
718 |
+
// Add the custom meta
|
719 |
+
if ( is_array( $custom_meta ) && count( $custom_meta ) > 0 ) {
|
720 |
+
foreach ( $custom_meta as $i => $meta ) {
|
721 |
+
ditty_item_add_meta( $new_item_id, esc_attr( $meta['meta_key'] ), $meta['meta_value'] );
|
722 |
+
}
|
723 |
+
}
|
724 |
+
}
|
725 |
+
}
|
726 |
+
}
|
727 |
+
|
728 |
+
$transient_data['ditty'][$imported_ditty_id] = $imported_data;
|
729 |
+
}
|
730 |
+
}
|
731 |
+
if ( ! empty( $transient_data ) ) {
|
732 |
+
set_transient( $transient_name, $transient_data );
|
733 |
+
}
|
734 |
+
}
|
735 |
+
add_action( 'admin_init', 'ditty_import_posts' );
|
736 |
+
|
737 |
+
/**
|
738 |
+
* Import options for the user
|
739 |
+
*
|
740 |
+
* @since 3.0.17
|
741 |
+
*/
|
742 |
+
function ditty_import_options() {
|
743 |
+
$transient_name = 'ditty_import';
|
744 |
+
$transient_data = get_transient( $transient_name );
|
745 |
+
if ( ! $transient_data ) {
|
746 |
+
return false;
|
747 |
+
}
|
748 |
+
|
749 |
+
$html = '';
|
750 |
+
|
751 |
+
if ( isset( $transient_data['ditty'] ) && is_array( $transient_data['ditty'] ) && count( $transient_data['ditty'] ) > 0 ) {
|
752 |
+
$html .= '<div class="ditty-import__group">';
|
753 |
+
$html .= '<h3>' . esc_html__( 'Imported Ditty', 'ditty-news-ticker' ) . '</h3>';
|
754 |
+
$html .= '<ul class="ditty-import__list">';
|
755 |
+
foreach ( $transient_data['ditty'] as $i => $ditty ) {
|
756 |
+
$html .= '<li class="ditty-import__item">';
|
757 |
+
$html .= '<p class="ditty-import__post-title"><span>' . get_the_title( $ditty['id'] ) . '</span> <a href="' . get_edit_post_link( $ditty['id'] ) . '">' . esc_html__( 'Edit', 'ditty-news-ticker' ) . '</a></p> ';
|
758 |
+
// if ( isset( $ditty['display'] ) ) {
|
759 |
+
// $html .= '<p class="ditty-import__display"><strong>' . esc_html__( 'Display', 'ditty-news-ticker' ) . ':</strong> ' . get_the_title( $ditty['display'] ) . ' <a href="' . get_edit_post_link( $ditty['display'] ) . '">' . esc_html__( 'Edit', 'ditty-news-ticker' ) . '</a></p> ';
|
760 |
+
// }
|
761 |
+
$html .= '</li>';
|
762 |
+
}
|
763 |
+
$html .= '</ul>';
|
764 |
+
$html .= '</div>';
|
765 |
+
}
|
766 |
+
|
767 |
+
if ( isset( $transient_data['layouts'] ) && is_array( $transient_data['layouts'] ) && count( $transient_data['layouts'] ) > 0 ) {
|
768 |
+
$html .= '<div class="ditty-import__group">';
|
769 |
+
$html .= '<h3>' . esc_html__( 'Imported Layouts', 'ditty-news-ticker' ) . '</h3>';
|
770 |
+
$html .= '<ul class="ditty-import__list">';
|
771 |
+
foreach ( $transient_data['layouts'] as $i => $layout ) {
|
772 |
+
$html .= '<li class="ditty-import__item">';
|
773 |
+
$html .= '<p class="ditty-import__post-title"><span>' . get_the_title( $layout['id'] ) . '</span> <a href="' . get_edit_post_link( $layout['id'] ) . '">' . esc_html__( 'Edit', 'ditty-news-ticker' ) . '</a></p> ';
|
774 |
+
$html .= '</li>';
|
775 |
+
}
|
776 |
+
$html .= '</ul>';
|
777 |
+
$html .= '</div>';
|
778 |
+
}
|
779 |
+
|
780 |
+
if ( isset( $transient_data['displays'] ) && is_array( $transient_data['displays'] ) && count( $transient_data['displays'] ) > 0 ) {
|
781 |
+
$html .= '<div class="ditty-import__group">';
|
782 |
+
$html .= '<h3>' . esc_html__( 'Imported Displays', 'ditty-news-ticker' ) . '</h3>';
|
783 |
+
$html .= '<ul class="ditty-import__list">';
|
784 |
+
foreach ( $transient_data['displays'] as $i => $display ) {
|
785 |
+
$html .= '<li class="ditty-import__item">';
|
786 |
+
$html .= '<p class="ditty-import__post-title"><span>' . get_the_title( $display['id'] ) . '</span> <a href="' . get_edit_post_link( $display['id'] ) . '">' . esc_html__( 'Edit', 'ditty-news-ticker' ) . '</a></p> ';
|
787 |
+
$html .= '</li>';
|
788 |
+
}
|
789 |
+
$html .= '</ul>';
|
790 |
+
$html .= '</div>';
|
791 |
+
}
|
792 |
+
|
793 |
+
return $html;
|
794 |
}
|
includes/admin/settings.php
CHANGED
@@ -14,6 +14,14 @@ function ditty_settings_pages() {
|
|
14 |
'ditty_settings', // The ID used to represent this submenu item
|
15 |
'ditty_settings_display' // The callback function used to render the options for this submenu item
|
16 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
}
|
18 |
add_action( 'admin_menu', 'ditty_settings_pages', 5 );
|
19 |
|
@@ -32,7 +40,7 @@ function ditty_settings_display() {
|
|
32 |
</div>
|
33 |
|
34 |
<div id="ditty-page__content">
|
35 |
-
<div id="ditty-settings">
|
36 |
|
37 |
<?php
|
38 |
$init_panel = isset( $_GET['tab'] ) ? sanitize_key( $_GET['tab'] ) : false;
|
@@ -88,7 +96,7 @@ function ditty_settings_display() {
|
|
88 |
?>
|
89 |
</div>
|
90 |
|
91 |
-
<form class="ditty-settings__form">
|
92 |
<div class="ditty-settings__header">
|
93 |
<a href="#" class="ditty-button ditty-button--primary ditty-settings__save"><?php echo esc_html( ditty_admin_strings( 'settings_save' ) ); ?></a>
|
94 |
</div>
|
@@ -377,105 +385,6 @@ function ditty_settings_global_ditty() {
|
|
377 |
ditty_fields( $fields );
|
378 |
}
|
379 |
|
380 |
-
/**
|
381 |
-
* Setup the import and export fields
|
382 |
-
*
|
383 |
-
* @since 3.0.14
|
384 |
-
*/
|
385 |
-
function ditty_settings_import_export() {
|
386 |
-
$fields = array(
|
387 |
-
'ditty_heading' => array(
|
388 |
-
'type' => 'heading',
|
389 |
-
'id' => 'heading',
|
390 |
-
'name' => esc_html__( 'Ditty Import / Export', 'ditty-news-ticker' ),
|
391 |
-
),
|
392 |
-
'ditty_import' => array(
|
393 |
-
'type' => 'html',
|
394 |
-
'id' => 'ditty_import',
|
395 |
-
'name' => esc_html__( 'Ditty Import', 'ditty-news-ticker' ),
|
396 |
-
'help' => esc_html__( 'Import Ditty posts', 'ditty-news-ticker' ),
|
397 |
-
'std' => 'Import button should go here',
|
398 |
-
),
|
399 |
-
'ditty_export' => array(
|
400 |
-
'type' => 'html',
|
401 |
-
'id' => 'ditty_export',
|
402 |
-
'name' => esc_html__( 'Ditty Export', 'ditty-news-ticker' ),
|
403 |
-
'desc' => esc_html__( 'Export Ditty posts', 'ditty-news-ticker' ),
|
404 |
-
'std' => ditty_export_ditty(),
|
405 |
-
),
|
406 |
-
'layout_heading' => array(
|
407 |
-
'type' => 'heading',
|
408 |
-
'id' => 'heading',
|
409 |
-
'name' => esc_html__( 'Layout Import / Export', 'ditty-news-ticker' ),
|
410 |
-
),
|
411 |
-
'layout_import' => array(
|
412 |
-
'type' => 'html',
|
413 |
-
'id' => 'layout_import',
|
414 |
-
'name' => esc_html__( 'Layout Import', 'ditty-news-ticker' ),
|
415 |
-
'help' => esc_html__( 'Import Layout posts', 'ditty-news-ticker' ),
|
416 |
-
'std' => 'Import button should go here',
|
417 |
-
),
|
418 |
-
'layout_export' => array(
|
419 |
-
'type' => 'html',
|
420 |
-
'id' => 'layout_export',
|
421 |
-
'name' => esc_html__( 'Layout Export', 'ditty-news-ticker' ),
|
422 |
-
'help' => esc_html__( 'Export Layout posts', 'ditty-news-ticker' ),
|
423 |
-
'std' => 'Export button should go here',
|
424 |
-
),
|
425 |
-
'display_heading' => array(
|
426 |
-
'type' => 'heading',
|
427 |
-
'id' => 'heading',
|
428 |
-
'name' => esc_html__( 'Display Import / Export', 'ditty-news-ticker' ),
|
429 |
-
),
|
430 |
-
'display_import' => array(
|
431 |
-
'type' => 'html',
|
432 |
-
'id' => 'display_import',
|
433 |
-
'name' => esc_html__( 'Display Import', 'ditty-news-ticker' ),
|
434 |
-
'help' => esc_html__( 'Import Display posts', 'ditty-news-ticker' ),
|
435 |
-
'std' => 'Import button should go here',
|
436 |
-
),
|
437 |
-
'display_export' => array(
|
438 |
-
'type' => 'html',
|
439 |
-
'id' => 'display_export',
|
440 |
-
'name' => esc_html__( 'Display Export', 'ditty-news-ticker' ),
|
441 |
-
'help' => esc_html__( 'Export Display posts', 'ditty-news-ticker' ),
|
442 |
-
'std' => 'Export button should go here',
|
443 |
-
),
|
444 |
-
);
|
445 |
-
ditty_fields( $fields );
|
446 |
-
}
|
447 |
-
|
448 |
-
function ditty_export_ditty() {
|
449 |
-
$fields = array(
|
450 |
-
'ditty_export_options' => array(
|
451 |
-
'type' => 'checkboxes',
|
452 |
-
'id' => 'ditty_export_options',
|
453 |
-
'options' => array(
|
454 |
-
'layouts' => esc_html__( 'Export Attached Layouts', 'ditty-news-ticker' ),
|
455 |
-
'displays' => esc_html__( 'Export Attached Displays', 'ditty-news-ticker' ),
|
456 |
-
),
|
457 |
-
'inline' => true,
|
458 |
-
'field_only' => true,
|
459 |
-
'std' => array(
|
460 |
-
'layouts',
|
461 |
-
'displays'
|
462 |
-
),
|
463 |
-
),
|
464 |
-
'ditty_export_button' => array(
|
465 |
-
'type' => 'button',
|
466 |
-
'id' => 'ditty_export_button',
|
467 |
-
'label' => esc_html__( 'Export All Ditty posts', 'ditty-news-ticker' ) . ' <i class="fas fa-sync-alt fa-spin"></i>',
|
468 |
-
'field_only' => true,
|
469 |
-
'icon_after' => 'fas fa-sync-alt fa-spin',
|
470 |
-
'atts' => array(
|
471 |
-
'data-export_type' => 'ditty',
|
472 |
-
),
|
473 |
-
),
|
474 |
-
);
|
475 |
-
$render_fields = ditty_fields( $fields, false, 'return' );
|
476 |
-
return $render_fields;
|
477 |
-
}
|
478 |
-
|
479 |
/**
|
480 |
* Save settings via ajax
|
481 |
*
|
14 |
'ditty_settings', // The ID used to represent this submenu item
|
15 |
'ditty_settings_display' // The callback function used to render the options for this submenu item
|
16 |
);
|
17 |
+
add_submenu_page(
|
18 |
+
'edit.php?post_type=ditty', // The ID of the top-level menu page to which this submenu item belongs
|
19 |
+
__( 'Import/Export', 'ditty-news-ticker' ), // The value used to populate the browser's title bar when the menu page is active
|
20 |
+
__( 'Import/Export', 'ditty-news-ticker' ), // The label of this submenu item displayed in the menu
|
21 |
+
'manage_ditty_settings', // What roles are able to access this submenu item
|
22 |
+
'ditty_export', // The ID used to represent this submenu item
|
23 |
+
'ditty_export_display' // The callback function used to render the options for this submenu item
|
24 |
+
);
|
25 |
}
|
26 |
add_action( 'admin_menu', 'ditty_settings_pages', 5 );
|
27 |
|
40 |
</div>
|
41 |
|
42 |
<div id="ditty-page__content">
|
43 |
+
<div id="ditty-settings" class="dynamic-tabs">
|
44 |
|
45 |
<?php
|
46 |
$init_panel = isset( $_GET['tab'] ) ? sanitize_key( $_GET['tab'] ) : false;
|
96 |
?>
|
97 |
</div>
|
98 |
|
99 |
+
<form class="ditty-settings__form" method="post" data-nonce="<?php echo wp_create_nonce( basename( __FILE__ ) ); ?>">
|
100 |
<div class="ditty-settings__header">
|
101 |
<a href="#" class="ditty-button ditty-button--primary ditty-settings__save"><?php echo esc_html( ditty_admin_strings( 'settings_save' ) ); ?></a>
|
102 |
</div>
|
385 |
ditty_fields( $fields );
|
386 |
}
|
387 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
388 |
/**
|
389 |
* Save settings via ajax
|
390 |
*
|
includes/builders/fusion/builder.php
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
function ditty_fusion_elements() {
|
4 |
+
$ditty_options = array( '' => esc_html__( 'Select a Ditty', 'ditty-news-ticker' ) ) + Ditty()->singles->select_field_options();
|
5 |
+
$display_options = array( '' => esc_html__( 'Use Default Display', 'ditty-news-ticker' ) ) + Ditty()->displays->select_field_options();
|
6 |
+
|
7 |
+
$args = array(
|
8 |
+
'name' => esc_attr__( 'Ditty', 'ditty-news-ticker' ),
|
9 |
+
'shortcode' => 'ditty',
|
10 |
+
'icon' => 'ditty',
|
11 |
+
'preview' => DITTY_DIR . '/includes/builders/fusion/preview.php',
|
12 |
+
'preview_id' => 'fusion-builder-block-module-ditty-template',
|
13 |
+
'allow_generator' => true,
|
14 |
+
'params' => array(
|
15 |
+
array(
|
16 |
+
'type' => 'select',
|
17 |
+
'heading' => esc_attr__( 'Ditty', 'ditty-news-ticker' ),
|
18 |
+
'description' => esc_attr__( 'Select a Ditty to display.', 'ditty-news-ticker' ),
|
19 |
+
'param_name' => 'id',
|
20 |
+
'value' => $ditty_options,
|
21 |
+
),
|
22 |
+
array(
|
23 |
+
'type' => 'select',
|
24 |
+
'heading' => esc_attr__( 'Display', 'ditty-news-ticker' ),
|
25 |
+
'description' => esc_html__( 'Optional: Select a custom display to use with the Ditty.', 'ditty-news-ticker' ),
|
26 |
+
'param_name' => 'display',
|
27 |
+
'value' => $display_options,
|
28 |
+
),
|
29 |
+
array(
|
30 |
+
'type' => 'textfield',
|
31 |
+
'heading' => esc_html__( 'Custom Classes', 'ditty-news-ticker' ),
|
32 |
+
'description' => esc_html__( 'Optional: Add custom classes to the Ditty.', 'ditty-news-ticker' ),
|
33 |
+
'param_name' => 'class',
|
34 |
+
),
|
35 |
+
array(
|
36 |
+
'group' => esc_html__( 'Advanced', 'ditty-news-ticker' ),
|
37 |
+
'type' => 'textarea',
|
38 |
+
'heading' => esc_html__( 'Custom Display Settings', 'ditty-news-ticker' ),
|
39 |
+
'description' => esc_html__( 'Add custom display settings, using a query string.', 'ditty-news-ticker' ),
|
40 |
+
'param_name' => 'display_settings',
|
41 |
+
),
|
42 |
+
array(
|
43 |
+
'group' => esc_html__( 'Advanced', 'ditty-news-ticker' ),
|
44 |
+
'type' => 'textarea',
|
45 |
+
'heading' => esc_html__( 'Custom Layout Settings', 'ditty-news-ticker' ),
|
46 |
+
'description' => esc_html__( 'Add custom layout settings, using a query string.', 'ditty-news-ticker' ),
|
47 |
+
'param_name' => 'layout_settings',
|
48 |
+
),
|
49 |
+
),
|
50 |
+
);
|
51 |
+
fusion_builder_map( $args );
|
52 |
+
}
|
53 |
+
add_action( 'fusion_builder_before_init', 'ditty_fusion_elements' );
|
includes/builders/fusion/preview.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Underscore.js template.
|
4 |
+
*
|
5 |
+
* @package fusion-builder
|
6 |
+
*/
|
7 |
+
|
8 |
+
?>
|
9 |
+
<script type="text/template" id="fusion-builder-block-module-ditty-template">
|
10 |
+
<h4 class="fusion_module_title"><span class="fusion-module-icon {{ fusionAllElements[element_type].icon }}"></span>{{ fusionAllElements[element_type].name }}</h4>
|
11 |
+
<?php printf( esc_html__( 'Ditty: %s - Display: %s', 'fusion-builder' ), '{{ params.id }}', '{{ params.display }}' ); ?>
|
12 |
+
</script>
|
includes/class-ditty-displays.php
CHANGED
@@ -62,10 +62,12 @@ class Ditty_Displays {
|
|
62 |
*/
|
63 |
public function install_default( $display_type, $display_template = false, $display_version = false ) {
|
64 |
$args = array(
|
65 |
-
'
|
66 |
-
'
|
|
|
|
|
67 |
);
|
68 |
-
if ( $display_ids =
|
69 |
return reset( $display_ids );
|
70 |
}
|
71 |
|
@@ -156,10 +158,12 @@ class Ditty_Displays {
|
|
156 |
$html .= '<ul id="ditty-templates-list__templates">';
|
157 |
foreach ( $display_data['templates'] as $template => $template_data ) {
|
158 |
$args = array(
|
159 |
-
'
|
160 |
-
'
|
|
|
|
|
161 |
);
|
162 |
-
$display_versions =
|
163 |
$html .= '<li class="ditty-templates-list__template">';
|
164 |
$html .= '<div class="ditty-templates-list__template__heading">';
|
165 |
$html .= '<h4 class="ditty-templates-list__template__label">';
|
62 |
*/
|
63 |
public function install_default( $display_type, $display_template = false, $display_version = false ) {
|
64 |
$args = array(
|
65 |
+
'display_type' => $display_type,
|
66 |
+
'template' => $display_template,
|
67 |
+
'version' => $display_version,
|
68 |
+
'fields' => 'ids',
|
69 |
);
|
70 |
+
if ( $display_ids = ditty_display_posts( $args ) ) {
|
71 |
return reset( $display_ids );
|
72 |
}
|
73 |
|
158 |
$html .= '<ul id="ditty-templates-list__templates">';
|
159 |
foreach ( $display_data['templates'] as $template => $template_data ) {
|
160 |
$args = array(
|
161 |
+
'display_type' => $display_type,
|
162 |
+
'template' => $template,
|
163 |
+
'fields' => 'ids',
|
164 |
+
'return' => 'versions',
|
165 |
);
|
166 |
+
$display_versions = ditty_display_posts( $args );
|
167 |
$html .= '<li class="ditty-templates-list__template">';
|
168 |
$html .= '<div class="ditty-templates-list__template__heading">';
|
169 |
$html .= '<h4 class="ditty-templates-list__template__label">';
|
includes/class-ditty-layouts.php
CHANGED
@@ -31,8 +31,8 @@ class Ditty_Layouts {
|
|
31 |
// General hooks
|
32 |
add_filter( 'post_row_actions', array( $this, 'modify_list_row_actions' ), 10, 2 );
|
33 |
add_action( 'ditty_editor_update', array( $this, 'update_drafts' ), 10, 2 );
|
34 |
-
add_filter( 'ditty_item_db_data', array( $this, 'modify_ditty_item_db_data'), 10, 2 );
|
35 |
-
add_filter( 'ditty_editor_save_data', array( $this, 'editor_add_save_data'), 10, 2 );
|
36 |
|
37 |
// Layout elements
|
38 |
add_action( 'ditty_editor_layout_elements', array( $this, 'editor_layout_icon' ), 5 );
|
@@ -41,6 +41,7 @@ class Ditty_Layouts {
|
|
41 |
add_action( 'ditty_editor_layout_elements', array( $this, 'editor_layout_edit_css' ), 20 );
|
42 |
add_action( 'ditty_editor_layout_elements', array( $this, 'editor_layout_clone' ), 25 );
|
43 |
add_action( 'ditty_editor_layout_elements', array( $this, 'editor_layout_delete' ), 30 );
|
|
|
44 |
|
45 |
// Ajax
|
46 |
add_action( 'wp_ajax_ditty_editor_layout_variations', array( $this, 'editor_layout_variations_ajax' ) );
|
@@ -52,6 +53,8 @@ class Ditty_Layouts {
|
|
52 |
|
53 |
add_action( 'wp_ajax_ditty_editor_layout_clone', array( $this, 'editor_clone_ajax' ) );
|
54 |
add_action( 'wp_ajax_nopriv_ditty_editor_layout_clone', array( $this, 'editor_clone_ajax' ) );
|
|
|
|
|
55 |
|
56 |
add_action( 'wp_ajax_ditty_editor_layout_fields', array( $this, 'editor_fields_ajax' ) );
|
57 |
add_action( 'wp_ajax_nopriv_ditty_editor_layout_fields', array( $this, 'editor_fields_ajax' ) );
|
@@ -73,7 +76,7 @@ class Ditty_Layouts {
|
|
73 |
'version' => $layout_version,
|
74 |
'fields' => 'ids',
|
75 |
);
|
76 |
-
if ( $layouts =
|
77 |
return end( $layouts );
|
78 |
}
|
79 |
|
@@ -215,7 +218,7 @@ class Ditty_Layouts {
|
|
215 |
'fields' => 'ids',
|
216 |
'return' => 'versions',
|
217 |
);
|
218 |
-
$layout_versions =
|
219 |
$html .= '<li class="ditty-templates-list__template">';
|
220 |
$html .= '<div class="ditty-templates-list__template__heading">';
|
221 |
$html .= '<h4 class="ditty-templates-list__template__label">';
|
@@ -460,7 +463,7 @@ class Ditty_Layouts {
|
|
460 |
if ( $placeholder ) {
|
461 |
$options[''] = $placeholder;
|
462 |
}
|
463 |
-
if ( $layouts =
|
464 |
foreach ( $layouts as $layout_post ) {
|
465 |
$title = $layout_post->post_title;
|
466 |
if ( $version = get_post_meta( $layout_post->ID, '_ditty_layout_version', true ) ) {
|
@@ -541,6 +544,17 @@ class Ditty_Layouts {
|
|
541 |
}
|
542 |
}
|
543 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
544 |
/**
|
545 |
* Ditty Layout Variations list panel
|
546 |
* @access public
|
@@ -650,7 +664,7 @@ class Ditty_Layouts {
|
|
650 |
$args = array(
|
651 |
'fields' => 'ids',
|
652 |
);
|
653 |
-
$layouts =
|
654 |
$drafts = ditty_draft_layout_get();
|
655 |
if ( ! is_array( $drafts ) ) {
|
656 |
$drafts = array();
|
@@ -975,6 +989,18 @@ class Ditty_Layouts {
|
|
975 |
}
|
976 |
return $json_data;
|
977 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
978 |
|
979 |
/**
|
980 |
* Save layout draft values on Ditty update
|
31 |
// General hooks
|
32 |
add_filter( 'post_row_actions', array( $this, 'modify_list_row_actions' ), 10, 2 );
|
33 |
add_action( 'ditty_editor_update', array( $this, 'update_drafts' ), 10, 2 );
|
34 |
+
add_filter( 'ditty_item_db_data', array( $this, 'modify_ditty_item_db_data' ), 10, 2 );
|
35 |
+
add_filter( 'ditty_editor_save_data', array( $this, 'editor_add_save_data' ), 10, 2 );
|
36 |
|
37 |
// Layout elements
|
38 |
add_action( 'ditty_editor_layout_elements', array( $this, 'editor_layout_icon' ), 5 );
|
41 |
add_action( 'ditty_editor_layout_elements', array( $this, 'editor_layout_edit_css' ), 20 );
|
42 |
add_action( 'ditty_editor_layout_elements', array( $this, 'editor_layout_clone' ), 25 );
|
43 |
add_action( 'ditty_editor_layout_elements', array( $this, 'editor_layout_delete' ), 30 );
|
44 |
+
//add_action( 'ditty_editor_layout_elements', array( $this, 'editor_layout_save' ), 35 );
|
45 |
|
46 |
// Ajax
|
47 |
add_action( 'wp_ajax_ditty_editor_layout_variations', array( $this, 'editor_layout_variations_ajax' ) );
|
53 |
|
54 |
add_action( 'wp_ajax_ditty_editor_layout_clone', array( $this, 'editor_clone_ajax' ) );
|
55 |
add_action( 'wp_ajax_nopriv_ditty_editor_layout_clone', array( $this, 'editor_clone_ajax' ) );
|
56 |
+
//add_action( 'wp_ajax_ditty_editor_layout_save_preview', array( $this, 'editor_save_preview_ajax' ) );
|
57 |
+
//add_action( 'wp_ajax_nopriv_ditty_editor_layout_save_preview', array( $this, 'editor_save_preview_ajax' ) );
|
58 |
|
59 |
add_action( 'wp_ajax_ditty_editor_layout_fields', array( $this, 'editor_fields_ajax' ) );
|
60 |
add_action( 'wp_ajax_nopriv_ditty_editor_layout_fields', array( $this, 'editor_fields_ajax' ) );
|
76 |
'version' => $layout_version,
|
77 |
'fields' => 'ids',
|
78 |
);
|
79 |
+
if ( $layouts = ditty_layout_posts( $args ) ) {
|
80 |
return end( $layouts );
|
81 |
}
|
82 |
|
218 |
'fields' => 'ids',
|
219 |
'return' => 'versions',
|
220 |
);
|
221 |
+
$layout_versions = ditty_layout_posts( $args );
|
222 |
$html .= '<li class="ditty-templates-list__template">';
|
223 |
$html .= '<div class="ditty-templates-list__template__heading">';
|
224 |
$html .= '<h4 class="ditty-templates-list__template__label">';
|
463 |
if ( $placeholder ) {
|
464 |
$options[''] = $placeholder;
|
465 |
}
|
466 |
+
if ( $layouts = ditty_layout_posts() ) {
|
467 |
foreach ( $layouts as $layout_post ) {
|
468 |
$title = $layout_post->post_title;
|
469 |
if ( $version = get_post_meta( $layout_post->ID, '_ditty_layout_version', true ) ) {
|
544 |
}
|
545 |
}
|
546 |
|
547 |
+
/**
|
548 |
+
* Add the editor save button
|
549 |
+
*
|
550 |
+
* @since 3.0
|
551 |
+
*/
|
552 |
+
public function editor_layout_save( $layout ) {
|
553 |
+
if ( current_user_can( 'edit_ditty_layouts' ) ) {
|
554 |
+
echo '<a href="#" class="ditty-data-list__item__save protip" data-pt-title="' . __( 'Save Preview', 'ditty-news-ticker' ) . '"><i class="fas fa-save" data-class="fas fa-save"></i></a>';
|
555 |
+
}
|
556 |
+
}
|
557 |
+
|
558 |
/**
|
559 |
* Ditty Layout Variations list panel
|
560 |
* @access public
|
664 |
$args = array(
|
665 |
'fields' => 'ids',
|
666 |
);
|
667 |
+
$layouts = ditty_layout_posts( $args );
|
668 |
$drafts = ditty_draft_layout_get();
|
669 |
if ( ! is_array( $drafts ) ) {
|
670 |
$drafts = array();
|
989 |
}
|
990 |
return $json_data;
|
991 |
}
|
992 |
+
|
993 |
+
/**
|
994 |
+
* Add to the bulk updater
|
995 |
+
*
|
996 |
+
* @access public
|
997 |
+
* @since 3.0.17
|
998 |
+
* @param json.
|
999 |
+
*/
|
1000 |
+
public function bulk_export( $bulk_actions ) {
|
1001 |
+
$bulk_actions['ditty-export'] = esc_html__( 'Export Layouts', 'ditty-news-ticker' );
|
1002 |
+
return $bulk_actions;
|
1003 |
+
}
|
1004 |
|
1005 |
/**
|
1006 |
* Save layout draft values on Ditty update
|
includes/class-ditty-singles.php
CHANGED
@@ -590,7 +590,7 @@ class Ditty_Singles {
|
|
590 |
* Sanitize item values before saving to the database
|
591 |
*
|
592 |
* @access public
|
593 |
-
* @since 3.0
|
594 |
*/
|
595 |
public function sanitize_item_data( $item_data ) {
|
596 |
$item_type = isset( $item_data['item_type'] ) ? $item_data['item_type'] : false;
|
@@ -635,6 +635,9 @@ class Ditty_Singles {
|
|
635 |
if ( isset( $item_data['layout_value'] ) ) {
|
636 |
$sanitized_item['layout_value'] = maybe_serialize( $sanitized_layout_value );
|
637 |
}
|
|
|
|
|
|
|
638 |
return $sanitized_item;
|
639 |
}
|
640 |
|
@@ -642,7 +645,7 @@ class Ditty_Singles {
|
|
642 |
* Save draft values on Ditty editor update
|
643 |
*
|
644 |
* @access public
|
645 |
-
* @since 3.0.
|
646 |
*/
|
647 |
public function editor_save_ajax() {
|
648 |
check_ajax_referer( 'ditty', 'security' );
|
@@ -722,8 +725,8 @@ class Ditty_Singles {
|
|
722 |
|
723 |
if ( 'DELETE' == $item_data ) {
|
724 |
|
|
|
725 |
Ditty()->db_items->delete( $item_id );
|
726 |
-
// TODO: Delete all meta associated to item
|
727 |
continue;
|
728 |
|
729 |
} elseif( is_array( $item_data ) ) {
|
590 |
* Sanitize item values before saving to the database
|
591 |
*
|
592 |
* @access public
|
593 |
+
* @since 3.0.17
|
594 |
*/
|
595 |
public function sanitize_item_data( $item_data ) {
|
596 |
$item_type = isset( $item_data['item_type'] ) ? $item_data['item_type'] : false;
|
635 |
if ( isset( $item_data['layout_value'] ) ) {
|
636 |
$sanitized_item['layout_value'] = maybe_serialize( $sanitized_layout_value );
|
637 |
}
|
638 |
+
if ( isset( $item_data['item_author'] ) ) {
|
639 |
+
$sanitized_item['item_author'] = intval( $item_data['item_author'] );
|
640 |
+
}
|
641 |
return $sanitized_item;
|
642 |
}
|
643 |
|
645 |
* Save draft values on Ditty editor update
|
646 |
*
|
647 |
* @access public
|
648 |
+
* @since 3.0.17
|
649 |
*/
|
650 |
public function editor_save_ajax() {
|
651 |
check_ajax_referer( 'ditty', 'security' );
|
725 |
|
726 |
if ( 'DELETE' == $item_data ) {
|
727 |
|
728 |
+
ditty_item_delete_all_meta( $item_id );
|
729 |
Ditty()->db_items->delete( $item_id );
|
|
|
730 |
continue;
|
731 |
|
732 |
} elseif( is_array( $item_data ) ) {
|
includes/class-ditty.php
CHANGED
@@ -274,6 +274,9 @@ class Ditty {
|
|
274 |
require_once DITTY_DIR . 'includes/widget.php';
|
275 |
require_once DITTY_DIR . 'includes/wizard.php';
|
276 |
|
|
|
|
|
|
|
277 |
// Add database files
|
278 |
require_once DITTY_DIR . 'includes/class-ditty-db.php';
|
279 |
require_once DITTY_DIR . 'includes/class-ditty-db-items.php';
|
274 |
require_once DITTY_DIR . 'includes/widget.php';
|
275 |
require_once DITTY_DIR . 'includes/wizard.php';
|
276 |
|
277 |
+
// Builders
|
278 |
+
require_once DITTY_DIR . 'includes/builders/fusion/builder.php';
|
279 |
+
|
280 |
// Add database files
|
281 |
require_once DITTY_DIR . 'includes/class-ditty-db.php';
|
282 |
require_once DITTY_DIR . 'includes/class-ditty-db-items.php';
|
includes/css/ditty-admin.css
CHANGED
@@ -115,6 +115,21 @@ table.wp-list-table .type-ditty_display .row-actions {
|
|
115 |
border-top-right-radius: 3px;
|
116 |
border-bottom-right-radius: 3px; }
|
117 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
.datepicker-container {
|
119 |
background-color: #fff;
|
120 |
direction: ltr;
|
@@ -980,7 +995,7 @@ table.wp-list-table .type-ditty_display .row-actions {
|
|
980 |
|
981 |
#ditty-page {
|
982 |
width: 1200px;
|
983 |
-
max-width: calc( 100%);
|
984 |
border-radius: 5px;
|
985 |
box-shadow: 0 0 1px rgba(0, 0, 0, 0.2);
|
986 |
margin-top: 22px;
|
@@ -1010,7 +1025,7 @@ table.wp-list-table .type-ditty_display .row-actions {
|
|
1010 |
|
1011 |
@media screen and (max-width: 782px) {
|
1012 |
#ditty-page {
|
1013 |
-
max-width: calc( 100%);
|
1014 |
margin-top: 10px; } }
|
1015 |
|
1016 |
#ditty-settings {
|
@@ -1066,7 +1081,13 @@ table.wp-list-table .type-ditty_display .row-actions {
|
|
1066 |
position: absolute;
|
1067 |
top: 10px;
|
1068 |
display: block;
|
1069 |
-
font-size: 14px;
|
|
|
|
|
|
|
|
|
|
|
|
|
1070 |
.ditty-settings__tab span {
|
1071 |
display: block;
|
1072 |
padding-left: 30px; }
|
@@ -1198,22 +1219,33 @@ table.wp-list-table .type-ditty_display .row-actions {
|
|
1198 |
width: 60%; } }
|
1199 |
|
1200 |
@media (min-width: 1000px) {
|
1201 |
-
.ditty-settings__panel:not(.ditty-settings__panel--global_ditty) > .ditty-field {
|
1202 |
display: flex;
|
1203 |
flex-direction: row;
|
1204 |
align-items: flex-start;
|
1205 |
justify-content: flex-start; }
|
1206 |
-
.ditty-settings__panel:not(.ditty-settings__panel--global_ditty) > .ditty-field > .ditty-field__heading {
|
1207 |
flex: 0 0 50%;
|
1208 |
padding-right: 60px; }
|
1209 |
-
.ditty-settings__panel:not(.ditty-settings__panel--global_ditty) > .ditty-field > .ditty-field__heading > .ditty-field__label,
|
1210 |
-
.ditty-settings__panel:not(.ditty-settings__panel--global_ditty) > .ditty-field > .ditty-field__heading > .ditty-field__description {
|
1211 |
margin-bottom: 0; }
|
1212 |
-
.ditty-settings__panel:not(.ditty-settings__panel--global_ditty) > .ditty-field > .ditty-field__input__container {
|
1213 |
width: 100%; }
|
1214 |
-
.ditty-settings__panel:not(.ditty-settings__panel--global_ditty) > .ditty-field > .ditty-field__input__container > .ditty-field__input {
|
1215 |
margin-top: 0; } }
|
1216 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1217 |
.ditty-section {
|
1218 |
background: #FFF;
|
1219 |
padding: 40px; }
|
@@ -1264,6 +1296,24 @@ table.wp-list-table .type-ditty_display .row-actions {
|
|
1264 |
.ditty-column--1_2 {
|
1265 |
width: 50%; } }
|
1266 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1267 |
.ditty-page__contents {
|
1268 |
padding: 20px; }
|
1269 |
|
@@ -1274,6 +1324,21 @@ table.wp-list-table .type-ditty_display .row-actions {
|
|
1274 |
color: #FFF;
|
1275 |
margin: 0; }
|
1276 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1277 |
.wp-admin.post-new-php.post-type-ditty.ditty-wizard-enabled .wp-heading-inline,
|
1278 |
.wp-admin.post-new-php.post-type-ditty.ditty-wizard-enabled .wp-header-end {
|
1279 |
display: none; }
|
@@ -1484,3 +1549,55 @@ table.wp-list-table .type-ditty_display .row-actions {
|
|
1484 |
border-color: #19BF7C; }
|
1485 |
.ditty-option-list__item.active .ditty-option-grid__item__description {
|
1486 |
display: block; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
border-top-right-radius: 3px;
|
116 |
border-bottom-right-radius: 3px; }
|
117 |
|
118 |
+
.fusion-module-icon.ditty {
|
119 |
+
width: 15px;
|
120 |
+
height: 15px;
|
121 |
+
background: url("../img/d.svg"); }
|
122 |
+
|
123 |
+
#menu-posts-ditty .wp-submenu {
|
124 |
+
display: flex;
|
125 |
+
flex-direction: column; }
|
126 |
+
#menu-posts-ditty .wp-submenu li {
|
127 |
+
order: 0; }
|
128 |
+
#menu-posts-ditty .wp-submenu li.ditty_extensions, #menu-posts-ditty .wp-submenu li.ditty_settings, #menu-posts-ditty .wp-submenu li.ditty_export {
|
129 |
+
order: 5; }
|
130 |
+
#menu-posts-ditty .wp-submenu li.ditty_news_ticker, #menu-posts-ditty .wp-submenu li.mtphr_dnt_settings {
|
131 |
+
order: 10; }
|
132 |
+
|
133 |
.datepicker-container {
|
134 |
background-color: #fff;
|
135 |
direction: ltr;
|
995 |
|
996 |
#ditty-page {
|
997 |
width: 1200px;
|
998 |
+
max-width: calc( 100% - 20px);
|
999 |
border-radius: 5px;
|
1000 |
box-shadow: 0 0 1px rgba(0, 0, 0, 0.2);
|
1001 |
margin-top: 22px;
|
1025 |
|
1026 |
@media screen and (max-width: 782px) {
|
1027 |
#ditty-page {
|
1028 |
+
max-width: calc( 100% - 10px);
|
1029 |
margin-top: 10px; } }
|
1030 |
|
1031 |
#ditty-settings {
|
1081 |
position: absolute;
|
1082 |
top: 10px;
|
1083 |
display: block;
|
1084 |
+
font-size: 14px;
|
1085 |
+
width: 14px; }
|
1086 |
+
.ditty-settings__tab svg {
|
1087 |
+
position: absolute;
|
1088 |
+
top: 10px;
|
1089 |
+
display: block;
|
1090 |
+
width: 14px; }
|
1091 |
.ditty-settings__tab span {
|
1092 |
display: block;
|
1093 |
padding-left: 30px; }
|
1219 |
width: 60%; } }
|
1220 |
|
1221 |
@media (min-width: 1000px) {
|
1222 |
+
.ditty-settings__panel:not(.ditty-settings__panel--global_ditty) > .ditty-field:not(.ditty-field-heading--top) {
|
1223 |
display: flex;
|
1224 |
flex-direction: row;
|
1225 |
align-items: flex-start;
|
1226 |
justify-content: flex-start; }
|
1227 |
+
.ditty-settings__panel:not(.ditty-settings__panel--global_ditty) > .ditty-field:not(.ditty-field-heading--top) > .ditty-field__heading {
|
1228 |
flex: 0 0 50%;
|
1229 |
padding-right: 60px; }
|
1230 |
+
.ditty-settings__panel:not(.ditty-settings__panel--global_ditty) > .ditty-field:not(.ditty-field-heading--top) > .ditty-field__heading > .ditty-field__label,
|
1231 |
+
.ditty-settings__panel:not(.ditty-settings__panel--global_ditty) > .ditty-field:not(.ditty-field-heading--top) > .ditty-field__heading > .ditty-field__description {
|
1232 |
margin-bottom: 0; }
|
1233 |
+
.ditty-settings__panel:not(.ditty-settings__panel--global_ditty) > .ditty-field:not(.ditty-field-heading--top) > .ditty-field__input__container {
|
1234 |
width: 100%; }
|
1235 |
+
.ditty-settings__panel:not(.ditty-settings__panel--global_ditty) > .ditty-field:not(.ditty-field-heading--top) > .ditty-field__input__container > .ditty-field__input {
|
1236 |
margin-top: 0; } }
|
1237 |
|
1238 |
+
/* Post import/exports */
|
1239 |
+
.ditty-import-button i,
|
1240 |
+
.ditty-export-button i {
|
1241 |
+
display: none; }
|
1242 |
+
|
1243 |
+
.ditty-input--checkboxes__option--select_all {
|
1244 |
+
width: 100%;
|
1245 |
+
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
|
1246 |
+
padding-bottom: 10px;
|
1247 |
+
margin-bottom: 10px !important; }
|
1248 |
+
|
1249 |
.ditty-section {
|
1250 |
background: #FFF;
|
1251 |
padding: 40px; }
|
1296 |
.ditty-column--1_2 {
|
1297 |
width: 50%; } }
|
1298 |
|
1299 |
+
.ditty-header {
|
1300 |
+
color: #FFF;
|
1301 |
+
background: #1ABF7D;
|
1302 |
+
margin-left: -20px; }
|
1303 |
+
.ditty-header__wrapper {
|
1304 |
+
align-items: center;
|
1305 |
+
display: flex;
|
1306 |
+
flex-wrap: wrap;
|
1307 |
+
justify-content: space-between;
|
1308 |
+
transition: padding 0.3s ease;
|
1309 |
+
margin-left: auto;
|
1310 |
+
margin-right: auto;
|
1311 |
+
padding: 1.5rem;
|
1312 |
+
padding-bottom: 1.375rem;
|
1313 |
+
padding-top: 1.375rem; }
|
1314 |
+
.ditty-header svg {
|
1315 |
+
width: 100px; }
|
1316 |
+
|
1317 |
.ditty-page__contents {
|
1318 |
padding: 20px; }
|
1319 |
|
1324 |
color: #FFF;
|
1325 |
margin: 0; }
|
1326 |
|
1327 |
+
@media only screen and (max-width: 960px) {
|
1328 |
+
.ditty-header {
|
1329 |
+
margin-left: -20px; } }
|
1330 |
+
|
1331 |
+
@media screen and (max-width: 782px) {
|
1332 |
+
.ditty-header {
|
1333 |
+
margin-left: -10px; } }
|
1334 |
+
|
1335 |
+
.ditty-import__group {
|
1336 |
+
margin-bottom: 40px; }
|
1337 |
+
|
1338 |
+
.ditty-field--ditty_new_import_button .ditty-button {
|
1339 |
+
display: inline-block;
|
1340 |
+
width: auto; }
|
1341 |
+
|
1342 |
.wp-admin.post-new-php.post-type-ditty.ditty-wizard-enabled .wp-heading-inline,
|
1343 |
.wp-admin.post-new-php.post-type-ditty.ditty-wizard-enabled .wp-header-end {
|
1344 |
display: none; }
|
1549 |
border-color: #19BF7C; }
|
1550 |
.ditty-option-list__item.active .ditty-option-grid__item__description {
|
1551 |
display: block; }
|
1552 |
+
|
1553 |
+
body.rtl #ditty-editor .ditty-editor__tab span {
|
1554 |
+
padding-left: 0;
|
1555 |
+
padding-right: 20px; }
|
1556 |
+
|
1557 |
+
body.rtl .ditty-data-list__filter i {
|
1558 |
+
margin-right: 0;
|
1559 |
+
margin-left: 5px; }
|
1560 |
+
|
1561 |
+
body.rtl .ditty-editor-options__buttons--start a:not(.ditty-button), body.rtl .ditty-editor-options__buttons--start button:not(.ditty-button) {
|
1562 |
+
margin-right: 0;
|
1563 |
+
margin-left: 5px; }
|
1564 |
+
|
1565 |
+
body.rtl .ditty-editor-options__buttons--end a:not(.ditty-button), body.rtl .ditty-editor-options__buttons--end button:not(.ditty-button) {
|
1566 |
+
margin-left: 0;
|
1567 |
+
margin-right: 5px; }
|
1568 |
+
|
1569 |
+
body.rtl .ditty-data-list__item {
|
1570 |
+
padding-right: 0;
|
1571 |
+
padding-left: 8px; }
|
1572 |
+
body.rtl .ditty-data-list__item__label {
|
1573 |
+
padding-right: 0;
|
1574 |
+
padding-left: 5px;
|
1575 |
+
margin-right: 0;
|
1576 |
+
margin-left: auto; }
|
1577 |
+
body.rtl .ditty-data-list__item__label .ditty-display-version {
|
1578 |
+
margin-right: 5px; }
|
1579 |
+
|
1580 |
+
body.rtl .ditty-layout-variation {
|
1581 |
+
padding: 5px 10px 0 8px; }
|
1582 |
+
|
1583 |
+
body.rtl .ditty-editor__panel--items .ditty-data-list__item a.ditty-data-list__item__icon {
|
1584 |
+
border-right: none;
|
1585 |
+
border-left: 1px solid rgba(0, 0, 0, 0.05);
|
1586 |
+
margin-right: 0;
|
1587 |
+
margin-left: 10px; }
|
1588 |
+
|
1589 |
+
body.rtl .ditty-field-type--checkbox .ditty-field__input__primary label {
|
1590 |
+
margin-left: 0;
|
1591 |
+
margin-right: 7px; }
|
1592 |
+
|
1593 |
+
body.rtl .ditty-field-type--radio .ditty-input--radio__option label {
|
1594 |
+
margin-left: 0;
|
1595 |
+
margin-right: 7px; }
|
1596 |
+
|
1597 |
+
body.rtl .ditty-field-type--radio .ditty-input--radio--inline .ditty-input--radio__option {
|
1598 |
+
margin-right: 0;
|
1599 |
+
margin-left: 15px; }
|
1600 |
+
|
1601 |
+
body.rtl .ditty-field-type--color input[type="text"] {
|
1602 |
+
padding-left: 1px !important;
|
1603 |
+
padding-right: 40px !important; }
|
includes/css/ditty.css
CHANGED
@@ -119,6 +119,14 @@
|
|
119 |
.ditty-field--clone-enabled.ditty-field--clone-enabled--max > .ditty-field__input__container > .ditty-field__input__container > .ditty-field__input > .ditty-field__input__actions .ditty-field__input__action--clone {
|
120 |
display: none; }
|
121 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
/* Group */
|
123 |
.ditty-field-type--group {
|
124 |
padding: 0;
|
@@ -195,7 +203,7 @@
|
|
195 |
margin-bottom: 5px; }
|
196 |
.ditty-input--checkboxes__group .ditty-input--checkboxes__option label {
|
197 |
font-size: 13px;
|
198 |
-
line-
|
199 |
.ditty-input--checkboxes__group--inline {
|
200 |
flex-direction: row;
|
201 |
align-items: center; }
|
@@ -1045,7 +1053,8 @@
|
|
1045 |
cursor: pointer;
|
1046 |
transition: color .25s ease, background-color .25s ease; }
|
1047 |
.ditty-button[disabled] {
|
1048 |
-
cursor: default;
|
|
|
1049 |
.ditty-button[type="button"], .ditty-button[type="submit"] {
|
1050 |
-webkit-appearance: none;
|
1051 |
border: none;
|
@@ -1672,7 +1681,8 @@
|
|
1672 |
.ditty-editor-layout {
|
1673 |
cursor: pointer; }
|
1674 |
.ditty-editor-layout:not(.active):hover .ditty-data-list__item__edit_html,
|
1675 |
-
.ditty-editor-layout:not(.active):hover .ditty-data-list__item__edit_css
|
|
|
1676 |
display: none; }
|
1677 |
.ditty-editor-layout.active .ditty-data-list__item__delete {
|
1678 |
display: none; }
|
119 |
.ditty-field--clone-enabled.ditty-field--clone-enabled--max > .ditty-field__input__container > .ditty-field__input__container > .ditty-field__input > .ditty-field__input__actions .ditty-field__input__action--clone {
|
120 |
display: none; }
|
121 |
|
122 |
+
.postbox-container .inside > .ditty-field {
|
123 |
+
padding-left: 0;
|
124 |
+
padding-right: 0; }
|
125 |
+
.postbox-container .inside > .ditty-field:first-of-type {
|
126 |
+
padding-top: 0; }
|
127 |
+
.postbox-container .inside > .ditty-field:last-of-type {
|
128 |
+
padding-bottom: 0; }
|
129 |
+
|
130 |
/* Group */
|
131 |
.ditty-field-type--group {
|
132 |
padding: 0;
|
203 |
margin-bottom: 5px; }
|
204 |
.ditty-input--checkboxes__group .ditty-input--checkboxes__option label {
|
205 |
font-size: 13px;
|
206 |
+
line-height: 13px; }
|
207 |
.ditty-input--checkboxes__group--inline {
|
208 |
flex-direction: row;
|
209 |
align-items: center; }
|
1053 |
cursor: pointer;
|
1054 |
transition: color .25s ease, background-color .25s ease; }
|
1055 |
.ditty-button[disabled] {
|
1056 |
+
cursor: default;
|
1057 |
+
opacity: .5; }
|
1058 |
.ditty-button[type="button"], .ditty-button[type="submit"] {
|
1059 |
-webkit-appearance: none;
|
1060 |
border: none;
|
1681 |
.ditty-editor-layout {
|
1682 |
cursor: pointer; }
|
1683 |
.ditty-editor-layout:not(.active):hover .ditty-data-list__item__edit_html,
|
1684 |
+
.ditty-editor-layout:not(.active):hover .ditty-data-list__item__edit_css,
|
1685 |
+
.ditty-editor-layout:not(.active):hover .ditty-data-list__item__save {
|
1686 |
display: none; }
|
1687 |
.ditty-editor-layout.active .ditty-data-list__item__delete {
|
1688 |
display: none; }
|
includes/fields/ditty-field-checkboxes.php
CHANGED
@@ -41,6 +41,9 @@ class Ditty_Field_Checkboxes extends Ditty_Field {
|
|
41 |
if ( $this->args['inline'] ) {
|
42 |
$classes .= ' ditty-input--checkboxes__group--inline';
|
43 |
}
|
|
|
|
|
|
|
44 |
$html .= '<div class="' . esc_attr( $classes ) . '">';
|
45 |
foreach ( $this->args['options'] as $value => $label ) {
|
46 |
$input_id = uniqid( 'ditty-input--' );
|
41 |
if ( $this->args['inline'] ) {
|
42 |
$classes .= ' ditty-input--checkboxes__group--inline';
|
43 |
}
|
44 |
+
if ( $this->args['input_class'] ) {
|
45 |
+
$classes .= ' ' . $this->args['input_class'];
|
46 |
+
}
|
47 |
$html .= '<div class="' . esc_attr( $classes ) . '">';
|
48 |
foreach ( $this->args['options'] as $value => $label ) {
|
49 |
$input_id = uniqid( 'ditty-input--' );
|
includes/helpers.php
CHANGED
@@ -612,7 +612,7 @@ function ditty_set_variation_default( $item_type, $variation, $layout_id ) {
|
|
612 |
'template' => $layout_id,
|
613 |
'fields' => 'ids',
|
614 |
);
|
615 |
-
if ( $posts =
|
616 |
$post_layout_id = reset( $posts );
|
617 |
$variation_defaults[$item_type][$variation] = $post_layout_id;
|
618 |
ditty_settings( 'variation_defaults', $variation_defaults );
|
@@ -661,7 +661,7 @@ function ditty_layout_variation_types( $item_type = false ) {
|
|
661 |
* @access public
|
662 |
* @var bool
|
663 |
*/
|
664 |
-
function
|
665 |
$defaults = array(
|
666 |
'template' => false,
|
667 |
'version' => false,
|
@@ -676,19 +676,19 @@ function ditty_layouts_posts( $atts = array() ) {
|
|
676 |
'post_status' => 'publish',
|
677 |
'orderby' => 'title',
|
678 |
'order' => 'ASC',
|
679 |
-
'fields' => $args['fields'],
|
680 |
);
|
681 |
$meta_query = array();
|
682 |
if ( $args['template'] ) {
|
683 |
$meta_query['template'] = array(
|
684 |
'key' => '_ditty_layout_template',
|
685 |
-
'value' => $args['template'],
|
686 |
);
|
687 |
}
|
688 |
if ( $args['version'] ) {
|
689 |
$meta_query['version'] = array(
|
690 |
'key' => '_ditty_layout_version',
|
691 |
-
'value' => $args['version'],
|
692 |
);
|
693 |
}
|
694 |
$query_args['meta_query'] = $meta_query;
|
@@ -713,15 +713,17 @@ function ditty_layouts_posts( $atts = array() ) {
|
|
713 |
/**
|
714 |
* Check if a display type exists
|
715 |
*
|
716 |
-
* @since 3.0
|
717 |
* @access public
|
718 |
* @var bool
|
719 |
*/
|
720 |
-
function
|
721 |
$defaults = array(
|
722 |
-
'
|
723 |
-
'
|
724 |
-
'
|
|
|
|
|
725 |
);
|
726 |
$args = shortcode_atts( $defaults, $atts );
|
727 |
|
@@ -729,23 +731,25 @@ function ditty_displays_with_type( $display_type, $atts = array() ) {
|
|
729 |
'posts_per_page' => -1,
|
730 |
'post_type' => 'ditty_display',
|
731 |
'post_status' => 'publish',
|
732 |
-
'fields' => '
|
733 |
);
|
734 |
$meta_query = array();
|
735 |
-
$
|
736 |
-
'
|
737 |
-
|
738 |
-
)
|
|
|
|
|
739 |
if ( $args['template'] ) {
|
740 |
$meta_query['template'] = array(
|
741 |
'key' => '_ditty_display_template',
|
742 |
-
'value' => $args['template'],
|
743 |
);
|
744 |
}
|
745 |
if ( $args['version'] ) {
|
746 |
$meta_query['version'] = array(
|
747 |
'key' => '_ditty_display_version',
|
748 |
-
'value' => $args['version'],
|
749 |
);
|
750 |
}
|
751 |
$query_args['meta_query'] = $meta_query;
|
@@ -1079,7 +1083,7 @@ function ditty_get_default_layout() {
|
|
1079 |
'template' => 'default',
|
1080 |
'fields' => 'ids',
|
1081 |
);
|
1082 |
-
if ( $layouts =
|
1083 |
return reset( $layouts );
|
1084 |
}
|
1085 |
}
|
@@ -1517,14 +1521,16 @@ function ditty_decrypt( $string = '', $key_1 = 'pbQttfc*y2bdNV', $key_2 = '3tq!D
|
|
1517 |
/**
|
1518 |
* Add a uniq_id to a post if it doesn't exist
|
1519 |
*
|
1520 |
-
* @since 3.0.
|
1521 |
* @var boolean
|
1522 |
*/
|
1523 |
function ditty_maybe_add_uniq_id( $post_id ) {
|
1524 |
-
|
|
|
1525 |
$uniq_id = $post_id . current_time( 'timestamp', true );
|
1526 |
update_post_meta( $post_id, '_ditty_uniq_id', $uniq_id );
|
1527 |
}
|
|
|
1528 |
}
|
1529 |
|
1530 |
/**
|
@@ -1610,7 +1616,7 @@ function ditty_item_update_meta( $item_id, $meta_key = '', $meta_value = false,
|
|
1610 |
}
|
1611 |
|
1612 |
/**
|
1613 |
-
* Remove metadata matching criteria from
|
1614 |
*
|
1615 |
* @since 3.0
|
1616 |
*/
|
@@ -1618,6 +1624,32 @@ function ditty_item_delete_meta( $item_id, $meta_key = '', $meta_value = '' ) {
|
|
1618 |
return Ditty()->db_item_meta->delete_meta( $item_id, $meta_key, $meta_value );
|
1619 |
}
|
1620 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1621 |
/**
|
1622 |
* Get all item meta for a specified item.
|
1623 |
*
|
@@ -1626,3 +1658,23 @@ function ditty_item_delete_meta( $item_id, $meta_key = '', $meta_value = '' ) {
|
|
1626 |
function ditty_item_custom_meta( $item_id ) {
|
1627 |
return Ditty()->db_item_meta->custom_meta( $item_id );
|
1628 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
612 |
'template' => $layout_id,
|
613 |
'fields' => 'ids',
|
614 |
);
|
615 |
+
if ( $posts = ditty_layout_posts( $args ) ) {
|
616 |
$post_layout_id = reset( $posts );
|
617 |
$variation_defaults[$item_type][$variation] = $post_layout_id;
|
618 |
ditty_settings( 'variation_defaults', $variation_defaults );
|
661 |
* @access public
|
662 |
* @var bool
|
663 |
*/
|
664 |
+
function ditty_layout_posts( $atts = array() ) {
|
665 |
$defaults = array(
|
666 |
'template' => false,
|
667 |
'version' => false,
|
676 |
'post_status' => 'publish',
|
677 |
'orderby' => 'title',
|
678 |
'order' => 'ASC',
|
679 |
+
'fields' => esc_html( $args['fields'] ),
|
680 |
);
|
681 |
$meta_query = array();
|
682 |
if ( $args['template'] ) {
|
683 |
$meta_query['template'] = array(
|
684 |
'key' => '_ditty_layout_template',
|
685 |
+
'value' => esc_html( $args['template'] ),
|
686 |
);
|
687 |
}
|
688 |
if ( $args['version'] ) {
|
689 |
$meta_query['version'] = array(
|
690 |
'key' => '_ditty_layout_version',
|
691 |
+
'value' => esc_html( $args['version'] ),
|
692 |
);
|
693 |
}
|
694 |
$query_args['meta_query'] = $meta_query;
|
713 |
/**
|
714 |
* Check if a display type exists
|
715 |
*
|
716 |
+
* @since 3.0.17
|
717 |
* @access public
|
718 |
* @var bool
|
719 |
*/
|
720 |
+
function ditty_display_posts( $atts = array() ) {
|
721 |
$defaults = array(
|
722 |
+
'display_type' => false,
|
723 |
+
'template' => false,
|
724 |
+
'version' => false,
|
725 |
+
'fields' => 'all',
|
726 |
+
'return' => 'posts',
|
727 |
);
|
728 |
$args = shortcode_atts( $defaults, $atts );
|
729 |
|
731 |
'posts_per_page' => -1,
|
732 |
'post_type' => 'ditty_display',
|
733 |
'post_status' => 'publish',
|
734 |
+
'fields' => esc_html( $args['fields'] ),
|
735 |
);
|
736 |
$meta_query = array();
|
737 |
+
if ( $args['display_type'] ) {
|
738 |
+
$meta_query['type'] = array(
|
739 |
+
'key' => '_ditty_display_type',
|
740 |
+
'value' => esc_html( $args['display_type'] ),
|
741 |
+
);
|
742 |
+
}
|
743 |
if ( $args['template'] ) {
|
744 |
$meta_query['template'] = array(
|
745 |
'key' => '_ditty_display_template',
|
746 |
+
'value' => esc_html( $args['template'] ),
|
747 |
);
|
748 |
}
|
749 |
if ( $args['version'] ) {
|
750 |
$meta_query['version'] = array(
|
751 |
'key' => '_ditty_display_version',
|
752 |
+
'value' => esc_html( $args['version'] ),
|
753 |
);
|
754 |
}
|
755 |
$query_args['meta_query'] = $meta_query;
|
1083 |
'template' => 'default',
|
1084 |
'fields' => 'ids',
|
1085 |
);
|
1086 |
+
if ( $layouts = ditty_layout_posts( $atts ) ) {
|
1087 |
return reset( $layouts );
|
1088 |
}
|
1089 |
}
|
1521 |
/**
|
1522 |
* Add a uniq_id to a post if it doesn't exist
|
1523 |
*
|
1524 |
+
* @since 3.0.17
|
1525 |
* @var boolean
|
1526 |
*/
|
1527 |
function ditty_maybe_add_uniq_id( $post_id ) {
|
1528 |
+
$uniq_id = get_post_meta( $post_id, '_ditty_uniq_id', true );
|
1529 |
+
if ( ! $uniq_id ) {
|
1530 |
$uniq_id = $post_id . current_time( 'timestamp', true );
|
1531 |
update_post_meta( $post_id, '_ditty_uniq_id', $uniq_id );
|
1532 |
}
|
1533 |
+
return $uniq_id;
|
1534 |
}
|
1535 |
|
1536 |
/**
|
1616 |
}
|
1617 |
|
1618 |
/**
|
1619 |
+
* Remove metadata matching criteria from an item.
|
1620 |
*
|
1621 |
* @since 3.0
|
1622 |
*/
|
1624 |
return Ditty()->db_item_meta->delete_meta( $item_id, $meta_key, $meta_value );
|
1625 |
}
|
1626 |
|
1627 |
+
/**
|
1628 |
+
* Get all metadatafrom an item.
|
1629 |
+
*
|
1630 |
+
* @since 3.0.17
|
1631 |
+
*/
|
1632 |
+
function ditty_item_get_all_meta( $item_id ) {
|
1633 |
+
$meta = Ditty()->db_item_meta->custom_meta( $item_id );
|
1634 |
+
return $meta;
|
1635 |
+
}
|
1636 |
+
|
1637 |
+
/**
|
1638 |
+
* Remove all metadatafrom an item.
|
1639 |
+
*
|
1640 |
+
* @since 3.0.17
|
1641 |
+
*/
|
1642 |
+
function ditty_item_delete_all_meta( $item_id ) {
|
1643 |
+
$meta = ditty_item_get_all_meta( $item_id );
|
1644 |
+
if ( is_array( $meta ) && count( $meta ) > 0 ) {
|
1645 |
+
foreach ( $meta as $data ) {
|
1646 |
+
if ( isset( $data->meta_key ) ) {
|
1647 |
+
Ditty()->db_item_meta->delete_meta( $item_id, $data->meta_key );
|
1648 |
+
}
|
1649 |
+
}
|
1650 |
+
}
|
1651 |
+
}
|
1652 |
+
|
1653 |
/**
|
1654 |
* Get all item meta for a specified item.
|
1655 |
*
|
1658 |
function ditty_item_custom_meta( $item_id ) {
|
1659 |
return Ditty()->db_item_meta->custom_meta( $item_id );
|
1660 |
}
|
1661 |
+
|
1662 |
+
/**
|
1663 |
+
* Return the Ditty logo svg
|
1664 |
+
*
|
1665 |
+
* @since 3.0
|
1666 |
+
*/
|
1667 |
+
function ditty_svg_logo() {
|
1668 |
+
return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 258.8 99.21" fill="currentColor"><path d="M0,49.5C0,32.3,8.6,20.4,24.6,20.4a19.93,19.93,0,0,1,6.6,1V3.1H45V62.3l1,10.3H34.2l-.9-5.2h-.5a15.21,15.21,0,0,1-13,6.8C3.8,74.2,0,61.5,0,49.5Zm31.2,7.4V31.7a13.7,13.7,0,0,0-6-1.3c-8.7,0-11.3,8.7-11.3,17.8,0,8.5,1.9,15.8,8.9,15.8C27.9,64,31.2,60.2,31.2,56.9Z"/><path d="M55.7,7.4A7.33,7.33,0,0,1,63.4,0c4.6,0,7.8,3.3,7.8,7.4s-3.2,7.4-7.8,7.4S55.7,11.7,55.7,7.4ZM70.5,21.9V72.6H56.4V21.9Z"/><path d="M95.8,3.1V21.9H112V3.1h14.1V21.9h13V32.8h-13V55.9c0,5.9,2.6,7.6,6.4,7.6a11.9,11.9,0,0,0,6.1-1.9l3.2,9c-3,2-8.2,3.5-13.3,3.5-15.2,0-16.5-8.7-16.5-17.8V32.8H95.8V55.9c0,5.9,2,7.6,5.7,7.6a11.64,11.64,0,0,0,5.7-1.6l2.1,9.4c-2.6,1.7-7.4,2.8-11.1,2.8-15.1,0-16.4-8.7-16.4-17.8V3.1Z"/><path d="M149.6,85.81c0-7.21,4.4-12.81,10.3-17.11-8.4-1.3-13-5.9-13-16V21.9h14V51.6c0,5.4.5,9.1,7,9.1,4,0,7.7-3.2,7.7-8.3V21.9h14V64.2a108.13,108.13,0,0,1-.9,13.9c-1.5,13.5-8.9,21.11-22.4,21.11C155.2,99.21,149.6,94,149.6,85.81Zm26.3-9.11V67.2c-7.4,3.5-14,8.5-14,16.11,0,3.9,2.2,5.79,6,5.79C173.8,89.1,175.9,84.4,175.9,76.7Z"/><path d="M198.7,66.8a7,7,0,0,1,7.4-7.2c5,0,7.7,2.8,7.7,7.1s-2.6,7.5-7.4,7.5C201.3,74.2,198.7,71.1,198.7,66.8Z"/><path d="M221.2,66.8a7,7,0,0,1,7.4-7.2c5,0,7.7,2.8,7.7,7.1s-2.6,7.5-7.4,7.5C223.8,74.2,221.2,71.1,221.2,66.8Z"/><path d="M243.7,66.8a7,7,0,0,1,7.4-7.2c5,0,7.7,2.8,7.7,7.1s-2.6,7.5-7.4,7.5C246.3,74.2,243.7,71.1,243.7,66.8Z"/></svg>';
|
1669 |
+
}
|
1670 |
+
|
1671 |
+
/**
|
1672 |
+
* Return the Ditty d svg
|
1673 |
+
*
|
1674 |
+
* @since 3.0
|
1675 |
+
*/
|
1676 |
+
function ditty_svg_d() {
|
1677 |
+
return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 69.31 71.1" fill="currentColor"><path d="M0 46.4c0-17.2 8.6-29.1 24.6-29.1a19.93 19.93 0 0 1 6.6 1V0H45v59.2l1 10.3H34.2l-.9-5.2h-.5a15.21 15.21 0 0 1-13 6.8C3.8 71.1 0 58.4 0 46.4Zm31.2 7.4V28.6a13.7 13.7 0 0 0-6-1.3c-8.7 0-11.3 8.7-11.3 17.8 0 8.5 1.9 15.8 8.9 15.8 5.1 0 8.4-3.8 8.4-7.1ZM61.91 65.6a7 7 0 0 1-7.2-7.4c0-5 2.8-7.7 7.1-7.7s7.5 2.6 7.5 7.4c0 5.1-3.1 7.7-7.4 7.7ZM61.91 43.1a7 7 0 0 1-7.2-7.4c0-5 2.8-7.7 7.1-7.7s7.5 2.6 7.5 7.4c0 5.1-3.1 7.7-7.4 7.7ZM61.91 20.6a7 7 0 0 1-7.2-7.4c0-5 2.8-7.7 7.1-7.7s7.5 2.6 7.5 7.4c0 5.1-3.1 7.7-7.4 7.7Z"/></svg>';
|
1678 |
+
}
|
1679 |
+
|
1680 |
+
|
includes/hooks.php
CHANGED
@@ -22,6 +22,7 @@ function ditty_delete_post_items( $post_id ) {
|
|
22 |
$items_meta = ditty_items_meta( $post_id );
|
23 |
if ( is_array( $items_meta ) && count( $items_meta ) > 0 ) {
|
24 |
foreach ( $items_meta as $i => $item ) {
|
|
|
25 |
Ditty()->db_items->delete( $item->item_id );
|
26 |
}
|
27 |
}
|
@@ -153,3 +154,64 @@ function ditty_dashboard_menu_classes( $classes ) {
|
|
153 |
return $classes;
|
154 |
}
|
155 |
add_filter( 'admin_body_class', 'ditty_dashboard_menu_classes', 99 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
$items_meta = ditty_items_meta( $post_id );
|
23 |
if ( is_array( $items_meta ) && count( $items_meta ) > 0 ) {
|
24 |
foreach ( $items_meta as $i => $item ) {
|
25 |
+
ditty_item_delete_all_meta( $item->item_id );
|
26 |
Ditty()->db_items->delete( $item->item_id );
|
27 |
}
|
28 |
}
|
154 |
return $classes;
|
155 |
}
|
156 |
add_filter( 'admin_body_class', 'ditty_dashboard_menu_classes', 99 );
|
157 |
+
|
158 |
+
/**
|
159 |
+
* Reorder the Ditty submenus
|
160 |
+
*
|
161 |
+
* @since 3.0
|
162 |
+
* @access public
|
163 |
+
* @var array $allowed
|
164 |
+
*/
|
165 |
+
// function ditty_set_menu_order() {
|
166 |
+
// global $submenu;
|
167 |
+
// $new_sub_menu = [];
|
168 |
+
// foreach ( $submenu as $menu_name => $menu_items ) {
|
169 |
+
// if ( 'edit.php?post_type=ditty' === $menu_name ) {
|
170 |
+
// if ( is_array( $menu_items ) && count( $menu_items ) > 0 ) {
|
171 |
+
// foreach ( $menu_items as $order => $menu_item ) {
|
172 |
+
// switch( $menu_item[2] ) {
|
173 |
+
// case 'edit.php?post_type=ditty_layout':
|
174 |
+
// $new_sub_menu[11] = $menu_item;
|
175 |
+
// break;
|
176 |
+
// case 'edit.php?post_type=ditty_display':
|
177 |
+
// $new_sub_menu[12] = $menu_item;
|
178 |
+
// break;
|
179 |
+
// case 'ditty_extensions':
|
180 |
+
// $new_sub_menu[13] = $menu_item;
|
181 |
+
// break;
|
182 |
+
// case 'ditty_settings':
|
183 |
+
// $new_sub_menu[14] = $menu_item;
|
184 |
+
// break;
|
185 |
+
// case 'ditty_export':
|
186 |
+
// $new_sub_menu[15] = $menu_item;
|
187 |
+
// break;
|
188 |
+
// default:
|
189 |
+
// $new_sub_menu[$order] = $menu_item;
|
190 |
+
// }
|
191 |
+
// }
|
192 |
+
// }
|
193 |
+
// $submenu['edit.php?post_type=ditty'] = $new_sub_menu;
|
194 |
+
// break;
|
195 |
+
// }
|
196 |
+
// }
|
197 |
+
// }
|
198 |
+
// add_action('custom_menu_order', 'ditty_set_menu_order' );
|
199 |
+
|
200 |
+
|
201 |
+
|
202 |
+
function sdafdstest() {
|
203 |
+
$custom = Ditty()->db_item_meta->custom_meta( 129 );
|
204 |
+
if ( $custom ) {
|
205 |
+
echo '<pre>';print_r('yes');echo '</pre>';
|
206 |
+
} else {
|
207 |
+
echo '<pre>';print_r('no');echo '</pre>';
|
208 |
+
}
|
209 |
+
if ( is_array( $custom ) && count( $custom ) > 0 ) {
|
210 |
+
foreach ( $custom as $data ) {
|
211 |
+
if ( isset( $data->meta_key ) ) {
|
212 |
+
Ditty()->db_item_meta->delete_meta( 129, $data->meta_key );
|
213 |
+
}
|
214 |
+
}
|
215 |
+
}
|
216 |
+
}
|
217 |
+
//add_action( 'admin_init', 'sdafdstest' );
|
includes/img/ditty.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 258.8 99.21" fill="inherit"><path d="M0,49.5C0,32.3,8.6,20.4,24.6,20.4a19.93,19.93,0,0,1,6.6,1V3.1H45V62.3l1,10.3H34.2l-.9-5.2h-.5a15.21,15.21,0,0,1-13,6.8C3.8,74.2,0,61.5,0,49.5Zm31.2,7.4V31.7a13.7,13.7,0,0,0-6-1.3c-8.7,0-11.3,8.7-11.3,17.8,0,8.5,1.9,15.8,8.9,15.8C27.9,64,31.2,60.2,31.2,56.9Z"/><path d="M55.7,7.4A7.33,7.33,0,0,1,63.4,0c4.6,0,7.8,3.3,7.8,7.4s-3.2,7.4-7.8,7.4S55.7,11.7,55.7,7.4ZM70.5,21.9V72.6H56.4V21.9Z"/><path d="M95.8,3.1V21.9H112V3.1h14.1V21.9h13V32.8h-13V55.9c0,5.9,2.6,7.6,6.4,7.6a11.9,11.9,0,0,0,6.1-1.9l3.2,9c-3,2-8.2,3.5-13.3,3.5-15.2,0-16.5-8.7-16.5-17.8V32.8H95.8V55.9c0,5.9,2,7.6,5.7,7.6a11.64,11.64,0,0,0,5.7-1.6l2.1,9.4c-2.6,1.7-7.4,2.8-11.1,2.8-15.1,0-16.4-8.7-16.4-17.8V3.1Z"/><path d="M149.6,85.81c0-7.21,4.4-12.81,10.3-17.11-8.4-1.3-13-5.9-13-16V21.9h14V51.6c0,5.4.5,9.1,7,9.1,4,0,7.7-3.2,7.7-8.3V21.9h14V64.2a108.13,108.13,0,0,1-.9,13.9c-1.5,13.5-8.9,21.11-22.4,21.11C155.2,99.21,149.6,94,149.6,85.81Zm26.3-9.11V67.2c-7.4,3.5-14,8.5-14,16.11,0,3.9,2.2,5.79,6,5.79C173.8,89.1,175.9,84.4,175.9,76.7Z"/><path d="M198.7,66.8a7,7,0,0,1,7.4-7.2c5,0,7.7,2.8,7.7,7.1s-2.6,7.5-7.4,7.5C201.3,74.2,198.7,71.1,198.7,66.8Z"/><path d="M221.2,66.8a7,7,0,0,1,7.4-7.2c5,0,7.7,2.8,7.7,7.1s-2.6,7.5-7.4,7.5C223.8,74.2,221.2,71.1,221.2,66.8Z"/><path d="M243.7,66.8a7,7,0,0,1,7.4-7.2c5,0,7.7,2.8,7.7,7.1s-2.6,7.5-7.4,7.5C246.3,74.2,243.7,71.1,243.7,66.8Z"/></svg>
|
includes/js/admin/class-ditty-settings.js
CHANGED
@@ -45,7 +45,6 @@
|
|
45 |
// Add listeners
|
46 |
$( 'body' ).on( 'ditty_field_clone_update', { self: this }, this._enableSettingsUpdates );
|
47 |
this.saveBtns.on( 'click', { self: this }, this._submitForm );
|
48 |
-
this.tabs.on( 'click', { self: this }, this._tabClick );
|
49 |
this.$panels.on( 'ditty_slider_init', { self: this }, this._sliderInit );
|
50 |
this.$panels.on( 'ditty_slider_before_slide_update', { self: this }, this._beforeSlideUpdate );
|
51 |
this.$form.on( 'keyup change', 'input[type="text"], input[type="number"], textarea, select', { self: this }, this._checkUpdates );
|
@@ -53,9 +52,13 @@
|
|
53 |
this.$form.on( 'ditty_input_wysiwyg_update', '.ditty-input--wysiwyg', { self: this }, this._checkUpdates );
|
54 |
this.$form.on( 'click', '.ditty-default-layout-install', { self: this }, this._installLayout );
|
55 |
this.$form.on( 'click', '.ditty-default-display-install', { self: this }, this._installDisplay );
|
56 |
-
//this.$form.on( 'click', 'button[name="ditty_export_button"]', { self: this }, this._exportPosts );
|
57 |
|
58 |
-
|
|
|
|
|
|
|
|
|
|
|
59 |
var activePanel = this.url.substring( this.url.indexOf( "#" ) + 1 );
|
60 |
this._activatePanel( activePanel );
|
61 |
}
|
@@ -68,21 +71,23 @@
|
|
68 |
* @return null
|
69 |
*/
|
70 |
_initSlider: function () {
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
|
|
|
|
86 |
},
|
87 |
|
88 |
/**
|
@@ -370,45 +375,42 @@
|
|
370 |
},
|
371 |
|
372 |
/**
|
373 |
-
*
|
374 |
*
|
375 |
-
* @since 3.0.
|
376 |
* @return null
|
377 |
*/
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
// self.$elmt.removeAttr( 'disabled' );
|
410 |
-
// } );
|
411 |
-
// },
|
412 |
|
413 |
/**
|
414 |
* Return a specific setting
|
@@ -480,7 +482,8 @@
|
|
480 |
this.$form.off( 'ditty_input_wysiwyg_update', '.ditty-input--wysiwyg', { self: this }, this._checkUpdates );
|
481 |
this.$form.off( 'click', '.ditty-default-layout-install', { self: this }, this._installLayout );
|
482 |
this.$form.off( 'click', '.ditty-default-display-install', { self: this }, this._installDisplay );
|
483 |
-
|
|
|
484 |
|
485 |
this.$panels.ditty_slider( 'destroy' );
|
486 |
this.elmt._ditty_settings = null;
|
45 |
// Add listeners
|
46 |
$( 'body' ).on( 'ditty_field_clone_update', { self: this }, this._enableSettingsUpdates );
|
47 |
this.saveBtns.on( 'click', { self: this }, this._submitForm );
|
|
|
48 |
this.$panels.on( 'ditty_slider_init', { self: this }, this._sliderInit );
|
49 |
this.$panels.on( 'ditty_slider_before_slide_update', { self: this }, this._beforeSlideUpdate );
|
50 |
this.$form.on( 'keyup change', 'input[type="text"], input[type="number"], textarea, select', { self: this }, this._checkUpdates );
|
52 |
this.$form.on( 'ditty_input_wysiwyg_update', '.ditty-input--wysiwyg', { self: this }, this._checkUpdates );
|
53 |
this.$form.on( 'click', '.ditty-default-layout-install', { self: this }, this._installLayout );
|
54 |
this.$form.on( 'click', '.ditty-default-display-install', { self: this }, this._installDisplay );
|
|
|
55 |
|
56 |
+
this.$form.on( 'click', '.ditty-export-posts input[type="checkbox"]', { self: this }, this._exportCheckboxClick );
|
57 |
+
|
58 |
+
if ( this.$elmt.hasClass( 'dynamic-tabs' ) ) {
|
59 |
+
this.tabs.on( 'click', { self: this }, this._tabClick );
|
60 |
+
}
|
61 |
+
if ( this.$elmt.hasClass( 'dynamic-tabs' ) && this.url.indexOf( "#" ) > 0 ) {
|
62 |
var activePanel = this.url.substring( this.url.indexOf( "#" ) + 1 );
|
63 |
this._activatePanel( activePanel );
|
64 |
}
|
71 |
* @return null
|
72 |
*/
|
73 |
_initSlider: function () {
|
74 |
+
if ( this.$elmt.hasClass( 'dynamic-tabs' ) ) {
|
75 |
+
var initPanel = this.$panels.data( 'init_panel' );
|
76 |
+
this.$panels.ditty_slider( {
|
77 |
+
transition : 'fade',
|
78 |
+
transitionEase : 'linear',
|
79 |
+
transitionSpeed : 0,
|
80 |
+
heightSpeed : 0,
|
81 |
+
initTransition : 'fade',
|
82 |
+
initTransitionEase : 'linear',
|
83 |
+
initTransitionSpeed : 0,
|
84 |
+
initHeightEase : 'linear',
|
85 |
+
initHeightSpeed : 0,
|
86 |
+
touchSwipe : false,
|
87 |
+
slidesEl : '.ditty-settings__panel',
|
88 |
+
slideId : ( '' !== initPanel ) ? initPanel : false
|
89 |
+
} );
|
90 |
+
}
|
91 |
},
|
92 |
|
93 |
/**
|
375 |
},
|
376 |
|
377 |
/**
|
378 |
+
* Listen for export checkbox click
|
379 |
*
|
380 |
+
* @since 3.0.17
|
381 |
* @return null
|
382 |
*/
|
383 |
+
_exportCheckboxClick: function( e ) {
|
384 |
+
var $checkbox = $( e.target ),
|
385 |
+
$group = $checkbox.parents( '.ditty-input--checkboxes__group' ),
|
386 |
+
$container = $checkbox.parents( '.ditty-field__input' ),
|
387 |
+
$button = $( '.ditty-export-button' ),
|
388 |
+
checkboxes = $group.find( 'input[type="checkbox"]' ),
|
389 |
+
isChecked = $checkbox.is( ':checked' ),
|
390 |
+
value = $checkbox.attr( 'value' );
|
391 |
+
|
392 |
+
if ( 'select_all' === value ) {
|
393 |
+
checkboxes.each( function() {
|
394 |
+
if ( $( this )[0] !== $checkbox[0] ) {
|
395 |
+
$( this ).prop( 'checked', isChecked );
|
396 |
+
}
|
397 |
+
} );
|
398 |
+
}
|
399 |
+
|
400 |
+
// Check if any checkboxes are selected
|
401 |
+
var enableButton = false;
|
402 |
+
checkboxes.each( function() {
|
403 |
+
if ( $( this ).is( ':checked' ) ) {
|
404 |
+
enableButton = true;
|
405 |
+
}
|
406 |
+
} );
|
407 |
+
|
408 |
+
if ( enableButton ) {
|
409 |
+
$button.attr( 'disabled', false );
|
410 |
+
} else {
|
411 |
+
$button.attr( 'disabled', 'disabled' );
|
412 |
+
}
|
413 |
+
},
|
|
|
|
|
|
|
414 |
|
415 |
/**
|
416 |
* Return a specific setting
|
482 |
this.$form.off( 'ditty_input_wysiwyg_update', '.ditty-input--wysiwyg', { self: this }, this._checkUpdates );
|
483 |
this.$form.off( 'click', '.ditty-default-layout-install', { self: this }, this._installLayout );
|
484 |
this.$form.off( 'click', '.ditty-default-display-install', { self: this }, this._installDisplay );
|
485 |
+
|
486 |
+
this.$form.off( 'click', '.ditty-export-posts input[type="checkbox"]', { self: this }, this._exportCheckboxClick );
|
487 |
|
488 |
this.$panels.ditty_slider( 'destroy' );
|
489 |
this.elmt._ditty_settings = null;
|
includes/js/admin/general.js
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/* global jQuery:true */
|
2 |
+
|
3 |
+
jQuery( function( $ ) {
|
4 |
+
|
5 |
+
// Setup strict mode
|
6 |
+
(function() {
|
7 |
+
|
8 |
+
"use strict";
|
9 |
+
|
10 |
+
$( '#menu-posts-ditty .wp-submenu li' ).each( function() {
|
11 |
+
var $item = $( this ),
|
12 |
+
$link = $item.children( 'a' );
|
13 |
+
|
14 |
+
if ( $link.length ) {
|
15 |
+
var href = $link[0].href,
|
16 |
+
parts = href.split( '=' ),
|
17 |
+
lastPart = parts[parts.length-1];
|
18 |
+
|
19 |
+
$item.addClass( lastPart );
|
20 |
+
}
|
21 |
+
} );
|
22 |
+
|
23 |
+
}() );
|
24 |
+
|
25 |
+
} );
|
includes/js/ditty-admin.js
CHANGED
@@ -2,6 +2,7 @@
|
|
2 |
/* global dittyAdminVars:true */
|
3 |
/* global console:true */
|
4 |
|
|
|
5 |
// @codekit-append 'admin/class-ditty-settings.js';
|
6 |
// @codekit-append 'admin/class-ditty-extension.js';
|
7 |
// @codekit-append 'admin/ditty-extensions.js';
|
2 |
/* global dittyAdminVars:true */
|
3 |
/* global console:true */
|
4 |
|
5 |
+
// @codekit-append 'admin/general.js';
|
6 |
// @codekit-append 'admin/class-ditty-settings.js';
|
7 |
// @codekit-append 'admin/class-ditty-extension.js';
|
8 |
// @codekit-append 'admin/ditty-extensions.js';
|
includes/js/ditty-admin.min.js
CHANGED
@@ -1,1194 +1 @@
|
|
1 |
-
/* global jQuery:true */
|
2 |
-
/* global dittyAdminVars:true */
|
3 |
-
/* global console:true */
|
4 |
-
|
5 |
-
// @codekit-append 'admin/class-ditty-settings.js';
|
6 |
-
// @codekit-append 'admin/class-ditty-extension.js';
|
7 |
-
// @codekit-append 'admin/ditty-extensions.js';
|
8 |
-
// @codekit-append 'admin/ditty-displays.js';
|
9 |
-
// @codekit-append 'admin/ditty-wizard.js';
|
10 |
-
|
11 |
-
jQuery( function( $ ) {
|
12 |
-
|
13 |
-
// Setup strict mode
|
14 |
-
(function() {
|
15 |
-
|
16 |
-
"use strict";
|
17 |
-
|
18 |
-
$( '#poststuff' ).trigger( 'ditty_init_fields' );
|
19 |
-
$( '#ditty-settings' ).ditty_settings();
|
20 |
-
|
21 |
-
}() );
|
22 |
-
|
23 |
-
} );
|
24 |
-
|
25 |
-
/**
|
26 |
-
* Ditty Settings
|
27 |
-
*
|
28 |
-
* @since 3.0
|
29 |
-
* @return null
|
30 |
-
*/
|
31 |
-
|
32 |
-
(function ($) {
|
33 |
-
'use strict';
|
34 |
-
|
35 |
-
var defaults = {
|
36 |
-
};
|
37 |
-
|
38 |
-
var Ditty_Settings = function ( elmt, options ) {
|
39 |
-
|
40 |
-
this.elmt = elmt;
|
41 |
-
this.settings = $.extend( {}, defaults, $.ditty_settings.defaults, options );
|
42 |
-
this.$elmt = $( elmt );
|
43 |
-
this.$form = this.$elmt.find( '.ditty-settings__form' );
|
44 |
-
this.$panels = this.$elmt.find( '.ditty-settings__panels' );
|
45 |
-
this.saveBtns = this.$elmt.find( '.ditty-settings__save' );
|
46 |
-
this.tabs = this.$elmt.find( '.ditty-settings__tab' );
|
47 |
-
this.$notice_update = this.$elmt.find( '.ditty-notification--updated' );
|
48 |
-
this.$notice_error = this.$elmt.find( '.ditty-notification--error' );
|
49 |
-
this.$notice_warning = this.$elmt.find( '.ditty-notification--warning' );
|
50 |
-
this.initData = null;
|
51 |
-
this.url = window.location.href;
|
52 |
-
this._init();
|
53 |
-
};
|
54 |
-
|
55 |
-
|
56 |
-
Ditty_Settings.prototype = {
|
57 |
-
|
58 |
-
/**
|
59 |
-
* Initialize the data list
|
60 |
-
*
|
61 |
-
* @since 3.0
|
62 |
-
* @return null
|
63 |
-
*/
|
64 |
-
_init: function () {
|
65 |
-
|
66 |
-
// Initialize the slider
|
67 |
-
this._initSlider();
|
68 |
-
|
69 |
-
// Add listeners
|
70 |
-
$( 'body' ).on( 'ditty_field_clone_update', { self: this }, this._enableSettingsUpdates );
|
71 |
-
this.saveBtns.on( 'click', { self: this }, this._submitForm );
|
72 |
-
this.tabs.on( 'click', { self: this }, this._tabClick );
|
73 |
-
this.$panels.on( 'ditty_slider_init', { self: this }, this._sliderInit );
|
74 |
-
this.$panels.on( 'ditty_slider_before_slide_update', { self: this }, this._beforeSlideUpdate );
|
75 |
-
this.$form.on( 'keyup change', 'input[type="text"], input[type="number"], textarea, select', { self: this }, this._checkUpdates );
|
76 |
-
this.$form.on( 'click', 'input[type="radio"], input[type="checkbox"]', { self: this }, this._checkUpdates );
|
77 |
-
this.$form.on( 'ditty_input_wysiwyg_update', '.ditty-input--wysiwyg', { self: this }, this._checkUpdates );
|
78 |
-
this.$form.on( 'click', '.ditty-default-layout-install', { self: this }, this._installLayout );
|
79 |
-
this.$form.on( 'click', '.ditty-default-display-install', { self: this }, this._installDisplay );
|
80 |
-
//this.$form.on( 'click', 'button[name="ditty_export_button"]', { self: this }, this._exportPosts );
|
81 |
-
|
82 |
-
if ( this.url.indexOf( "#" ) > 0 ) {
|
83 |
-
var activePanel = this.url.substring( this.url.indexOf( "#" ) + 1 );
|
84 |
-
this._activatePanel( activePanel );
|
85 |
-
}
|
86 |
-
},
|
87 |
-
|
88 |
-
/**
|
89 |
-
* Initialize the slider
|
90 |
-
*
|
91 |
-
* @since 3.0.13
|
92 |
-
* @return null
|
93 |
-
*/
|
94 |
-
_initSlider: function () {
|
95 |
-
var initPanel = this.$panels.data( 'init_panel' );
|
96 |
-
this.$panels.ditty_slider( {
|
97 |
-
transition : 'fade',
|
98 |
-
transitionEase : 'linear',
|
99 |
-
transitionSpeed : 0,
|
100 |
-
heightSpeed : 0,
|
101 |
-
initTransition : 'fade',
|
102 |
-
initTransitionEase : 'linear',
|
103 |
-
initTransitionSpeed : 0,
|
104 |
-
initHeightEase : 'linear',
|
105 |
-
initHeightSpeed : 0,
|
106 |
-
touchSwipe : false,
|
107 |
-
slidesEl : '.ditty-settings__panel',
|
108 |
-
slideId : ( '' !== initPanel ) ? initPanel : false
|
109 |
-
} );
|
110 |
-
},
|
111 |
-
|
112 |
-
/**
|
113 |
-
* Slider init
|
114 |
-
*
|
115 |
-
* @since 3.0
|
116 |
-
* @return null
|
117 |
-
*/
|
118 |
-
_sliderInit: function( e ) {
|
119 |
-
var self = e.data.self;
|
120 |
-
self.initData = self.$form.serialize();
|
121 |
-
},
|
122 |
-
|
123 |
-
/**
|
124 |
-
* Before slide update
|
125 |
-
*
|
126 |
-
* @since 3.0
|
127 |
-
* @return null
|
128 |
-
*/
|
129 |
-
_beforeSlideUpdate: function( e, index, slide ) {
|
130 |
-
var self = e.data.self;
|
131 |
-
self._initFields( slide.$elmt );
|
132 |
-
self.$elmt.find( '.ditty-settings__tab' ).removeClass( 'active' );
|
133 |
-
self.$elmt.find( '.ditty-settings__tab[data-panel="' + slide.id + '"]' ).addClass( 'active' );
|
134 |
-
},
|
135 |
-
|
136 |
-
/**
|
137 |
-
* Preview button add updates class
|
138 |
-
*
|
139 |
-
* @since 3.0
|
140 |
-
* @return null
|
141 |
-
*/
|
142 |
-
_enableSettingsUpdates: function( e ) {
|
143 |
-
var self = ( e ) ? e.data.self : this;
|
144 |
-
self.saveBtns.addClass( 'has-updates' );
|
145 |
-
//self.notice_warning.slideDown();
|
146 |
-
},
|
147 |
-
|
148 |
-
/**
|
149 |
-
* Preview button remove updates class
|
150 |
-
*
|
151 |
-
* @since 3.0
|
152 |
-
* @return null
|
153 |
-
*/
|
154 |
-
_disableSettingsUpdates: function() {
|
155 |
-
this.saveBtns.removeClass( 'has-updates' );
|
156 |
-
},
|
157 |
-
|
158 |
-
/**
|
159 |
-
* Check for updates
|
160 |
-
*
|
161 |
-
* @since 3.0
|
162 |
-
* @return null
|
163 |
-
*/
|
164 |
-
_checkUpdates: function( e ) {
|
165 |
-
var self = e ? e.data.self : this;
|
166 |
-
var currentData = self.$form.serialize();
|
167 |
-
if ( currentData !== self.initData ) {
|
168 |
-
self._enableSettingsUpdates();
|
169 |
-
} else {
|
170 |
-
self._disableSettingsUpdates();
|
171 |
-
}
|
172 |
-
},
|
173 |
-
|
174 |
-
/**
|
175 |
-
* Initialize dynamic fields
|
176 |
-
*
|
177 |
-
* @since 3.0
|
178 |
-
* @return null
|
179 |
-
*/
|
180 |
-
_initFields: function ( $fields ) {
|
181 |
-
$fields.find( '.ditty-data-list' ).ditty_ui_data_list();
|
182 |
-
$fields.trigger( 'ditty_init_fields' );
|
183 |
-
$.protip( {
|
184 |
-
defaults: {
|
185 |
-
position: 'top',
|
186 |
-
size: 'small',
|
187 |
-
scheme: 'black',
|
188 |
-
classes: 'ditty-protip'
|
189 |
-
}
|
190 |
-
} );
|
191 |
-
},
|
192 |
-
|
193 |
-
/**
|
194 |
-
* Show or hide post types
|
195 |
-
*
|
196 |
-
* @since 3.0
|
197 |
-
* @return null
|
198 |
-
*/
|
199 |
-
_togglePostTypes: function () {
|
200 |
-
if ( $( 'input[name="ditty_layout_ui"]' ).length ) {
|
201 |
-
var layoutUiVal = $( 'input[name="ditty_layout_ui"]:checked' ).val(),
|
202 |
-
$layoutMenu = $( '#adminmenu .wp-submenu > li > a[href="edit.php?post_type=ditty_layout"]' );
|
203 |
-
if ( 'disabled' === layoutUiVal ) {
|
204 |
-
$layoutMenu.hide();
|
205 |
-
} else {
|
206 |
-
$layoutMenu.css( 'display', 'block' );
|
207 |
-
}
|
208 |
-
}
|
209 |
-
if ( $( 'input[name="ditty_display_ui"]' ).length ) {
|
210 |
-
var displayUiVal = $( 'input[name="ditty_display_ui"]:checked' ).val(),
|
211 |
-
$displayMenu = $( '#adminmenu .wp-submenu > li > a[href="edit.php?post_type=ditty_display"]' );
|
212 |
-
if ( 'disabled' === displayUiVal ) {
|
213 |
-
$displayMenu.hide();
|
214 |
-
} else {
|
215 |
-
$displayMenu.css( 'display', 'block' );
|
216 |
-
}
|
217 |
-
}
|
218 |
-
},
|
219 |
-
|
220 |
-
/**
|
221 |
-
* Activate a panel
|
222 |
-
*
|
223 |
-
* @since 3.0.13
|
224 |
-
* @return null
|
225 |
-
*/
|
226 |
-
_activatePanel: function( panelId ) {
|
227 |
-
var $tab = this.$elmt.find( '.ditty-settings__tab[data-panel="' + panelId + '"]' );
|
228 |
-
if ( ! $tab.length ) {
|
229 |
-
return false;
|
230 |
-
}
|
231 |
-
|
232 |
-
this.$elmt.find( '.ditty-settings__tab' ).removeClass( 'active' );
|
233 |
-
$tab.addClass( 'active' );
|
234 |
-
|
235 |
-
this.$panels.ditty_slider( 'showSlideById', panelId );
|
236 |
-
},
|
237 |
-
|
238 |
-
/**
|
239 |
-
* Listen for a tab click
|
240 |
-
*
|
241 |
-
* @since 3.0
|
242 |
-
* @return null
|
243 |
-
*/
|
244 |
-
_tabClick: function( e ) {
|
245 |
-
e.preventDefault();
|
246 |
-
var self = e.data.self,
|
247 |
-
$tab = $( e.target ).is( 'a' ) ? $( e.target ) : $( e.target ).parent( 'a' ),
|
248 |
-
slideId = $tab.data( 'panel' ),
|
249 |
-
$currentTab = self.$elmt.find( '.ditty-settings__tab.active' );
|
250 |
-
|
251 |
-
if ( $currentTab === $tab ) {
|
252 |
-
return false;
|
253 |
-
}
|
254 |
-
|
255 |
-
var newUrl;
|
256 |
-
if ( slideId ) {
|
257 |
-
var hash = '#' + slideId;
|
258 |
-
newUrl = self.url.split("#")[0] + hash;
|
259 |
-
} else {
|
260 |
-
newUrl = self.url.split("#")[0];
|
261 |
-
}
|
262 |
-
history.replaceState( null, null, newUrl );
|
263 |
-
|
264 |
-
self._activatePanel( slideId );
|
265 |
-
},
|
266 |
-
|
267 |
-
/**
|
268 |
-
* Update inputs after save and sanitize
|
269 |
-
*
|
270 |
-
* @since 3.0
|
271 |
-
* @return null
|
272 |
-
*/
|
273 |
-
_upateInputs: function( updates ) {
|
274 |
-
$.each( updates, function( inputName, updatedValue ) {
|
275 |
-
if ( $( 'input[name="' + inputName + '"]' ).length ) {
|
276 |
-
$( 'input[name="' + inputName + '"]' ).val( updatedValue );
|
277 |
-
}
|
278 |
-
} );
|
279 |
-
},
|
280 |
-
|
281 |
-
/**
|
282 |
-
* Submit updates
|
283 |
-
*
|
284 |
-
* @since 3.0
|
285 |
-
* @return null
|
286 |
-
*/
|
287 |
-
_submitForm: function( e ) {
|
288 |
-
e.preventDefault();
|
289 |
-
var self = e.data.self;
|
290 |
-
|
291 |
-
if ( self.$elmt.hasClass( 'updating' ) ) {
|
292 |
-
return false;
|
293 |
-
}
|
294 |
-
|
295 |
-
self.$elmt.trigger( 'ditty_pre_save_fields' );
|
296 |
-
self.$elmt.addClass( 'updating' );
|
297 |
-
self.saveBtns.text( dittyAdminVars.adminStrings.settingsSaving );
|
298 |
-
|
299 |
-
self.$form.ajaxSubmit( {
|
300 |
-
url : dittyAdminVars.ajaxurl,
|
301 |
-
type : 'post',
|
302 |
-
dataType : 'json',
|
303 |
-
data : {
|
304 |
-
action : 'ditty_settings_save',
|
305 |
-
security : dittyAdminVars.security
|
306 |
-
},
|
307 |
-
success: function( data ) {
|
308 |
-
if ( data.input_updates ) {
|
309 |
-
self._upateInputs( data.input_updates );
|
310 |
-
}
|
311 |
-
self.initData = self.$form.serialize();
|
312 |
-
self.saveBtns.text( dittyAdminVars.adminStrings.settings_updated );
|
313 |
-
setTimeout( function() {
|
314 |
-
self.saveBtns.text( dittyAdminVars.adminStrings.settings_save );
|
315 |
-
}, 2000 );
|
316 |
-
self.$elmt.removeClass( 'updating' );
|
317 |
-
self._disableSettingsUpdates();
|
318 |
-
|
319 |
-
//self.$notice_update.slideDown();
|
320 |
-
|
321 |
-
// Check the post types display
|
322 |
-
self._togglePostTypes();
|
323 |
-
}
|
324 |
-
} );
|
325 |
-
},
|
326 |
-
|
327 |
-
/**
|
328 |
-
* Install a layout
|
329 |
-
*
|
330 |
-
* @since 3.0
|
331 |
-
* @return null
|
332 |
-
*/
|
333 |
-
_installLayout: function( e ) {
|
334 |
-
e.preventDefault();
|
335 |
-
var self = e.data.self,
|
336 |
-
$button = $( e.target ).is( 'button' ) ? $( e.target ) : $( e.target ).parents( 'button' ),
|
337 |
-
$icon = $button.find( 'i' ),
|
338 |
-
iconClass = $icon.attr( 'class' );
|
339 |
-
|
340 |
-
if ( $button.hasClass( 'updating' ) ) {
|
341 |
-
return false;
|
342 |
-
}
|
343 |
-
$button.addClass( 'updating' );
|
344 |
-
$icon.attr( 'class', dittyAdminVars.updateIcon );
|
345 |
-
|
346 |
-
var data = {
|
347 |
-
action : 'ditty_install_layout',
|
348 |
-
layout_template : $button.data( 'layout_template' ),
|
349 |
-
layout_version : $button.data( 'layout_version' ),
|
350 |
-
security : dittyAdminVars.security
|
351 |
-
};
|
352 |
-
$.post( dittyAdminVars.ajaxurl, data, function( response ) {
|
353 |
-
$icon.attr( 'class', iconClass );
|
354 |
-
self.$elmt.removeClass( 'updating' );
|
355 |
-
if ( response ) {
|
356 |
-
$button.replaceWith( response.button );
|
357 |
-
}
|
358 |
-
} );
|
359 |
-
},
|
360 |
-
|
361 |
-
/**
|
362 |
-
* Install a display
|
363 |
-
*
|
364 |
-
* @since 3.0
|
365 |
-
* @return null
|
366 |
-
*/
|
367 |
-
_installDisplay: function( e ) {
|
368 |
-
e.preventDefault();
|
369 |
-
var self = e.data.self,
|
370 |
-
$button = $( e.target ).is( 'button' ) ? $( e.target ) : $( e.target ).parents( 'button' ),
|
371 |
-
$icon = $button.find( 'i' ),
|
372 |
-
iconClass = $icon.attr( 'class' );
|
373 |
-
|
374 |
-
if ( $button.hasClass( 'updating' ) ) {
|
375 |
-
return false;
|
376 |
-
}
|
377 |
-
$button.addClass( 'updating' );
|
378 |
-
$icon.attr( 'class', dittyAdminVars.updateIcon );
|
379 |
-
|
380 |
-
var data = {
|
381 |
-
action : 'ditty_install_display',
|
382 |
-
display_type : $button.data( 'display_type' ),
|
383 |
-
display_template : $button.data( 'display_template' ),
|
384 |
-
display_version : $button.data( 'display_version' ),
|
385 |
-
security : dittyAdminVars.security
|
386 |
-
};
|
387 |
-
$.post( dittyAdminVars.ajaxurl, data, function( response ) {
|
388 |
-
$icon.attr( 'class', iconClass );
|
389 |
-
self.$elmt.removeClass( 'updating' );
|
390 |
-
if ( response ) {
|
391 |
-
$button.replaceWith( response.button );
|
392 |
-
}
|
393 |
-
} );
|
394 |
-
},
|
395 |
-
|
396 |
-
/**
|
397 |
-
* Export posts
|
398 |
-
*
|
399 |
-
* @since 3.0.13
|
400 |
-
* @return null
|
401 |
-
*/
|
402 |
-
// _exportPosts: function( e ) {
|
403 |
-
// e.preventDefault();
|
404 |
-
// var self = e.data.self,
|
405 |
-
// $button = $( e.target ).is( 'button' ) ? $( e.target ) : $( e.target ).parents( 'button' ),
|
406 |
-
// $parent = $button.parent( '.ditty-field-only' ),
|
407 |
-
// $options = $parent.siblings( '.ditty-field-only--ditty_export_options' ),
|
408 |
-
// $icon = $button.find( 'i' ),
|
409 |
-
// export_options = [];
|
410 |
-
//
|
411 |
-
// if ( $button.attr( 'disabled' ) ) {
|
412 |
-
// return false;
|
413 |
-
// }
|
414 |
-
// $button.attr( 'disabled', 'disabled' );
|
415 |
-
// $icon.show();
|
416 |
-
//
|
417 |
-
// if ( $options.length ) {
|
418 |
-
// $options.find( 'input[type="checkbox"]' ).each( function() {
|
419 |
-
// if ( $( this ).is( ':checked' ) ) {
|
420 |
-
// export_options.push( $( this ).val() );
|
421 |
-
// }
|
422 |
-
// } );
|
423 |
-
// }
|
424 |
-
//
|
425 |
-
// var data = {
|
426 |
-
// action : 'ditty_export_posts',
|
427 |
-
// export_type : $button.data( 'export_type' ),
|
428 |
-
// export_options : export_options,
|
429 |
-
// security : dittyAdminVars.security
|
430 |
-
// };
|
431 |
-
// $.post( dittyAdminVars.ajaxurl, data, function( response ) {
|
432 |
-
// $icon.hide();
|
433 |
-
// self.$elmt.removeAttr( 'disabled' );
|
434 |
-
// } );
|
435 |
-
// },
|
436 |
-
|
437 |
-
/**
|
438 |
-
* Return a specific setting
|
439 |
-
*
|
440 |
-
* @since 3.0
|
441 |
-
* @return null
|
442 |
-
*/
|
443 |
-
_options: function ( key ) {
|
444 |
-
return this.settings[key];
|
445 |
-
},
|
446 |
-
|
447 |
-
/**
|
448 |
-
* Setup triggers
|
449 |
-
*
|
450 |
-
* @since 3.0
|
451 |
-
* @return null
|
452 |
-
*/
|
453 |
-
trigger: function ( fn, customParams ) {
|
454 |
-
var params = [this.settings];
|
455 |
-
if ( customParams ) {
|
456 |
-
params = customParams;
|
457 |
-
}
|
458 |
-
|
459 |
-
this.$elmt.trigger( 'ditty_settings_' + fn, params );
|
460 |
-
|
461 |
-
if ( typeof this.settings[fn] === 'function' ) {
|
462 |
-
this.settings[fn].apply( this.$elmt, params );
|
463 |
-
}
|
464 |
-
},
|
465 |
-
|
466 |
-
/**
|
467 |
-
* Allow settings to be modified
|
468 |
-
*
|
469 |
-
* @since 3.0
|
470 |
-
* @return null
|
471 |
-
*/
|
472 |
-
options: function ( key, value ) {
|
473 |
-
|
474 |
-
if ( typeof key === 'object' ) {
|
475 |
-
this.settings = $.extend( {}, defaults, $.ditty_settings.defaults, key );
|
476 |
-
} else if ( typeof key === 'string' ) {
|
477 |
-
if ( value === undefined ) {
|
478 |
-
return this.settings[key];
|
479 |
-
}
|
480 |
-
this.settings[key] = value;
|
481 |
-
} else {
|
482 |
-
return this.settings;
|
483 |
-
}
|
484 |
-
|
485 |
-
this.trigger( 'options_update' );
|
486 |
-
},
|
487 |
-
|
488 |
-
/**
|
489 |
-
* Destroy the editor
|
490 |
-
*
|
491 |
-
* @since 3.0
|
492 |
-
* @return null
|
493 |
-
*/
|
494 |
-
destroy: function () {
|
495 |
-
|
496 |
-
// Remove listeners
|
497 |
-
$( 'body' ).off( 'ditty_field_clone_update', { self: this }, this._enableSettingsUpdates );
|
498 |
-
this.saveBtns.off( 'click', { self: this }, this._submitForm );
|
499 |
-
this.tabs.off( 'click', { self: this }, this._tabClick );
|
500 |
-
this.$panels.off( 'ditty_slider_init', { self: this }, this._sliderInit );
|
501 |
-
this.$panels.off( 'ditty_slider_before_slide_update', { self: this }, this._beforeSlideUpdate );
|
502 |
-
this.$form.off( 'keyup change', 'input[type="text"], input[type="number"], textarea, select', { self: this }, this._checkUpdates );
|
503 |
-
this.$form.off( 'click', 'input[type="radio"], input[type="checkbox"]', { self: this }, this._checkUpdates );
|
504 |
-
this.$form.off( 'ditty_input_wysiwyg_update', '.ditty-input--wysiwyg', { self: this }, this._checkUpdates );
|
505 |
-
this.$form.off( 'click', '.ditty-default-layout-install', { self: this }, this._installLayout );
|
506 |
-
this.$form.off( 'click', '.ditty-default-display-install', { self: this }, this._installDisplay );
|
507 |
-
//this.$form.off( 'click', 'button[name="ditty_export_button"]', { self: this }, this._exportPosts );
|
508 |
-
|
509 |
-
this.$panels.ditty_slider( 'destroy' );
|
510 |
-
this.elmt._ditty_settings = null;
|
511 |
-
}
|
512 |
-
};
|
513 |
-
|
514 |
-
/**
|
515 |
-
* Create the data list
|
516 |
-
*
|
517 |
-
* @since 3.0
|
518 |
-
* @return null
|
519 |
-
*/
|
520 |
-
$.fn.ditty_settings = function( options ) {
|
521 |
-
var args = arguments,
|
522 |
-
error = false,
|
523 |
-
returns;
|
524 |
-
|
525 |
-
if ( options === undefined || typeof options === 'object' ) {
|
526 |
-
return this.each( function () {
|
527 |
-
if ( ! this._ditty_settings ) {
|
528 |
-
this._ditty_settings = new Ditty_Settings( this, options );
|
529 |
-
}
|
530 |
-
});
|
531 |
-
} else if ( typeof options === 'string' ) {
|
532 |
-
this.each( function () {
|
533 |
-
var instance = this._ditty_settings;
|
534 |
-
|
535 |
-
if ( ! instance ) {
|
536 |
-
throw new Error( 'No Ditty_Settings applied to this element.' );
|
537 |
-
}
|
538 |
-
if ( typeof instance[options] === 'function' && options[0] !== '_' ) {
|
539 |
-
returns = instance[options].apply( instance, [].slice.call( args, 1 ) );
|
540 |
-
} else {
|
541 |
-
error = true;
|
542 |
-
}
|
543 |
-
} );
|
544 |
-
|
545 |
-
if ( error ) {
|
546 |
-
throw new Error( 'No method "' + options + '" in Ditty_Settings.' );
|
547 |
-
}
|
548 |
-
|
549 |
-
return returns !== undefined ? returns : this;
|
550 |
-
}
|
551 |
-
};
|
552 |
-
|
553 |
-
$.ditty_settings = {};
|
554 |
-
$.ditty_settings.defaults = defaults;
|
555 |
-
|
556 |
-
} )( jQuery );
|
557 |
-
|
558 |
-
|
559 |
-
/**
|
560 |
-
* Ditty Extension class
|
561 |
-
*
|
562 |
-
* @since 3.0
|
563 |
-
* @return null
|
564 |
-
*/
|
565 |
-
|
566 |
-
(function ($) {
|
567 |
-
'use strict';
|
568 |
-
|
569 |
-
var defaults = {
|
570 |
-
};
|
571 |
-
|
572 |
-
var Ditty_Extension = function ( elmt, options ) {
|
573 |
-
|
574 |
-
this.elmt = elmt;
|
575 |
-
this.settings = $.extend( {}, defaults, $.ditty_extension.defaults, options );
|
576 |
-
this.$elmt = $( elmt );
|
577 |
-
this.$panels = $( elmt ).find( '.ditty-extension__panels' );
|
578 |
-
this.initPanel = this.$panels.data( 'init_panel' );
|
579 |
-
|
580 |
-
this._init();
|
581 |
-
};
|
582 |
-
|
583 |
-
Ditty_Extension.prototype = {
|
584 |
-
|
585 |
-
_init: function () {
|
586 |
-
|
587 |
-
// Add listeners
|
588 |
-
this.$elmt.on( 'click', '.ditty-extension__tab', { self: this }, this._tabClick );
|
589 |
-
this.$elmt.on( 'click', 'button[name="submit"]', { self: this }, this._updatePanel );
|
590 |
-
this.$elmt.on( 'click', '.ditty-extension__license__submit', { self: this, action: 'ditty_extension_license_activate' }, this._licenseUpdate );
|
591 |
-
this.$elmt.on( 'click', '.ditty-extension__license__refresh', { self: this, action: 'ditty_extension_license_refresh' }, this._licenseUpdate );
|
592 |
-
this.$elmt.on( 'click', '.ditty-extension__license__deactivate', { self: this, action: 'ditty_extension_license_deactivate' }, this._licenseUpdate );
|
593 |
-
this.$panels.on( 'ditty_slider_before_slide_update', { self: this }, this._beforePanelUpdate );
|
594 |
-
this._initSlider();
|
595 |
-
},
|
596 |
-
|
597 |
-
/**
|
598 |
-
* Initialize the slider
|
599 |
-
*
|
600 |
-
* @since 3.0
|
601 |
-
* @return null
|
602 |
-
*/
|
603 |
-
_initSlider: function () {
|
604 |
-
var args = {
|
605 |
-
transition : 'fade',
|
606 |
-
transitionSpeed : 0.75,
|
607 |
-
heightSpeed : 0.75,
|
608 |
-
touchSwipe : false,
|
609 |
-
slidesEl : '.ditty-extension__panel',
|
610 |
-
slideId : ( '' !== this.initPanel ) ? this.initPanel : false
|
611 |
-
};
|
612 |
-
this.$panels.ditty_slider( args );
|
613 |
-
},
|
614 |
-
|
615 |
-
/**
|
616 |
-
* Initialize the slider
|
617 |
-
*
|
618 |
-
* @since 3.0
|
619 |
-
* @return null
|
620 |
-
*/
|
621 |
-
_beforePanelUpdate: function ( e, index, slide ) {
|
622 |
-
var self = e.data.self;
|
623 |
-
self.$elmt.find( '.ditty-extension__tab' ).removeClass( 'active' );
|
624 |
-
self.$elmt.find( '.ditty-extension__tab[data-slide_id="' + slide.id + '"]' ).addClass( 'active' );
|
625 |
-
},
|
626 |
-
|
627 |
-
/**
|
628 |
-
* Tab click
|
629 |
-
*
|
630 |
-
* @since 3.0
|
631 |
-
* @return null
|
632 |
-
*/
|
633 |
-
_tabClick: function ( e ) {
|
634 |
-
e.preventDefault();
|
635 |
-
var self = e.data.self;
|
636 |
-
var $tab = $( this ),
|
637 |
-
slideId = $tab.data( 'slide_id' ),
|
638 |
-
transition = 'slideLeft',
|
639 |
-
$currentTab = self.$elmt.find( '.ditty-extension__tab.active' );
|
640 |
-
|
641 |
-
if ( $currentTab === $tab ) {
|
642 |
-
return false;
|
643 |
-
}
|
644 |
-
|
645 |
-
if ( $tab.index() < $currentTab.index() ) {
|
646 |
-
transition = 'slideRight';
|
647 |
-
}
|
648 |
-
|
649 |
-
//self.$elmt.find( '.ditty-extension__tab' ).removeClass( 'active' );
|
650 |
-
//$tab.addClass( 'active' );
|
651 |
-
|
652 |
-
self.$panels.ditty_slider( 'options', 'transition', transition );
|
653 |
-
self.$panels.ditty_slider( 'showSlideById', slideId );
|
654 |
-
},
|
655 |
-
|
656 |
-
/**
|
657 |
-
* Panel update listener
|
658 |
-
*
|
659 |
-
* @since 3.0
|
660 |
-
* @return null
|
661 |
-
*/
|
662 |
-
_updatePanel: function ( e ) {
|
663 |
-
e.preventDefault();
|
664 |
-
var self = e.data.self;
|
665 |
-
|
666 |
-
var $button = $( this ),
|
667 |
-
$panel = $button.parents( '.ditty-extension__panel' ),
|
668 |
-
$form = $button.parents( '.ditty-extension__form' ),
|
669 |
-
$icon = $button.find( 'i' ),
|
670 |
-
iconClass = $icon.attr( 'class' ),
|
671 |
-
extension = self.$elmt.data( 'extension' ),
|
672 |
-
panel = $panel.data( 'slide_id' );
|
673 |
-
|
674 |
-
if ( self.$elmt.hasClass( 'updating' ) ) {
|
675 |
-
return false;
|
676 |
-
}
|
677 |
-
|
678 |
-
self.$elmt.addClass( 'updating' );
|
679 |
-
$icon.attr( 'class', dittyAdminVars.updateIcon );
|
680 |
-
|
681 |
-
$form.ajaxSubmit( {
|
682 |
-
url : dittyAdminVars.ajaxurl,
|
683 |
-
type : 'post',
|
684 |
-
dataType : 'json',
|
685 |
-
data : {
|
686 |
-
action : 'ditty_extension_panel_update',
|
687 |
-
extension : extension,
|
688 |
-
panel : panel,
|
689 |
-
security : dittyAdminVars.security
|
690 |
-
},
|
691 |
-
success: function( response ) {
|
692 |
-
$icon.attr( 'class', iconClass );
|
693 |
-
self.$elmt.removeClass( 'updating' );
|
694 |
-
$( '#ditty-extensions' ).trigger( 'ditty_extension_panel_updated', [ response, self.$elmt, $panel ] );
|
695 |
-
}
|
696 |
-
} );
|
697 |
-
},
|
698 |
-
|
699 |
-
/**
|
700 |
-
* Update a license
|
701 |
-
*
|
702 |
-
* @since 3.0
|
703 |
-
* @return null
|
704 |
-
*/
|
705 |
-
_licenseUpdate: function ( e ) {
|
706 |
-
e.preventDefault();
|
707 |
-
var self = e.data.self,
|
708 |
-
action = e.data.action;
|
709 |
-
|
710 |
-
var $button = $( this ),
|
711 |
-
$message = self.$elmt.find( '.ditty-extension__license__message' ),
|
712 |
-
$input = $button.siblings( '.ditty-extension__license__input' ),
|
713 |
-
license = $input.val(),
|
714 |
-
extension = $button.data( 'extension' ),
|
715 |
-
extensionId = $button.data( 'extension_id' ),
|
716 |
-
extensionName = $button.data( 'extension_name' ),
|
717 |
-
$icon = $button.children( 'i' );
|
718 |
-
|
719 |
-
if ( self.$elmt.hasClass( 'updating' ) ) {
|
720 |
-
return false;
|
721 |
-
}
|
722 |
-
|
723 |
-
self.$elmt.addClass( 'updating' );
|
724 |
-
$icon.attr( 'class', dittyAdminVars.updateIcon );
|
725 |
-
|
726 |
-
// Load the new display data
|
727 |
-
var data = {
|
728 |
-
action : action,
|
729 |
-
license : license,
|
730 |
-
extension : extension,
|
731 |
-
extension_id : extensionId,
|
732 |
-
extension_name : extensionName,
|
733 |
-
security : dittyAdminVars.security
|
734 |
-
};
|
735 |
-
$.post( dittyAdminVars.ajaxurl, data, function( response ) {
|
736 |
-
if ( response ) {
|
737 |
-
self.$elmt.attr( 'data-license_status', response.status );
|
738 |
-
$message.html( response.message );
|
739 |
-
}
|
740 |
-
if ( response.license_key ) {
|
741 |
-
if ( 'DELETE' === response.license_key ) {
|
742 |
-
$input.val( '' );
|
743 |
-
} else {
|
744 |
-
$input.val( response.license_key );
|
745 |
-
}
|
746 |
-
}
|
747 |
-
$icon.attr( 'class', $icon.data( 'class' ) );
|
748 |
-
self.$elmt.removeClass( 'updating' );
|
749 |
-
}, 'json' );
|
750 |
-
},
|
751 |
-
|
752 |
-
/**
|
753 |
-
* Return data for the object
|
754 |
-
*
|
755 |
-
* @since 3.0
|
756 |
-
* @return null
|
757 |
-
*/
|
758 |
-
_getOption: function( key ) {
|
759 |
-
switch( key ) {
|
760 |
-
default:
|
761 |
-
return this.settings[key];
|
762 |
-
}
|
763 |
-
},
|
764 |
-
|
765 |
-
/**
|
766 |
-
* Set data for the object
|
767 |
-
*
|
768 |
-
* @since 3.0
|
769 |
-
* @return null
|
770 |
-
*/
|
771 |
-
_setOption: function( key, value ) {
|
772 |
-
if ( undefined === value ) {
|
773 |
-
return false;
|
774 |
-
}
|
775 |
-
|
776 |
-
this.settings[key] = value;
|
777 |
-
},
|
778 |
-
|
779 |
-
/**
|
780 |
-
* Get or set ditty options
|
781 |
-
*
|
782 |
-
* @since 3.0
|
783 |
-
* @return null
|
784 |
-
*/
|
785 |
-
options: function ( key, value ) {
|
786 |
-
var self = this;
|
787 |
-
if ( typeof key === 'object' ) {
|
788 |
-
$.each( key, function( k, v ) {
|
789 |
-
self._setOption( k, v );
|
790 |
-
});
|
791 |
-
} else if ( typeof key === 'string' ) {
|
792 |
-
if ( value === undefined ) {
|
793 |
-
return self._getOption( key );
|
794 |
-
}
|
795 |
-
self._setOption( key, value );
|
796 |
-
} else {
|
797 |
-
return self.settings;
|
798 |
-
}
|
799 |
-
},
|
800 |
-
|
801 |
-
/**
|
802 |
-
* Destroy this object
|
803 |
-
*
|
804 |
-
* @since 3.0
|
805 |
-
* @return null
|
806 |
-
*/
|
807 |
-
destroy: function () {
|
808 |
-
// Remove listeners
|
809 |
-
this.$elmt.off( 'click', '.ditty-extension__tab', { self: this }, this._tabClick );
|
810 |
-
this.$elmt.off( 'click', 'button[name="submit"]', { self: this }, this._updatePanel );
|
811 |
-
this.$elmt.off( 'click', '.ditty-extension__license__submit, .ditty-extension__license__refresh', { self: this, action: 'ditty_extension_license_activate' }, this._licenseUpdate );
|
812 |
-
this.$elmt.off( 'click', '.ditty-extension__license__deactivate', { self: this, action: 'ditty_extension_license_deactivate' }, this._licenseUpdate );
|
813 |
-
this.$panels.off( 'ditty_slider_after_slide_update', { self: this }, this._afterPanelUpdate );
|
814 |
-
|
815 |
-
this.$panels.ditty_slider( 'destroy' );
|
816 |
-
this.elmt._ditty_extension = null;
|
817 |
-
}
|
818 |
-
};
|
819 |
-
|
820 |
-
$.fn.ditty_extension = function( options ) {
|
821 |
-
var args = arguments,
|
822 |
-
error = false,
|
823 |
-
returns;
|
824 |
-
|
825 |
-
if ( options === undefined || typeof options === 'object' ) {
|
826 |
-
return this.each( function () {
|
827 |
-
if ( ! this._ditty_extension ) {
|
828 |
-
this._ditty_extension = new Ditty_Extension( this, options );
|
829 |
-
}
|
830 |
-
});
|
831 |
-
} else if ( typeof options === 'string' ) {
|
832 |
-
this.each( function () {
|
833 |
-
var instance = this._ditty_extension;
|
834 |
-
|
835 |
-
if ( ! instance ) {
|
836 |
-
throw new Error( 'No Ditty_Extension applied to this element.' );
|
837 |
-
}
|
838 |
-
if ( typeof instance[options] === 'function' && options[0] !== '_' ) {
|
839 |
-
returns = instance[options].apply( instance, [].slice.call( args, 1 ) );
|
840 |
-
} else {
|
841 |
-
error = true;
|
842 |
-
}
|
843 |
-
} );
|
844 |
-
|
845 |
-
if ( error ) {
|
846 |
-
throw new Error( 'No method "' + options + '" in Ditty_Extension.' );
|
847 |
-
}
|
848 |
-
|
849 |
-
return returns !== undefined ? returns : this;
|
850 |
-
}
|
851 |
-
};
|
852 |
-
|
853 |
-
$.ditty_extension = {};
|
854 |
-
$.ditty_extension.defaults = defaults;
|
855 |
-
|
856 |
-
} )( jQuery );
|
857 |
-
|
858 |
-
|
859 |
-
|
860 |
-
jQuery( function( $ ) {
|
861 |
-
// Setup strict mode
|
862 |
-
(function() {
|
863 |
-
|
864 |
-
"use strict";
|
865 |
-
|
866 |
-
// Setup protip
|
867 |
-
$.protip( {
|
868 |
-
defaults: {
|
869 |
-
position: 'top',
|
870 |
-
size: 'small',
|
871 |
-
scheme: 'black',
|
872 |
-
classes: 'ditty-protip'
|
873 |
-
}
|
874 |
-
} );
|
875 |
-
|
876 |
-
/**
|
877 |
-
* Listen for an accordion toggle click
|
878 |
-
*
|
879 |
-
* @since 3.0
|
880 |
-
* @return null
|
881 |
-
*/
|
882 |
-
// $( '#ditty-extensions' ).on( 'click', '.ditty-accordion__toggle', function( e ) {
|
883 |
-
// e.preventDefault();
|
884 |
-
// var $accordion = $( this ).parent(),
|
885 |
-
// $content = $( this ).next();
|
886 |
-
//
|
887 |
-
// if ( $accordion.hasClass( 'active' ) ) {
|
888 |
-
// $accordion.removeClass( 'active' );
|
889 |
-
// $content.stop().slideUp( { duration: 750, easing: "easeInOutQuint" } );
|
890 |
-
// } else {
|
891 |
-
// $accordion.addClass( 'active' );
|
892 |
-
// $content.stop().slideDown( { duration: 750, easing: "easeInOutQuint" }, function() {
|
893 |
-
// $content.css( 'height', 'auto' );
|
894 |
-
// } );
|
895 |
-
// }
|
896 |
-
// } );
|
897 |
-
//
|
898 |
-
/**
|
899 |
-
* Initialize the extensions
|
900 |
-
*
|
901 |
-
* @since 3.0
|
902 |
-
* @return null
|
903 |
-
*/
|
904 |
-
function ditty_extensions_init() {
|
905 |
-
$( '#ditty-extensions' ).find( '.ditty-extension' ).each( function( index ) {
|
906 |
-
|
907 |
-
var $extension = $( this ),
|
908 |
-
$panels = $extension.find( '.ditty-extension__panels' );
|
909 |
-
|
910 |
-
if ( $panels.length ) {
|
911 |
-
$extension.ditty_extension();
|
912 |
-
}
|
913 |
-
|
914 |
-
$( '#ditty-extensions' ).trigger( 'ditty_init_fields' );
|
915 |
-
|
916 |
-
setTimeout( function() {
|
917 |
-
$extension.addClass( 'ditty-extension--init' );
|
918 |
-
}, index * 250 );
|
919 |
-
|
920 |
-
} );
|
921 |
-
}
|
922 |
-
ditty_extensions_init();
|
923 |
-
|
924 |
-
}() );
|
925 |
-
|
926 |
-
} );
|
927 |
-
|
928 |
-
|
929 |
-
jQuery( function( $ ) {
|
930 |
-
// Setup strict mode
|
931 |
-
(function() {
|
932 |
-
|
933 |
-
"use strict";
|
934 |
-
|
935 |
-
var isDisplayPost = ( $( 'input[name="post_type"]' ).length && 'ditty_display' == $( 'input[name="post_type"]' ).val() ),
|
936 |
-
ajaxSubmitComplete = false;
|
937 |
-
|
938 |
-
$( 'form#post' ).on( 'submit', function( e ) {
|
939 |
-
if ( isDisplayPost && ! ajaxSubmitComplete ) {
|
940 |
-
e.preventDefault();
|
941 |
-
|
942 |
-
var $button = $( '#publishing-action' ).children( 'input[type="submit"]' ),
|
943 |
-
$spinner = $( '#publishing-action' ).children( '.spinner' );
|
944 |
-
|
945 |
-
$button.attr( 'disabled', 'disabled' );
|
946 |
-
$spinner.css( 'visibility', 'visible' );
|
947 |
-
|
948 |
-
var data = {
|
949 |
-
action : 'ditty_admin_display_update',
|
950 |
-
display_id : $( 'input[name="post_ID"]' ).val(),
|
951 |
-
security : dittyAdminVars.security
|
952 |
-
};
|
953 |
-
$( '#ditty-display-settings' ).ajaxSubmit( {
|
954 |
-
url : dittyAdminVars.ajaxurl,
|
955 |
-
type : 'post',
|
956 |
-
dataType : 'json',
|
957 |
-
data : data,
|
958 |
-
success: function( response ) {
|
959 |
-
ajaxSubmitComplete = true;
|
960 |
-
$( 'form#post' ).submit();
|
961 |
-
}
|
962 |
-
} );
|
963 |
-
}
|
964 |
-
} );
|
965 |
-
|
966 |
-
}() );
|
967 |
-
|
968 |
-
} );
|
969 |
-
|
970 |
-
|
971 |
-
jQuery( function( $ ) {
|
972 |
-
// Setup strict mode
|
973 |
-
(function() {
|
974 |
-
|
975 |
-
"use strict";
|
976 |
-
|
977 |
-
var dittyWizardValues = {};
|
978 |
-
|
979 |
-
/**
|
980 |
-
* Ditty title
|
981 |
-
*
|
982 |
-
* @since 3.0.13
|
983 |
-
*/
|
984 |
-
$( '.ditty-wizard-setting--title input[name="ditty_title"]' ).on( 'keyup', function() {
|
985 |
-
var $setting = $( this ).parents( '.ditty-wizard-setting' ),
|
986 |
-
val = $( this ).val();
|
987 |
-
|
988 |
-
if ( '' !== val ) {
|
989 |
-
$setting.addClass( 'complete' );
|
990 |
-
|
991 |
-
// Show the layout settings
|
992 |
-
$( '.ditty-wizard-setting--item-type').css( 'display', 'flex' );
|
993 |
-
}
|
994 |
-
dittyWizardValues.title = val;
|
995 |
-
} );
|
996 |
-
|
997 |
-
/**
|
998 |
-
* Item Type
|
999 |
-
*
|
1000 |
-
* @since 3.0.13
|
1001 |
-
*/
|
1002 |
-
$( '.ditty-wizard-setting--item-type .ditty-option-grid__item' ).on( 'click', function( e ) {
|
1003 |
-
e.preventDefault();
|
1004 |
-
var $setting = $( this ).parents( '.ditty-wizard-setting' ),
|
1005 |
-
slug = $( this ).data( 'value' );
|
1006 |
-
|
1007 |
-
if ( ! $( this ).hasClass( 'active' ) ) {
|
1008 |
-
|
1009 |
-
$( this ).siblings().removeClass( 'active' );
|
1010 |
-
$( this ).addClass( 'active' );
|
1011 |
-
|
1012 |
-
// Reset & show item type settings
|
1013 |
-
$( '.ditty-wizard-setting--item-type-settings' ).removeClass( 'complete' );
|
1014 |
-
$( '.ditty-wizard-setting--item-type-settings .ditty-option-submit' ).addClass( 'ditty-button--primary' );
|
1015 |
-
$( '.ditty-wizard-setting--item-type-settings').css( 'display', 'flex' );
|
1016 |
-
|
1017 |
-
// Display the correct item type settings group
|
1018 |
-
var $itemSettings = $( '.ditty-item-type-settings__group[data-id="' + slug + '"]' );
|
1019 |
-
$( '.ditty-item-type-settings__group' ).removeClass( 'active' ).hide();
|
1020 |
-
$itemSettings.addClass( 'active' ).show();
|
1021 |
-
$itemSettings.trigger( 'ditty_init_fields' );
|
1022 |
-
if ( ! $itemSettings.hasClass( 'init' ) ) {
|
1023 |
-
$itemSettings.trigger( 'ditty_wizard_init', [slug] );
|
1024 |
-
$itemSettings.addClass( 'init' );
|
1025 |
-
}
|
1026 |
-
|
1027 |
-
// Reset the layout settings
|
1028 |
-
$( '.ditty-wizard-setting--layout' ).removeClass( 'complete' );
|
1029 |
-
$( '.ditty-wizard-setting--layout .ditty-option-grid__item' ).removeClass( 'active' );
|
1030 |
-
$( '.ditty-wizard-setting--layout').hide();
|
1031 |
-
|
1032 |
-
// Display the correct layout variation settings group
|
1033 |
-
$( '.ditty-wizard-setting--layout__variation' ).removeClass( 'complete' ).removeClass( 'active' ).hide();
|
1034 |
-
$( '.ditty-wizard-setting--layout__variation.' + slug ).addClass( 'active' ).show();
|
1035 |
-
|
1036 |
-
// Reset the display settings
|
1037 |
-
$( '.ditty-wizard-setting--display' ).removeClass( 'complete' );
|
1038 |
-
$( '.ditty-wizard-setting--display .ditty-option-grid__item' ).removeClass( 'active' );
|
1039 |
-
$( '.ditty-wizard-setting--display').hide();
|
1040 |
-
|
1041 |
-
// Reset the submit settings
|
1042 |
-
$( '.ditty-wizard-setting--submit').hide();
|
1043 |
-
|
1044 |
-
// Add to the initialize object
|
1045 |
-
dittyWizardValues.itemType = $( this ).data( 'value' );
|
1046 |
-
|
1047 |
-
// Animate to the next setting
|
1048 |
-
if ( ! $setting.hasClass( 'complete' ) ) {
|
1049 |
-
$setting.addClass( 'complete' );
|
1050 |
-
$( [document.documentElement, document.body] ).stop().animate( {
|
1051 |
-
scrollTop: $( '.ditty-wizard-setting--item-type-settings' ).offset().top
|
1052 |
-
}, 700 );
|
1053 |
-
}
|
1054 |
-
}
|
1055 |
-
} );
|
1056 |
-
|
1057 |
-
/**
|
1058 |
-
* Item Type Settings Submit
|
1059 |
-
*
|
1060 |
-
* @since 3.0.13
|
1061 |
-
*/
|
1062 |
-
$( '.ditty-wizard-setting--item-type-settings .ditty-option-submit' ).on( 'click', function( e ) {
|
1063 |
-
e.preventDefault();
|
1064 |
-
var $setting = $( this ).parents( '.ditty-wizard-setting' ),
|
1065 |
-
$settings_group = $setting.find( '.ditty-item-type-settings__group.active' ),
|
1066 |
-
values = {};
|
1067 |
-
|
1068 |
-
$( this ).removeClass( 'ditty-button--primary' );
|
1069 |
-
|
1070 |
-
$settings_group.find( ':input' ).each( function() {
|
1071 |
-
var type = $( this ).prop( 'type' );
|
1072 |
-
|
1073 |
-
// checked radios/checkboxes
|
1074 |
-
if ( ( type === "checkbox" || type === "radio" ) ) {
|
1075 |
-
if ( this.checked ) {
|
1076 |
-
values[$( this ).attr( 'name' )] = $( this ).val();
|
1077 |
-
}
|
1078 |
-
} else if ( type !== "button" && type !== "submit" ) {
|
1079 |
-
values[$( this ).attr( 'name' )] = $( this ).val();
|
1080 |
-
}
|
1081 |
-
} );
|
1082 |
-
|
1083 |
-
// Show the layout settings
|
1084 |
-
$( '.ditty-wizard-setting--layout').css( 'display', 'flex' );
|
1085 |
-
|
1086 |
-
// Add to the initialize object
|
1087 |
-
dittyWizardValues.itemTypeValues = values;
|
1088 |
-
|
1089 |
-
// Animate to the next setting
|
1090 |
-
if ( ! $setting.hasClass( 'complete' ) ) {
|
1091 |
-
$setting.addClass( 'complete' );
|
1092 |
-
$( [document.documentElement, document.body] ).stop().animate( {
|
1093 |
-
scrollTop: $( '.ditty-wizard-setting--layout' ).offset().top
|
1094 |
-
}, 700 );
|
1095 |
-
}
|
1096 |
-
} );
|
1097 |
-
|
1098 |
-
/**
|
1099 |
-
* Variation Layout
|
1100 |
-
*
|
1101 |
-
* @since 3.0.13
|
1102 |
-
*/
|
1103 |
-
$( '.ditty-wizard-setting--layout .ditty-option-grid__item' ).on( 'click', function( e ) {
|
1104 |
-
e.preventDefault();
|
1105 |
-
var $setting = $( this ).parents( '.ditty-wizard-setting' ),
|
1106 |
-
$variations = $( this ).parents( '.ditty-wizard-setting--layout__variation' );
|
1107 |
-
|
1108 |
-
if ( ! $( this ).hasClass( 'active' ) ) {
|
1109 |
-
$( this ).siblings().removeClass( 'active' );
|
1110 |
-
$( this ).addClass( 'active' );
|
1111 |
-
$variations.addClass( 'complete' );
|
1112 |
-
|
1113 |
-
// Check for all variations complete
|
1114 |
-
if ( $( '.ditty-wizard-setting--layout__variation.active' ).length === $( '.ditty-wizard-setting--layout__variation.complete' ).length ) {
|
1115 |
-
var layoutVariations = {};
|
1116 |
-
$( '.ditty-wizard-setting--layout__variation.complete' ).each( function() {
|
1117 |
-
layoutVariations[$( this ).data( 'id' )] = $( this ).find( '.ditty-option-grid__item.active' ).data( 'value' );
|
1118 |
-
} );
|
1119 |
-
|
1120 |
-
// Show the display settings
|
1121 |
-
$( '.ditty-wizard-setting--display').css( 'display', 'flex' );
|
1122 |
-
|
1123 |
-
dittyWizardValues.layoutVariations = layoutVariations;
|
1124 |
-
|
1125 |
-
// Animate to the next setting
|
1126 |
-
if ( ! $setting.hasClass( 'complete' ) ) {
|
1127 |
-
$setting.addClass( 'complete' );
|
1128 |
-
$( [document.documentElement, document.body] ).stop().animate( {
|
1129 |
-
scrollTop: $( '.ditty-wizard-setting--display' ).offset().top
|
1130 |
-
}, 700 );
|
1131 |
-
}
|
1132 |
-
}
|
1133 |
-
}
|
1134 |
-
} );
|
1135 |
-
|
1136 |
-
/**
|
1137 |
-
* Display
|
1138 |
-
*
|
1139 |
-
* @since 3.0.13
|
1140 |
-
*/
|
1141 |
-
$( '.ditty-wizard-setting--display .ditty-option-grid__item' ).on( 'click', function( e ) {
|
1142 |
-
e.preventDefault();
|
1143 |
-
var $setting = $( this ).parents( '.ditty-wizard-setting' ),
|
1144 |
-
id = $( this ).data( 'value' );
|
1145 |
-
|
1146 |
-
if ( ! $( this ).hasClass( 'active' ) ) {
|
1147 |
-
$( this ).siblings().removeClass( 'active' );
|
1148 |
-
$( this ).addClass( 'active' );
|
1149 |
-
|
1150 |
-
// Show the submit settings
|
1151 |
-
$( '.ditty-wizard-setting--submit').css( 'display', 'flex' );
|
1152 |
-
|
1153 |
-
dittyWizardValues.display = id;
|
1154 |
-
|
1155 |
-
// Animate to the next setting
|
1156 |
-
if ( ! $setting.hasClass( 'complete' ) ) {
|
1157 |
-
$setting.addClass( 'complete' );
|
1158 |
-
$( [document.documentElement, document.body] ).stop().animate( {
|
1159 |
-
scrollTop: $( '.ditty-wizard-setting--submit' ).offset().top
|
1160 |
-
}, 700 );
|
1161 |
-
}
|
1162 |
-
}
|
1163 |
-
} );
|
1164 |
-
|
1165 |
-
/**
|
1166 |
-
* Submit the wizard
|
1167 |
-
*
|
1168 |
-
* @since 3.0.13
|
1169 |
-
*/
|
1170 |
-
$( '#ditty-wizard-submit' ).on( 'click', function( e ) {
|
1171 |
-
e.preventDefault();
|
1172 |
-
|
1173 |
-
var dittyId = $( this ).data( 'ditty_id' );
|
1174 |
-
|
1175 |
-
$( '#ditty-wizard-overlay' ).addClass( 'active' );
|
1176 |
-
|
1177 |
-
//$( this ).text( $( this ).data( 'submitting' ) );
|
1178 |
-
|
1179 |
-
var data = {
|
1180 |
-
action : 'ditty_submit_wizard',
|
1181 |
-
ditty_id : dittyId,
|
1182 |
-
init_values : dittyWizardValues,
|
1183 |
-
security : dittyVars.security
|
1184 |
-
};
|
1185 |
-
$.post( dittyVars.ajaxurl, data, function( response ) {
|
1186 |
-
window.history.pushState( null, '', '/wp-admin/post.php?post=' + dittyId + '&action=edit' );
|
1187 |
-
location.reload();
|
1188 |
-
}, 'json' );
|
1189 |
-
|
1190 |
-
} );
|
1191 |
-
|
1192 |
-
}() );
|
1193 |
-
|
1194 |
-
} );
|
1 |
+
jQuery((function($){!function(){"use strict";$("#poststuff").trigger("ditty_init_fields"),$("#ditty-settings").ditty_settings()}()})),jQuery((function($){!function(){"use strict";$("#menu-posts-ditty .wp-submenu li").each((function(){var t=$(this),i=t.children("a");if(i.length){var e=i[0].href.split("="),s=e[e.length-1];t.addClass(s)}}))}()})),function($){"use strict";var t={},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_settings.defaults,e),this.$elmt=$(i),this.$form=this.$elmt.find(".ditty-settings__form"),this.$panels=this.$elmt.find(".ditty-settings__panels"),this.saveBtns=this.$elmt.find(".ditty-settings__save"),this.tabs=this.$elmt.find(".ditty-settings__tab"),this.$notice_update=this.$elmt.find(".ditty-notification--updated"),this.$notice_error=this.$elmt.find(".ditty-notification--error"),this.$notice_warning=this.$elmt.find(".ditty-notification--warning"),this.initData=null,this.url=window.location.href,this._init()};i.prototype={_init:function(){if(this._initSlider(),$("body").on("ditty_field_clone_update",{self:this},this._enableSettingsUpdates),this.saveBtns.on("click",{self:this},this._submitForm),this.$panels.on("ditty_slider_init",{self:this},this._sliderInit),this.$panels.on("ditty_slider_before_slide_update",{self:this},this._beforeSlideUpdate),this.$form.on("keyup change",'input[type="text"], input[type="number"], textarea, select',{self:this},this._checkUpdates),this.$form.on("click",'input[type="radio"], input[type="checkbox"]',{self:this},this._checkUpdates),this.$form.on("ditty_input_wysiwyg_update",".ditty-input--wysiwyg",{self:this},this._checkUpdates),this.$form.on("click",".ditty-default-layout-install",{self:this},this._installLayout),this.$form.on("click",".ditty-default-display-install",{self:this},this._installDisplay),this.$form.on("click",'.ditty-export-posts input[type="checkbox"]',{self:this},this._exportCheckboxClick),this.$elmt.hasClass("dynamic-tabs")&&this.tabs.on("click",{self:this},this._tabClick),this.$elmt.hasClass("dynamic-tabs")&&this.url.indexOf("#")>0){var t=this.url.substring(this.url.indexOf("#")+1);this._activatePanel(t)}},_initSlider:function(){if(this.$elmt.hasClass("dynamic-tabs")){var t=this.$panels.data("init_panel");this.$panels.ditty_slider({transition:"fade",transitionEase:"linear",transitionSpeed:0,heightSpeed:0,initTransition:"fade",initTransitionEase:"linear",initTransitionSpeed:0,initHeightEase:"linear",initHeightSpeed:0,touchSwipe:!1,slidesEl:".ditty-settings__panel",slideId:""!==t&&t})}},_sliderInit:function(t){var i=t.data.self;i.initData=i.$form.serialize()},_beforeSlideUpdate:function(t,i,e){var s=t.data.self;s._initFields(e.$elmt),s.$elmt.find(".ditty-settings__tab").removeClass("active"),s.$elmt.find('.ditty-settings__tab[data-panel="'+e.id+'"]').addClass("active")},_enableSettingsUpdates:function(t){(t?t.data.self:this).saveBtns.addClass("has-updates")},_disableSettingsUpdates:function(){this.saveBtns.removeClass("has-updates")},_checkUpdates:function(t){var i=t?t.data.self:this;i.$form.serialize()!==i.initData?i._enableSettingsUpdates():i._disableSettingsUpdates()},_initFields:function(t){t.find(".ditty-data-list").ditty_ui_data_list(),t.trigger("ditty_init_fields"),$.protip({defaults:{position:"top",size:"small",scheme:"black",classes:"ditty-protip"}})},_togglePostTypes:function(){if($('input[name="ditty_layout_ui"]').length){var t=$('input[name="ditty_layout_ui"]:checked').val(),i=$('#adminmenu .wp-submenu > li > a[href="edit.php?post_type=ditty_layout"]');"disabled"===t?i.hide():i.css("display","block")}if($('input[name="ditty_display_ui"]').length){var e=$('input[name="ditty_display_ui"]:checked').val(),s=$('#adminmenu .wp-submenu > li > a[href="edit.php?post_type=ditty_display"]');"disabled"===e?s.hide():s.css("display","block")}},_activatePanel:function(t){var i=this.$elmt.find('.ditty-settings__tab[data-panel="'+t+'"]');if(!i.length)return!1;this.$elmt.find(".ditty-settings__tab").removeClass("active"),i.addClass("active"),this.$panels.ditty_slider("showSlideById",t)},_tabClick:function(t){t.preventDefault();var i,e=t.data.self,s=$(t.target).is("a")?$(t.target):$(t.target).parent("a"),a=s.data("panel");if(e.$elmt.find(".ditty-settings__tab.active")===s)return!1;if(a){var n="#"+a;i=e.url.split("#")[0]+n}else i=e.url.split("#")[0];history.replaceState(null,null,i),e._activatePanel(a)},_upateInputs:function(t){$.each(t,(function(t,i){$('input[name="'+t+'"]').length&&$('input[name="'+t+'"]').val(i)}))},_submitForm:function(t){t.preventDefault();var i=t.data.self;if(i.$elmt.hasClass("updating"))return!1;i.$elmt.trigger("ditty_pre_save_fields"),i.$elmt.addClass("updating"),i.saveBtns.text(dittyAdminVars.adminStrings.settingsSaving),i.$form.ajaxSubmit({url:dittyAdminVars.ajaxurl,type:"post",dataType:"json",data:{action:"ditty_settings_save",security:dittyAdminVars.security},success:function(t){t.input_updates&&i._upateInputs(t.input_updates),i.initData=i.$form.serialize(),i.saveBtns.text(dittyAdminVars.adminStrings.settings_updated),setTimeout((function(){i.saveBtns.text(dittyAdminVars.adminStrings.settings_save)}),2e3),i.$elmt.removeClass("updating"),i._disableSettingsUpdates(),i._togglePostTypes()}})},_installLayout:function(t){t.preventDefault();var i=t.data.self,e=$(t.target).is("button")?$(t.target):$(t.target).parents("button"),s=e.find("i"),a=s.attr("class");if(e.hasClass("updating"))return!1;e.addClass("updating"),s.attr("class",dittyAdminVars.updateIcon);var n={action:"ditty_install_layout",layout_template:e.data("layout_template"),layout_version:e.data("layout_version"),security:dittyAdminVars.security};$.post(dittyAdminVars.ajaxurl,n,(function(t){s.attr("class",a),i.$elmt.removeClass("updating"),t&&e.replaceWith(t.button)}))},_installDisplay:function(t){t.preventDefault();var i=t.data.self,e=$(t.target).is("button")?$(t.target):$(t.target).parents("button"),s=e.find("i"),a=s.attr("class");if(e.hasClass("updating"))return!1;e.addClass("updating"),s.attr("class",dittyAdminVars.updateIcon);var n={action:"ditty_install_display",display_type:e.data("display_type"),display_template:e.data("display_template"),display_version:e.data("display_version"),security:dittyAdminVars.security};$.post(dittyAdminVars.ajaxurl,n,(function(t){s.attr("class",a),i.$elmt.removeClass("updating"),t&&e.replaceWith(t.button)}))},_exportCheckboxClick:function(t){var i=$(t.target),e=i.parents(".ditty-input--checkboxes__group"),s=(i.parents(".ditty-field__input"),$(".ditty-export-button")),a=e.find('input[type="checkbox"]'),n=i.is(":checked");"select_all"===i.attr("value")&&a.each((function(){$(this)[0]!==i[0]&&$(this).prop("checked",n)}));var d=!1;a.each((function(){$(this).is(":checked")&&(d=!0)})),d?s.attr("disabled",!1):s.attr("disabled","disabled")},_options:function(t){return this.settings[t]},trigger:function(t,i){var e=[this.settings];i&&(e=i),this.$elmt.trigger("ditty_settings_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_settings.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){$("body").off("ditty_field_clone_update",{self:this},this._enableSettingsUpdates),this.saveBtns.off("click",{self:this},this._submitForm),this.tabs.off("click",{self:this},this._tabClick),this.$panels.off("ditty_slider_init",{self:this},this._sliderInit),this.$panels.off("ditty_slider_before_slide_update",{self:this},this._beforeSlideUpdate),this.$form.off("keyup change",'input[type="text"], input[type="number"], textarea, select',{self:this},this._checkUpdates),this.$form.off("click",'input[type="radio"], input[type="checkbox"]',{self:this},this._checkUpdates),this.$form.off("ditty_input_wysiwyg_update",".ditty-input--wysiwyg",{self:this},this._checkUpdates),this.$form.off("click",".ditty-default-layout-install",{self:this},this._installLayout),this.$form.off("click",".ditty-default-display-install",{self:this},this._installDisplay),this.$form.off("click",'.ditty-export-posts input[type="checkbox"]',{self:this},this._exportCheckboxClick),this.$panels.ditty_slider("destroy"),this.elmt._ditty_settings=null}},$.fn.ditty_settings=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_settings||(this._ditty_settings=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_settings;if(!i)throw new Error("No Ditty_Settings applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Settings.');return void 0!==e?e:this}},$.ditty_settings={},$.ditty_settings.defaults=t}(jQuery),function($){"use strict";var t={},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_extension.defaults,e),this.$elmt=$(i),this.$panels=$(i).find(".ditty-extension__panels"),this.initPanel=this.$panels.data("init_panel"),this._init()};i.prototype={_init:function(){this.$elmt.on("click",".ditty-extension__tab",{self:this},this._tabClick),this.$elmt.on("click",'button[name="submit"]',{self:this},this._updatePanel),this.$elmt.on("click",".ditty-extension__license__submit",{self:this,action:"ditty_extension_license_activate"},this._licenseUpdate),this.$elmt.on("click",".ditty-extension__license__refresh",{self:this,action:"ditty_extension_license_refresh"},this._licenseUpdate),this.$elmt.on("click",".ditty-extension__license__deactivate",{self:this,action:"ditty_extension_license_deactivate"},this._licenseUpdate),this.$panels.on("ditty_slider_before_slide_update",{self:this},this._beforePanelUpdate),this._initSlider()},_initSlider:function(){var t={transition:"fade",transitionSpeed:.75,heightSpeed:.75,touchSwipe:!1,slidesEl:".ditty-extension__panel",slideId:""!==this.initPanel&&this.initPanel};this.$panels.ditty_slider(t)},_beforePanelUpdate:function(t,i,e){var s=t.data.self;s.$elmt.find(".ditty-extension__tab").removeClass("active"),s.$elmt.find('.ditty-extension__tab[data-slide_id="'+e.id+'"]').addClass("active")},_tabClick:function(t){t.preventDefault();var i=t.data.self,e=$(this),s=e.data("slide_id"),a="slideLeft",n=i.$elmt.find(".ditty-extension__tab.active");if(n===e)return!1;e.index()<n.index()&&(a="slideRight"),i.$panels.ditty_slider("options","transition",a),i.$panels.ditty_slider("showSlideById",s)},_updatePanel:function(t){t.preventDefault();var i=t.data.self,e=$(this),s=e.parents(".ditty-extension__panel"),a=e.parents(".ditty-extension__form"),n=e.find("i"),d=n.attr("class"),l=i.$elmt.data("extension"),o=s.data("slide_id");if(i.$elmt.hasClass("updating"))return!1;i.$elmt.addClass("updating"),n.attr("class",dittyAdminVars.updateIcon),a.ajaxSubmit({url:dittyAdminVars.ajaxurl,type:"post",dataType:"json",data:{action:"ditty_extension_panel_update",extension:l,panel:o,security:dittyAdminVars.security},success:function(t){n.attr("class",d),i.$elmt.removeClass("updating"),$("#ditty-extensions").trigger("ditty_extension_panel_updated",[t,i.$elmt,s])}})},_licenseUpdate:function(t){t.preventDefault();var i=t.data.self,e=t.data.action,s=$(this),a=i.$elmt.find(".ditty-extension__license__message"),n=s.siblings(".ditty-extension__license__input"),d=n.val(),l=s.data("extension"),o=s.data("extension_id"),r=s.data("extension_name"),c=s.children("i");if(i.$elmt.hasClass("updating"))return!1;i.$elmt.addClass("updating"),c.attr("class",dittyAdminVars.updateIcon);var p={action:e,license:d,extension:l,extension_id:o,extension_name:r,security:dittyAdminVars.security};$.post(dittyAdminVars.ajaxurl,p,(function(t){t&&(i.$elmt.attr("data-license_status",t.status),a.html(t.message)),t.license_key&&("DELETE"===t.license_key?n.val(""):n.val(t.license_key)),c.attr("class",c.data("class")),i.$elmt.removeClass("updating")}),"json")},_getOption:function(t){return this.settings[t]},_setOption:function(t,i){if(void 0===i)return!1;this.settings[t]=i},options:function(t,i){var e=this;if("object"==typeof t)$.each(t,(function(t,i){e._setOption(t,i)}));else{if("string"!=typeof t)return e.settings;if(void 0===i)return e._getOption(t);e._setOption(t,i)}},destroy:function(){this.$elmt.off("click",".ditty-extension__tab",{self:this},this._tabClick),this.$elmt.off("click",'button[name="submit"]',{self:this},this._updatePanel),this.$elmt.off("click",".ditty-extension__license__submit, .ditty-extension__license__refresh",{self:this,action:"ditty_extension_license_activate"},this._licenseUpdate),this.$elmt.off("click",".ditty-extension__license__deactivate",{self:this,action:"ditty_extension_license_deactivate"},this._licenseUpdate),this.$panels.off("ditty_slider_after_slide_update",{self:this},this._afterPanelUpdate),this.$panels.ditty_slider("destroy"),this.elmt._ditty_extension=null}},$.fn.ditty_extension=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_extension||(this._ditty_extension=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_extension;if(!i)throw new Error("No Ditty_Extension applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Extension.');return void 0!==e?e:this}},$.ditty_extension={},$.ditty_extension.defaults=t}(jQuery),jQuery((function($){!function(){"use strict";$.protip({defaults:{position:"top",size:"small",scheme:"black",classes:"ditty-protip"}}),$("#ditty-extensions").find(".ditty-extension").each((function(t){var i=$(this);i.find(".ditty-extension__panels").length&&i.ditty_extension(),$("#ditty-extensions").trigger("ditty_init_fields"),setTimeout((function(){i.addClass("ditty-extension--init")}),250*t)}))}()})),jQuery((function($){!function(){"use strict";var t=$('input[name="post_type"]').length&&"ditty_display"==$('input[name="post_type"]').val(),i=!1;$("form#post").on("submit",(function(e){if(t&&!i){e.preventDefault();var s=$("#publishing-action").children('input[type="submit"]'),a=$("#publishing-action").children(".spinner");s.attr("disabled","disabled"),a.css("visibility","visible");var n={action:"ditty_admin_display_update",display_id:$('input[name="post_ID"]').val(),security:dittyAdminVars.security};$("#ditty-display-settings").ajaxSubmit({url:dittyAdminVars.ajaxurl,type:"post",dataType:"json",data:n,success:function(t){i=!0,$("form#post").submit()}})}}))}()})),jQuery((function($){!function(){"use strict";var t={};$('.ditty-wizard-setting--title input[name="ditty_title"]').on("keyup",(function(){var i=$(this).parents(".ditty-wizard-setting"),e=$(this).val();""!==e&&(i.addClass("complete"),$(".ditty-wizard-setting--item-type").css("display","flex")),t.title=e})),$(".ditty-wizard-setting--item-type .ditty-option-grid__item").on("click",(function(i){i.preventDefault();var e=$(this).parents(".ditty-wizard-setting"),s=$(this).data("value");if(!$(this).hasClass("active")){$(this).siblings().removeClass("active"),$(this).addClass("active"),$(".ditty-wizard-setting--item-type-settings").removeClass("complete"),$(".ditty-wizard-setting--item-type-settings .ditty-option-submit").addClass("ditty-button--primary"),$(".ditty-wizard-setting--item-type-settings").css("display","flex");var a=$('.ditty-item-type-settings__group[data-id="'+s+'"]');$(".ditty-item-type-settings__group").removeClass("active").hide(),a.addClass("active").show(),a.trigger("ditty_init_fields"),a.hasClass("init")||(a.trigger("ditty_wizard_init",[s]),a.addClass("init")),$(".ditty-wizard-setting--layout").removeClass("complete"),$(".ditty-wizard-setting--layout .ditty-option-grid__item").removeClass("active"),$(".ditty-wizard-setting--layout").hide(),$(".ditty-wizard-setting--layout__variation").removeClass("complete").removeClass("active").hide(),$(".ditty-wizard-setting--layout__variation."+s).addClass("active").show(),$(".ditty-wizard-setting--display").removeClass("complete"),$(".ditty-wizard-setting--display .ditty-option-grid__item").removeClass("active"),$(".ditty-wizard-setting--display").hide(),$(".ditty-wizard-setting--submit").hide(),t.itemType=$(this).data("value"),e.hasClass("complete")||(e.addClass("complete"),$([document.documentElement,document.body]).stop().animate({scrollTop:$(".ditty-wizard-setting--item-type-settings").offset().top},700))}})),$(".ditty-wizard-setting--item-type-settings .ditty-option-submit").on("click",(function(i){i.preventDefault();var e=$(this).parents(".ditty-wizard-setting"),s=e.find(".ditty-item-type-settings__group.active"),a={};$(this).removeClass("ditty-button--primary"),s.find(":input").each((function(){var t=$(this).prop("type");"checkbox"===t||"radio"===t?this.checked&&(a[$(this).attr("name")]=$(this).val()):"button"!==t&&"submit"!==t&&(a[$(this).attr("name")]=$(this).val())})),$(".ditty-wizard-setting--layout").css("display","flex"),t.itemTypeValues=a,e.hasClass("complete")||(e.addClass("complete"),$([document.documentElement,document.body]).stop().animate({scrollTop:$(".ditty-wizard-setting--layout").offset().top},700))})),$(".ditty-wizard-setting--layout .ditty-option-grid__item").on("click",(function(i){i.preventDefault();var e=$(this).parents(".ditty-wizard-setting"),s=$(this).parents(".ditty-wizard-setting--layout__variation");if(!$(this).hasClass("active")&&($(this).siblings().removeClass("active"),$(this).addClass("active"),s.addClass("complete"),$(".ditty-wizard-setting--layout__variation.active").length===$(".ditty-wizard-setting--layout__variation.complete").length)){var a={};$(".ditty-wizard-setting--layout__variation.complete").each((function(){a[$(this).data("id")]=$(this).find(".ditty-option-grid__item.active").data("value")})),$(".ditty-wizard-setting--display").css("display","flex"),t.layoutVariations=a,e.hasClass("complete")||(e.addClass("complete"),$([document.documentElement,document.body]).stop().animate({scrollTop:$(".ditty-wizard-setting--display").offset().top},700))}})),$(".ditty-wizard-setting--display .ditty-option-grid__item").on("click",(function(i){i.preventDefault();var e=$(this).parents(".ditty-wizard-setting"),s=$(this).data("value");$(this).hasClass("active")||($(this).siblings().removeClass("active"),$(this).addClass("active"),$(".ditty-wizard-setting--submit").css("display","flex"),t.display=s,e.hasClass("complete")||(e.addClass("complete"),$([document.documentElement,document.body]).stop().animate({scrollTop:$(".ditty-wizard-setting--submit").offset().top},700)))})),$("#ditty-wizard-submit").on("click",(function(i){i.preventDefault();var e=$(this).data("ditty_id");$("#ditty-wizard-overlay").addClass("active");var s={action:"ditty_submit_wizard",ditty_id:e,init_values:t,security:dittyVars.security};$.post(dittyVars.ajaxurl,s,(function(t){window.history.pushState(null,"","/wp-admin/post.php?post="+e+"&action=edit"),location.reload()}),"json")}))}()}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/js/ditty-editor.min.js
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
function dittyEditorInit(t){if(!t)return!1;jQuery("#ditty-editor__settings").ditty_editor({ditty:t})}function dittyGetItemsById(t,i){var e=[];return jQuery.each(t,(function(t,s){String(s.id)===String(i)&&e.push(s)})),e}function dittyItemsReorder(t,i){var e=[];return jQuery.each(i,(function(i,s){e=jQuery.merge(e,dittyGetItemsById(t,s))})),e}function dittyDraftUpdate(t,i,e,s){var a=t.settings.editor.getDraftValues(i);return a||(a={}),e?a[e]=s:a=s,t.settings.editor.updateDraftValues(i,a)}function dittyDraftGet(t,i,e){var s=t.settings.editor.getDraftValues(i);return!!s&&(e&&s[e]?s[e]:s)}function dittyDraftDelete(t,i,e){var s=i.settings.editor.getDraftValues(t),a={};return jQuery.each(s,(function(t,i){String(e)!==String(t)&&(a[t]=i)})),"new-"!==String(e).substring(0,4)&&(a[e]="DELETE"),i.settings.editor.updateDraftValues(t,a)}function dittyDraftItemDelete(t,i){return dittyDraftDelete("items",t,i)}function dittyDraftLayoutDelete(t,i){return dittyDraftDelete("layouts",t,i)}function dittyDraftDisplayDelete(t,i){return dittyDraftDelete("displays",t,i)}function dittyDraftItemUpdateData(t,i,e,s){var a=t.settings.editor.getDraftValues("items");return a||(a={}),a[i]||(a[i]={}),a[i].data||(a[i].data={}),e?a[i].data[e]=s:a[i].data=s,t.settings.editor.updateDraftValues("items",a)}function dittyDraftItemGetData(t,i,e){var s=t.settings.editor.getDraftValues("items");return!!s[i]&&(!!s[i].data&&(e?s[i].data[e]?s[i].data[e]:void 0:s[i].data))}function dittyDraftItemUpdateMeta(t,i,e,s){var a=t.settings.editor.getDraftValues("items");return a||(a={}),a[i]||(a[i]={}),a[i].meta||(a[i].meta={}),e?a[i].meta[e]=s:a[i].meta=s,t.settings.editor.updateDraftValues("items",a)}function dittyDraftItemGetMeta(t,i,e){var s=t.settings.editor.getDraftValues("items");return!!s[i]&&(!!s[i].meta&&(e?s[i].meta[e]?s[i].meta[e]:void 0:s[i].meta))}function dittyDraftLayoutUpdate(t,i,e,s){var a=t.settings.editor.getDraftValues("layouts");return a||(a={}),a[i]||(a[i]={}),e?a[i][e]=s:a[i]=s,t.settings.editor.updateDraftValues("layouts",a)}function dittyDraftLayoutGet(t,i,e){var s=t.settings.editor.getDraftValues("layouts");return!!s[i]&&(e?s[i][e]?s[i][e]:void 0:s[i])}function dittyDraftDisplayUpdate(t,i,e,s){var a=t.settings.editor.getDraftValues("displays");return a||(a={}),a[i]||(a[i]={}),e?a[i][e]=s:a[i]=s,t.settings.editor.updateDraftValues("displays",a)}function dittyDraftDisplayGet(t,i,e){var s=t.settings.editor.getDraftValues("layouts");return!!s[i]&&(e?s[i][e]?s[i][e]:void 0:s[i])}jQuery((function($){!function(){"use strict";$("body").on("ditty_editor_before_panel_update",(function(t,i,e,s,a,d){switch(d.delayedSubmitDisable(),$.protip({defaults:{position:"top",size:"small",scheme:"black",classes:"ditty-protip"}}),i){case"settings":e.hasClass("init")||e.ditty_settings_panel({editor:d});break;case"items":e.hasClass("init")?e.ditty_items_panel("panelVisible"):e.ditty_items_panel({editor:d});break;case"displays":e.find(".ditty-data-list__item").removeClass("editing"),e.hasClass("init")?e.ditty_displays_panel("panelVisible"):e.ditty_displays_panel({editor:d});break;case"item_types":e.find(".ditty-data-list__item").removeClass("editing"),e.hasClass("init")?e.ditty_item_types_panel("panelVisible"):e.ditty_item_types_panel({editor:d});break;case"item_editor":e.ditty_item_editor_panel({editor:d});break;case"display_editor":e.ditty_display_editor_panel({editor:d});break;case"layouts":"layoutHtmlEditor"!==s&&"layoutCssEditor"!==s&&e.ditty_layouts_panel({editor:d});break;case"layout_variations":e.hasClass("init")?e.ditty_layout_variations_panel("panelVisible"):e.ditty_layout_variations_panel({editor:d});break;case"layout_html_editor":e.ditty_layout_html_editor_panel({editor:d,prevPanel:s});break;case"layout_css_editor":e.ditty_layout_css_editor_panel({editor:d,prevPanel:s})}})),$("body").on("ditty_editor_panel_removed",(function(t,i,e){switch(i){case"item_editor":e.ditty_item_editor_panel&&e.ditty_item_editor_panel("destroy");break;case"display_editor":e.ditty_display_editor_panel&&e.ditty_display_editor_panel("destroy");break;case"layouts":case"layouts":e.ditty_layouts_panel&&e.ditty_layouts_panel("destroy");break;case"layout_variations":e.ditty_layout_variations_panel&&e.ditty_layout_variations_panel("destroy");break;case"layout_html_editor":e.ditty_layout_html_editor_panel&&e.ditty_layout_html_editor_panel("destroy");break;case"layout_css_editor":e.ditty_layout_css_editor_panel&&e.ditty_layout_css_editor_panel("destroy")}}))}()})),dittyEditorInit(),function($){"use strict";var t={listType:"toggle",showAll:!0,activeFilter:"*",filter:".ditty-data-list__filter",filterSelector:"filter",item:".ditty-data-list__item",itemSelector:"filter"},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_ui_data_list.defaults,e),this.$elmt=$(i),this.filters=[],this._init()};i.prototype={_init:function(){var t=this;this.$elmt.on("click",this.settings.filter,{self:this},this._filterClick),this.$elmt.find(this.settings.filter+".active").each((function(){t._filterList($(this).data(t.settings.filterSelector))})),"*"!==this.settings.activeFilter&&this._filterList(this.settings.activeFilter),setTimeout((function(){t.trigger("init")}),1)},_filterList:function(t){var i=this,e=this.filters;if("toggle"===this.settings.listType)this.filters.includes(t)?this.settings.showAll&&(this.filters=[],this.$elmt.find(this.settings.filter).removeClass("active"),this.$elmt.find(this.settings.item).show()):(this.filters=[t],this.$elmt.find(this.settings.filter).removeClass("active"),this.$elmt.find(this.settings.filter+"[data-"+this.settings.filterSelector+'="'+t+'"]').addClass("active"),this.$elmt.find(this.settings.item).hide(),this.$elmt.find(this.settings.item+"[data-"+this.settings.itemSelector+'="'+t+'"]').show());else if("filter"===this.settings.listType){if(this.$elmt.find(this.settings.item).hide(),this.filters.includes(t)){this.$elmt.find(this.settings.filter+"[data-"+this.settings.filterSelector+'="'+t+'"]').removeClass("active");for(var s=0;s<this.filters.length;s++)i.filters[s]===t&&i.filters.splice(s,1)}else this.$elmt.find(this.settings.filter+"[data-"+this.settings.filterSelector+'="'+t+'"]').addClass("active"),this.filters.push(t);$.each(this.filters,(function(t,e){i.$elmt.find(this.settings.item+"[data-"+this.settings.itemSelector+'="'+e+'"]').show()})),0===this.filters.length&&i.$elmt.find(this.settings.item).show()}e!==this.filters&&i.trigger("update")},_filterClick:function(t){t.preventDefault();var i=t.data.self,e=$(t.target);e.is("a")||(e=e.parents("a")),i._filterList(e.data(i.settings.filterSelector))},_options:function(t){return this.settings[t]},trigger:function(t,i){var e=[this.settings,this.filters];i&&(e=i),this.$elmt.trigger("ditty_ui_data_list_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_ui_data_list.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){this.$elmt.off("click",this.settings.filter,{self:this},this._filterClick),this.trigger("destroy"),this.elmt._ditty_ui_data_list=null}},$.fn.ditty_ui_data_list=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_ui_data_list||(this._ditty_ui_data_list=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_ui_data_list;if(!i)throw new Error("No Ditty_UI_Data_List applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_UI_Data_List.');return void 0!==e?e:this}},$.ditty_ui_data_list={},$.ditty_ui_data_list.defaults=t}(jQuery),function($){"use strict";var t={screen:"admin",ditty:null,panel:""},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_editor.defaults,e),this.$elmt=$(i),this.ditty=this.settings.ditty,this.dittyId=this.settings.ditty.options("id"),this.dittyType=this.settings.ditty.options("type"),this.displayId=0,this.panelsLoaded=0,this.unsavedUpdates={},this.draftValues={},this.$overlay=null,this.$contents=null,this.$header=null,this.$update=null,this.$updateCount=null,this.$updateLabel=null,this.$tabs=null,this.$panels=null,this.currentTab=0,this.currentPanel=this.settings.panel,this.delayedSubmit=!1,this.tabs=[],this.panels=[],this.activeItems=[],this._init()};i.prototype={_init:function(){var t,i,e,s,a,d,n,r=this;t=$('<div class="ditty-editor__contents"></div>'),this.$contents=t,i=$('<div class="ditty-editor__header"></div>'),this.$header=i,e=$('<span class="ditty-editor__update__count"></span>'),this.$updateCount=e,s=$('<span class="ditty-editor__update__label">Save Ditty</span>'),this.$updateLabel=s,a=$('<button type="submit" class="ditty-editor__update ditty-button ditty-button--primary"></button>'),this.$update=a,d=$('<div class="ditty-editor__tabs"></div>'),this.$tabs=d,n=$('<div class="ditty-editor__panels"></div>'),this.$panels=n,a.prepend(e,s),i.append(a),t.append(i,d,n),this.$elmt.append(t),this.$overlay=$('<div class="ditty-updating-overlay ditty-admin-item__overlay"><div class="ditty-updating-overlay__inner"><i class="fas fa-sync-alt fa-spin"></i></div></div>'),this.$elmt.append(this.$overlay),$(document).on("postbox-moved",{self:this},this._postboxMoved),$(document).on("postboxes-columnchange",{self:this},this._postboxMoved),$(window).on("beforeunload",{self:this},this._beforeunload),this.ditty.$elmt.on("ditty_active_items_update",{self:this},this._dittyItemsUpdated),this.ditty.$elmt.on("ditty_disabled_items_update",{self:this},this._disabledItemsUpdate),this.$tabs.on("click",".ditty-editor__tab",{self:this},this._showPanel),this.$update.on("click",{self:this},this._saveClick),this.$panels.on("ditty_slider_init",{self:this},this._editorLoaded),this.$panels.on("ditty_slider_before_slide_update",{self:this},this._beforeSlideUpdate),this.$panels.on("ditty_slider_after_slide_update",{self:this},this._afterSlideUpdate),this.$panels.on("ditty_slider_slide_removed",{self:this},this._slideRemoved),this._loadContents(),this.trigger("stop_live_updates"),setTimeout((function(){r.trigger("init")}),1)},_loadContents:function(){var t=this,i={action:"ditty_editor_load_contents",ditty_id:this.dittyId,security:dittyVars.security};$.post(dittyVars.ajaxurl,i,(function(i){t._initTabs(i.tabs),t._initPanels(i.panels),t._initSlider()}),"json")},_editorLoaded:function(t){var i=t.data.self;$("body").trigger("ditty_editor_loaded",[i])},_setUpdateCount:function(){},_initSlider:function(){var t=this.tabs[0].id;this.currentPanel&&""!==this.currentPanel&&(t=this.currentPanel),this.$panels.ditty_slider({transition:"fade",transitionSpeed:.75,heightSpeed:.75,touchSwipe:!1,slides:this.panels,slideId:t})},_beforeSlideUpdate:function(t,i,e,s,a){var d=t.data.self;d.updateStart(),d._updateTab(e.id),$("body").trigger("ditty_editor_before_panel_update",[e.id,e.$elmt,a.id,a.$elmt,d])},_afterSlideUpdate:function(t,i,e,s,a){var d=t.data.self;d.updateStop(),$("body").trigger("ditty_editor_after_panel_update",[e.id,e.$elmt,a.id,a.$elmt,d])},_slideRemoved:function(t,i){var e=t.data.self;$("body").trigger("ditty_editor_panel_removed",[i.id,i.$elmt,e])},_showPanel:function(t){t.preventDefault();var i=t.data.self,e=$(t.target).is("a")?$(t.target):$(t.target).parent("a"),s=e.data("panel"),a=parseInt(e.data("index"));if(s===i.currentTab)return!1;var d=a>i.currentTab?"slideLeft":"slideRight";i.$panels.ditty_slider("options","transition",d),i.$panels.ditty_slider("showSlideById",s),i.currentTab=a,i.$elmt.trigger("ditty_editor_add_drafts")},_updateTab:function(t){var i=$('.ditty-editor__tab[data-panel="'+t+'"]');void 0!==i[0]&&($(".ditty-editor__tab").removeClass("active"),i.addClass("active"),this.currentTab=parseInt(i.data("index")))},_initTabs:function(t){var i=this,e=0;$.each(t,(function(t,s){var a=$('<a href="#" class="ditty-editor__tab ditty-editor__tab--'+t+'" data-panel="'+t+'" data-index="'+e+'"><i class="'+s.icon+'"></i><span>'+s.label+"</span></a>");i.$tabs.append(a),i.tabs.push({id:t,tab:a}),e++}))},_initPanels:function(t){var i=this;$.each(t,(function(t,e){var s='<div class="ditty-editor__panel ditty-editor__panel--'+t+'">'+e+"</div>";i.panels.push({id:t,html:s,cache:!0})}))},_initFields:function(t){t.find(".ditty-data-list").ditty_ui_data_list(),t.trigger("ditty_init_fields"),$.protip({defaults:{position:"top",size:"small",scheme:"black",classes:"ditty-protip"}})},saveDitty:function(t){var i=this,e=i.dittyId;i.$updateLabel.text("Updating..."),i.updateStart();var s={action:"ditty_editor_save",ditty_id:e,draft_values:i.draftValues,return_items:1,security:dittyVars.security};s=$.extend({},s,t),$.post(dittyVars.ajaxurl,s,(function(t){$("body").trigger("ditty_editor_save_ditty_response",[t]),t.display_items&&i.ditty.options("items",t.display_items),i.draftValues={},i.unsavedUpdates={},i._setUpdateCount(),i.$elmt.removeClass("ditty-editor--updates-exist"),i.$updateLabel.text("Ditty Saved!"),setTimeout((function(){i.$updateLabel.text("Save Ditty")}),2e3),i.updateStop(),t.new_ditty_url&&window.history.pushState(null,"","/wp-admin/post.php?post="+e+"&action=edit")}))},_saveClick:function(t){t.preventDefault();var i=t.data.self;i.$elmt.trigger("ditty_editor_save_drafts"),i.delayedSubmit||i.saveDitty()},_dittyItemsUpdated:function(t,i,e){var s=t.data.self;s.activeItems=e,s.trigger("active_items_update")},_disabledItemsUpdate:function(t,i){var e=t.data.self;$.each(i,(function(t,i){"disabled"===i?e.$elmt.find("#ditty-editor-item--"+t).addClass("ditty-editor-item--disabled"):e.$elmt.find("#ditty-editor-item--"+t).removeClass("ditty-editor-item--disabled")}))},_postboxMoved:function(t,i){if(!window.tinymce)return!1;$(i).find(".wp-editor-area").each((function(){var t=$(this).attr("id");tinymce.execCommand("mceRemoveEditor",!0,t),tinymce.execCommand("mceAddEditor",!0,t)}))},_beforeunload:function(t){var i=t.data.self;return Object.keys(i.unsavedUpdates).length>0||void 0},_windowResize:function(t){t.preventDefault()},_options:function(t){return this.settings[t]},panelExists:function(t){var i=this.$panels.ditty_slider("options","slides"),e=!1;return $.each(i,(function(i,s){String(s.id)!==String(t)||(e=!0)})),e},showPanel:function(t,i){i&&this.$panels.ditty_slider("addSlideById",t,i),this.$panels.ditty_slider("showSlideById",t,!0)},updateExists:function(t,i){if(void 0===this.unsavedUpdates[t]&&(this.unsavedUpdates[t]=[]),-1!==$.inArray(i,this.unsavedUpdates[t]))return!0},addUpdate:function(t,i){var e=!1;return void 0===this.unsavedUpdates[t]&&(this.unsavedUpdates[t]=[]),-1===$.inArray(i,this.unsavedUpdates[t])&&(e=!0,this.unsavedUpdates[t].push(i)),this._setUpdateCount(),this.$elmt.addClass("ditty-editor--updates-exist"),e},removeUpdate:function(t,i){if(void 0===this.unsavedUpdates[t])return!1;if(-1===$.inArray(i,this.unsavedUpdates[t]))return!1;var e=!1,s=[];return $.each(this.unsavedUpdates[t],(function(t,a){String(i)===String(a)?e=!0:s.push(a)})),this.unsavedUpdates[t]=s,this._setUpdateCount(),""===this.$updateCount.text()&&this.$elmt.removeClass("ditty-editor--updates-exist"),e},updateStart:function(){this.$overlay.fadeIn()},updateStop:function(){this.$overlay.fadeOut()},initFields:function(t){this._initFields(t)},updateDraftValues:function(t,i){return this.$elmt.addClass("ditty-editor--updates-exist"),t?(this.draftValues[t]=i,"development"===dittyVars.mode&&window.console&&console.log("draftValues:",this.draftValues),this.draftValues[t]):(this.draftValues=i,"development"===dittyVars.mode&&window.console&&console.log("draftValues:",this.draftValues),this.draftValues)},getDraftValues:function(t){return t?!!this.draftValues[t]&&this.draftValues[t]:this.draftValues},delayedSubmitEnable:function(){this.delayedSubmit=!0},delayedSubmitDisable:function(){this.delayedSubmit=!1},trigger:function(t,i){var e=[];switch(t){case"active_items_update":e=[this.ditty,this.activeItems];break;case"stop_live_updates":e=[this.dittyId];break;default:e=[this.settings]}i&&(e=i),this.$elmt.trigger("ditty_editor_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e),$("body").trigger("ditty_"+t,e)},_getPanelOption:function(t){return"elmnt"===t?this.$panels:this.settings[t]},_setPanelOption:function(t,i){if(void 0===i)return!1;this.$panels.ditty_slider("options",t,i),this.trigger("update")},panelOptions:function(t,i){var e=this;if("object"==typeof t)$.each(t,(function(t,i){e._setPanelOption(t,i)}));else{if("string"!=typeof t)return e.$panels.ditty_slider("options");if(void 0===i)return e._getPanelOption(t);e._setPanelOption(t,i)}},_getOption:function(t){return"elmnt"===t?this:this.settings[t]},_setOption:function(t,i){if(void 0===i)return!1;this.settings[t]=i,this.trigger("update")},options:function(t,i){var e=this;if("object"==typeof t)$.each(t,(function(t,i){e._setOption(t,i)}));else{if("string"!=typeof t)return e.settings;if(void 0===i)return e._getOption(t);e._setOption(t,i)}},destroy:function(){this.$panels.ditty_slider&&this.$panels.ditty_slider("destroy"),$(document).off("postbox-moved",{self:this},this._postboxMoved),$(document).off("postboxes-columnchange",{self:this},this._postboxMoved),$(window).off("beforeunload",{self:this},this._beforeunload),this.ditty.$elmt.off("ditty_active_items_update",{self:this},this._dittyItemsUpdated),this.ditty.$elmt.off("ditty_disabled_items_update",{self:this},this._disabledItemsUpdate),this.$tabs.off("click","ditty-editor__tab",{self:this},this._showPanel),this.$update.off("click",{self:this},this._saveClick),this.$panels.off("ditty_slider_init",{self:this},this._editorLoaded),this.$panels.off("ditty_slider_before_slide_update",{self:this},this._beforeSlideUpdate),this.$panels.off("ditty_slider_after_slide_update",{self:this},this._afterSlideUpdate),this.$panels.off("ditty_slider_slide_removed",{self:this},this._slideRemoved),this.trigger("destroy"),this.elmt._ditty_editor=null}},$.fn.ditty_editor=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_editor||(this._ditty_editor=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_editor;if(!i)throw new Error("No Ditty_Editor applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Editor.');return void 0!==e?e:this}},$.ditty_editor={},$.ditty_editor.defaults=t}(jQuery),function($){"use strict";var t={editor:null},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_settings_panel.defaults,e),this.$elmt=$(i),this.$form=this.$elmt.find(".ditty-editor-options"),this.$title=this.$elmt.find('input[name="title]'),this.$previewBg=this.$elmt.find('input[name="previewBg"]'),this.$previewPaddingTop=this.$elmt.find('input[name="previewPadding[paddingTop]"]'),this.$previewPaddingBottom=this.$elmt.find('input[name="previewPadding[paddingBottom]"]'),this.$previewPaddingLeft=this.$elmt.find('input[name="previewPadding[paddingLeft]"]'),this.$previewPaddingRight=this.$elmt.find('input[name="previewPadding[paddingRight]"]'),this.$postTitle=$(".ditty-post__title"),this.$editorPreview=$("#ditty-editor__preview"),this.dittyId=this.$form.data("ditty_id"),this.initData=null,this.afterUpdateAction="",this._init()};i.prototype={_init:function(){this.initData=this.$form.serialize(),this.settings.editor.initFields(this.$elmt),this.settings.editor.$elmt.on("ditty_editor_add_drafts",{self:this},this._addDrafts),this.settings.editor.$elmt.on("ditty_editor_save_drafts",{self:this},this._saveDrafts),this.$form.on("submit",{self:this},this._submitForm),this.$form.on("keyup change",'input[type="text"], input[type="number"], textarea, select',{self:this},this._checkUpdates),this.$form.on("click",'input[type="radio"], input[type="checkbox"]',{self:this},this._checkUpdates),this.$form.on("ditty_input_wysiwyg_update",".ditty-input--wysiwyg",{self:this},this._checkUpdates),this.$form.on("keyup change",'input[name="title"]',{self:this},this._titleChange),this.$form.on("keyup change",".ditty-field--preview_settings *",{self:this},this._previewBgChange),this.$elmt.addClass("init")},_checkUpdates:function(t){var i=t?t.data.self:this;i.$form.serialize()!==i.initData?(i.settings.editor.addUpdate("settings",i.itemId),i.settings.editor.delayedSubmitEnable()):i.settings.editor.removeUpdate("settings",i.itemId)},_titleChange:function(t){var i=t?t.data.self:this,e=$(t.target).val();i.$postTitle.text(e)},_previewBgChange:function(t){var i=t?t.data.self:this,e={backgroundColor:i.$previewBg.val(),paddingTop:i.$previewPaddingTop.val(),paddingBottom:i.$previewPaddingBottom.val(),paddingLeft:i.$previewPaddingLeft.val(),paddingRight:i.$previewPaddingRight.val()};i.$editorPreview.css(e)},_addDrafts:function(t){var i=t.data.self;i.$form.serialize()!==i.initData&&i.$form.trigger("submit")},_saveDrafts:function(t){var i=t.data.self;i.$form.serialize()!==i.initData&&(i.afterUpdateAction="save",i.$form.trigger("submit"))},_submitForm:function(t){t.preventDefault();var i=t.data.self,e=i.dittyId;i.settings.editor.updateStart();var s={action:"ditty_editor_settings_update",ditty_id:e,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};i.$form.ajaxSubmit({url:dittyVars.ajaxurl,type:"post",dataType:"json",data:s,success:function(t){i.initData=i.$form.serialize(),dittyDraftUpdate(i,"settings",!1,t),i.settings.editor.delayedSubmitDisable(),"save"===i.afterUpdateAction&&i.settings.editor.saveDitty({return_items:0}),i.afterUpdateAction=""}})},_options:function(t){return this.settings[t]},trigger:function(t,i){var e=[this.settings];i&&(e=i),this.$elmt.trigger("ditty_settings_panel_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_settings_panel.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){this.$elmt.removeClass("init"),this.settings.editor.$elmt.off("ditty_editor_save_drafts",{self:this},this._saveDrafts),this.settings.editor.$elmt.off("ditty_editor_add_drafts",{self:this},this._addDrafts),this.$form.off("submit",{self:this},this._submitForm),this.$form.off("keyup change",'input[type="text"], input[type="number"], textarea, select',{self:this},this._checkUpdates),this.$form.off("keyup change",'input[name="previewBg"]',{self:this},this._previewBg_cahnge),this.$form.off("keyup change",'input[name="title"]',{self:this},this._titleChange),this.$form.off("click",'input[type="radio"], input[type="checkbox"]',{self:this},this._checkUpdates),this.$form.off("ditty_input_wysiwyg_update",".ditty-input--wysiwyg",{self:this},this._checkUpdates),this.trigger("destroy"),this.elmt._ditty_settings_panel=null}},$.fn.ditty_settings_panel=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_settings_panel||(this._ditty_settings_panel=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_settings_panel;if(!i)throw new Error("No Ditty_Settings_Panel applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Settings_Panel.');return void 0!==e?e:this}},$.ditty_settings_panel={},$.ditty_settings_panel.defaults=t}(jQuery),function($){"use strict";var t={editor:null},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_items_panel.defaults,e),this.$elmt=$(i),this.$add=$(i).find(".ditty-editor-options__add"),this.$contents=$(i).find(".ditty-editor__panel__contents"),this.$list=$(i).find(".ditty-data-list"),this.$listItems=$(i).find(".ditty-data-list__items"),this.isEmptyTicker=!1,this._init()};i.prototype={_init:function(){this.$elmt.addClass("init"),this.settings.editor.$elmt.on("ditty_editor_active_items_update",{self:this},this._dittyActiveItemsUpdated),this.$add.on("click",{self:this},this._add_item),this.$elmt.on("click",".ditty-data-list__item",{self:this},this._showItem),this.$elmt.on("click",".ditty-data-list__item__icon",{self:this},this._editType),this.$elmt.on("click",".ditty-data-list__item__edit",{self:this},this._editItem),this.$elmt.on("click",".ditty-data-list__item__layout",{self:this},this._editLayoutVariations),this.$elmt.on("click",".ditty-data-list__item__clone",{self:this},this._cloneItem),this.$elmt.on("click",".ditty-data-list__item__delete",{self:this},this._deleteItem),this.$list.on("click",".ditty-editor-item > a",{self:this},this._actionClick),$("body").on("ditty_editor_save_ditty_response",{self:this},this._dittyEditorSaveResponse),1>this.$elmt.find(".ditty-data-list__item").length&&(this.isEmptyTicker=!0,this.$add.trigger("click")),this._initializeSorting(),this._highlightListItems(this.settings.editor.activeItems)},dittyUpdateSavedDraftLayouts:function(t,i){$.each($(".ditty-editor-item"),(function(){var e=$(this).data("layout_value");$.each(e,(function(s,a){String(a)===String(t)&&(e[s]=String(i))})),$(this).attr("data-layout_value",e).data("layout_value",e)}))},_dittyEditorSaveResponse:function(t,i){var e=t.data.self;i.ditty_new_item_ids&&$.each(i.ditty_new_item_ids,(function(t,i){var e=$("#ditty-editor-item--"+t);e.length&&(e.attr("id","ditty-editor-item--"+i),e.attr("data-item_id",i).data("item_id",i))})),i.ditty_new_layout_ids&&$.each(i.ditty_new_layout_ids,(function(t,i){e.dittyUpdateSavedDraftLayouts(t,i)}))},_highlightListItem:function(t){var i=t.id+"";i=i.split("_"),this.$elmt.find("#ditty-editor-item--"+i[0]).addClass("active")},_highlightListItems:function(t){this.$elmt.find(".ditty-data-list__item").removeClass("active");var i=this;Array.isArray(t)?$.each(t,(function(t,e){i._highlightListItem(e)})):i._highlightListItem(t)},_dittyActiveItemsUpdated:function(t,i,e){t.data.self._highlightListItems(e)},_initializeSorting:function(){var t=this;this.$listItems.sortable({handle:".ditty-data-list__item__move",items:".ditty-data-list__item",axis:"y",start:function(t,i){$(i.item).addClass("ditty-data-list__item--moving")},stop:function(i,e){$(e.item).removeClass("ditty-data-list__item--moving"),t.settings.editor.addUpdate("item_order",t.settings.editor.dittyId)},update:function(){t._updateItemIndexes("updateDitty")}})},_showItem:function(t){t.preventDefault();var i=t.data.self;if(!$(t.target).is("a")&&!$(t.target).parent().is("a")){var e=($(t.target).is(".ditty-data-list__item")?$(t.target):$(t.target).parents(".ditty-data-list__item")).data("item_id");i.settings.editor.ditty.showItem(e)}},_actionClick:function(t){t.preventDefault();var i=t.data.self,e=$(t.target).is("a")?$(t.target):$(t.target).parent("a"),s=e.parents(".ditty-data-list__item"),a=s.data("ditty_id"),d=s.data("item_id");dittyVars.editor.currentItem=s,$("body").trigger("ditty_editor_item_action_click",[e,s,d,a,i.settings.editor])},_editType:function(t){t.preventDefault();var i=t.data.self,e=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item");e.trigger("click"),e.addClass("editing"),i.settings.editor.updateStart(),i.settings.editor.panelOptions("transition","slideRight"),i.settings.editor.showPanel("item_types")},_editItem:function(t){t.preventDefault();var i=t.data.self,e=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),s=e.data("item_id");e.trigger("click"),e.addClass("editing"),i.settings.editor.updateStart();var a={action:"ditty_editor_item_fields",item_id:s,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,a,(function(t){if(t){var e='<div class="ditty-editor__panel ditty-editor__panel--item_editor">'+t+"</div>";i.settings.editor.panelOptions("transition","slideLeft"),i.settings.editor.showPanel("item_editor",e)}}))},_editLayoutVariations:function(t){t.preventDefault();var i=t.data.self,e=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),s=e.data("item_type"),a=e.data("layout_value"),d=e.find(".ditty-data-list__item__label").html();e.trigger("click"),e.addClass("editing"),i.settings.editor.updateStart();var n={action:"ditty_editor_layout_variations",ditty_id:i.settings.editor.dittyId,item_type:s,item_label:d,layout_value:a,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,n,(function(t){if(t){var e='<div class="ditty-editor__panel ditty-editor__panel--layout-variations">'+t+"</div>";i.settings.editor.panelOptions("transition","slideLeft"),i.settings.editor.showPanel("layout_variations",e)}}))},_add_item:function(t){t.preventDefault();var i=t.data.self,e={action:"ditty_editor_item_add",ditty_id:i.settings.editor.dittyId,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,e,(function(t){if(t.display_items){if(i.isEmptyTicker){var e=i.settings.editor.ditty.options("items");$.each(e,(function(t,e){i.settings.editor.ditty.deleteItem(e.id)})),i.isEmptyTicker=!1}$.each(t.display_items,(function(t,e){i.settings.editor.ditty.addItem(e,0)}))}if(t.editor_item){var s=$(t.editor_item);s.hide(),i.$listItems.prepend(s),s.slideDown(),i._updateItemIndexes()}t.draft_id&&t.draft_data&&dittyDraftItemUpdateData(i,t.draft_id,null,t.draft_data),t.draft_id&&t.draft_meta&&dittyDraftItemUpdateMeta(i,t.draft_id,null,t.draft_meta)}),"json")},_cloneItem:function(t){t.preventDefault();var i=t.data.self,e=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),s=e.data("item_id");i.settings.editor.updateStart();var a={action:"ditty_editor_item_clone",item_id:s,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,a,(function(t){if(t.display_items&&t.display_items.length&&i.settings.editor.ditty.updateItems(t.display_items,s,"after"),t.editor_item){var a=$(t.editor_item);a.hide(),e.after(a),a.slideDown(),i._updateItemIndexes()}t.draft_id&&t.draft_data&&dittyDraftItemUpdateData(i,t.draft_id,null,t.draft_data),t.draft_id&&t.draft_meta&&dittyDraftItemUpdateMeta(i,t.draft_id,null,t.draft_meta),i.settings.editor.updateStop()}),"json")},_deleteItem:function(t){t.preventDefault();var i=t.data.self,e=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),s=e.data("item_id");1>=i.$elmt.find(".ditty-data-list__item").length&&i.$add.trigger("click"),e.slideUp((function(){$(this).remove()})),i.settings.editor.ditty.deleteItem(s),dittyDraftItemDelete(i,s)},_updateItemIndexes:function(t){var i=this,e=[];if(this.$elmt.find(".ditty-data-list__item").each((function(t){var s=$(this).data("item_id");e.push(s),dittyDraftItemUpdateData(i,s,"item_index",t)})),"updateDitty"===t){var s=dittyItemsReorder(i.settings.editor.ditty.options("items"),e);i.settings.editor.ditty.options("items",s)}},panelVisible:function(){this.$elmt.find(".ditty-data-list__item").removeClass("editing")},_options:function(t){return this.settings[t]},trigger:function(t,i){var e=[this.settings];i&&(e=i),this.$elmt.trigger("ditty_items_panel_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_items_panel.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){this.$elmt.removeClass("init"),this.settings.editor.$elmt.off("ditty_editor_active_items_update",{self:this},this._dittyActiveItemsUpdated),this.$add.off("click",{self:this},this._add_item),this.$elmt.off("click",".ditty-data-list__item",{self:this},this._showItem),this.$elmt.off("click",".ditty-data-list__item__icon",{self:this},this._editType),this.$elmt.off("click",".ditty-data-list__item__edit",{self:this},this._editItem),this.$elmt.off("click",".ditty-data-list__item__layout",{self:this
|
2 |
-
},this._editLayoutVariations),this.$elmt.off("click",".ditty-data-list__item__clone",{self:this},this._cloneItem),this.$elmt.off("click",".ditty-data-list__item__delete",{self:this},this._deleteItem),this.$list.off("click",".ditty-editor-item > a",{self:this},this._actionClick),$("body").off("ditty_editor_save_ditty_response",{self:this},this._dittyEditorSaveResponse),this.trigger("destroy"),this.elmt._ditty_items_panel=null}},$.fn.ditty_items_panel=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_items_panel||(this._ditty_items_panel=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_items_panel;if(!i)throw new Error("No Ditty_Items_Panel applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Items_Panel.');return void 0!==e?e:this}},$.ditty_items_panel={},$.ditty_items_panel.defaults=t}(jQuery),function($){"use strict";var t={editor:null},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_item_types_panel.defaults,e),this.$elmt=$(i),this.$back=this.$elmt.find(".ditty-editor-options__back"),this.$editorItem=this.settings.editor.$panels.find(".ditty-editor__panel--items").find(".ditty-data-list__item.editing"),this.editorDittyId=this.$editorItem.data("ditty_id"),this.editorItemId=this.$editorItem.data("item_id"),this.currentType=null,this._init()};i.prototype={_init:function(){this.$elmt.addClass("init"),this.settings.editor.initFields(this.$elmt),this.$back.on("click",{self:this},this._backClick),this.$elmt.on("click",".ditty-editor-item-type",{self:this},this._typeClick),this.panelVisible()},_showItemsList:function(){this.settings.editor.panelOptions("transition","slideLeft"),this.settings.editor.showPanel("items")},_backClick:function(t){t.preventDefault(),t.data.self._showItemsList()},_typeClick:function(t){t.preventDefault();var i=t.data.self,e=($(t.target).is(".ditty-editor-item-type")?$(t.target):$(t.target).parents(".ditty-editor-item-type")).data("item_type");if(e===i.currentType)i._showItemsList();else{i.settings.editor.updateStart();var s={action:"ditty_editor_item_type_update",item_id:i.editorItemId,item_type:e,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,s,(function(t){if(t.display_items&&i.settings.editor.ditty.updateItems(t.display_items,i.editorItemId),t.editor_item){var e=$(t.editor_item);i.$editorItem.after(e),i.$editorItem.remove(),i.$editorItem=e}t.draft_id&&t.draft_data&&dittyDraftItemUpdateData(i,t.draft_id,null,t.draft_data),i._showItemsList(),i.settings.editor.updateStop()}),"json")}},panelVisible:function(){this.$editorItem=this.settings.editor.$panels.find(".ditty-editor__panel--items").find(".ditty-data-list__item.editing"),this.editorDittyId=this.$editorItem.data("ditty_id"),this.editorItemId=this.$editorItem.data("item_id"),this.currentType=this.$editorItem.data("item_type"),this.$elmt.find(".ditty-editor-item-type").removeClass("active"),this.$elmt.find('.ditty-editor-item-type[data-item_type="'+this.currentType+'"]').addClass("active")},panelHidden:function(){var t=this.$editorItem.find(".ditty-data-list__item__icon").children("i");t.attr("class",t.data("class"))},_options:function(t){return this.settings[t]},trigger:function(t,i){var e=[this.settings];i&&(e=i),this.$elmt.trigger("ditty_item_types_panel_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_item_types_panel.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){this.$elmt.removeClass("init"),this.$back.off("click",{self:this},this._backClick),this.$elmt.off("click",".ditty-editor-item-type",{self:this},this._typeClick),this.trigger("destroy"),this.elmt._ditty_item_types_panel=null}},$.fn.ditty_item_types_panel=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_item_types_panel||(this._ditty_item_types_panel=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_item_types_panel;if(!i)throw new Error("No Ditty_Item_Types_Panel applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Item_Types_Panel.');return void 0!==e?e:this}},$.ditty_item_types_panel={},$.ditty_item_types_panel.defaults=t}(jQuery),function($){"use strict";var t={editor:null},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_item_editor_panel.defaults,e),this.$elmt=$(i),this.$form=this.$elmt.find(".ditty-editor-options"),this.$back=this.$elmt.find(".ditty-editor-options__back"),this.$preview=this.$elmt.find(".ditty-editor-options__preview"),this.$title=this.$elmt.find(".ditty-editor-options__title"),this.itemId=this.$form.data("item_id"),this.itemType=this.$form.data("item_type"),this.dittyId=this.$form.data("ditty_id"),this.$editorItem=this.settings.editor.$panels.find(".ditty-editor__panel--items").find(".ditty-data-list__item.editing"),this.$editorItemTitle=this.$editorItem.find(".ditty-data-list__item__label"),this.initData=null,this.afterUpdateAction="",this._init()};i.prototype={_init:function(){var t=this;this.initData=this.$form.serialize(),this.settings.editor.initFields(this.$elmt),this.settings.editor.$elmt.on("ditty_editor_add_drafts",{self:this},this._addDrafts),this.settings.editor.$elmt.on("ditty_editor_save_drafts",{self:this},this._saveDrafts),this.$form.on("submit",{self:this},this._submitForm),this.$back.on("click",{self:this},this._backClick),this.$preview.on("click",{self:this},this._previewClick),this.$form.on("keyup change",'input[type="text"], input[type="number"], textarea, select',{self:this},this._checkUpdates),this.$form.on("click",'input[type="radio"], input[type="checkbox"]',{self:this},this._checkUpdates),this.$form.on("ditty_input_wysiwyg_update",".ditty-input--wysiwyg",{self:this},this._checkUpdates),this.$form.on("ditty_field_update",".ditty-field__input",{self:this},this._checkUpdates),setTimeout((function(){t.trigger("init",[t])}),1)},_showItemList:function(){this.settings.editor.$panels.ditty_slider("options","transition","slideRight"),this.settings.editor.$panels.ditty_slider("showSlideById","items")},_enablePreviewButton:function(){this.$preview.addClass("ditty-has-updates")},_disablePreviewButton:function(){this.$preview.removeClass("ditty-has-updates"),this.$preview.children("i").attr("class",this.$preview.children("i").data("class"))},_checkUpdates:function(t){var i=t?t.data.self:this;i.$form.serialize()!==i.initData?(i._enablePreviewButton(),i.settings.editor.addUpdate("item_settings",i.itemId),i.settings.editor.delayedSubmitEnable()):(i._disablePreviewButton(),i.settings.editor.removeUpdate("item_settings",i.itemId))},_addDrafts:function(t){var i=t.data.self;i.$form.serialize()!==i.initData&&i.$form.trigger("submit")},_saveDrafts:function(t){var i=t.data.self;i.$form.serialize()!==i.initData&&(i.afterUpdateAction="save",i.$form.trigger("submit"))},_backClick:function(t){t.preventDefault();var i=t.data.self;i.$form.serialize()===i.initData?i._showItemList():(i.afterUpdateAction="return",i.$form.trigger("submit"))},_previewClick:function(t){t.preventDefault();var i=t.data.self;i.$form.serialize()!==i.initData&&(i.$preview.children("i").attr("class",dittyVars.updateIcon),i.$form.trigger("submit"))},_submitForm:function(t){t.preventDefault();var i=t.data.self,e=i.itemId;i.settings.editor.updateStart();var s={action:"ditty_editor_item_update",item_id:e,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};i.$form.ajaxSubmit({url:dittyVars.ajaxurl,type:"post",dataType:"json",data:s,error:function(){},success:function(t){if(t.value_updates&&i._updateValues(t.value_updates),i.initData=i.$form.serialize(),i._disablePreviewButton(),t.display_items&&i.settings.editor.ditty.updateItems(t.display_items,e),t.editor_item){var s=$(t.editor_item).children(".ditty-data-list__item__label").html();i.$title.html(s),i.$editorItemTitle.html(s)}t.draft_id&&t.draft_data&&dittyDraftItemUpdateData(i,t.draft_id,null,t.draft_data),t.draft_id&&t.draft_meta&&dittyDraftItemUpdateMeta(i,t.draft_id,null,t.draft_meta),i.settings.editor.updateStop(),i.settings.editor.delayedSubmitDisable(),"return"===i.afterUpdateAction&&i._showItemList(),"save"===i.afterUpdateAction&&i.settings.editor.saveDitty({return_items:0}),i.afterUpdateAction=""}})},_updateValues:function(t){var i=this;$.each(t,(function(t,e){var s=i.$form.find('[name="'+t+'"]');s.length&&s.val(e)}))},_options:function(t){return this.settings[t]},trigger:function(t,i){var e=[this.settings];i&&(e=i),this.$elmt.trigger("ditty_item_editor_panel_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_item_editor_panel.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){this.settings.editor.$elmt.off("ditty_editor_add_drafts",{self:this},this._saveDrafts),this.settings.editor.$elmt.off("ditty_editor_save_drafts",{self:this},this._saveDrafts),this.$form.off("submit",{self:this},this._submitForm),this.$back.off("click",{self:this},this._backClick),this.$preview.off("click",{self:this},this._previewClick),this.$form.off("keyup change",'input[type="text"], input[type="number"], textarea, select',{self:this},this._checkUpdates),this.$form.off("click",'input[type="radio"], input[type="checkbox"]',{self:this},this._checkUpdates),this.$form.off("ditty_input_wysiwyg_update",".ditty-input--wysiwyg",{self:this},this._checkUpdates),this.$form.off("ditty_field_update",".ditty-field__input",{self:this},this._checkUpdates),this.elmt._ditty_item_editor_panel=null}},$.fn.ditty_item_editor_panel=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_item_editor_panel||(this._ditty_item_editor_panel=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_item_editor_panel;if(!i)throw new Error("No Ditty_Item_Editor_Panel applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Item_Editor_Panel.');return void 0!==e?e:this}},$.ditty_item_editor_panel={},$.ditty_item_editor_panel.defaults=t}(jQuery),function($){"use strict";var t={editor:null},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_displays_panel.defaults,e),this.$elmt=$(i),this.$list=$(i).find(".ditty-data-list__items"),this.$contents=$(i).find(".ditty-editor__panel__contents"),this.initDisplay=null,this._init()};i.prototype={_init:function(){this.$elmt.addClass("init"),this.$elmt.ditty_ui_data_list({filter:".ditty-display-panel__filter",item:".ditty-editor-display",itemSelector:"display_type"}),this.initDisplay=this.$list.data("active"),this._activateDisplay(this.$list.find("#ditty-editor-display--"+this.initDisplay)),this.$elmt.on("click",".ditty-data-list__item",{self:this},this._selectDisplay),this.$elmt.on("click",".ditty-data-list__item__edit",{self:this},this._editDisplay),this.$elmt.on("click",".ditty-data-list__item__clone",{self:this},this._cloneDisplay),this.$elmt.on("click",".ditty-data-list__item__delete",{self:this},this._deleteDisplay),this.settings.editor.$elmt.on("ditty_editor_saveDrafts",{self:this},this._saveDrafts)},_saveDrafts:function(t){var i=t.data.self;i.initDisplay=i.$list.find(".ditty-editor-display.active").data("display_id")},_activateDisplay:function(t){this.$list.find(".ditty-editor-display").removeClass("active"),t.addClass("active")},_initDitty:function(t,i,e){var s=this.settings.editor.ditty.$elmt;e.display=i,e.id=this.settings.editor.ditty.options("id"),e.items=this.settings.editor.ditty.options("items"),e.height=this.settings.editor.ditty.options("height"),this.settings.editor.ditty.destroy(),s["ditty_"+t](e),this.settings.editor.ditty=s["ditty_"+t]("options","ditty")},_selectDisplay:function(t){t.preventDefault();var i=t.data.self;if($(t.target).parent().is("a"))return!1;var e=$(t.target).is(".ditty-data-list__item")?$(t.target):$(t.target).parents(".ditty-data-list__item"),s=e.data("display_id"),a=e.data("display_type");if(e.hasClass("active"))return!1;i.settings.editor.updateStart(),dittyDraftUpdate(i,"post_meta","_ditty_display",s),i._activateDisplay(e);var d={action:"ditty_editor_select_display",display_id:s,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,d,(function(t){if(!t)return!1;i._initDitty(a,s,t),i.settings.editor.updateStop()}),"json")},_cloneDisplay:function(t){t.preventDefault();var i=t.data.self,e=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),s=e.data("display_id");i.settings.editor.updateStart();var a={action:"ditty_editor_display_clone",display_id:s,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,a,(function(t){if(t.editor_display){var s=$(t.editor_display);s.hide(),e.after(s),s.slideDown()}t.draft_id&&t.draft_data&&dittyDraftDisplayUpdate(i,t.draft_id,null,t.draft_data),i.settings.editor.updateStop()}),"json")},_deleteDisplay:function(t){t.preventDefault();var i=t.data.self,e=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),s=null,a=e.data("display_id");e.hasClass("active")&&(e.prev().length?s=e.prev():e.next().length&&(s=e.next())),e.slideUp((function(){$(this).remove()})),dittyDraftDisplayDelete(i,a),null!==s&&s.trigger("click")},_editDisplay:function(t){t.preventDefault();var i=t.data.self;i.$displayEdit=$(this).parents(".ditty-data-list__item");var e=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),s=e.data("display_id");i.settings.editor.updateStart(),e.addClass("editing");var a={action:"ditty_editor_display_fields",display_id:s,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,a,(function(t){if(t){var e='<div class="ditty-editor__panel ditty-editor__panel--displayEditor">'+t+"</div>";i.settings.editor.panelOptions("transition","slideLeft"),i.settings.editor.showPanel("display_editor",e)}}))},panelVisible:function(){this.$elmt.find(".ditty-data-list__item").removeClass("editing")},trigger:function(t,i){var e=[this.settings];i&&(e=i),this.$elmt.trigger("ditty_displays_panel_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_displays_panel.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){this.$elmt.removeClass("init"),this.$elmt.ditty_ui_data_list("destroy"),this.$elmt.off("click",".ditty-data-list__item",{self:this},this._selectDisplay),this.$elmt.off("click",".ditty-data-list__item__edit",{self:this},this._editDisplay),this.$elmt.off("click",".ditty-data-list__item__clone",{self:this},this._cloneDisplay),this.$elmt.off("click",".ditty-data-list__item__delete",{self:this},this._deleteDisplay),this.settings.editor.$elmt.off("ditty_editor_save_drafts",{self:this},this._saveDrafts),this.trigger("destroy"),this.elmt._ditty_displays_panel=null}},$.fn.ditty_displays_panel=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_displays_panel||(this._ditty_displays_panel=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_displays_panel;if(!i)throw new Error("No Ditty_Displays_Panel applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Displays_Panel.');return void 0!==e?e:this}},$.ditty_displays_panel={},$.ditty_displays_panel.defaults=t}(jQuery),function($){"use strict";var t={editor:null},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_display_editor_panel.defaults,e),this.$elmt=$(i),this.$form=this.$elmt.find(".ditty-editor-options"),this.$back=this.$elmt.find(".ditty-editor-options__back"),this.$optionsTitle=this.$elmt.find(".ditty-editor-options__title"),this.$importExportField=this.$elmt.find(".ditty-editor__import-export__field"),this.$importExportUpdate=this.$elmt.find(".ditty-editor__import-export__update"),this.displayTitle=null,this.displayId=this.settings.editor.ditty.options("display"),this.displayType=this.settings.editor.ditty.options("type"),this.$editorDisplay=this.settings.editor.$panels.find(".ditty-editor__panel--displays").find(".ditty-data-list__item.editing"),this.$editorDisplayTitle=this.$editorDisplay.find(".ditty-data-list__item__label"),this.displayOptions=null,this.initData=null,this.afterUpdateAction="",this._init()};i.prototype={_init:function(){var t,i=this;this.initData=this.$form.serialize(),this.settings.editor.initFields(this.$elmt),t=this.settings.editor.ditty.$elmt["ditty_"+this.displayType]("options"),this.displayOptions=$.extend({},t),this.displayTitle=this.$optionsTitle.val(),this.$importExportUpdate.on("click",{self:this},this._importUpdate),this.settings.editor.$elmt.on("ditty_editor_add_drafts",{self:this},this._addDrafts),this.settings.editor.$elmt.on("ditty_editor_save_drafts",{self:this},this._saveDrafts),this.$form.on("submit",{self:this},this._submitForm),this.$back.on("click",{self:this},this._backClick),this.$elmt.on("change",'input[type="text"], input[type="number"]',{self:this},this._textfieldListeners),this.$form.on("click",'input[type="radio"]',{self:this},this._radioListeners),this.$form.on("click",'input[type="checkbox"]',{self:this},this._checkboxListeners),this.$form.on("change","select",{self:this},this._selectListeners),this.$form.on("ditty_field_clone_update",{self:this},this._cloneListeners),setTimeout((function(){i.trigger("init",[i])}),1)},_showDisplayList:function(){this.settings.editor.$panels.ditty_slider("options","transition","slideRight"),this.settings.editor.$panels.ditty_slider("showSlideById","displays")},_checkUpdates:function(){this.$form.serialize()!==this.initData?(this.settings.editor.addUpdate("displaySettings",this.displayId),this.settings.editor.delayedSubmitEnable()):this.settings.editor.removeUpdate("displaySettings",this.displayId)},_addDrafts:function(t){var i=t.data.self;i.$form.serialize()!==i.initData&&i.$form.trigger("submit")},_saveDrafts:function(t){var i=t.data.self;i.$form.serialize()!==i.initData&&(i.afterUpdateAction="save",i.$form.trigger("submit"))},_backClick:function(t){t.preventDefault();var i=t.data.self;i.$form.serialize()===i.initData?i._showDisplayList():(i.afterUpdateAction="return",i.$form.trigger("submit"))},_submitForm:function(t){t.preventDefault();var i=t.data.self;i.settings.editor.updateStart();var e={action:"ditty_editor_display_update",display_id:i.displayId,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};i.$form.ajaxSubmit({url:dittyVars.ajaxurl,type:"post",dataType:"json",data:e,success:function(t){i.initData=i.$form.serialize(),t.draft_id&&t.draft_label&&(i.displayTitle=t.draft_label,i.$editorDisplayTitle.text(t.draft_label),dittyDraftDisplayUpdate(i,t.draft_id,"label",t.draft_label)),t.draft_id&&t.draft_settings&&(i.displayOptions=t.draft_settings,dittyDraftDisplayUpdate(i,t.draft_id,"settings",t.draft_settings)),t.draft_settings_json&&i.$importExportField.length&&i.$importExportField.val(t.draft_settings_json),i.settings.editor.updateStop(),i.settings.editor.delayedSubmitDisable(),"return"===i.afterUpdateAction&&i._showDisplayList(),"save"===i.afterUpdateAction&&i.settings.editor.saveDitty(),i.afterUpdateAction=""}})},_importUpdate:function(t){t.preventDefault()},_cloneListeners:function(t,i,e){var s=t.data.self;$(t.target);s.settings.editor.ditty.options(e,i)},_textfieldListeners:function(t){var i=t.data.self,e=$(t.target),s=e.attr("name"),a=e.parents(".ditty-input--spacing__group, .ditty-input--radius__group");if(a.length){var d="",n={};a.find("input").each((function(){s=$(this).attr("name"),d=(d=s.split("["))[0];var t=s.match(/\[(.*)\]/);n[t[1]]=$(this).val()})),i.settings.editor.ditty.options(d,n)}else i.settings.editor.ditty.options(s,e.val());i._checkUpdates()},_radioListeners:function(t){var i=t.data.self,e=$(t.target),s=e.val(),a=e.attr("name");i.settings.editor.ditty.options(a,s),i._checkUpdates()},_checkboxListeners:function(t){var i=t.data.self,e=$(t.target),s=!!e.is(":checked")&&$(this).val(),a=e.attr("name");i.settings.editor.ditty.options(a,s),i._checkUpdates()},_selectListeners:function(t){var i=t.data.self,e=$(t.target),s=e.val(),a=e.attr("name");i.settings.editor.ditty.options(a,s),i._checkUpdates()},_options:function(t){return this.settings[t]},trigger:function(t,i){var e=[this.settings];i&&(e=i),this.$elmt.trigger("ditty_display_editor_panel_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_display_editor_panel.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){this.trigger("destroy",[this]),this.$importExportUpdate.off("click",{this:this},this._importUpdate),this.settings.editor.$elmt.off("ditty_editor_add_drafts",{self:this},this._addDrafts),this.settings.editor.$elmt.off("ditty_editor_save_drafts",{self:this},this._saveDrafts),this.$form.off("submit",{this:this},this._submitForm),this.$back.off("click",{this:this},this._cancel_click),this.$elmt.off("change",'input[type="text"], input[type="number"]',{self:this},this._textfieldListeners),this.$form.off("click",'input[type="radio"]',{self:this},this._radioListeners),this.$form.off("click",'input[type="checkbox"]',{self:this},this._checkboxListeners),this.$form.off("change","select",{self:this},this._selectListeners),this.$form.off("ditty_field_clone_update",{self:this},this._cloneListeners),this.elmt._ditty_display_editor_panel=null}},$.fn.ditty_display_editor_panel=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_display_editor_panel||(this._ditty_display_editor_panel=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_display_editor_panel;if(!i)throw new Error("No Ditty_Display_Editor_Panel applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Display_Editor_Panel.');return void 0!==e?e:this}},$.ditty_display_editor_panel={},$.ditty_display_editor_panel.defaults=t}(jQuery),function($){"use strict";var t={editor:null},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_layout_variations_panel.defaults,e),this.$elmt=$(i),this.$back=this.$elmt.find(".ditty-editor-options__back"),this.$list=$(i).find(".ditty-data-list__items"),this.$editorItem=dittyVars.editor.currentItem,this.editorItemLabel=this.$editorItem.find(".ditty-data-list__item__label").text(),this.editorDittyId=this.$editorItem.data("ditty_id"),this.editorItemId=this.$editorItem.data("item_id"),this.editorItemType=this.$editorItem.data("item_type"),this.editorItemValue=this.$editorItem.data("item_value"),this._init()};i.prototype={_init:function(){this.$elmt.addClass("init"),this.$back.on("click",{self:this},this._backClick),this.$elmt.on("click",".ditty-layout-variation__change",{self:this},this._changeTemplate),this.$elmt.on("click",".ditty-layout-variation__edit_html",{self:this,editType:"html"},this._editLayout),this.$elmt.on("click",".ditty-layout-variation__edit_css",{self:this,editType:"css"},this._editLayout),$("body").on("ditty_editor_save_ditty_response",{self:this},this._dittyEditorSaveResponse)},_showItemList:function(){this.settings.editor.$panels.ditty_slider("options","transition","slideRight"),this.settings.editor.$panels.ditty_slider("showSlideById","items")},_backClick:function(t){t.preventDefault(),t.data.self._showItemList()},_dittyEditorSaveResponse:function(t,i){t.data.self;i.ditty_new_layout_ids&&$.each(i.ditty_new_layout_ids,(function(t,i){var e=$('.ditty-layout-variation[data-layout_id="'+t+'"]');e.length&&e.attr("data-layout_id",i).data("layout_id",i)}))},_changeTemplate:function(t){t.preventDefault();var i=t.data.self,e=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),s=e.data("layout_id"),a=e.data("layout_variation_id"),d=e.data("layout_variation_label");dittyVars.editor.currentLayoutVariation=e,i.settings.editor.updateStart(),e.addClass("editing");var n={action:"ditty_editor_layouts",ditty_id:i.editorDittyId,item_type:i.editorItemType,variation_id:a,variation_label:d,layout_id:s,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,n,(function(t){if(t){var e='<div class="ditty-editor__panel ditty-editor__panel--layouts">'+t+"</div>";i.settings.editor.panelOptions("transition","slideLeft"),i.settings.editor.showPanel("layouts",e)}}))},_editLayout:function(t){t.preventDefault();var i=t.data.self,e=t.data.editType,s=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),a=s.data("layout_id");dittyVars.editor.currentLayoutVariation=s,i.settings.editor.updateStart(),i.$list.find(".ditty-data-list__item").removeClass("editing"),s.addClass("editing");var d=[],n=i.settings.editor.ditty.options("items");$.each(n,(function(t,i){d.push(i.uniqId)}));var r={action:"ditty_editor_layout_fields",layout_id:a,item_type:i.editorItemType,item_value:i.editorItemValue,ditty_id:i.editorDittyId,item_id:i.editorItemId,item_ids:d,edit_type:e,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,r,(function(t){if(t){var s="layout_"+e+"_editor",a='<div class="ditty-editor__panel ditty-editor__panel--'+s+'">'+t.form+"</div>";i.settings.editor.panelOptions("transition","slideLeft"),i.settings.editor.showPanel(s,a)}}),"json")},panelVisible:function(){this.$list.find(".ditty-layout-variation").removeClass("editing")},trigger:function(t,i){var e=[this.settings];i&&(e=i),this.$elmt.trigger("ditty_layout_variations_panel_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_layout_variations_panel.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){this.$elmt.removeClass("init"),this.$back.off("click",{self:this},this._backClick),this.$elmt.off("click",".ditty-layout-variation__change",{self:this},this._changeTemplate),this.$elmt.off("click",".ditty-layout-variation__edit_html",{self:this,editType:"html"},this._editLayout),this.$elmt.off("click",".ditty-layout-variation__edit_css",{self:this,editType:"css"},this._editLayout),$("body").off("ditty_editor_save_ditty_response",{self:this},this._dittyEditorSaveResponse),this.elmt._ditty_layout_variations_panel=null}},$.fn.ditty_layout_variations_panel=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_layout_variations_panel||(this._ditty_layout_variations_panel=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_layout_variations_panel;if(!i)throw new Error("No Ditty_Layout_Variations_Panel applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Layout_Variations_Panel.');return void 0!==e?e:this}},$.ditty_layout_variations_panel={},$.ditty_layout_variations_panel.defaults=t}(jQuery),function($){"use strict";var t={editor:null},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_layouts_panel.defaults,e),this.$elmt=$(i),this.$back=this.$elmt.find(".ditty-editor-options__back"),this.$list=$(i).find(".ditty-data-list__items"),this.$editorItem=dittyVars.editor.currentItem,this.editorDittyId=this.$editorItem.data("ditty_id"),this.editorItemId=this.$editorItem.data("item_id"),this.editorItemtype=this.$editorItem.data("item_type"),this.editorItemValue=this.$editorItem.data("item_value"),this.$editorVariation=dittyVars.editor.currentLayoutVariation,this.editorVariationId=this.$editorVariation.data("layout_variation_id"),this.editorLayoutId=this.$editorVariation.data("layout_id"),this._init()};i.prototype={_init:function(){this.$elmt.addClass("init"),this.$back.on("click",{self:this},this._backClick),this.$elmt.on("click",".ditty-data-list__item",{self:this},this._selectLayout),this.$elmt.on("click",".ditty-data-list__item__edit_html",{self:this,editType:"html"},this._editLayout),this.$elmt.on("click",".ditty-data-list__item__edit_css",{self:this,editType:"css"},this._editLayout),this.$elmt.on("click",".ditty-data-list__item__clone",{self:this},this._cloneLayout),this.$elmt.on("click",".ditty-data-list__item__delete",{self:this},this._deleteLayout),this.$list.on("click",".ditty-editor-layout > a",{self:this},this._actionClick),$("body").on("ditty_editor_save_ditty_response",{self:this},this._dittyEditorSaveResponse),this._activateLayout(this.$list.find("#ditty-editor-layout--"+this.editorLayoutId))},_activateLayout:function(t){this.$list.find(".ditty-editor-layout").removeClass("active"),t.addClass("active")},_showVariationsList:function(){this.settings.editor.$panels.ditty_slider("options","transition","slideRight"),this.settings.editor.$panels.ditty_slider("showSlideById","layout_variations")},_backClick:function(t){t.preventDefault(),t.data.self._showVariationsList()},_dittyEditorSaveResponse:function(t,i){t.data.self;i.ditty_new_layout_ids&&$.each(i.ditty_new_layout_ids,(function(t,i){var e=$("#ditty-editor-layout--"+t);e.length&&(e.attr("id","ditty-editor-layout--"+i),e.attr("data-layout_id",i).data("layout_id",i))}))},_selectLayout:function(t){t.preventDefault();var i=t.data.self;if($(t.target).parent().is("a"))return!1;var e=$(t.target).is(".ditty-data-list__item")?$(t.target):$(t.target).parents(".ditty-data-list__item"),s=e.data("layout_id"),a=e.data("layout_version"),d=i.$editorItem.data("layout_value");if(e.hasClass("active"))return!1;$.each(d,(function(t){i.editorVariationId===t&&(d[t]=String(s))})),i.settings.editor.updateStart(),dittyDraftItemUpdateData(i,i.editorItemId,"layout_value",d),i._activateLayout(e);var n={action:"ditty_editor_select_layout",layout_id:s,item_id:i.editorItemId,ditty_id:i.editorDittyId,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,n,(function(t){if(i.settings.editor.updateStop(),t.display_items&&i.settings.editor.ditty.updateItems(t.display_items,i.editorItemId),t.editor_item){var e=$(t.editor_item);i.$editorItem.replaceWith(e)}i.$editorItem.attr("data-layout_value",d).data("layout_value",d),i.$editorVariation.attr("data-layout_id",s).data("layout_id",s),i.$editorVariation.find(".ditty-layout-variation__template > span").text(t.layout_label),a?i.$editorVariation.find(".ditty-layout-variation__template > small").text("("+a+")"):i.$editorVariation.find(".ditty-layout-variation__template > small").text("")}),"json")},_cloneLayout:function(t){t.preventDefault();var i=t.data.self,e=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),s=e.data("layout_id");i.settings.editor.updateStart();var a={action:"ditty_editor_layout_clone",layout_id:s,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security}
|
3 |
-
;$.post(dittyVars.ajaxurl,a,(function(t){if(t.editor_layout){var s=$(t.editor_layout);s.hide(),e.after(s),s.slideDown()}t.draft_id&&t.draft_meta&&dittyDraftLayoutUpdate(i,t.draft_id,null,t.draft_meta),i.settings.editor.updateStop()}),"json")},_deleteLayout:function(t){t.preventDefault();var i=t.data.self,e=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),s=null,a=e.data("layout_id");e.hasClass("active")&&(e.prev().length?s=e.prev():e.next().length&&(s=e.next())),e.slideUp((function(){$(this).remove()})),dittyDraftLayoutDelete(i,a),null!==s&&s.trigger("click")},_editLayout:function(t){t.preventDefault();var i=t.data.self,e=t.data.editType,s=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),a=s.data("layout_id");i.settings.editor.updateStart(),i.$list.find(".ditty-data-list__item").removeClass("editing"),s.addClass("editing");var d={action:"ditty_editor_layout_fields",layout_id:a,item_id:i.editorItemId,item_type:i.editorItemtype,item_value:i.editorItemValue,edit_type:e,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,d,(function(t){if(t){var s="layout_"+e+"_editor",a='<div class="ditty-editor__panel ditty-editor__panel--'+s+'">'+t.form+"</div>";i.settings.editor.panelOptions("transition","slideLeft"),i.settings.editor.showPanel(s,a)}}),"json")},_actionClick:function(t){t.preventDefault();var i=t.data.self,e=$(t.target).is("a")?$(t.target):$(t.target).parent("a"),s=e.parents(".ditty-data-list__item"),a=s.data("layout_id");dittyVars.editor.currentLayout=s,$("body").trigger("ditty_editor_layout_action_click",[e,s,a,i.editorDittyId,i.settings.editor])},trigger:function(t,i){var e=[this.settings];i&&(e=i),this.$elmt.trigger("ditty_layouts_panel_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_layouts_panel.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){this.$elmt.removeClass("init"),this.$back.off("click",{self:this},this._backClick),this.$elmt.off("click",".ditty-data-list__item",{self:this},this._selectLayout),this.$elmt.off("click",".ditty-data-list__item__edit_html",{self:this,editType:"html"},this._editLayout),this.$elmt.off("click",".ditty-data-list__item__edit_css",{self:this,editType:"css"},this._editLayout),this.$elmt.off("click",".ditty-data-list__item__clone",{self:this},this._cloneLayout),this.$elmt.off("click",".ditty-data-list__item__delete",{self:this},this._deleteLayout),this.$list.off("click",".ditty-editor-layout > a",{self:this},this._actionClick),$("body").off("ditty_editor_save_ditty_response",{self:this},this._dittyEditorSaveResponse),this.elmt._ditty_layouts_panel=null}},$.fn.ditty_layouts_panel=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_layouts_panel||(this._ditty_layouts_panel=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_layouts_panel;if(!i)throw new Error("No Ditty_Layouts_Panel applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Layouts_Panel.');return void 0!==e?e:this}},$.ditty_layouts_panel={},$.ditty_layouts_panel.defaults=t}(jQuery),function($){"use strict";var t={editor:null,prevPanel:""},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_layout_html_editor_panel.defaults,e),this.$elmt=$(i),this.$form=this.$elmt.find(".ditty-editor-options"),this.$textarea=this.$elmt.find(".ditty-editor-options__code"),this.$back=this.$elmt.find(".ditty-editor-options__back"),this.$preview=this.$elmt.find(".ditty-editor-options__preview"),this.$editCss=this.$elmt.find(".ditty-editor-options__edit-css"),this.$title=this.$elmt.find(".ditty-editor-options__title"),this.$tags=this.$elmt.find(".ditty-editor-options__tags"),this.itemType=this.$form.data("item_type"),this.layoutId=this.$form.data("layout_id"),this.$editorItem=dittyVars.editor.currentItem,this.$editorLayout=dittyVars.editor.currentLayout,this.$editorLayoutTitle=!!this.$editorLayout&&this.$editorLayout.find(".ditty-data-list__item__label"),this.$editorLayoutVariation=dittyVars.editor.currentLayoutVariation,this.$editorLayoutVariationTitle=this.$editorLayoutVariation.find(".ditty-layout-variation__template span"),this.editorDittyId=this.$editorItem.data("ditty_id"),this.editorItemId=this.$editorItem.data("item_id"),this.editorItemType=this.$editorItem.data("item_type"),this.editorItemValue=this.$editorItem.data("item_value"),this.codeEditor=null,this.codeHasUpdates=!1,this.initData=null,this.afterUpdateAction="",this._init()};i.prototype={_init:function(){this.initData=this.$form.serialize(),this._initEditor(),this.$back.on("click",{self:this},this._backClick),this.$preview.on("click",{self:this},this._previewClick),this.$editCss.on("click",{self:this},this._editCss),this.$form.on("submit",{self:this},this._submitForm),this.$form.on("click",".ditty-editor-options__tag",{self:this},this._insertTag),this.$title.on("keyup",{self:this},this._titleUpdate),this.settings.editor.$elmt.on("ditty_editor_add_drafts",{self:this},this._addDrafts),this.settings.editor.$elmt.on("ditty_editor_save_drafts",{self:this},this._saveDrafts)},_showPrevPanel:function(){this.settings.editor.$panels.ditty_slider("options","transition","slideRight"),this.settings.editor.$panels.ditty_slider("showSlideById",this.settings.prevPanel)},_titleUpdate:function(t){var i=t.data.self;i.settings.editor.addUpdate("layoutUpdate",i.layoutId)},_enablePreviewButton:function(){this.$preview.addClass("ditty-has-updates")},_disablePreviewButton:function(){this.$preview.removeClass("ditty-has-updates"),this.$preview.children("i").attr("class",this.$preview.children("i").data("class"))},_getLayoutItems:function(){var t=this.settings.editor.ditty.options("items"),i=[];return $.each(t,(function(t,e){String(e.layoutId)===String(this.layoutId)&&i.push(e.id)})),i},_addDrafts:function(t){var i=t.data.self;i.codeEditor.codemirror.save(),(i.$form.serialize()!==i.initData||i.codeHasUpdates)&&i.$form.trigger("submit")},_saveDrafts:function(t){var i=t.data.self;i.codeEditor.codemirror.save(),(i.$form.serialize()!==i.initData||i.codeHasUpdates)&&(i.afterUpdateAction="save",i.$form.trigger("submit"))},_backClick:function(t){t.preventDefault();var i=t.data.self;i.codeEditor.codemirror.save(),i.$form.serialize()!==i.initData||i.codeHasUpdates?(i.afterUpdateAction="return",i.$form.trigger("submit")):i._showPrevPanel()},_previewClick:function(t){t.preventDefault();var i=t.data.self;i.codeEditor.codemirror.save(),(i.$form.serialize()!==i.initData||i.codeHasUpdates)&&(i.$preview.children("i").attr("class",dittyVars.updateIcon),i.$form.trigger("submit"))},_editCss:function(t){t.preventDefault();var i=t.data.self,e="layout_css_editor";if(i.settings.editor.updateStart(),i.codeEditor.codemirror.save(),(i.$form.serialize()!==i.initData||i.codeHasUpdates)&&(i.$preview.children("i").attr("class",dittyVars.updateIcon),i.$form.trigger("submit")),i.settings.editor.panelExists(e))i.settings.editor.$elmt.find(".ditty-editor__panel--layout_css_editor input.ditty-editor-options__title").val(i.$title.val()),i.settings.editor.panelOptions("transition","fade"),i.settings.editor.showPanel(e);else{var s={action:"ditty_editor_layout_fields",layout_id:i.layoutId,layout_title:i.$title.val(),ditty_id:i.editorDittyId,item_id:i.editorItemId,item_type:i.editorItemType,item_value:i.editorItemValue,edit_type:"css",draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,s,(function(t){if(t){var s='<div class="ditty-editor__panel ditty-editor__panel--'+e+'">'+t.form+"</div>";i.settings.editor.panelOptions("transition","fade"),i.settings.editor.showPanel(e,s)}}),"json")}},_submitForm:function(t){t.preventDefault();var i=t.data.self,e=i.layoutId,s=i.itemType,a=i._getLayoutItems();if(i.$form.hasClass("ditty-editor-has-errors"))return!1;i.codeEditor.codemirror.save(),i.settings.editor.updateStart();var d={action:"ditty_editor_layout_update",layout_id:e,item_type:s,item_ids:a,edit_type:"html",draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};i.$form.ajaxSubmit({url:dittyVars.ajaxurl,type:"post",dataType:"json",data:d,success:function(t){i.initData=i.$form.serialize(),i._disablePreviewButton(),t.label&&(i.$editorLayoutTitle&&i.$editorLayoutTitle.html(t.label),i.$editorLayoutVariationTitle.html(t.label)),i.$editorLayoutTitle&&i.$editorLayoutTitle.find(".ditty-layout-version").remove(),i.$editorLayoutVariationTitle&&i.$editorLayoutVariationTitle.find(".ditty-layout-version").remove(),t.display_items&&i.settings.editor.ditty.updateItems(t.display_items,!1,!1,!0),t.draft_id&&t.draft_meta&&dittyDraftLayoutUpdate(i,t.draft_id,null,t.draft_meta),i.codeHasUpdates=!1,i.settings.editor.updateStop(),i.settings.editor.delayedSubmitDisable(),"return"===i.afterUpdateAction&&i._showPrevPanel(),"save"===i.afterUpdateAction&&i.settings.editor.saveDitty({return_items:0}),i.afterUpdateAction=""}})},_initEditor:function(){var t=this,i=wp.codeEditor.defaultSettings?_.clone(wp.codeEditor.defaultSettings):{};i.codemirror=_.extend({},i.codemirror,{indentUnit:2,tabSize:2}),this.codeEditor=wp.codeEditor.initialize(this.$textarea[0],i),this.codeEditor.codemirror.on("change",(function(){t.codeEditor.codemirror.save(),t.settings.editor.addUpdate("layout_html_update",t.layoutId),t.codeHasUpdates=!0,t._enablePreviewButton(),t.settings.editor.delayedSubmitEnable()}))},_insertTag:function(t){var i=t.data.self,e=$(t.target),s=e.text(),a=e.data("atts"),d=i.codeEditor.codemirror.getCursor();if(t.shiftKey&&a){var n="",r=s.length-1;$.each(a,(function(t,i){n+=" "+t+'="'+i.toString()+'"'})),s=s.substring(0,r)+n+s.substring(r)}i.codeEditor.codemirror.replaceRange(s,d),d.ch=d.ch+s.length,i.codeEditor.codemirror.setCursor(d)},_options:function(t){return this.settings[t]},trigger:function(t,i){var e=[this.settings];i&&(e=i),this.$elmt.trigger("ditty_layout_html_editor_panel_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_layout_html_editor_panel.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){this.$back.off("click",{self:this},this._backClick),this.$preview.off("click",{self:this},this._previewClick),this.$editCss.off("click",{self:this},this._editCss),this.$form.off("submit",{self:this},this._submitForm),this.$form.off("click",".ditty-editor-options__tag",{self:this},this._insertTag),this.$title.off("keyup",{self:this},this._titleUpdate),this.settings.editor.$elmt.off("ditty_editor_add_drafts",{self:this},this._addDrafts),this.settings.editor.$elmt.off("ditty_editor_save_drafts",{self:this},this._saveDrafts),this.codeEditor.codemirror.off("change"),this.codeEditor.codemirror.toTextArea(),this.elmt._ditty_layout_html_editor_panel=null}},$.fn.ditty_layout_html_editor_panel=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_layout_html_editor_panel||(this._ditty_layout_html_editor_panel=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_layout_html_editor_panel;if(!i)throw new Error("No Ditty_Layout_Html_Editor_Panel applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Layout_Html_Editor_Panel.');return void 0!==e?e:this}},$.ditty_layout_html_editor_panel={},$.ditty_layout_html_editor_panel.defaults=t}(jQuery),function($){"use strict";var t={editor:null,prevPanel:""},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_layout_css_editor_panel.defaults,e),this.$elmt=$(i),this.$form=this.$elmt.find(".ditty-editor-options"),this.$textarea=this.$elmt.find(".ditty-editor-options__code"),this.$back=this.$elmt.find(".ditty-editor-options__back"),this.$preview=this.$elmt.find(".ditty-editor-options__preview"),this.$editHtml=this.$elmt.find(".ditty-editor-options__edit-html"),this.$title=this.$elmt.find(".ditty-editor-options__title"),this.$body=this.$elmt.find(".ditty-editor-options__body"),this.$tags=this.$elmt.find(".ditty-editor-options__tags"),this.itemType=this.$form.data("item_type"),this.layoutId=this.$form.data("layout_id"),this.$editorItem=dittyVars.editor.currentItem,this.$editorLayout=dittyVars.editor.currentLayout,this.$editorLayoutTitle=!!this.$editorLayout&&this.$editorLayout.find(".ditty-data-list__item__label"),this.$editorLayoutVariation=dittyVars.editor.currentLayoutVariation,this.$editorLayoutVariationTitle=this.$editorLayoutVariation.find(".ditty-layout-variation__template span"),this.editorDittyId=this.$editorItem.data("ditty_id"),this.editorItemId=this.$editorItem.data("item_id"),this.editorItemType=this.$editorItem.data("item_type"),this.editorItemValue=this.$editorItem.data("item_value"),this.itemSelector="",this.codeEditor=null,this.codeHasUpdates=!1,this.initData=null,this.afterUpdateAction="",this._init()};i.prototype={_init:function(){this.initData=this.$form.serialize(),this._setCssSelector(),this._initEditor(),this.$back.on("click",{self:this},this._backClick),this.$preview.on("click",{self:this},this._previewClick),this.$editHtml.on("click",{self:this},this._editHtml),this.$form.on("submit",{self:this},this._submitForm),this.$form.on("click",".ditty-editor-options__tag",{self:this},this._insertTag),this.$title.on("keyup",{self:this},this._titleUpdate),this.$body.on("click",".ditty-editor-options__body__error",{self:this},this._removeErrorNotice),this.settings.editor.$elmt.on("ditty_editor_add_drafts",{self:this},this._addDrafts),this.settings.editor.$elmt.on("ditty_editor_save_drafts",{self:this},this._saveDrafts)},_setCssSelector:function(){dittyVars.isTickerPost?this.itemSelector="#poststuff .ditty-layout--"+this.layoutId:this.itemSelector=".ditty-layout--"+this.layoutId},_showPrevPanel:function(){this.settings.editor.$panels.ditty_slider("options","transition","slideRight"),this.settings.editor.$panels.ditty_slider("showSlideById",this.settings.prevPanel)},_titleUpdate:function(t){var i=t.data.self;i.settings.editor.addUpdate("layoutUpdate",i.layoutId)},_enablePreviewButton:function(){this.$preview.addClass("ditty-has-updates")},_disablePreviewButton:function(){this.$preview.removeClass("ditty-has-updates"),this.$preview.children("i").attr("class",this.$preview.children("i").data("class"))},_addDrafts:function(t){var i=t.data.self;i.codeEditor.codemirror.save(),(i.$form.serialize()!==i.initData||i.codeHasUpdates)&&i.$form.trigger("submit")},_saveDrafts:function(t){var i=t.data.self;i.codeEditor.codemirror.save(),(i.$form.serialize()!==i.initData||i.codeHasUpdates)&&(i.afterUpdateAction="save",i.$form.trigger("submit"))},_backClick:function(t){t.preventDefault();var i=t.data.self;i.codeEditor.codemirror.save(),i.$form.serialize()!==i.initData||i.codeHasUpdates?(i.afterUpdateAction="return",i.$form.trigger("submit")):i._showPrevPanel()},_previewClick:function(t){t.preventDefault();var i=t.data.self;i.codeEditor.codemirror.save(),(i.$form.serialize()!==i.initData||i.codeHasUpdates)&&(i.$preview.children("i").attr("class",dittyVars.updateIcon),i.$form.trigger("submit"))},_editHtml:function(t){t.preventDefault();var i=t.data.self,e="layout_html_editor";if(i.settings.editor.updateStart(),i.codeEditor.codemirror.save(),(i.$form.serialize()!==i.initData||i.codeHasUpdates)&&(i.$preview.children("i").attr("class",dittyVars.updateIcon),i.$form.trigger("submit")),i.settings.editor.panelExists(e))i.settings.editor.$elmt.find(".ditty-editor__panel--layout_html_editor input.ditty-editor-options__title").val(i.$title.val()),i.settings.editor.panelOptions("transition","fade"),i.settings.editor.showPanel(e);else{var s={action:"ditty_editor_layout_fields",layout_id:i.layoutId,layout_title:i.$title.val(),ditty_id:i.editorDittyId,item_id:i.editorItemId,item_type:i.editorItemType,item_value:i.editorItemValue,edit_type:"html",draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,s,(function(t){if(t){var s='<div class="ditty-editor__panel ditty-editor__panel--'+e+'">'+t.form+"</div>";i.settings.editor.panelOptions("transition","fade"),i.settings.editor.showPanel(e,s)}}),"json")}},_showErrorNotice:function(){var t=$('<div class="ditty-editor-options__body__error"><span>'+dittyVars.strings.layout_css_error+"</span></div>");this.$body.append(t)},_removeErrorNotice:function(t){t.data.self.$body.find(".ditty-editor-options__body__error").remove()},_submitForm:function(t){t.preventDefault();var i=t.data.self,e=i.layoutId,s=i.itemType;if(i.$form.hasClass("ditty-editor-has-errors"))return!1;i.codeEditor.codemirror.save(),i.settings.editor.updateStart();var a={action:"ditty_editor_layout_update",layout_id:e,item_type:s,edit_type:"css",draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};i.$form.ajaxSubmit({url:dittyVars.ajaxurl,type:"post",dataType:"json",data:a,success:function(t){i.initData=i.$form.serialize(),i._disablePreviewButton(),t.label&&(i.$editorLayoutTitle&&i.$editorLayoutTitle.html(t.label),i.$editorLayoutVariationTitle.html(t.label)),i.$editorLayoutTitle&&i.$editorLayoutTitle.find(".ditty-layout-version").remove(),i.$editorLayoutVariationTitle&&i.$editorLayoutVariationTitle.find(".ditty-layout-version").remove(),t.code?dittyLayoutCss(t.code,i.layoutId,"update"):i._showErrorNotice(),t.draft_id&&t.draft_meta&&dittyDraftLayoutUpdate(i,t.draft_id,null,t.draft_meta),i.codeHasUpdates=!1,i.settings.editor.updateStop(),i.settings.editor.delayedSubmitDisable(),"return"===i.afterUpdateAction&&i._showPrevPanel(),"save"===i.afterUpdateAction&&i.settings.editor.saveDitty(),i.afterUpdateAction=""}})},_initEditor:function(){var t=this,i=wp.codeEditor.defaultSettings?_.clone(wp.codeEditor.defaultSettings):{},e=dittyVars.editor.ditty_layouts_sass?"sass":"css";i.codemirror=_.extend({},i.codemirror,{mode:e,indentUnit:2,tabSize:2}),this.codeEditor=wp.codeEditor.initialize(this.$textarea[0],i),this.codeEditor.codemirror.on("change",(function(){t.codeEditor.codemirror.save(),t.settings.editor.addUpdate("layoutCssUpdate",t.layoutId),t.codeHasUpdates=!0,t._enablePreviewButton(),t.settings.editor.delayedSubmitEnable()}))},_insertTag:function(t){var i=t.data.self,e=$(t.target).text(),s=i.codeEditor.codemirror.getCursor();i.codeEditor.codemirror.replaceRange(e,s),s.ch=s.ch+e.length,i.codeEditor.codemirror.setCursor(s)},_options:function(t){return this.settings[t]},trigger:function(t,i){var e=[this.settings];i&&(e=i),this.$elmt.trigger("ditty_layout_css_editor_panel_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_layout_css_editor_panel.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){this.$back.off("click",{self:this},this._backClick),this.$preview.off("click",{self:this},this._previewClick),this.$editHtml.off("click",{self:this},this._editHtml),this.$form.off("submit",{self:this},this._submitForm),this.$form.off("click",".ditty-editor-options__tag",{self:this},this._insertTag),this.$title.off("keyup",{self:this},this._titleUpdate),this.$body.off("click",".ditty-editor-options__body__error",{self:this},this._removeErrorNotice),this.settings.editor.$elmt.off("ditty_editor_add_drafts",{self:this},this._addDrafts),this.settings.editor.$elmt.off("ditty_editor_save_drafts",{self:this},this._saveDrafts),this.codeEditor.codemirror.off("change"),this.codeEditor.codemirror.toTextArea(),this.elmt._ditty_layout_css_editor_panel=null}},$.fn.ditty_layout_css_editor_panel=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_layout_css_editor_panel||(this._ditty_layout_css_editor_panel=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_layout_css_editor_panel;if(!i)throw new Error("No Ditty_Layout_Css_Editor_Panel applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Layout_Css_Editor_Panel.');return void 0!==e?e:this}},$.ditty_layout_css_editor_panel={},$.ditty_layout_css_editor_panel.defaults=t}(jQuery),jQuery((function($){!function(){"use strict";function t(t,i){0===parseInt(i)?t.hide():t.show()}function i(t,i){"none"===i?t.hide():t.show()}function e(t,i){"none"===i?t.hide():t.show()}$("#ditty-editor").on("ditty_display_editor_panel_init",".ditty-editor__panel--displayEditor",(function(s,a){if("list"===a.displayType){var d=a.$form,n=d.find(".ditty-field--perPage"),r=d.find(".ditty-field--arrows").siblings(),o=d.find(".ditty-field--bullets").siblings();t(n,d.find('input[name="paging"]:checked').val()),d.find('input[name="paging"]').on("change",(function(){t(n,$(this).val())})),i(r,d.find('select[name="arrows"]').val()),d.find('select[name="arrows"]').on("change",(function(){i(r,$(this).val())})),e(o,d.find('select[name="bullets"]').val()),d.find('select[name="bullets"]').on("change",(function(){e(o,$(this).val())}))}}))}()})),jQuery((function($){!function(){"use strict";function t(t,i){var e=t.find('input[name="direction"]:checked').val(),s=t.find(".ditty-field--minHeight"),a=t.find(".ditty-field--maxHeight"),d=t.find('input[name="minHeight"]');if("down"===e||"up"===e){if(s.show(),a.show(),""===d.val()){var n="300px";d.val(n),i.options("minHeight",n)}}else s.hide(),a.hide()}function i(t){"filled"===t.find('input[name="scrollInit"]:checked').val()?t.find(".ditty-field--scrollDelay").show():t.find(".ditty-field--scrollDelay").hide()}function e(t){"no"===t.find('input[name="cloneItems"]:checked').val()?t.find(".ditty-field--wrapItems").show():t.find(".ditty-field--wrapItems").hide()}function s(t){var i=t.find('select[name="titleDisplay"]').val(),e=t.find(".ditty-field--titleDisplay");"none"===i?e.siblings().hide():e.siblings().show()}function a(a,d){t(a,d),a.find('input[name="direction"]').on("click",(function(){t(a,d)})),i(a),a.find('input[name="scrollInit"]').on("click",(function(){i(a)})),e(a),a.find('input[name="cloneItems"]').on("click",(function(){e(a)})),s(a),a.find('select[name="titleDisplay"]').on("change",(function(){s(a)}))}$("#ditty-editor").on("ditty_display_editor_panel_init",".ditty-editor__panel--displayEditor",(function(t,i){if("ticker"===i.displayType){var e=i.$form,s=e.parents("#ditty-editor__settings")[0];a(e,s._ditty_editor.ditty)}})),$(".ditty-sandbox").on("ditty_sandbox_init",(function(t,i,e){"ticker"===i.displayType&&a($(this).find("form"),e)}))}()})),jQuery((function($){!function(){"use strict";function t(t){"full"===t.find('input[name="content_display"]:checked').val()?(t.find(".ditty-field--more_link").hide(),t.find(".ditty-field--excerpt_length").hide(),t.find(".ditty-field--more").hide(),t.find(".ditty-field--more_before").hide(),t.find(".ditty-field--more_after").hide()):(t.find(".ditty-field--more_link").show(),t.find(".ditty-field--excerpt_length").show(),t.find(".ditty-field--more").show(),t.find(".ditty-field--more_before").show(),t.find(".ditty-field--more_after").show())}$("#ditty-editor").on("ditty_item_editor_panel_init",".ditty-editor__panel--item_editor",(function(i,e){if("posts_feed"!==e.itemType&&"post"!==e.itemType)return!1;var s=e.$form;t(s),s.on("click",'input[name="content_display"]',(function(){t(s)}))}))}()}));
|
1 |
function dittyEditorInit(t){if(!t)return!1;jQuery("#ditty-editor__settings").ditty_editor({ditty:t})}function dittyGetItemsById(t,i){var e=[];return jQuery.each(t,(function(t,s){String(s.id)===String(i)&&e.push(s)})),e}function dittyItemsReorder(t,i){var e=[];return jQuery.each(i,(function(i,s){e=jQuery.merge(e,dittyGetItemsById(t,s))})),e}function dittyDraftUpdate(t,i,e,s){var a=t.settings.editor.getDraftValues(i);return a||(a={}),e?a[e]=s:a=s,t.settings.editor.updateDraftValues(i,a)}function dittyDraftGet(t,i,e){var s=t.settings.editor.getDraftValues(i);return!!s&&(e&&s[e]?s[e]:s)}function dittyDraftDelete(t,i,e){var s=i.settings.editor.getDraftValues(t),a={};return jQuery.each(s,(function(t,i){String(e)!==String(t)&&(a[t]=i)})),"new-"!==String(e).substring(0,4)&&(a[e]="DELETE"),i.settings.editor.updateDraftValues(t,a)}function dittyDraftItemDelete(t,i){return dittyDraftDelete("items",t,i)}function dittyDraftLayoutDelete(t,i){return dittyDraftDelete("layouts",t,i)}function dittyDraftDisplayDelete(t,i){return dittyDraftDelete("displays",t,i)}function dittyDraftItemUpdateData(t,i,e,s){var a=t.settings.editor.getDraftValues("items");return a||(a={}),a[i]||(a[i]={}),a[i].data||(a[i].data={}),e?a[i].data[e]=s:a[i].data=s,t.settings.editor.updateDraftValues("items",a)}function dittyDraftItemGetData(t,i,e){var s=t.settings.editor.getDraftValues("items");return!!s[i]&&(!!s[i].data&&(e?s[i].data[e]?s[i].data[e]:void 0:s[i].data))}function dittyDraftItemUpdateMeta(t,i,e,s){var a=t.settings.editor.getDraftValues("items");return a||(a={}),a[i]||(a[i]={}),a[i].meta||(a[i].meta={}),e?a[i].meta[e]=s:a[i].meta=s,t.settings.editor.updateDraftValues("items",a)}function dittyDraftItemGetMeta(t,i,e){var s=t.settings.editor.getDraftValues("items");return!!s[i]&&(!!s[i].meta&&(e?s[i].meta[e]?s[i].meta[e]:void 0:s[i].meta))}function dittyDraftLayoutUpdate(t,i,e,s){var a=t.settings.editor.getDraftValues("layouts");return a||(a={}),a[i]||(a[i]={}),e?a[i][e]=s:a[i]=s,t.settings.editor.updateDraftValues("layouts",a)}function dittyDraftLayoutGet(t,i,e){var s=t.settings.editor.getDraftValues("layouts");return!!s[i]&&(e?s[i][e]?s[i][e]:void 0:s[i])}function dittyDraftDisplayUpdate(t,i,e,s){var a=t.settings.editor.getDraftValues("displays");return a||(a={}),a[i]||(a[i]={}),e?a[i][e]=s:a[i]=s,t.settings.editor.updateDraftValues("displays",a)}function dittyDraftDisplayGet(t,i,e){var s=t.settings.editor.getDraftValues("layouts");return!!s[i]&&(e?s[i][e]?s[i][e]:void 0:s[i])}jQuery((function($){!function(){"use strict";$("body").on("ditty_editor_before_panel_update",(function(t,i,e,s,a,d){switch(d.delayedSubmitDisable(),$.protip({defaults:{position:"top",size:"small",scheme:"black",classes:"ditty-protip"}}),i){case"settings":e.hasClass("init")||e.ditty_settings_panel({editor:d});break;case"items":e.hasClass("init")?e.ditty_items_panel("panelVisible"):e.ditty_items_panel({editor:d});break;case"displays":e.find(".ditty-data-list__item").removeClass("editing"),e.hasClass("init")?e.ditty_displays_panel("panelVisible"):e.ditty_displays_panel({editor:d});break;case"item_types":e.find(".ditty-data-list__item").removeClass("editing"),e.hasClass("init")?e.ditty_item_types_panel("panelVisible"):e.ditty_item_types_panel({editor:d});break;case"item_editor":e.ditty_item_editor_panel({editor:d});break;case"display_editor":e.ditty_display_editor_panel({editor:d});break;case"layouts":"layoutHtmlEditor"!==s&&"layoutCssEditor"!==s&&e.ditty_layouts_panel({editor:d});break;case"layout_variations":e.hasClass("init")?e.ditty_layout_variations_panel("panelVisible"):e.ditty_layout_variations_panel({editor:d});break;case"layout_html_editor":e.ditty_layout_html_editor_panel({editor:d,prevPanel:s});break;case"layout_css_editor":e.ditty_layout_css_editor_panel({editor:d,prevPanel:s})}})),$("body").on("ditty_editor_panel_removed",(function(t,i,e){switch(i){case"item_editor":e.ditty_item_editor_panel&&e.ditty_item_editor_panel("destroy");break;case"display_editor":e.ditty_display_editor_panel&&e.ditty_display_editor_panel("destroy");break;case"layouts":case"layouts":e.ditty_layouts_panel&&e.ditty_layouts_panel("destroy");break;case"layout_variations":e.ditty_layout_variations_panel&&e.ditty_layout_variations_panel("destroy");break;case"layout_html_editor":e.ditty_layout_html_editor_panel&&e.ditty_layout_html_editor_panel("destroy");break;case"layout_css_editor":e.ditty_layout_css_editor_panel&&e.ditty_layout_css_editor_panel("destroy")}}))}()})),dittyEditorInit(),function($){"use strict";var t={listType:"toggle",showAll:!0,activeFilter:"*",filter:".ditty-data-list__filter",filterSelector:"filter",item:".ditty-data-list__item",itemSelector:"filter"},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_ui_data_list.defaults,e),this.$elmt=$(i),this.filters=[],this._init()};i.prototype={_init:function(){var t=this;this.$elmt.on("click",this.settings.filter,{self:this},this._filterClick),this.$elmt.find(this.settings.filter+".active").each((function(){t._filterList($(this).data(t.settings.filterSelector))})),"*"!==this.settings.activeFilter&&this._filterList(this.settings.activeFilter),setTimeout((function(){t.trigger("init")}),1)},_filterList:function(t){var i=this,e=this.filters;if("toggle"===this.settings.listType)this.filters.includes(t)?this.settings.showAll&&(this.filters=[],this.$elmt.find(this.settings.filter).removeClass("active"),this.$elmt.find(this.settings.item).show()):(this.filters=[t],this.$elmt.find(this.settings.filter).removeClass("active"),this.$elmt.find(this.settings.filter+"[data-"+this.settings.filterSelector+'="'+t+'"]').addClass("active"),this.$elmt.find(this.settings.item).hide(),this.$elmt.find(this.settings.item+"[data-"+this.settings.itemSelector+'="'+t+'"]').show());else if("filter"===this.settings.listType){if(this.$elmt.find(this.settings.item).hide(),this.filters.includes(t)){this.$elmt.find(this.settings.filter+"[data-"+this.settings.filterSelector+'="'+t+'"]').removeClass("active");for(var s=0;s<this.filters.length;s++)i.filters[s]===t&&i.filters.splice(s,1)}else this.$elmt.find(this.settings.filter+"[data-"+this.settings.filterSelector+'="'+t+'"]').addClass("active"),this.filters.push(t);$.each(this.filters,(function(t,e){i.$elmt.find(this.settings.item+"[data-"+this.settings.itemSelector+'="'+e+'"]').show()})),0===this.filters.length&&i.$elmt.find(this.settings.item).show()}e!==this.filters&&i.trigger("update")},_filterClick:function(t){t.preventDefault();var i=t.data.self,e=$(t.target);e.is("a")||(e=e.parents("a")),i._filterList(e.data(i.settings.filterSelector))},_options:function(t){return this.settings[t]},trigger:function(t,i){var e=[this.settings,this.filters];i&&(e=i),this.$elmt.trigger("ditty_ui_data_list_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_ui_data_list.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){this.$elmt.off("click",this.settings.filter,{self:this},this._filterClick),this.trigger("destroy"),this.elmt._ditty_ui_data_list=null}},$.fn.ditty_ui_data_list=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_ui_data_list||(this._ditty_ui_data_list=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_ui_data_list;if(!i)throw new Error("No Ditty_UI_Data_List applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_UI_Data_List.');return void 0!==e?e:this}},$.ditty_ui_data_list={},$.ditty_ui_data_list.defaults=t}(jQuery),function($){"use strict";var t={screen:"admin",ditty:null,panel:""},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_editor.defaults,e),this.$elmt=$(i),this.ditty=this.settings.ditty,this.dittyId=this.settings.ditty.options("id"),this.dittyType=this.settings.ditty.options("type"),this.displayId=0,this.panelsLoaded=0,this.unsavedUpdates={},this.draftValues={},this.$overlay=null,this.$contents=null,this.$header=null,this.$update=null,this.$updateCount=null,this.$updateLabel=null,this.$tabs=null,this.$panels=null,this.currentTab=0,this.currentPanel=this.settings.panel,this.delayedSubmit=!1,this.tabs=[],this.panels=[],this.activeItems=[],this._init()};i.prototype={_init:function(){var t,i,e,s,a,d,n,r=this;t=$('<div class="ditty-editor__contents"></div>'),this.$contents=t,i=$('<div class="ditty-editor__header"></div>'),this.$header=i,e=$('<span class="ditty-editor__update__count"></span>'),this.$updateCount=e,s=$('<span class="ditty-editor__update__label">Save Ditty</span>'),this.$updateLabel=s,a=$('<button type="submit" class="ditty-editor__update ditty-button ditty-button--primary"></button>'),this.$update=a,d=$('<div class="ditty-editor__tabs"></div>'),this.$tabs=d,n=$('<div class="ditty-editor__panels"></div>'),this.$panels=n,a.prepend(e,s),i.append(a),t.append(i,d,n),this.$elmt.append(t),this.$overlay=$('<div class="ditty-updating-overlay ditty-admin-item__overlay"><div class="ditty-updating-overlay__inner"><i class="fas fa-sync-alt fa-spin"></i></div></div>'),this.$elmt.append(this.$overlay),$(document).on("postbox-moved",{self:this},this._postboxMoved),$(document).on("postboxes-columnchange",{self:this},this._postboxMoved),$(window).on("beforeunload",{self:this},this._beforeunload),this.ditty.$elmt.on("ditty_active_items_update",{self:this},this._dittyItemsUpdated),this.ditty.$elmt.on("ditty_disabled_items_update",{self:this},this._disabledItemsUpdate),this.$tabs.on("click",".ditty-editor__tab",{self:this},this._showPanel),this.$update.on("click",{self:this},this._saveClick),this.$panels.on("ditty_slider_init",{self:this},this._editorLoaded),this.$panels.on("ditty_slider_before_slide_update",{self:this},this._beforeSlideUpdate),this.$panels.on("ditty_slider_after_slide_update",{self:this},this._afterSlideUpdate),this.$panels.on("ditty_slider_slide_removed",{self:this},this._slideRemoved),this._loadContents(),this.trigger("stop_live_updates"),setTimeout((function(){r.trigger("init")}),1)},_loadContents:function(){var t=this,i={action:"ditty_editor_load_contents",ditty_id:this.dittyId,security:dittyVars.security};$.post(dittyVars.ajaxurl,i,(function(i){t._initTabs(i.tabs),t._initPanels(i.panels),t._initSlider()}),"json")},_editorLoaded:function(t){var i=t.data.self;$("body").trigger("ditty_editor_loaded",[i])},_setUpdateCount:function(){},_initSlider:function(){var t=this.tabs[0].id;this.currentPanel&&""!==this.currentPanel&&(t=this.currentPanel),this.$panels.ditty_slider({transition:"fade",transitionSpeed:.75,heightSpeed:.75,touchSwipe:!1,slides:this.panels,slideId:t})},_beforeSlideUpdate:function(t,i,e,s,a){var d=t.data.self;d.updateStart(),d._updateTab(e.id),$("body").trigger("ditty_editor_before_panel_update",[e.id,e.$elmt,a.id,a.$elmt,d])},_afterSlideUpdate:function(t,i,e,s,a){var d=t.data.self;d.updateStop(),$("body").trigger("ditty_editor_after_panel_update",[e.id,e.$elmt,a.id,a.$elmt,d])},_slideRemoved:function(t,i){var e=t.data.self;$("body").trigger("ditty_editor_panel_removed",[i.id,i.$elmt,e])},_showPanel:function(t){t.preventDefault();var i=t.data.self,e=$(t.target).is("a")?$(t.target):$(t.target).parent("a"),s=e.data("panel"),a=parseInt(e.data("index"));if(s===i.currentTab)return!1;var d=a>i.currentTab?"slideLeft":"slideRight";i.$panels.ditty_slider("options","transition",d),i.$panels.ditty_slider("showSlideById",s),i.currentTab=a,i.$elmt.trigger("ditty_editor_add_drafts")},_updateTab:function(t){var i=$('.ditty-editor__tab[data-panel="'+t+'"]');void 0!==i[0]&&($(".ditty-editor__tab").removeClass("active"),i.addClass("active"),this.currentTab=parseInt(i.data("index")))},_initTabs:function(t){var i=this,e=0;$.each(t,(function(t,s){var a=$('<a href="#" class="ditty-editor__tab ditty-editor__tab--'+t+'" data-panel="'+t+'" data-index="'+e+'"><i class="'+s.icon+'"></i><span>'+s.label+"</span></a>");i.$tabs.append(a),i.tabs.push({id:t,tab:a}),e++}))},_initPanels:function(t){var i=this;$.each(t,(function(t,e){var s='<div class="ditty-editor__panel ditty-editor__panel--'+t+'">'+e+"</div>";i.panels.push({id:t,html:s,cache:!0})}))},_initFields:function(t){t.find(".ditty-data-list").ditty_ui_data_list(),t.trigger("ditty_init_fields"),$.protip({defaults:{position:"top",size:"small",scheme:"black",classes:"ditty-protip"}})},saveDitty:function(t){var i=this,e=i.dittyId;i.$updateLabel.text("Updating..."),i.updateStart();var s={action:"ditty_editor_save",ditty_id:e,draft_values:i.draftValues,return_items:1,security:dittyVars.security};s=$.extend({},s,t),$.post(dittyVars.ajaxurl,s,(function(t){$("body").trigger("ditty_editor_save_ditty_response",[t]),t.display_items&&i.ditty.options("items",t.display_items),i.draftValues={},i.unsavedUpdates={},i._setUpdateCount(),i.$elmt.removeClass("ditty-editor--updates-exist"),i.$updateLabel.text("Ditty Saved!"),setTimeout((function(){i.$updateLabel.text("Save Ditty")}),2e3),i.updateStop(),t.new_ditty_url&&window.history.pushState(null,"","/wp-admin/post.php?post="+e+"&action=edit")}))},_saveClick:function(t){t.preventDefault();var i=t.data.self;i.$elmt.trigger("ditty_editor_save_drafts"),i.delayedSubmit||i.saveDitty()},_dittyItemsUpdated:function(t,i,e){var s=t.data.self;s.activeItems=e,s.trigger("active_items_update")},_disabledItemsUpdate:function(t,i){var e=t.data.self;$.each(i,(function(t,i){"disabled"===i?e.$elmt.find("#ditty-editor-item--"+t).addClass("ditty-editor-item--disabled"):e.$elmt.find("#ditty-editor-item--"+t).removeClass("ditty-editor-item--disabled")}))},_postboxMoved:function(t,i){if(!window.tinymce)return!1;$(i).find(".wp-editor-area").each((function(){var t=$(this).attr("id");tinymce.execCommand("mceRemoveEditor",!0,t),tinymce.execCommand("mceAddEditor",!0,t)}))},_beforeunload:function(t){var i=t.data.self;return Object.keys(i.unsavedUpdates).length>0||void 0},_windowResize:function(t){t.preventDefault()},_options:function(t){return this.settings[t]},panelExists:function(t){var i=this.$panels.ditty_slider("options","slides"),e=!1;return $.each(i,(function(i,s){String(s.id)!==String(t)||(e=!0)})),e},showPanel:function(t,i){i&&this.$panels.ditty_slider("addSlideById",t,i),this.$panels.ditty_slider("showSlideById",t,!0)},updateExists:function(t,i){if(void 0===this.unsavedUpdates[t]&&(this.unsavedUpdates[t]=[]),-1!==$.inArray(i,this.unsavedUpdates[t]))return!0},addUpdate:function(t,i){var e=!1;return void 0===this.unsavedUpdates[t]&&(this.unsavedUpdates[t]=[]),-1===$.inArray(i,this.unsavedUpdates[t])&&(e=!0,this.unsavedUpdates[t].push(i)),this._setUpdateCount(),this.$elmt.addClass("ditty-editor--updates-exist"),e},removeUpdate:function(t,i){if(void 0===this.unsavedUpdates[t])return!1;if(-1===$.inArray(i,this.unsavedUpdates[t]))return!1;var e=!1,s=[];return $.each(this.unsavedUpdates[t],(function(t,a){String(i)===String(a)?e=!0:s.push(a)})),this.unsavedUpdates[t]=s,this._setUpdateCount(),""===this.$updateCount.text()&&this.$elmt.removeClass("ditty-editor--updates-exist"),e},updateStart:function(){this.$overlay.fadeIn()},updateStop:function(){this.$overlay.fadeOut()},initFields:function(t){this._initFields(t)},updateDraftValues:function(t,i){return this.$elmt.addClass("ditty-editor--updates-exist"),t?(this.draftValues[t]=i,"development"===dittyVars.mode&&window.console&&console.log("draftValues:",this.draftValues),this.draftValues[t]):(this.draftValues=i,"development"===dittyVars.mode&&window.console&&console.log("draftValues:",this.draftValues),this.draftValues)},getDraftValues:function(t){return t?!!this.draftValues[t]&&this.draftValues[t]:this.draftValues},delayedSubmitEnable:function(){this.delayedSubmit=!0},delayedSubmitDisable:function(){this.delayedSubmit=!1},trigger:function(t,i){var e=[];switch(t){case"active_items_update":e=[this.ditty,this.activeItems];break;case"stop_live_updates":e=[this.dittyId];break;default:e=[this.settings]}i&&(e=i),this.$elmt.trigger("ditty_editor_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e),$("body").trigger("ditty_"+t,e)},_getPanelOption:function(t){return"elmnt"===t?this.$panels:this.settings[t]},_setPanelOption:function(t,i){if(void 0===i)return!1;this.$panels.ditty_slider("options",t,i),this.trigger("update")},panelOptions:function(t,i){var e=this;if("object"==typeof t)$.each(t,(function(t,i){e._setPanelOption(t,i)}));else{if("string"!=typeof t)return e.$panels.ditty_slider("options");if(void 0===i)return e._getPanelOption(t);e._setPanelOption(t,i)}},_getOption:function(t){return"elmnt"===t?this:this.settings[t]},_setOption:function(t,i){if(void 0===i)return!1;this.settings[t]=i,this.trigger("update")},options:function(t,i){var e=this;if("object"==typeof t)$.each(t,(function(t,i){e._setOption(t,i)}));else{if("string"!=typeof t)return e.settings;if(void 0===i)return e._getOption(t);e._setOption(t,i)}},destroy:function(){this.$panels.ditty_slider&&this.$panels.ditty_slider("destroy"),$(document).off("postbox-moved",{self:this},this._postboxMoved),$(document).off("postboxes-columnchange",{self:this},this._postboxMoved),$(window).off("beforeunload",{self:this},this._beforeunload),this.ditty.$elmt.off("ditty_active_items_update",{self:this},this._dittyItemsUpdated),this.ditty.$elmt.off("ditty_disabled_items_update",{self:this},this._disabledItemsUpdate),this.$tabs.off("click","ditty-editor__tab",{self:this},this._showPanel),this.$update.off("click",{self:this},this._saveClick),this.$panels.off("ditty_slider_init",{self:this},this._editorLoaded),this.$panels.off("ditty_slider_before_slide_update",{self:this},this._beforeSlideUpdate),this.$panels.off("ditty_slider_after_slide_update",{self:this},this._afterSlideUpdate),this.$panels.off("ditty_slider_slide_removed",{self:this},this._slideRemoved),this.trigger("destroy"),this.elmt._ditty_editor=null}},$.fn.ditty_editor=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_editor||(this._ditty_editor=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_editor;if(!i)throw new Error("No Ditty_Editor applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Editor.');return void 0!==e?e:this}},$.ditty_editor={},$.ditty_editor.defaults=t}(jQuery),function($){"use strict";var t={editor:null},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_settings_panel.defaults,e),this.$elmt=$(i),this.$form=this.$elmt.find(".ditty-editor-options"),this.$title=this.$elmt.find('input[name="title]'),this.$previewBg=this.$elmt.find('input[name="previewBg"]'),this.$previewPaddingTop=this.$elmt.find('input[name="previewPadding[paddingTop]"]'),this.$previewPaddingBottom=this.$elmt.find('input[name="previewPadding[paddingBottom]"]'),this.$previewPaddingLeft=this.$elmt.find('input[name="previewPadding[paddingLeft]"]'),this.$previewPaddingRight=this.$elmt.find('input[name="previewPadding[paddingRight]"]'),this.$postTitle=$(".ditty-post__title"),this.$editorPreview=$("#ditty-editor__preview"),this.dittyId=this.$form.data("ditty_id"),this.initData=null,this.afterUpdateAction="",this._init()};i.prototype={_init:function(){this.initData=this.$form.serialize(),this.settings.editor.initFields(this.$elmt),this.settings.editor.$elmt.on("ditty_editor_add_drafts",{self:this},this._addDrafts),this.settings.editor.$elmt.on("ditty_editor_save_drafts",{self:this},this._saveDrafts),this.$form.on("submit",{self:this},this._submitForm),this.$form.on("keyup change",'input[type="text"], input[type="number"], textarea, select',{self:this},this._checkUpdates),this.$form.on("click",'input[type="radio"], input[type="checkbox"]',{self:this},this._checkUpdates),this.$form.on("ditty_input_wysiwyg_update",".ditty-input--wysiwyg",{self:this},this._checkUpdates),this.$form.on("keyup change",'input[name="title"]',{self:this},this._titleChange),this.$form.on("keyup change",".ditty-field--preview_settings *",{self:this},this._previewBgChange),this.$elmt.addClass("init")},_checkUpdates:function(t){var i=t?t.data.self:this;i.$form.serialize()!==i.initData?(i.settings.editor.addUpdate("settings",i.itemId),i.settings.editor.delayedSubmitEnable()):i.settings.editor.removeUpdate("settings",i.itemId)},_titleChange:function(t){var i=t?t.data.self:this,e=$(t.target).val();i.$postTitle.text(e)},_previewBgChange:function(t){var i=t?t.data.self:this,e={backgroundColor:i.$previewBg.val(),paddingTop:i.$previewPaddingTop.val(),paddingBottom:i.$previewPaddingBottom.val(),paddingLeft:i.$previewPaddingLeft.val(),paddingRight:i.$previewPaddingRight.val()};i.$editorPreview.css(e)},_addDrafts:function(t){var i=t.data.self;i.$form.serialize()!==i.initData&&i.$form.trigger("submit")},_saveDrafts:function(t){var i=t.data.self;i.$form.serialize()!==i.initData&&(i.afterUpdateAction="save",i.$form.trigger("submit"))},_submitForm:function(t){t.preventDefault();var i=t.data.self,e=i.dittyId;i.settings.editor.updateStart();var s={action:"ditty_editor_settings_update",ditty_id:e,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};i.$form.ajaxSubmit({url:dittyVars.ajaxurl,type:"post",dataType:"json",data:s,success:function(t){i.initData=i.$form.serialize(),dittyDraftUpdate(i,"settings",!1,t),i.settings.editor.delayedSubmitDisable(),"save"===i.afterUpdateAction&&i.settings.editor.saveDitty({return_items:0}),i.afterUpdateAction=""}})},_options:function(t){return this.settings[t]},trigger:function(t,i){var e=[this.settings];i&&(e=i),this.$elmt.trigger("ditty_settings_panel_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_settings_panel.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){this.$elmt.removeClass("init"),this.settings.editor.$elmt.off("ditty_editor_save_drafts",{self:this},this._saveDrafts),this.settings.editor.$elmt.off("ditty_editor_add_drafts",{self:this},this._addDrafts),this.$form.off("submit",{self:this},this._submitForm),this.$form.off("keyup change",'input[type="text"], input[type="number"], textarea, select',{self:this},this._checkUpdates),this.$form.off("keyup change",'input[name="previewBg"]',{self:this},this._previewBg_cahnge),this.$form.off("keyup change",'input[name="title"]',{self:this},this._titleChange),this.$form.off("click",'input[type="radio"], input[type="checkbox"]',{self:this},this._checkUpdates),this.$form.off("ditty_input_wysiwyg_update",".ditty-input--wysiwyg",{self:this},this._checkUpdates),this.trigger("destroy"),this.elmt._ditty_settings_panel=null}},$.fn.ditty_settings_panel=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_settings_panel||(this._ditty_settings_panel=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_settings_panel;if(!i)throw new Error("No Ditty_Settings_Panel applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Settings_Panel.');return void 0!==e?e:this}},$.ditty_settings_panel={},$.ditty_settings_panel.defaults=t}(jQuery),function($){"use strict";var t={editor:null},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_items_panel.defaults,e),this.$elmt=$(i),this.$add=$(i).find(".ditty-editor-options__add"),this.$contents=$(i).find(".ditty-editor__panel__contents"),this.$list=$(i).find(".ditty-data-list"),this.$listItems=$(i).find(".ditty-data-list__items"),this.isEmptyTicker=!1,this._init()};i.prototype={_init:function(){this.$elmt.addClass("init"),this.settings.editor.$elmt.on("ditty_editor_active_items_update",{self:this},this._dittyActiveItemsUpdated),this.$add.on("click",{self:this},this._add_item),this.$elmt.on("click",".ditty-data-list__item",{self:this},this._showItem),this.$elmt.on("click",".ditty-data-list__item__icon",{self:this},this._editType),this.$elmt.on("click",".ditty-data-list__item__edit",{self:this},this._editItem),this.$elmt.on("click",".ditty-data-list__item__layout",{self:this},this._editLayoutVariations),this.$elmt.on("click",".ditty-data-list__item__clone",{self:this},this._cloneItem),this.$elmt.on("click",".ditty-data-list__item__delete",{self:this},this._deleteItem),this.$list.on("click",".ditty-editor-item > a",{self:this},this._actionClick),$("body").on("ditty_editor_save_ditty_response",{self:this},this._dittyEditorSaveResponse),1>this.$elmt.find(".ditty-data-list__item").length&&(this.isEmptyTicker=!0,this.$add.trigger("click")),this._initializeSorting(),this._highlightListItems(this.settings.editor.activeItems)},dittyUpdateSavedDraftLayouts:function(t,i){$.each($(".ditty-editor-item"),(function(){var e=$(this).data("layout_value");$.each(e,(function(s,a){String(a)===String(t)&&(e[s]=String(i))})),$(this).attr("data-layout_value",e).data("layout_value",e)}))},_dittyEditorSaveResponse:function(t,i){var e=t.data.self;i.ditty_new_item_ids&&$.each(i.ditty_new_item_ids,(function(t,i){var e=$("#ditty-editor-item--"+t);e.length&&(e.attr("id","ditty-editor-item--"+i),e.attr("data-item_id",i).data("item_id",i))})),i.ditty_new_layout_ids&&$.each(i.ditty_new_layout_ids,(function(t,i){e.dittyUpdateSavedDraftLayouts(t,i)}))},_highlightListItem:function(t){var i=t.id+"";i=i.split("_"),this.$elmt.find("#ditty-editor-item--"+i[0]).addClass("active")},_highlightListItems:function(t){this.$elmt.find(".ditty-data-list__item").removeClass("active");var i=this;Array.isArray(t)?$.each(t,(function(t,e){i._highlightListItem(e)})):i._highlightListItem(t)},_dittyActiveItemsUpdated:function(t,i,e){t.data.self._highlightListItems(e)},_initializeSorting:function(){var t=this;this.$listItems.sortable({handle:".ditty-data-list__item__move",items:".ditty-data-list__item",axis:"y",start:function(t,i){$(i.item).addClass("ditty-data-list__item--moving")},stop:function(i,e){$(e.item).removeClass("ditty-data-list__item--moving"),t.settings.editor.addUpdate("item_order",t.settings.editor.dittyId)},update:function(){t._updateItemIndexes("updateDitty")}})},_showItem:function(t){t.preventDefault();var i=t.data.self;if(!$(t.target).is("a")&&!$(t.target).parent().is("a")){var e=($(t.target).is(".ditty-data-list__item")?$(t.target):$(t.target).parents(".ditty-data-list__item")).data("item_id");i.settings.editor.ditty.showItem(e)}},_actionClick:function(t){t.preventDefault();var i=t.data.self,e=$(t.target).is("a")?$(t.target):$(t.target).parent("a"),s=e.parents(".ditty-data-list__item"),a=s.data("ditty_id"),d=s.data("item_id");dittyVars.editor.currentItem=s,$("body").trigger("ditty_editor_item_action_click",[e,s,d,a,i.settings.editor])},_editType:function(t){t.preventDefault();var i=t.data.self,e=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item");e.trigger("click"),e.addClass("editing"),i.settings.editor.updateStart(),i.settings.editor.panelOptions("transition","slideRight"),i.settings.editor.showPanel("item_types")},_editItem:function(t){t.preventDefault();var i=t.data.self,e=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),s=e.data("item_id");e.trigger("click"),e.addClass("editing"),i.settings.editor.updateStart();var a={action:"ditty_editor_item_fields",item_id:s,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,a,(function(t){if(t){var e='<div class="ditty-editor__panel ditty-editor__panel--item_editor">'+t+"</div>";i.settings.editor.panelOptions("transition","slideLeft"),i.settings.editor.showPanel("item_editor",e)}}))},_editLayoutVariations:function(t){t.preventDefault();var i=t.data.self,e=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),s=e.data("item_type"),a=e.data("layout_value"),d=e.find(".ditty-data-list__item__label").html();e.trigger("click"),e.addClass("editing"),i.settings.editor.updateStart();var n={action:"ditty_editor_layout_variations",ditty_id:i.settings.editor.dittyId,item_type:s,item_label:d,layout_value:a,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,n,(function(t){if(t){var e='<div class="ditty-editor__panel ditty-editor__panel--layout-variations">'+t+"</div>";i.settings.editor.panelOptions("transition","slideLeft"),i.settings.editor.showPanel("layout_variations",e)}}))},_add_item:function(t){t.preventDefault();var i=t.data.self,e={action:"ditty_editor_item_add",ditty_id:i.settings.editor.dittyId,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,e,(function(t){if(t.display_items){if(i.isEmptyTicker){var e=i.settings.editor.ditty.options("items");$.each(e,(function(t,e){i.settings.editor.ditty.deleteItem(e.id)})),i.isEmptyTicker=!1}$.each(t.display_items,(function(t,e){i.settings.editor.ditty.addItem(e,0)}))}if(t.editor_item){var s=$(t.editor_item);s.hide(),i.$listItems.prepend(s),s.slideDown(),i._updateItemIndexes()}t.draft_id&&t.draft_data&&dittyDraftItemUpdateData(i,t.draft_id,null,t.draft_data),t.draft_id&&t.draft_meta&&dittyDraftItemUpdateMeta(i,t.draft_id,null,t.draft_meta)}),"json")},_cloneItem:function(t){t.preventDefault();var i=t.data.self,e=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),s=e.data("item_id");i.settings.editor.updateStart();var a={action:"ditty_editor_item_clone",item_id:s,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,a,(function(t){if(t.display_items&&t.display_items.length&&i.settings.editor.ditty.updateItems(t.display_items,s,"after"),t.editor_item){var a=$(t.editor_item);a.hide(),e.after(a),a.slideDown(),i._updateItemIndexes()}t.draft_id&&t.draft_data&&dittyDraftItemUpdateData(i,t.draft_id,null,t.draft_data),t.draft_id&&t.draft_meta&&dittyDraftItemUpdateMeta(i,t.draft_id,null,t.draft_meta),i.settings.editor.updateStop()}),"json")},_deleteItem:function(t){t.preventDefault();var i=t.data.self,e=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),s=e.data("item_id");1>=i.$elmt.find(".ditty-data-list__item").length&&i.$add.trigger("click"),e.slideUp((function(){$(this).remove()})),i.settings.editor.ditty.deleteItem(s),dittyDraftItemDelete(i,s)},_updateItemIndexes:function(t){var i=this,e=[];if(this.$elmt.find(".ditty-data-list__item").each((function(t){var s=$(this).data("item_id");e.push(s),dittyDraftItemUpdateData(i,s,"item_index",t)})),"updateDitty"===t){var s=dittyItemsReorder(i.settings.editor.ditty.options("items"),e);i.settings.editor.ditty.options("items",s)}},panelVisible:function(){this.$elmt.find(".ditty-data-list__item").removeClass("editing")},_options:function(t){return this.settings[t]},trigger:function(t,i){var e=[this.settings];i&&(e=i),this.$elmt.trigger("ditty_items_panel_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_items_panel.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){this.$elmt.removeClass("init"),this.settings.editor.$elmt.off("ditty_editor_active_items_update",{self:this},this._dittyActiveItemsUpdated),this.$add.off("click",{self:this},this._add_item),this.$elmt.off("click",".ditty-data-list__item",{self:this},this._showItem),this.$elmt.off("click",".ditty-data-list__item__icon",{self:this},this._editType),this.$elmt.off("click",".ditty-data-list__item__edit",{self:this},this._editItem),this.$elmt.off("click",".ditty-data-list__item__layout",{self:this
|
2 |
+
},this._editLayoutVariations),this.$elmt.off("click",".ditty-data-list__item__clone",{self:this},this._cloneItem),this.$elmt.off("click",".ditty-data-list__item__delete",{self:this},this._deleteItem),this.$list.off("click",".ditty-editor-item > a",{self:this},this._actionClick),$("body").off("ditty_editor_save_ditty_response",{self:this},this._dittyEditorSaveResponse),this.trigger("destroy"),this.elmt._ditty_items_panel=null}},$.fn.ditty_items_panel=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_items_panel||(this._ditty_items_panel=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_items_panel;if(!i)throw new Error("No Ditty_Items_Panel applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Items_Panel.');return void 0!==e?e:this}},$.ditty_items_panel={},$.ditty_items_panel.defaults=t}(jQuery),function($){"use strict";var t={editor:null},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_item_types_panel.defaults,e),this.$elmt=$(i),this.$back=this.$elmt.find(".ditty-editor-options__back"),this.$editorItem=this.settings.editor.$panels.find(".ditty-editor__panel--items").find(".ditty-data-list__item.editing"),this.editorDittyId=this.$editorItem.data("ditty_id"),this.editorItemId=this.$editorItem.data("item_id"),this.currentType=null,this._init()};i.prototype={_init:function(){this.$elmt.addClass("init"),this.settings.editor.initFields(this.$elmt),this.$back.on("click",{self:this},this._backClick),this.$elmt.on("click",".ditty-editor-item-type",{self:this},this._typeClick),this.panelVisible()},_showItemsList:function(){this.settings.editor.panelOptions("transition","slideLeft"),this.settings.editor.showPanel("items")},_backClick:function(t){t.preventDefault(),t.data.self._showItemsList()},_typeClick:function(t){t.preventDefault();var i=t.data.self,e=($(t.target).is(".ditty-editor-item-type")?$(t.target):$(t.target).parents(".ditty-editor-item-type")).data("item_type");if(e===i.currentType)i._showItemsList();else{i.settings.editor.updateStart();var s={action:"ditty_editor_item_type_update",item_id:i.editorItemId,item_type:e,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,s,(function(t){if(t.display_items&&i.settings.editor.ditty.updateItems(t.display_items,i.editorItemId),t.editor_item){var e=$(t.editor_item);i.$editorItem.after(e),i.$editorItem.remove(),i.$editorItem=e}t.draft_id&&t.draft_data&&dittyDraftItemUpdateData(i,t.draft_id,null,t.draft_data),i._showItemsList(),i.settings.editor.updateStop()}),"json")}},panelVisible:function(){this.$editorItem=this.settings.editor.$panels.find(".ditty-editor__panel--items").find(".ditty-data-list__item.editing"),this.editorDittyId=this.$editorItem.data("ditty_id"),this.editorItemId=this.$editorItem.data("item_id"),this.currentType=this.$editorItem.data("item_type"),this.$elmt.find(".ditty-editor-item-type").removeClass("active"),this.$elmt.find('.ditty-editor-item-type[data-item_type="'+this.currentType+'"]').addClass("active")},panelHidden:function(){var t=this.$editorItem.find(".ditty-data-list__item__icon").children("i");t.attr("class",t.data("class"))},_options:function(t){return this.settings[t]},trigger:function(t,i){var e=[this.settings];i&&(e=i),this.$elmt.trigger("ditty_item_types_panel_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_item_types_panel.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){this.$elmt.removeClass("init"),this.$back.off("click",{self:this},this._backClick),this.$elmt.off("click",".ditty-editor-item-type",{self:this},this._typeClick),this.trigger("destroy"),this.elmt._ditty_item_types_panel=null}},$.fn.ditty_item_types_panel=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_item_types_panel||(this._ditty_item_types_panel=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_item_types_panel;if(!i)throw new Error("No Ditty_Item_Types_Panel applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Item_Types_Panel.');return void 0!==e?e:this}},$.ditty_item_types_panel={},$.ditty_item_types_panel.defaults=t}(jQuery),function($){"use strict";var t={editor:null},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_item_editor_panel.defaults,e),this.$elmt=$(i),this.$form=this.$elmt.find(".ditty-editor-options"),this.$back=this.$elmt.find(".ditty-editor-options__back"),this.$preview=this.$elmt.find(".ditty-editor-options__preview"),this.$title=this.$elmt.find(".ditty-editor-options__title"),this.itemId=this.$form.data("item_id"),this.itemType=this.$form.data("item_type"),this.dittyId=this.$form.data("ditty_id"),this.$editorItem=this.settings.editor.$panels.find(".ditty-editor__panel--items").find(".ditty-data-list__item.editing"),this.$editorItemTitle=this.$editorItem.find(".ditty-data-list__item__label"),this.initData=null,this.afterUpdateAction="",this._init()};i.prototype={_init:function(){var t=this;this.initData=this.$form.serialize(),this.settings.editor.initFields(this.$elmt),this.settings.editor.$elmt.on("ditty_editor_add_drafts",{self:this},this._addDrafts),this.settings.editor.$elmt.on("ditty_editor_save_drafts",{self:this},this._saveDrafts),this.$form.on("submit",{self:this},this._submitForm),this.$back.on("click",{self:this},this._backClick),this.$preview.on("click",{self:this},this._previewClick),this.$form.on("keyup change",'input[type="text"], input[type="number"], textarea, select',{self:this},this._checkUpdates),this.$form.on("click",'input[type="radio"], input[type="checkbox"]',{self:this},this._checkUpdates),this.$form.on("ditty_input_wysiwyg_update",".ditty-input--wysiwyg",{self:this},this._checkUpdates),this.$form.on("ditty_field_update",".ditty-field__input",{self:this},this._checkUpdates),setTimeout((function(){t.trigger("init",[t])}),1)},_showItemList:function(){this.settings.editor.$panels.ditty_slider("options","transition","slideRight"),this.settings.editor.$panels.ditty_slider("showSlideById","items")},_enablePreviewButton:function(){this.$preview.addClass("ditty-has-updates")},_disablePreviewButton:function(){this.$preview.removeClass("ditty-has-updates"),this.$preview.children("i").attr("class",this.$preview.children("i").data("class"))},_checkUpdates:function(t){var i=t?t.data.self:this;i.$form.serialize()!==i.initData?(i._enablePreviewButton(),i.settings.editor.addUpdate("item_settings",i.itemId),i.settings.editor.delayedSubmitEnable()):(i._disablePreviewButton(),i.settings.editor.removeUpdate("item_settings",i.itemId))},_addDrafts:function(t){var i=t.data.self;i.$form.serialize()!==i.initData&&i.$form.trigger("submit")},_saveDrafts:function(t){var i=t.data.self;i.$form.serialize()!==i.initData&&(i.afterUpdateAction="save",i.$form.trigger("submit"))},_backClick:function(t){t.preventDefault();var i=t.data.self;i.$form.serialize()===i.initData?i._showItemList():(i.afterUpdateAction="return",i.$form.trigger("submit"))},_previewClick:function(t){t.preventDefault();var i=t.data.self;i.$form.serialize()!==i.initData&&(i.$preview.children("i").attr("class",dittyVars.updateIcon),i.$form.trigger("submit"))},_submitForm:function(t){t.preventDefault();var i=t.data.self,e=i.itemId;i.settings.editor.updateStart();var s={action:"ditty_editor_item_update",item_id:e,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};i.$form.ajaxSubmit({url:dittyVars.ajaxurl,type:"post",dataType:"json",data:s,error:function(){},success:function(t){if(t.value_updates&&i._updateValues(t.value_updates),i.initData=i.$form.serialize(),i._disablePreviewButton(),t.display_items&&i.settings.editor.ditty.updateItems(t.display_items,e),t.editor_item){var s=$(t.editor_item).children(".ditty-data-list__item__label").html();i.$title.html(s),i.$editorItemTitle.html(s)}t.draft_id&&t.draft_data&&dittyDraftItemUpdateData(i,t.draft_id,null,t.draft_data),t.draft_id&&t.draft_meta&&dittyDraftItemUpdateMeta(i,t.draft_id,null,t.draft_meta),i.settings.editor.updateStop(),i.settings.editor.delayedSubmitDisable(),"return"===i.afterUpdateAction&&i._showItemList(),"save"===i.afterUpdateAction&&i.settings.editor.saveDitty({return_items:0}),i.afterUpdateAction=""}})},_updateValues:function(t){var i=this;$.each(t,(function(t,e){var s=i.$form.find('[name="'+t+'"]');s.length&&s.val(e)}))},_options:function(t){return this.settings[t]},trigger:function(t,i){var e=[this.settings];i&&(e=i),this.$elmt.trigger("ditty_item_editor_panel_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_item_editor_panel.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){this.settings.editor.$elmt.off("ditty_editor_add_drafts",{self:this},this._saveDrafts),this.settings.editor.$elmt.off("ditty_editor_save_drafts",{self:this},this._saveDrafts),this.$form.off("submit",{self:this},this._submitForm),this.$back.off("click",{self:this},this._backClick),this.$preview.off("click",{self:this},this._previewClick),this.$form.off("keyup change",'input[type="text"], input[type="number"], textarea, select',{self:this},this._checkUpdates),this.$form.off("click",'input[type="radio"], input[type="checkbox"]',{self:this},this._checkUpdates),this.$form.off("ditty_input_wysiwyg_update",".ditty-input--wysiwyg",{self:this},this._checkUpdates),this.$form.off("ditty_field_update",".ditty-field__input",{self:this},this._checkUpdates),this.elmt._ditty_item_editor_panel=null}},$.fn.ditty_item_editor_panel=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_item_editor_panel||(this._ditty_item_editor_panel=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_item_editor_panel;if(!i)throw new Error("No Ditty_Item_Editor_Panel applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Item_Editor_Panel.');return void 0!==e?e:this}},$.ditty_item_editor_panel={},$.ditty_item_editor_panel.defaults=t}(jQuery),function($){"use strict";var t={editor:null},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_displays_panel.defaults,e),this.$elmt=$(i),this.$list=$(i).find(".ditty-data-list__items"),this.$contents=$(i).find(".ditty-editor__panel__contents"),this.initDisplay=null,this._init()};i.prototype={_init:function(){this.$elmt.addClass("init"),this.$elmt.ditty_ui_data_list({filter:".ditty-display-panel__filter",item:".ditty-editor-display",itemSelector:"display_type"}),this.initDisplay=this.$list.data("active"),this._activateDisplay(this.$list.find("#ditty-editor-display--"+this.initDisplay)),this.$elmt.on("click",".ditty-data-list__item",{self:this},this._selectDisplay),this.$elmt.on("click",".ditty-data-list__item__edit",{self:this},this._editDisplay),this.$elmt.on("click",".ditty-data-list__item__clone",{self:this},this._cloneDisplay),this.$elmt.on("click",".ditty-data-list__item__delete",{self:this},this._deleteDisplay),this.settings.editor.$elmt.on("ditty_editor_saveDrafts",{self:this},this._saveDrafts)},_saveDrafts:function(t){var i=t.data.self;i.initDisplay=i.$list.find(".ditty-editor-display.active").data("display_id")},_activateDisplay:function(t){this.$list.find(".ditty-editor-display").removeClass("active"),t.addClass("active")},_initDitty:function(t,i,e){var s=this.settings.editor.ditty.$elmt;e.display=i,e.id=this.settings.editor.ditty.options("id"),e.items=this.settings.editor.ditty.options("items"),e.height=this.settings.editor.ditty.options("height"),this.settings.editor.ditty.destroy(),s["ditty_"+t](e),this.settings.editor.ditty=s["ditty_"+t]("options","ditty")},_selectDisplay:function(t){t.preventDefault();var i=t.data.self;if($(t.target).parent().is("a"))return!1;var e=$(t.target).is(".ditty-data-list__item")?$(t.target):$(t.target).parents(".ditty-data-list__item"),s=e.data("display_id"),a=e.data("display_type");if(e.hasClass("active"))return!1;i.settings.editor.updateStart(),dittyDraftUpdate(i,"post_meta","_ditty_display",s),i._activateDisplay(e);var d={action:"ditty_editor_select_display",display_id:s,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,d,(function(t){if(!t)return!1;i._initDitty(a,s,t),i.settings.editor.updateStop()}),"json")},_cloneDisplay:function(t){t.preventDefault();var i=t.data.self,e=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),s=e.data("display_id");i.settings.editor.updateStart();var a={action:"ditty_editor_display_clone",display_id:s,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,a,(function(t){if(t.editor_display){var s=$(t.editor_display);s.hide(),e.after(s),s.slideDown()}t.draft_id&&t.draft_data&&dittyDraftDisplayUpdate(i,t.draft_id,null,t.draft_data),i.settings.editor.updateStop()}),"json")},_deleteDisplay:function(t){t.preventDefault();var i=t.data.self,e=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),s=null,a=e.data("display_id");e.hasClass("active")&&(e.prev().length?s=e.prev():e.next().length&&(s=e.next())),e.slideUp((function(){$(this).remove()})),dittyDraftDisplayDelete(i,a),null!==s&&s.trigger("click")},_editDisplay:function(t){t.preventDefault();var i=t.data.self;i.$displayEdit=$(this).parents(".ditty-data-list__item");var e=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),s=e.data("display_id");i.settings.editor.updateStart(),e.addClass("editing");var a={action:"ditty_editor_display_fields",display_id:s,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,a,(function(t){if(t){var e='<div class="ditty-editor__panel ditty-editor__panel--displayEditor">'+t+"</div>";i.settings.editor.panelOptions("transition","slideLeft"),i.settings.editor.showPanel("display_editor",e)}}))},panelVisible:function(){this.$elmt.find(".ditty-data-list__item").removeClass("editing")},trigger:function(t,i){var e=[this.settings];i&&(e=i),this.$elmt.trigger("ditty_displays_panel_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_displays_panel.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){this.$elmt.removeClass("init"),this.$elmt.ditty_ui_data_list("destroy"),this.$elmt.off("click",".ditty-data-list__item",{self:this},this._selectDisplay),this.$elmt.off("click",".ditty-data-list__item__edit",{self:this},this._editDisplay),this.$elmt.off("click",".ditty-data-list__item__clone",{self:this},this._cloneDisplay),this.$elmt.off("click",".ditty-data-list__item__delete",{self:this},this._deleteDisplay),this.settings.editor.$elmt.off("ditty_editor_save_drafts",{self:this},this._saveDrafts),this.trigger("destroy"),this.elmt._ditty_displays_panel=null}},$.fn.ditty_displays_panel=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_displays_panel||(this._ditty_displays_panel=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_displays_panel;if(!i)throw new Error("No Ditty_Displays_Panel applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Displays_Panel.');return void 0!==e?e:this}},$.ditty_displays_panel={},$.ditty_displays_panel.defaults=t}(jQuery),function($){"use strict";var t={editor:null},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_display_editor_panel.defaults,e),this.$elmt=$(i),this.$form=this.$elmt.find(".ditty-editor-options"),this.$back=this.$elmt.find(".ditty-editor-options__back"),this.$optionsTitle=this.$elmt.find(".ditty-editor-options__title"),this.$importExportField=this.$elmt.find(".ditty-editor__import-export__field"),this.$importExportUpdate=this.$elmt.find(".ditty-editor__import-export__update"),this.displayTitle=null,this.displayId=this.settings.editor.ditty.options("display"),this.displayType=this.settings.editor.ditty.options("type"),this.$editorDisplay=this.settings.editor.$panels.find(".ditty-editor__panel--displays").find(".ditty-data-list__item.editing"),this.$editorDisplayTitle=this.$editorDisplay.find(".ditty-data-list__item__label"),this.displayOptions=null,this.initData=null,this.afterUpdateAction="",this._init()};i.prototype={_init:function(){var t,i=this;this.initData=this.$form.serialize(),this.settings.editor.initFields(this.$elmt),t=this.settings.editor.ditty.$elmt["ditty_"+this.displayType]("options"),this.displayOptions=$.extend({},t),this.displayTitle=this.$optionsTitle.val(),this.$importExportUpdate.on("click",{self:this},this._importUpdate),this.settings.editor.$elmt.on("ditty_editor_add_drafts",{self:this},this._addDrafts),this.settings.editor.$elmt.on("ditty_editor_save_drafts",{self:this},this._saveDrafts),this.$form.on("submit",{self:this},this._submitForm),this.$back.on("click",{self:this},this._backClick),this.$elmt.on("change",'input[type="text"], input[type="number"]',{self:this},this._textfieldListeners),this.$form.on("click",'input[type="radio"]',{self:this},this._radioListeners),this.$form.on("click",'input[type="checkbox"]',{self:this},this._checkboxListeners),this.$form.on("change","select",{self:this},this._selectListeners),this.$form.on("ditty_field_clone_update",{self:this},this._cloneListeners),setTimeout((function(){i.trigger("init",[i])}),1)},_showDisplayList:function(){this.settings.editor.$panels.ditty_slider("options","transition","slideRight"),this.settings.editor.$panels.ditty_slider("showSlideById","displays")},_checkUpdates:function(){this.$form.serialize()!==this.initData?(this.settings.editor.addUpdate("displaySettings",this.displayId),this.settings.editor.delayedSubmitEnable()):this.settings.editor.removeUpdate("displaySettings",this.displayId)},_addDrafts:function(t){var i=t.data.self;i.$form.serialize()!==i.initData&&i.$form.trigger("submit")},_saveDrafts:function(t){var i=t.data.self;i.$form.serialize()!==i.initData&&(i.afterUpdateAction="save",i.$form.trigger("submit"))},_backClick:function(t){t.preventDefault();var i=t.data.self;i.$form.serialize()===i.initData?i._showDisplayList():(i.afterUpdateAction="return",i.$form.trigger("submit"))},_submitForm:function(t){t.preventDefault();var i=t.data.self;i.settings.editor.updateStart();var e={action:"ditty_editor_display_update",display_id:i.displayId,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};i.$form.ajaxSubmit({url:dittyVars.ajaxurl,type:"post",dataType:"json",data:e,success:function(t){i.initData=i.$form.serialize(),t.draft_id&&t.draft_label&&(i.displayTitle=t.draft_label,i.$editorDisplayTitle.text(t.draft_label),dittyDraftDisplayUpdate(i,t.draft_id,"label",t.draft_label)),t.draft_id&&t.draft_settings&&(i.displayOptions=t.draft_settings,dittyDraftDisplayUpdate(i,t.draft_id,"settings",t.draft_settings)),t.draft_settings_json&&i.$importExportField.length&&i.$importExportField.val(t.draft_settings_json),i.settings.editor.updateStop(),i.settings.editor.delayedSubmitDisable(),"return"===i.afterUpdateAction&&i._showDisplayList(),"save"===i.afterUpdateAction&&i.settings.editor.saveDitty(),i.afterUpdateAction=""}})},_importUpdate:function(t){t.preventDefault()},_cloneListeners:function(t,i,e){var s=t.data.self;$(t.target);s.settings.editor.ditty.options(e,i)},_textfieldListeners:function(t){var i=t.data.self,e=$(t.target),s=e.attr("name"),a=e.parents(".ditty-input--spacing__group, .ditty-input--radius__group");if(a.length){var d="",n={};a.find("input").each((function(){s=$(this).attr("name"),d=(d=s.split("["))[0];var t=s.match(/\[(.*)\]/);n[t[1]]=$(this).val()})),i.settings.editor.ditty.options(d,n)}else i.settings.editor.ditty.options(s,e.val());i._checkUpdates()},_radioListeners:function(t){var i=t.data.self,e=$(t.target),s=e.val(),a=e.attr("name");i.settings.editor.ditty.options(a,s),i._checkUpdates()},_checkboxListeners:function(t){var i=t.data.self,e=$(t.target),s=!!e.is(":checked")&&$(this).val(),a=e.attr("name");i.settings.editor.ditty.options(a,s),i._checkUpdates()},_selectListeners:function(t){var i=t.data.self,e=$(t.target),s=e.val(),a=e.attr("name");i.settings.editor.ditty.options(a,s),i._checkUpdates()},_options:function(t){return this.settings[t]},trigger:function(t,i){var e=[this.settings];i&&(e=i),this.$elmt.trigger("ditty_display_editor_panel_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_display_editor_panel.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){this.trigger("destroy",[this]),this.$importExportUpdate.off("click",{this:this},this._importUpdate),this.settings.editor.$elmt.off("ditty_editor_add_drafts",{self:this},this._addDrafts),this.settings.editor.$elmt.off("ditty_editor_save_drafts",{self:this},this._saveDrafts),this.$form.off("submit",{this:this},this._submitForm),this.$back.off("click",{this:this},this._cancel_click),this.$elmt.off("change",'input[type="text"], input[type="number"]',{self:this},this._textfieldListeners),this.$form.off("click",'input[type="radio"]',{self:this},this._radioListeners),this.$form.off("click",'input[type="checkbox"]',{self:this},this._checkboxListeners),this.$form.off("change","select",{self:this},this._selectListeners),this.$form.off("ditty_field_clone_update",{self:this},this._cloneListeners),this.elmt._ditty_display_editor_panel=null}},$.fn.ditty_display_editor_panel=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_display_editor_panel||(this._ditty_display_editor_panel=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_display_editor_panel;if(!i)throw new Error("No Ditty_Display_Editor_Panel applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Display_Editor_Panel.');return void 0!==e?e:this}},$.ditty_display_editor_panel={},$.ditty_display_editor_panel.defaults=t}(jQuery),function($){"use strict";var t={editor:null},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_layout_variations_panel.defaults,e),this.$elmt=$(i),this.$back=this.$elmt.find(".ditty-editor-options__back"),this.$list=$(i).find(".ditty-data-list__items"),this.$editorItem=dittyVars.editor.currentItem,this.editorItemLabel=this.$editorItem.find(".ditty-data-list__item__label").text(),this.editorDittyId=this.$editorItem.data("ditty_id"),this.editorItemId=this.$editorItem.data("item_id"),this.editorItemType=this.$editorItem.data("item_type"),this.editorItemValue=this.$editorItem.data("item_value"),this._init()};i.prototype={_init:function(){this.$elmt.addClass("init"),this.$back.on("click",{self:this},this._backClick),this.$elmt.on("click",".ditty-layout-variation__change",{self:this},this._changeTemplate),this.$elmt.on("click",".ditty-layout-variation__edit_html",{self:this,editType:"html"},this._editLayout),this.$elmt.on("click",".ditty-layout-variation__edit_css",{self:this,editType:"css"},this._editLayout),$("body").on("ditty_editor_save_ditty_response",{self:this},this._dittyEditorSaveResponse)},_showItemList:function(){this.settings.editor.$panels.ditty_slider("options","transition","slideRight"),this.settings.editor.$panels.ditty_slider("showSlideById","items")},_backClick:function(t){t.preventDefault(),t.data.self._showItemList()},_dittyEditorSaveResponse:function(t,i){t.data.self;i.ditty_new_layout_ids&&$.each(i.ditty_new_layout_ids,(function(t,i){var e=$('.ditty-layout-variation[data-layout_id="'+t+'"]');e.length&&e.attr("data-layout_id",i).data("layout_id",i)}))},_changeTemplate:function(t){t.preventDefault();var i=t.data.self,e=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),s=e.data("layout_id"),a=e.data("layout_variation_id"),d=e.data("layout_variation_label");dittyVars.editor.currentLayoutVariation=e,i.settings.editor.updateStart(),e.addClass("editing");var n={action:"ditty_editor_layouts",ditty_id:i.editorDittyId,item_type:i.editorItemType,variation_id:a,variation_label:d,layout_id:s,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,n,(function(t){if(t){var e='<div class="ditty-editor__panel ditty-editor__panel--layouts">'+t+"</div>";i.settings.editor.panelOptions("transition","slideLeft"),i.settings.editor.showPanel("layouts",e)}}))},_editLayout:function(t){t.preventDefault();var i=t.data.self,e=t.data.editType,s=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),a=s.data("layout_id");dittyVars.editor.currentLayoutVariation=s,i.settings.editor.updateStart(),i.$list.find(".ditty-data-list__item").removeClass("editing"),s.addClass("editing");var d=[],n=i.settings.editor.ditty.options("items");$.each(n,(function(t,i){d.push(i.uniqId)}));var r={action:"ditty_editor_layout_fields",layout_id:a,item_type:i.editorItemType,item_value:i.editorItemValue,ditty_id:i.editorDittyId,item_id:i.editorItemId,item_ids:d,edit_type:e,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,r,(function(t){if(t){var s="layout_"+e+"_editor",a='<div class="ditty-editor__panel ditty-editor__panel--'+s+'">'+t.form+"</div>";i.settings.editor.panelOptions("transition","slideLeft"),i.settings.editor.showPanel(s,a)}}),"json")},panelVisible:function(){this.$list.find(".ditty-layout-variation").removeClass("editing")},trigger:function(t,i){var e=[this.settings];i&&(e=i),this.$elmt.trigger("ditty_layout_variations_panel_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_layout_variations_panel.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){this.$elmt.removeClass("init"),this.$back.off("click",{self:this},this._backClick),this.$elmt.off("click",".ditty-layout-variation__change",{self:this},this._changeTemplate),this.$elmt.off("click",".ditty-layout-variation__edit_html",{self:this,editType:"html"},this._editLayout),this.$elmt.off("click",".ditty-layout-variation__edit_css",{self:this,editType:"css"},this._editLayout),$("body").off("ditty_editor_save_ditty_response",{self:this},this._dittyEditorSaveResponse),this.elmt._ditty_layout_variations_panel=null}},$.fn.ditty_layout_variations_panel=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_layout_variations_panel||(this._ditty_layout_variations_panel=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_layout_variations_panel;if(!i)throw new Error("No Ditty_Layout_Variations_Panel applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Layout_Variations_Panel.');return void 0!==e?e:this}},$.ditty_layout_variations_panel={},$.ditty_layout_variations_panel.defaults=t}(jQuery),function($){"use strict";var t={editor:null},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_layouts_panel.defaults,e),this.$elmt=$(i),this.$back=this.$elmt.find(".ditty-editor-options__back"),this.$list=$(i).find(".ditty-data-list__items"),this.$editorItem=dittyVars.editor.currentItem,this.editorDittyId=this.$editorItem.data("ditty_id"),this.editorItemId=this.$editorItem.data("item_id"),this.editorItemtype=this.$editorItem.data("item_type"),this.editorItemValue=this.$editorItem.data("item_value"),this.$editorVariation=dittyVars.editor.currentLayoutVariation,this.editorVariationId=this.$editorVariation.data("layout_variation_id"),this.editorLayoutId=this.$editorVariation.data("layout_id"),this._init()};i.prototype={_init:function(){this.$elmt.addClass("init"),this.$back.on("click",{self:this},this._backClick),this.$elmt.on("click",".ditty-data-list__item",{self:this},this._selectLayout),this.$elmt.on("click",".ditty-data-list__item__edit_html",{self:this,editType:"html"},this._editLayout),this.$elmt.on("click",".ditty-data-list__item__edit_css",{self:this,editType:"css"},this._editLayout),this.$elmt.on("click",".ditty-data-list__item__clone",{self:this},this._cloneLayout),this.$elmt.on("click",".ditty-data-list__item__delete",{self:this},this._deleteLayout),this.$elmt.on("click",".ditty-data-list__item__save",{self:this},this._saveLayout),this.$list.on("click",".ditty-editor-layout > a",{self:this},this._actionClick),$("body").on("ditty_editor_save_ditty_response",{self:this},this._dittyEditorSaveResponse),this._activateLayout(this.$list.find("#ditty-editor-layout--"+this.editorLayoutId))},_activateLayout:function(t){this.$list.find(".ditty-editor-layout").removeClass("active"),t.addClass("active")},_showVariationsList:function(){this.settings.editor.$panels.ditty_slider("options","transition","slideRight"),this.settings.editor.$panels.ditty_slider("showSlideById","layout_variations")},_backClick:function(t){t.preventDefault(),t.data.self._showVariationsList()},_dittyEditorSaveResponse:function(t,i){t.data.self;i.ditty_new_layout_ids&&$.each(i.ditty_new_layout_ids,(function(t,i){var e=$("#ditty-editor-layout--"+t);e.length&&(e.attr("id","ditty-editor-layout--"+i),e.attr("data-layout_id",i).data("layout_id",i))}))},_selectLayout:function(t){t.preventDefault();var i=t.data.self;if($(t.target).parent().is("a"))return!1;var e=$(t.target).is(".ditty-data-list__item")?$(t.target):$(t.target).parents(".ditty-data-list__item"),s=e.data("layout_id"),a=e.data("layout_version"),d=i.$editorItem.data("layout_value");if(e.hasClass("active"))return!1;$.each(d,(function(t){i.editorVariationId===t&&(d[t]=String(s))})),i.settings.editor.updateStart(),dittyDraftItemUpdateData(i,i.editorItemId,"layout_value",d),i._activateLayout(e);var n={action:"ditty_editor_select_layout",layout_id:s,item_id:i.editorItemId,ditty_id:i.editorDittyId,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,n,(function(t){if(i.settings.editor.updateStop(),t.display_items&&i.settings.editor.ditty.updateItems(t.display_items,i.editorItemId),t.editor_item){var e=$(t.editor_item);i.$editorItem.replaceWith(e)}i.$editorItem.attr("data-layout_value",d).data("layout_value",d),i.$editorVariation.attr("data-layout_id",s).data("layout_id",s),i.$editorVariation.find(".ditty-layout-variation__template > span").text(t.layout_label),a?i.$editorVariation.find(".ditty-layout-variation__template > small").text("("+a+")"):i.$editorVariation.find(".ditty-layout-variation__template > small").text("")}),"json")},_cloneLayout:function(t){t.preventDefault();var i=t.data.self,e=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),s=e.data("layout_id");i.settings.editor.updateStart();var a={action:"ditty_editor_layout_clone",
|
3 |
+
layout_id:s,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,a,(function(t){if(t.editor_layout){var s=$(t.editor_layout);s.hide(),e.after(s),s.slideDown()}t.draft_id&&t.draft_meta&&dittyDraftLayoutUpdate(i,t.draft_id,null,t.draft_meta),i.settings.editor.updateStop()}),"json")},_saveLayout:function(t){t.preventDefault();t.data.self,($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item").data("layout_id")},_deleteLayout:function(t){t.preventDefault();var i=t.data.self,e=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),s=null,a=e.data("layout_id");e.hasClass("active")&&(e.prev().length?s=e.prev():e.next().length&&(s=e.next())),e.slideUp((function(){$(this).remove()})),dittyDraftLayoutDelete(i,a),null!==s&&s.trigger("click")},_editLayout:function(t){t.preventDefault();var i=t.data.self,e=t.data.editType,s=($(t.target).is("a")?$(t.target):$(t.target).parent("a")).parents(".ditty-data-list__item"),a=s.data("layout_id");i.settings.editor.updateStart(),i.$list.find(".ditty-data-list__item").removeClass("editing"),s.addClass("editing");var d={action:"ditty_editor_layout_fields",layout_id:a,item_id:i.editorItemId,item_type:i.editorItemtype,item_value:i.editorItemValue,edit_type:e,draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,d,(function(t){if(t){var s="layout_"+e+"_editor",a='<div class="ditty-editor__panel ditty-editor__panel--'+s+'">'+t.form+"</div>";i.settings.editor.panelOptions("transition","slideLeft"),i.settings.editor.showPanel(s,a)}}),"json")},_actionClick:function(t){t.preventDefault();var i=t.data.self,e=$(t.target).is("a")?$(t.target):$(t.target).parent("a"),s=e.parents(".ditty-data-list__item"),a=s.data("layout_id");dittyVars.editor.currentLayout=s,$("body").trigger("ditty_editor_layout_action_click",[e,s,a,i.editorDittyId,i.settings.editor])},trigger:function(t,i){var e=[this.settings];i&&(e=i),this.$elmt.trigger("ditty_layouts_panel_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_layouts_panel.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){this.$elmt.removeClass("init"),this.$back.off("click",{self:this},this._backClick),this.$elmt.off("click",".ditty-data-list__item",{self:this},this._selectLayout),this.$elmt.off("click",".ditty-data-list__item__edit_html",{self:this,editType:"html"},this._editLayout),this.$elmt.off("click",".ditty-data-list__item__edit_css",{self:this,editType:"css"},this._editLayout),this.$elmt.off("click",".ditty-data-list__item__clone",{self:this},this._cloneLayout),this.$elmt.off("click",".ditty-data-list__item__delete",{self:this},this._deleteLayout),this.$elmt.off("click",".ditty-data-list__item__save",{self:this},this._saveLayout),this.$list.off("click",".ditty-editor-layout > a",{self:this},this._actionClick),$("body").off("ditty_editor_save_ditty_response",{self:this},this._dittyEditorSaveResponse),this.elmt._ditty_layouts_panel=null}},$.fn.ditty_layouts_panel=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_layouts_panel||(this._ditty_layouts_panel=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_layouts_panel;if(!i)throw new Error("No Ditty_Layouts_Panel applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Layouts_Panel.');return void 0!==e?e:this}},$.ditty_layouts_panel={},$.ditty_layouts_panel.defaults=t}(jQuery),function($){"use strict";var t={editor:null,prevPanel:""},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_layout_html_editor_panel.defaults,e),this.$elmt=$(i),this.$form=this.$elmt.find(".ditty-editor-options"),this.$textarea=this.$elmt.find(".ditty-editor-options__code"),this.$back=this.$elmt.find(".ditty-editor-options__back"),this.$preview=this.$elmt.find(".ditty-editor-options__preview"),this.$editCss=this.$elmt.find(".ditty-editor-options__edit-css"),this.$title=this.$elmt.find(".ditty-editor-options__title"),this.$tags=this.$elmt.find(".ditty-editor-options__tags"),this.itemType=this.$form.data("item_type"),this.layoutId=this.$form.data("layout_id"),this.$editorItem=dittyVars.editor.currentItem,this.$editorLayout=dittyVars.editor.currentLayout,this.$editorLayoutTitle=!!this.$editorLayout&&this.$editorLayout.find(".ditty-data-list__item__label"),this.$editorLayoutVariation=dittyVars.editor.currentLayoutVariation,this.$editorLayoutVariationTitle=this.$editorLayoutVariation.find(".ditty-layout-variation__template span"),this.editorDittyId=this.$editorItem.data("ditty_id"),this.editorItemId=this.$editorItem.data("item_id"),this.editorItemType=this.$editorItem.data("item_type"),this.editorItemValue=this.$editorItem.data("item_value"),this.codeEditor=null,this.codeHasUpdates=!1,this.initData=null,this.afterUpdateAction="",this._init()};i.prototype={_init:function(){this.initData=this.$form.serialize(),this._initEditor(),this.$back.on("click",{self:this},this._backClick),this.$preview.on("click",{self:this},this._previewClick),this.$editCss.on("click",{self:this},this._editCss),this.$form.on("submit",{self:this},this._submitForm),this.$form.on("click",".ditty-editor-options__tag",{self:this},this._insertTag),this.$title.on("keyup",{self:this},this._titleUpdate),this.settings.editor.$elmt.on("ditty_editor_add_drafts",{self:this},this._addDrafts),this.settings.editor.$elmt.on("ditty_editor_save_drafts",{self:this},this._saveDrafts)},_showPrevPanel:function(){this.settings.editor.$panels.ditty_slider("options","transition","slideRight"),this.settings.editor.$panels.ditty_slider("showSlideById",this.settings.prevPanel)},_titleUpdate:function(t){var i=t.data.self;i.settings.editor.addUpdate("layoutUpdate",i.layoutId)},_enablePreviewButton:function(){this.$preview.addClass("ditty-has-updates")},_disablePreviewButton:function(){this.$preview.removeClass("ditty-has-updates"),this.$preview.children("i").attr("class",this.$preview.children("i").data("class"))},_getLayoutItems:function(){var t=this.settings.editor.ditty.options("items"),i=[];return $.each(t,(function(t,e){String(e.layoutId)===String(this.layoutId)&&i.push(e.id)})),i},_addDrafts:function(t){var i=t.data.self;i.codeEditor.codemirror.save(),(i.$form.serialize()!==i.initData||i.codeHasUpdates)&&i.$form.trigger("submit")},_saveDrafts:function(t){var i=t.data.self;i.codeEditor.codemirror.save(),(i.$form.serialize()!==i.initData||i.codeHasUpdates)&&(i.afterUpdateAction="save",i.$form.trigger("submit"))},_backClick:function(t){t.preventDefault();var i=t.data.self;i.codeEditor.codemirror.save(),i.$form.serialize()!==i.initData||i.codeHasUpdates?(i.afterUpdateAction="return",i.$form.trigger("submit")):i._showPrevPanel()},_previewClick:function(t){t.preventDefault();var i=t.data.self;i.codeEditor.codemirror.save(),(i.$form.serialize()!==i.initData||i.codeHasUpdates)&&(i.$preview.children("i").attr("class",dittyVars.updateIcon),i.$form.trigger("submit"))},_editCss:function(t){t.preventDefault();var i=t.data.self,e="layout_css_editor";if(i.settings.editor.updateStart(),i.codeEditor.codemirror.save(),(i.$form.serialize()!==i.initData||i.codeHasUpdates)&&(i.$preview.children("i").attr("class",dittyVars.updateIcon),i.$form.trigger("submit")),i.settings.editor.panelExists(e))i.settings.editor.$elmt.find(".ditty-editor__panel--layout_css_editor input.ditty-editor-options__title").val(i.$title.val()),i.settings.editor.panelOptions("transition","fade"),i.settings.editor.showPanel(e);else{var s={action:"ditty_editor_layout_fields",layout_id:i.layoutId,layout_title:i.$title.val(),ditty_id:i.editorDittyId,item_id:i.editorItemId,item_type:i.editorItemType,item_value:i.editorItemValue,edit_type:"css",draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,s,(function(t){if(t){var s='<div class="ditty-editor__panel ditty-editor__panel--'+e+'">'+t.form+"</div>";i.settings.editor.panelOptions("transition","fade"),i.settings.editor.showPanel(e,s)}}),"json")}},_submitForm:function(t){t.preventDefault();var i=t.data.self,e=i.layoutId,s=i.itemType,a=i._getLayoutItems();if(i.$form.hasClass("ditty-editor-has-errors"))return!1;i.codeEditor.codemirror.save(),i.settings.editor.updateStart();var d={action:"ditty_editor_layout_update",layout_id:e,item_type:s,item_ids:a,edit_type:"html",draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};i.$form.ajaxSubmit({url:dittyVars.ajaxurl,type:"post",dataType:"json",data:d,success:function(t){i.initData=i.$form.serialize(),i._disablePreviewButton(),t.label&&(i.$editorLayoutTitle&&i.$editorLayoutTitle.html(t.label),i.$editorLayoutVariationTitle.html(t.label)),i.$editorLayoutTitle&&i.$editorLayoutTitle.find(".ditty-layout-version").remove(),i.$editorLayoutVariationTitle&&i.$editorLayoutVariationTitle.find(".ditty-layout-version").remove(),t.display_items&&i.settings.editor.ditty.updateItems(t.display_items,!1,!1,!0),t.draft_id&&t.draft_meta&&dittyDraftLayoutUpdate(i,t.draft_id,null,t.draft_meta),i.codeHasUpdates=!1,i.settings.editor.updateStop(),i.settings.editor.delayedSubmitDisable(),"return"===i.afterUpdateAction&&i._showPrevPanel(),"save"===i.afterUpdateAction&&i.settings.editor.saveDitty({return_items:0}),i.afterUpdateAction=""}})},_initEditor:function(){var t=this,i=wp.codeEditor.defaultSettings?_.clone(wp.codeEditor.defaultSettings):{};i.codemirror=_.extend({},i.codemirror,{indentUnit:2,tabSize:2}),this.codeEditor=wp.codeEditor.initialize(this.$textarea[0],i),this.codeEditor.codemirror.on("change",(function(){t.codeEditor.codemirror.save(),t.settings.editor.addUpdate("layout_html_update",t.layoutId),t.codeHasUpdates=!0,t._enablePreviewButton(),t.settings.editor.delayedSubmitEnable()}))},_insertTag:function(t){var i=t.data.self,e=$(t.target),s=e.text(),a=e.data("atts"),d=i.codeEditor.codemirror.getCursor();if(t.shiftKey&&a){var n="",r=s.length-1;$.each(a,(function(t,i){n+=" "+t+'="'+i.toString()+'"'})),s=s.substring(0,r)+n+s.substring(r)}i.codeEditor.codemirror.replaceRange(s,d),d.ch=d.ch+s.length,i.codeEditor.codemirror.setCursor(d)},_options:function(t){return this.settings[t]},trigger:function(t,i){var e=[this.settings];i&&(e=i),this.$elmt.trigger("ditty_layout_html_editor_panel_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_layout_html_editor_panel.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){this.$back.off("click",{self:this},this._backClick),this.$preview.off("click",{self:this},this._previewClick),this.$editCss.off("click",{self:this},this._editCss),this.$form.off("submit",{self:this},this._submitForm),this.$form.off("click",".ditty-editor-options__tag",{self:this},this._insertTag),this.$title.off("keyup",{self:this},this._titleUpdate),this.settings.editor.$elmt.off("ditty_editor_add_drafts",{self:this},this._addDrafts),this.settings.editor.$elmt.off("ditty_editor_save_drafts",{self:this},this._saveDrafts),this.codeEditor.codemirror.off("change"),this.codeEditor.codemirror.toTextArea(),this.elmt._ditty_layout_html_editor_panel=null}},$.fn.ditty_layout_html_editor_panel=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_layout_html_editor_panel||(this._ditty_layout_html_editor_panel=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_layout_html_editor_panel;if(!i)throw new Error("No Ditty_Layout_Html_Editor_Panel applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Layout_Html_Editor_Panel.');return void 0!==e?e:this}},$.ditty_layout_html_editor_panel={},$.ditty_layout_html_editor_panel.defaults=t}(jQuery),function($){"use strict";var t={editor:null,prevPanel:""},i=function(i,e){this.elmt=i,this.settings=$.extend({},t,$.ditty_layout_css_editor_panel.defaults,e),this.$elmt=$(i),this.$form=this.$elmt.find(".ditty-editor-options"),this.$textarea=this.$elmt.find(".ditty-editor-options__code"),this.$back=this.$elmt.find(".ditty-editor-options__back"),this.$preview=this.$elmt.find(".ditty-editor-options__preview"),this.$editHtml=this.$elmt.find(".ditty-editor-options__edit-html"),this.$title=this.$elmt.find(".ditty-editor-options__title"),this.$body=this.$elmt.find(".ditty-editor-options__body"),this.$tags=this.$elmt.find(".ditty-editor-options__tags"),this.itemType=this.$form.data("item_type"),this.layoutId=this.$form.data("layout_id"),this.$editorItem=dittyVars.editor.currentItem,this.$editorLayout=dittyVars.editor.currentLayout,this.$editorLayoutTitle=!!this.$editorLayout&&this.$editorLayout.find(".ditty-data-list__item__label"),this.$editorLayoutVariation=dittyVars.editor.currentLayoutVariation,this.$editorLayoutVariationTitle=this.$editorLayoutVariation.find(".ditty-layout-variation__template span"),this.editorDittyId=this.$editorItem.data("ditty_id"),this.editorItemId=this.$editorItem.data("item_id"),this.editorItemType=this.$editorItem.data("item_type"),this.editorItemValue=this.$editorItem.data("item_value"),this.itemSelector="",this.codeEditor=null,this.codeHasUpdates=!1,this.initData=null,this.afterUpdateAction="",this._init()};i.prototype={_init:function(){this.initData=this.$form.serialize(),this._setCssSelector(),this._initEditor(),this.$back.on("click",{self:this},this._backClick),this.$preview.on("click",{self:this},this._previewClick),this.$editHtml.on("click",{self:this},this._editHtml),this.$form.on("submit",{self:this},this._submitForm),this.$form.on("click",".ditty-editor-options__tag",{self:this},this._insertTag),this.$title.on("keyup",{self:this},this._titleUpdate),this.$body.on("click",".ditty-editor-options__body__error",{self:this},this._removeErrorNotice),this.settings.editor.$elmt.on("ditty_editor_add_drafts",{self:this},this._addDrafts),this.settings.editor.$elmt.on("ditty_editor_save_drafts",{self:this},this._saveDrafts)},_setCssSelector:function(){dittyVars.isTickerPost?this.itemSelector="#poststuff .ditty-layout--"+this.layoutId:this.itemSelector=".ditty-layout--"+this.layoutId},_showPrevPanel:function(){this.settings.editor.$panels.ditty_slider("options","transition","slideRight"),this.settings.editor.$panels.ditty_slider("showSlideById",this.settings.prevPanel)},_titleUpdate:function(t){var i=t.data.self;i.settings.editor.addUpdate("layoutUpdate",i.layoutId)},_enablePreviewButton:function(){this.$preview.addClass("ditty-has-updates")},_disablePreviewButton:function(){this.$preview.removeClass("ditty-has-updates"),this.$preview.children("i").attr("class",this.$preview.children("i").data("class"))},_addDrafts:function(t){var i=t.data.self;i.codeEditor.codemirror.save(),(i.$form.serialize()!==i.initData||i.codeHasUpdates)&&i.$form.trigger("submit")},_saveDrafts:function(t){var i=t.data.self;i.codeEditor.codemirror.save(),(i.$form.serialize()!==i.initData||i.codeHasUpdates)&&(i.afterUpdateAction="save",i.$form.trigger("submit"))},_backClick:function(t){t.preventDefault();var i=t.data.self;i.codeEditor.codemirror.save(),i.$form.serialize()!==i.initData||i.codeHasUpdates?(i.afterUpdateAction="return",i.$form.trigger("submit")):i._showPrevPanel()},_previewClick:function(t){t.preventDefault();var i=t.data.self;i.codeEditor.codemirror.save(),(i.$form.serialize()!==i.initData||i.codeHasUpdates)&&(i.$preview.children("i").attr("class",dittyVars.updateIcon),i.$form.trigger("submit"))},_editHtml:function(t){t.preventDefault();var i=t.data.self,e="layout_html_editor";if(i.settings.editor.updateStart(),i.codeEditor.codemirror.save(),(i.$form.serialize()!==i.initData||i.codeHasUpdates)&&(i.$preview.children("i").attr("class",dittyVars.updateIcon),i.$form.trigger("submit")),i.settings.editor.panelExists(e))i.settings.editor.$elmt.find(".ditty-editor__panel--layout_html_editor input.ditty-editor-options__title").val(i.$title.val()),i.settings.editor.panelOptions("transition","fade"),i.settings.editor.showPanel(e);else{var s={action:"ditty_editor_layout_fields",layout_id:i.layoutId,layout_title:i.$title.val(),ditty_id:i.editorDittyId,item_id:i.editorItemId,item_type:i.editorItemType,item_value:i.editorItemValue,edit_type:"html",draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};$.post(dittyVars.ajaxurl,s,(function(t){if(t){var s='<div class="ditty-editor__panel ditty-editor__panel--'+e+'">'+t.form+"</div>";i.settings.editor.panelOptions("transition","fade"),i.settings.editor.showPanel(e,s)}}),"json")}},_showErrorNotice:function(){var t=$('<div class="ditty-editor-options__body__error"><span>'+dittyVars.strings.layout_css_error+"</span></div>");this.$body.append(t)},_removeErrorNotice:function(t){t.data.self.$body.find(".ditty-editor-options__body__error").remove()},_submitForm:function(t){t.preventDefault();var i=t.data.self,e=i.layoutId,s=i.itemType;if(i.$form.hasClass("ditty-editor-has-errors"))return!1;i.codeEditor.codemirror.save(),i.settings.editor.updateStart();var a={action:"ditty_editor_layout_update",layout_id:e,item_type:s,edit_type:"css",draft_values:i.settings.editor.getDraftValues(),security:dittyVars.security};i.$form.ajaxSubmit({url:dittyVars.ajaxurl,type:"post",dataType:"json",data:a,success:function(t){i.initData=i.$form.serialize(),i._disablePreviewButton(),t.label&&(i.$editorLayoutTitle&&i.$editorLayoutTitle.html(t.label),i.$editorLayoutVariationTitle.html(t.label)),i.$editorLayoutTitle&&i.$editorLayoutTitle.find(".ditty-layout-version").remove(),i.$editorLayoutVariationTitle&&i.$editorLayoutVariationTitle.find(".ditty-layout-version").remove(),t.code?dittyLayoutCss(t.code,i.layoutId,"update"):i._showErrorNotice(),t.draft_id&&t.draft_meta&&dittyDraftLayoutUpdate(i,t.draft_id,null,t.draft_meta),i.codeHasUpdates=!1,i.settings.editor.updateStop(),i.settings.editor.delayedSubmitDisable(),"return"===i.afterUpdateAction&&i._showPrevPanel(),"save"===i.afterUpdateAction&&i.settings.editor.saveDitty(),i.afterUpdateAction=""}})},_initEditor:function(){var t=this,i=wp.codeEditor.defaultSettings?_.clone(wp.codeEditor.defaultSettings):{},e=dittyVars.editor.ditty_layouts_sass?"sass":"css";i.codemirror=_.extend({},i.codemirror,{mode:e,indentUnit:2,tabSize:2}),this.codeEditor=wp.codeEditor.initialize(this.$textarea[0],i),this.codeEditor.codemirror.on("change",(function(){t.codeEditor.codemirror.save(),t.settings.editor.addUpdate("layoutCssUpdate",t.layoutId),t.codeHasUpdates=!0,t._enablePreviewButton(),t.settings.editor.delayedSubmitEnable()}))},_insertTag:function(t){var i=t.data.self,e=$(t.target).text(),s=i.codeEditor.codemirror.getCursor();i.codeEditor.codemirror.replaceRange(e,s),s.ch=s.ch+e.length,i.codeEditor.codemirror.setCursor(s)},_options:function(t){return this.settings[t]},trigger:function(t,i){var e=[this.settings];i&&(e=i),this.$elmt.trigger("ditty_layout_css_editor_panel_"+t,e),"function"==typeof this.settings[t]&&this.settings[t].apply(this.$elmt,e)},options:function(i,e){if("object"==typeof i)this.settings=$.extend({},t,$.ditty_layout_css_editor_panel.defaults,i);else{if("string"!=typeof i)return this.settings;if(void 0===e)return this.settings[i];this.settings[i]=e}this.trigger("options_update")},destroy:function(){this.$back.off("click",{self:this},this._backClick),this.$preview.off("click",{self:this},this._previewClick),this.$editHtml.off("click",{self:this},this._editHtml),this.$form.off("submit",{self:this},this._submitForm),this.$form.off("click",".ditty-editor-options__tag",{self:this},this._insertTag),this.$title.off("keyup",{self:this},this._titleUpdate),this.$body.off("click",".ditty-editor-options__body__error",{self:this},this._removeErrorNotice),this.settings.editor.$elmt.off("ditty_editor_add_drafts",{self:this},this._addDrafts),this.settings.editor.$elmt.off("ditty_editor_save_drafts",{self:this},this._saveDrafts),this.codeEditor.codemirror.off("change"),this.codeEditor.codemirror.toTextArea(),this.elmt._ditty_layout_css_editor_panel=null}},$.fn.ditty_layout_css_editor_panel=function(t){var e,s=arguments,a=!1;if(void 0===t||"object"==typeof t)return this.each((function(){this._ditty_layout_css_editor_panel||(this._ditty_layout_css_editor_panel=new i(this,t))}));if("string"==typeof t){if(this.each((function(){var i=this._ditty_layout_css_editor_panel;if(!i)throw new Error("No Ditty_Layout_Css_Editor_Panel applied to this element.");"function"==typeof i[t]&&"_"!==t[0]?e=i[t].apply(i,[].slice.call(s,1)):a=!0})),a)throw new Error('No method "'+t+'" in Ditty_Layout_Css_Editor_Panel.');return void 0!==e?e:this}},$.ditty_layout_css_editor_panel={},$.ditty_layout_css_editor_panel.defaults=t}(jQuery),jQuery((function($){!function(){"use strict";function t(t,i){0===parseInt(i)?t.hide():t.show()}function i(t,i){"none"===i?t.hide():t.show()}function e(t,i){"none"===i?t.hide():t.show()}$("#ditty-editor").on("ditty_display_editor_panel_init",".ditty-editor__panel--displayEditor",(function(s,a){if("list"===a.displayType){var d=a.$form,n=d.find(".ditty-field--perPage"),r=d.find(".ditty-field--arrows").siblings(),o=d.find(".ditty-field--bullets").siblings();t(n,d.find('input[name="paging"]:checked').val()),d.find('input[name="paging"]').on("change",(function(){t(n,$(this).val())})),i(r,d.find('select[name="arrows"]').val()),d.find('select[name="arrows"]').on("change",(function(){i(r,$(this).val())})),e(o,d.find('select[name="bullets"]').val()),d.find('select[name="bullets"]').on("change",(function(){e(o,$(this).val())}))}}))}()})),jQuery((function($){!function(){"use strict";function t(t,i){var e=t.find('input[name="direction"]:checked').val(),s=t.find(".ditty-field--minHeight"),a=t.find(".ditty-field--maxHeight"),d=t.find('input[name="minHeight"]');if("down"===e||"up"===e){if(s.show(),a.show(),""===d.val()){var n="300px";d.val(n),i.options("minHeight",n)}}else s.hide(),a.hide()}function i(t){"filled"===t.find('input[name="scrollInit"]:checked').val()?t.find(".ditty-field--scrollDelay").show():t.find(".ditty-field--scrollDelay").hide()}function e(t){"no"===t.find('input[name="cloneItems"]:checked').val()?t.find(".ditty-field--wrapItems").show():t.find(".ditty-field--wrapItems").hide()}function s(t){var i=t.find('select[name="titleDisplay"]').val(),e=t.find(".ditty-field--titleDisplay");"none"===i?e.siblings().hide():e.siblings().show()}function a(a,d){t(a,d),a.find('input[name="direction"]').on("click",(function(){t(a,d)})),i(a),a.find('input[name="scrollInit"]').on("click",(function(){i(a)})),e(a),a.find('input[name="cloneItems"]').on("click",(function(){e(a)})),s(a),a.find('select[name="titleDisplay"]').on("change",(function(){s(a)}))}$("#ditty-editor").on("ditty_display_editor_panel_init",".ditty-editor__panel--displayEditor",(function(t,i){if("ticker"===i.displayType){var e=i.$form,s=e.parents("#ditty-editor__settings")[0];a(e,s._ditty_editor.ditty)}})),$(".ditty-sandbox").on("ditty_sandbox_init",(function(t,i,e){"ticker"===i.displayType&&a($(this).find("form"),e)}))}()})),jQuery((function($){!function(){"use strict";function t(t){"full"===t.find('input[name="content_display"]:checked').val()?(t.find(".ditty-field--more_link").hide(),t.find(".ditty-field--excerpt_length").hide(),t.find(".ditty-field--more").hide(),t.find(".ditty-field--more_before").hide(),t.find(".ditty-field--more_after").hide()):(t.find(".ditty-field--more_link").show(),t.find(".ditty-field--excerpt_length").show(),t.find(".ditty-field--more").show(),t.find(".ditty-field--more_before").show(),t.find(".ditty-field--more_after").show())}$("#ditty-editor").on("ditty_item_editor_panel_init",".ditty-editor__panel--item_editor",(function(i,e){if("posts_feed"!==e.itemType&&"post"!==e.itemType)return!1;var s=e.$form;t(s),s.on("click",'input[name="content_display"]',(function(){t(s)}))}))}()}));
|
includes/js/editor/class-ditty-layouts-panel.js
CHANGED
@@ -47,6 +47,7 @@
|
|
47 |
this.$elmt.on( 'click', '.ditty-data-list__item__edit_css', { self: this, editType: 'css' }, this._editLayout );
|
48 |
this.$elmt.on( 'click', '.ditty-data-list__item__clone', { self: this }, this._cloneLayout );
|
49 |
this.$elmt.on( 'click', '.ditty-data-list__item__delete', { self: this }, this._deleteLayout );
|
|
|
50 |
this.$list.on( 'click', '.ditty-editor-layout > a', { self: this }, this._actionClick );
|
51 |
$( 'body' ).on( 'ditty_editor_save_ditty_response', { self: this }, this._dittyEditorSaveResponse );
|
52 |
|
@@ -230,6 +231,35 @@
|
|
230 |
self.settings.editor.updateStop(); // Stop the update overlay
|
231 |
}, 'json' );
|
232 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
233 |
|
234 |
/**
|
235 |
* Delete a layout
|
@@ -383,6 +413,7 @@
|
|
383 |
this.$elmt.off( 'click', '.ditty-data-list__item__edit_css', { self: this, editType: 'css' }, this._editLayout );
|
384 |
this.$elmt.off( 'click', '.ditty-data-list__item__clone', { self: this }, this._cloneLayout );
|
385 |
this.$elmt.off( 'click', '.ditty-data-list__item__delete', { self: this }, this._deleteLayout );
|
|
|
386 |
this.$list.off( 'click', '.ditty-editor-layout > a', { self: this }, this._actionClick );
|
387 |
$( 'body' ).off( 'ditty_editor_save_ditty_response', { self: this }, this._dittyEditorSaveResponse );
|
388 |
|
47 |
this.$elmt.on( 'click', '.ditty-data-list__item__edit_css', { self: this, editType: 'css' }, this._editLayout );
|
48 |
this.$elmt.on( 'click', '.ditty-data-list__item__clone', { self: this }, this._cloneLayout );
|
49 |
this.$elmt.on( 'click', '.ditty-data-list__item__delete', { self: this }, this._deleteLayout );
|
50 |
+
this.$elmt.on( 'click', '.ditty-data-list__item__save', { self: this }, this._saveLayout );
|
51 |
this.$list.on( 'click', '.ditty-editor-layout > a', { self: this }, this._actionClick );
|
52 |
$( 'body' ).on( 'ditty_editor_save_ditty_response', { self: this }, this._dittyEditorSaveResponse );
|
53 |
|
231 |
self.settings.editor.updateStop(); // Stop the update overlay
|
232 |
}, 'json' );
|
233 |
},
|
234 |
+
|
235 |
+
/**
|
236 |
+
* Save a layout preview
|
237 |
+
*
|
238 |
+
* @since 3.0
|
239 |
+
* @return null
|
240 |
+
*/
|
241 |
+
_saveLayout: function( e ) {
|
242 |
+
e.preventDefault();
|
243 |
+
var self = e.data.self,
|
244 |
+
$button = $( e.target ).is( 'a' ) ? $( e.target ) : $( e.target ).parent( 'a' ),
|
245 |
+
$item = $button.parents( '.ditty-data-list__item' ),
|
246 |
+
layoutId = $item.data( 'layout_id' );
|
247 |
+
|
248 |
+
//self.settings.editor.updateStart(); // Start the update overlay
|
249 |
+
|
250 |
+
// Use ajax to clone the layout
|
251 |
+
// var data = {
|
252 |
+
// action : 'ditty_editor_layout_save_preview',
|
253 |
+
// layout_id : layoutId,
|
254 |
+
// item_id : self.editorItemId,
|
255 |
+
// draft_values : self.settings.editor.getDraftValues(),
|
256 |
+
// security : dittyVars.security
|
257 |
+
// };
|
258 |
+
// $.post( dittyVars.ajaxurl, data, function( response ) {
|
259 |
+
// console.log( response );
|
260 |
+
// self.settings.editor.updateStop(); // Stop the update overlay
|
261 |
+
// }, 'json' );
|
262 |
+
},
|
263 |
|
264 |
/**
|
265 |
* Delete a layout
|
413 |
this.$elmt.off( 'click', '.ditty-data-list__item__edit_css', { self: this, editType: 'css' }, this._editLayout );
|
414 |
this.$elmt.off( 'click', '.ditty-data-list__item__clone', { self: this }, this._cloneLayout );
|
415 |
this.$elmt.off( 'click', '.ditty-data-list__item__delete', { self: this }, this._deleteLayout );
|
416 |
+
this.$elmt.off( 'click', '.ditty-data-list__item__save', { self: this }, this._saveLayout );
|
417 |
this.$list.off( 'click', '.ditty-editor-layout > a', { self: this }, this._actionClick );
|
418 |
$( 'body' ).off( 'ditty_editor_save_ditty_response', { self: this }, this._dittyEditorSaveResponse );
|
419 |
|
includes/sass/admin/_dashboard.scss
CHANGED
@@ -131,4 +131,27 @@ table.wp-list-table .type-ditty_display .row-actions {
|
|
131 |
border-bottom-right-radius: 3px;
|
132 |
}
|
133 |
}
|
|
|
|
|
|
|
|
|
|
|
134 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
border-bottom-right-radius: 3px;
|
132 |
}
|
133 |
}
|
134 |
+
.fusion-module-icon.ditty {
|
135 |
+
width: 15px;
|
136 |
+
height: 15px;
|
137 |
+
background: url( '../img/d.svg' );
|
138 |
+
}
|
139 |
|
140 |
+
#menu-posts-ditty {
|
141 |
+
.wp-submenu {
|
142 |
+
display: flex;
|
143 |
+
flex-direction: column;
|
144 |
+
li {
|
145 |
+
order: 0;
|
146 |
+
&.ditty_extensions,
|
147 |
+
&.ditty_settings,
|
148 |
+
&.ditty_export {
|
149 |
+
order: 5;
|
150 |
+
}
|
151 |
+
&.ditty_news_ticker,
|
152 |
+
&.mtphr_dnt_settings {
|
153 |
+
order: 10;
|
154 |
+
}
|
155 |
+
}
|
156 |
+
}
|
157 |
+
}
|
includes/sass/admin/_export.scss
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.ditty-import {
|
2 |
+
&__group {
|
3 |
+
margin-bottom: 40px;
|
4 |
+
}
|
5 |
+
&__item {
|
6 |
+
|
7 |
+
}
|
8 |
+
}
|
9 |
+
.ditty-field--ditty_new_import_button {
|
10 |
+
.ditty-button {
|
11 |
+
display: inline-block;
|
12 |
+
width: auto;
|
13 |
+
}
|
14 |
+
}
|
includes/sass/admin/_pages.scss
CHANGED
@@ -1,3 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
.ditty-page {
|
2 |
&__contents {
|
3 |
padding: 20px;
|
@@ -11,4 +33,15 @@
|
|
11 |
margin: 0;
|
12 |
}
|
13 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
}
|
1 |
+
.ditty-header {
|
2 |
+
color: #FFF;
|
3 |
+
background: #1ABF7D;
|
4 |
+
margin-left: -20px;
|
5 |
+
&__wrapper {
|
6 |
+
align-items: center;
|
7 |
+
display: flex;
|
8 |
+
flex-wrap: wrap;
|
9 |
+
justify-content: space-between;
|
10 |
+
transition: padding 0.3s ease;
|
11 |
+
margin-left: auto;
|
12 |
+
margin-right: auto;
|
13 |
+
//max-width: 69.5rem;
|
14 |
+
padding: 1.5rem;
|
15 |
+
padding-bottom: 1.375rem;
|
16 |
+
padding-top: 1.375rem;
|
17 |
+
}
|
18 |
+
svg {
|
19 |
+
width: 100px;
|
20 |
+
}
|
21 |
+
}
|
22 |
+
|
23 |
.ditty-page {
|
24 |
&__contents {
|
25 |
padding: 20px;
|
33 |
margin: 0;
|
34 |
}
|
35 |
}
|
36 |
+
}
|
37 |
+
|
38 |
+
@media only screen and (max-width: 960px) {
|
39 |
+
.ditty-header {
|
40 |
+
margin-left: -20px;
|
41 |
+
}
|
42 |
+
}
|
43 |
+
@media screen and (max-width: 782px) {
|
44 |
+
.ditty-header {
|
45 |
+
margin-left: -10px;
|
46 |
+
}
|
47 |
}
|
includes/sass/admin/_rtl.scss
ADDED
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
body.rtl {
|
2 |
+
#ditty-editor .ditty-editor {
|
3 |
+
&__tab {
|
4 |
+
span {
|
5 |
+
padding-left: 0;
|
6 |
+
padding-right: 20px;
|
7 |
+
}
|
8 |
+
}
|
9 |
+
}
|
10 |
+
.ditty-data-list__filter {
|
11 |
+
i {
|
12 |
+
margin-right: 0;
|
13 |
+
margin-left: 5px;
|
14 |
+
}
|
15 |
+
}
|
16 |
+
.ditty-editor-options__buttons--start a:not(.ditty-button), .ditty-editor-options__buttons--start button:not(.ditty-button) {
|
17 |
+
margin-right: 0;
|
18 |
+
margin-left: 5px;
|
19 |
+
}
|
20 |
+
.ditty-editor-options__buttons--end a:not(.ditty-button), .ditty-editor-options__buttons--end button:not(.ditty-button) {
|
21 |
+
margin-left: 0;
|
22 |
+
margin-right: 5px;
|
23 |
+
}
|
24 |
+
.ditty-data-list__item {
|
25 |
+
padding-right: 0;
|
26 |
+
padding-left: 8px;
|
27 |
+
&__label {
|
28 |
+
padding-right: 0;
|
29 |
+
padding-left: 5px;
|
30 |
+
margin-right: 0;
|
31 |
+
margin-left: auto;
|
32 |
+
.ditty-display-version {
|
33 |
+
margin-right: 5px;
|
34 |
+
}
|
35 |
+
}
|
36 |
+
}
|
37 |
+
.ditty-layout-variation {
|
38 |
+
padding: 5px 10px 0 8px;
|
39 |
+
}
|
40 |
+
.ditty-editor__panel--items {
|
41 |
+
.ditty-data-list__item {
|
42 |
+
a.ditty-data-list__item__icon {
|
43 |
+
border-right: none;
|
44 |
+
border-left: 1px solid rgba(0, 0, 0, 0.05);
|
45 |
+
margin-right: 0;
|
46 |
+
margin-left: 10px;
|
47 |
+
}
|
48 |
+
}
|
49 |
+
}
|
50 |
+
.ditty-field-type--checkbox .ditty-field__input__primary label {
|
51 |
+
margin-left: 0;
|
52 |
+
margin-right: 7px;
|
53 |
+
}
|
54 |
+
.ditty-field-type--radio .ditty-input--radio__option label {
|
55 |
+
margin-left: 0;
|
56 |
+
margin-right: 7px;
|
57 |
+
}
|
58 |
+
.ditty-field-type--radio .ditty-input--radio--inline .ditty-input--radio__option {
|
59 |
+
margin-right: 0;
|
60 |
+
margin-left: 15px;
|
61 |
+
}
|
62 |
+
.ditty-field-type--color input[type="text"] {
|
63 |
+
padding-left: 1px !important;
|
64 |
+
padding-right: 40px !important;
|
65 |
+
}
|
66 |
+
}
|
includes/sass/admin/_settings.scss
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
#ditty-page {
|
2 |
width: 1200px;
|
3 |
-
max-width: calc( 100% );
|
4 |
border-radius: 5px;
|
5 |
box-shadow: 0 0 1px rgba( 0, 0, 0, 0.2 );
|
6 |
margin-top: 22px;
|
@@ -43,7 +43,7 @@
|
|
43 |
}
|
44 |
@media screen and ( max-width: 782px ) {
|
45 |
#ditty-page {
|
46 |
-
max-width: calc( 100% );
|
47 |
margin-top: 10px;
|
48 |
}
|
49 |
}
|
@@ -116,6 +116,13 @@
|
|
116 |
top: 10px;
|
117 |
display: block;
|
118 |
font-size: 14px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
}
|
120 |
span {
|
121 |
display: block;
|
@@ -297,7 +304,7 @@
|
|
297 |
}
|
298 |
@media (min-width: 1000px) {
|
299 |
.ditty-settings__panel:not(.ditty-settings__panel--global_ditty) {
|
300 |
-
> .ditty-field {
|
301 |
display: flex;
|
302 |
flex-direction: row;
|
303 |
align-items: flex-start;
|
@@ -319,3 +326,18 @@
|
|
319 |
}
|
320 |
}
|
321 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
#ditty-page {
|
2 |
width: 1200px;
|
3 |
+
max-width: calc( 100% - 20px );
|
4 |
border-radius: 5px;
|
5 |
box-shadow: 0 0 1px rgba( 0, 0, 0, 0.2 );
|
6 |
margin-top: 22px;
|
43 |
}
|
44 |
@media screen and ( max-width: 782px ) {
|
45 |
#ditty-page {
|
46 |
+
max-width: calc( 100% - 10px );
|
47 |
margin-top: 10px;
|
48 |
}
|
49 |
}
|
116 |
top: 10px;
|
117 |
display: block;
|
118 |
font-size: 14px;
|
119 |
+
width: 14px;
|
120 |
+
}
|
121 |
+
svg {
|
122 |
+
position: absolute;
|
123 |
+
top: 10px;
|
124 |
+
display: block;
|
125 |
+
width: 14px;
|
126 |
}
|
127 |
span {
|
128 |
display: block;
|
304 |
}
|
305 |
@media (min-width: 1000px) {
|
306 |
.ditty-settings__panel:not(.ditty-settings__panel--global_ditty) {
|
307 |
+
> .ditty-field:not(.ditty-field-heading--top) {
|
308 |
display: flex;
|
309 |
flex-direction: row;
|
310 |
align-items: flex-start;
|
326 |
}
|
327 |
}
|
328 |
}
|
329 |
+
|
330 |
+
|
331 |
+
/* Post import/exports */
|
332 |
+
.ditty-import-button,
|
333 |
+
.ditty-export-button {
|
334 |
+
i {
|
335 |
+
display: none;
|
336 |
+
}
|
337 |
+
}
|
338 |
+
.ditty-input--checkboxes__option--select_all {
|
339 |
+
width: 100%;
|
340 |
+
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
|
341 |
+
padding-bottom: 10px;
|
342 |
+
margin-bottom: 10px !important;
|
343 |
+
}
|
includes/sass/ditty-admin.scss
CHANGED
@@ -10,4 +10,6 @@
|
|
10 |
@import "admin/settings";
|
11 |
@import "admin/upgrade_details";
|
12 |
@import "admin/pages";
|
13 |
-
@import "admin/
|
|
|
|
10 |
@import "admin/settings";
|
11 |
@import "admin/upgrade_details";
|
12 |
@import "admin/pages";
|
13 |
+
@import "admin/export";
|
14 |
+
@import "admin/wizard";
|
15 |
+
@import "admin/rtl";
|
includes/sass/editor/_layouts_panel.scss
CHANGED
@@ -3,7 +3,8 @@
|
|
3 |
&:not( .active ) {
|
4 |
&:hover {
|
5 |
.ditty-data-list__item__edit_html,
|
6 |
-
.ditty-data-list__item__edit_css
|
|
|
7 |
display: none;
|
8 |
}
|
9 |
}
|
3 |
&:not( .active ) {
|
4 |
&:hover {
|
5 |
.ditty-data-list__item__edit_html,
|
6 |
+
.ditty-data-list__item__edit_css,
|
7 |
+
.ditty-data-list__item__save {
|
8 |
display: none;
|
9 |
}
|
10 |
}
|
includes/sass/partials/_ditty-ui.scss
CHANGED
@@ -27,6 +27,7 @@
|
|
27 |
transition: color .25s ease, background-color .25s ease;
|
28 |
&[disabled] {
|
29 |
cursor: default;
|
|
|
30 |
}
|
31 |
&[type="button"],
|
32 |
&[type="submit"] {
|
27 |
transition: color .25s ease, background-color .25s ease;
|
28 |
&[disabled] {
|
29 |
cursor: default;
|
30 |
+
opacity: .5;
|
31 |
}
|
32 |
&[type="button"],
|
33 |
&[type="submit"] {
|
includes/sass/partials/_fields.scss
CHANGED
@@ -164,6 +164,17 @@
|
|
164 |
}
|
165 |
}
|
166 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
167 |
/* Group */
|
168 |
.ditty-field-type--group {
|
169 |
padding: 0;
|
@@ -260,7 +271,7 @@
|
|
260 |
margin-bottom: 5px;
|
261 |
label {
|
262 |
font-size: 13px;
|
263 |
-
line-
|
264 |
}
|
265 |
}
|
266 |
&--inline {
|
164 |
}
|
165 |
}
|
166 |
|
167 |
+
.postbox-container .inside > .ditty-field {
|
168 |
+
padding-left: 0;
|
169 |
+
padding-right: 0;
|
170 |
+
&:first-of-type {
|
171 |
+
padding-top: 0;
|
172 |
+
}
|
173 |
+
&:last-of-type {
|
174 |
+
padding-bottom: 0;
|
175 |
+
}
|
176 |
+
}
|
177 |
+
|
178 |
/* Group */
|
179 |
.ditty-field-type--group {
|
180 |
padding: 0;
|
271 |
margin-bottom: 5px;
|
272 |
label {
|
273 |
font-size: 13px;
|
274 |
+
line-height: 13px;
|
275 |
}
|
276 |
}
|
277 |
&--inline {
|
includes/wizard.php
CHANGED
@@ -117,7 +117,7 @@ function ditty_wizard( $post ) {
|
|
117 |
<h3 class="ditty-wizard-setting__title"><?php _e( 'Select Variation Layouts for the Item', 'ditty-news-ticker' ); ?></h3>
|
118 |
<p class="ditty-wizard-setting__description"><?php _e( 'Layouts are used to render the Item data. Each Item type may have multiple Layout variations.', 'ditty-news-ticker' ); ?></p>
|
119 |
<?php
|
120 |
-
$layouts =
|
121 |
$layout_options = '';
|
122 |
$layout_options .= '<div class="ditty-wizard-option ditty-option-grid">';
|
123 |
if ( is_array( $layouts ) && count( $layouts ) > 0 ) {
|
117 |
<h3 class="ditty-wizard-setting__title"><?php _e( 'Select Variation Layouts for the Item', 'ditty-news-ticker' ); ?></h3>
|
118 |
<p class="ditty-wizard-setting__description"><?php _e( 'Layouts are used to render the Item data. Each Item type may have multiple Layout variations.', 'ditty-news-ticker' ); ?></p>
|
119 |
<?php
|
120 |
+
$layouts = ditty_layout_posts();
|
121 |
$layout_options = '';
|
122 |
$layout_options .= '<div class="ditty-wizard-option ditty-option-grid">';
|
123 |
if ( is_array( $layouts ) && count( $layouts ) > 0 ) {
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: metaphorcreations
|
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=FUZKZGAJSBAE6
|
4 |
Tags: ticker, post ticker, news ticker, content aggregator, latest posts, live refresh, rotator, data rotator, lists, data, aggregator
|
5 |
Requires at least: 4.5
|
6 |
-
Tested up to: 5.9.
|
7 |
-
Stable tag: 3.0.
|
8 |
License: GPL2
|
9 |
|
10 |
Formerly Ditty News Ticker. Ditty is a multi-functional data display plugin.
|
@@ -66,6 +66,13 @@ The most common cause for an unresponsive Ditty (when using scroll or rotate mod
|
|
66 |
|
67 |
== Changelog ==
|
68 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
= 3.0.16 =
|
70 |
* Resolved bug in default item link css
|
71 |
* Code field updates
|
@@ -688,4 +695,4 @@ The most common cause for an unresponsive Ditty (when using scroll or rotate mod
|
|
688 |
|
689 |
== Upgrade Notice ==
|
690 |
|
691 |
-
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=FUZKZGAJSBAE6
|
4 |
Tags: ticker, post ticker, news ticker, content aggregator, latest posts, live refresh, rotator, data rotator, lists, data, aggregator
|
5 |
Requires at least: 4.5
|
6 |
+
Tested up to: 5.9.2
|
7 |
+
Stable tag: 3.0.17
|
8 |
License: GPL2
|
9 |
|
10 |
Formerly Ditty News Ticker. Ditty is a multi-functional data display plugin.
|
66 |
|
67 |
== Changelog ==
|
68 |
|
69 |
+
= 3.0.17 =
|
70 |
+
* Added Import/Export functionality
|
71 |
+
* Added Ditty shortcode to Ditty edit screen
|
72 |
+
* Re-ordered Ditty sub menu
|
73 |
+
* RTL admin updates
|
74 |
+
* Added Avada builder element
|
75 |
+
|
76 |
= 3.0.16 =
|
77 |
* Resolved bug in default item link css
|
78 |
* Code field updates
|
695 |
|
696 |
== Upgrade Notice ==
|
697 |
|
698 |
+
Added Import/Export functionality and other updates
|