Version Description
- Field: Flexible Content - Fixed "Copy/Paste" function which wasn't working correctly with WYSIWYG & Code Editor fields since the latest ACF 5.9 update
- Field: Column - Columns sizes are now based on a grid of 12 (1/12, 2/12, 3/12, 4/12 ...)
- Field: Taxonomy - Added compatibility with "Value equal", "Value not equal", "Value pattern" & "Value contains" conditional logic
- Field: Select - "Placeholder" setting is now only available when "Stylised UI" is enabled with "Allow multiple" or "Allow null"
- Module: Dynamic Post Type - Fixed "Post Type Archive Location
Download this release
Release Info
Developer | hwk-fr |
Plugin | Advanced Custom Fields: Extended |
Version | 0.8.7.3 |
Comparing to | |
See all releases |
Code changes from version 0.8.7.2 to 0.8.7.3
- acf-extended.php +2 -2
- assets/acf-extended-admin.css +338 -11
- assets/{acf-extended-fg.js → acf-extended-admin.js} +0 -0
- assets/acf-extended-admin.min.css +1 -0
- assets/acf-extended-admin.min.js +1 -0
- assets/acf-extended-fc-control.css +0 -105
- assets/acf-extended-fc-control.js +0 -788
- assets/acf-extended-fc-modal-edit.css +0 -6
- assets/acf-extended-fc-modal-edit.js +0 -72
- assets/acf-extended-fc-modal-select.css +0 -0
- assets/acf-extended-fc-modal-select.js +0 -259
- assets/acf-extended-fc.css +0 -338
- assets/acf-extended-fc.js +0 -451
- assets/acf-extended-fg.css +0 -331
- assets/acf-extended-fields.js +0 -1435
- assets/acf-extended-form.js +0 -171
- assets/acf-extended-modal.css +0 -607
- assets/acf-extended-repeater.css +0 -83
- assets/acf-extended-repeater.js +0 -59
- assets/acf-extended-ui.css +456 -456
- assets/acf-extended-ui.min.css +1 -0
- assets/acf-extended.css +1153 -28
- assets/acf-extended.js +3375 -0
- assets/acf-extended.min.css +1 -0
- assets/acf-extended.min.js +1 -0
- includes/admin/options.class.php +276 -276
- includes/admin/options.php +578 -578
- includes/admin/plugins.php +41 -41
- includes/admin/tools/fg-local.php +332 -332
- includes/admin/views/html-options-edit.php +60 -60
- includes/admin/views/html-options-list.php +37 -37
- includes/core/enqueue.php +86 -73
- includes/field-groups/field-group.php +1 -1
- includes/fields-settings/permissions.php +54 -54
- includes/fields/field-button.php +239 -239
- includes/fields/field-column.php +160 -127
- includes/fields/field-dynamic-message.php +57 -57
- includes/fields/field-hidden.php +47 -47
- includes/fields/field-repeater.php +61 -61
- includes/fields/field-select.php +17 -0
- includes/fields/field-slug.php +104 -104
- includes/fields/field-textarea.php +49 -49
- includes/locations/post-type-all.php +38 -38
- includes/locations/post-type-archive.php +40 -15
- includes/locations/post-type-list.php +427 -427
- includes/locations/taxonomy-list.php +404 -404
- includes/modules/autosync.php +14 -39
- includes/modules/dynamic-options-page.php +22 -0
- includes/modules/dynamic-post-type.php +12 -3
- includes/modules/dynamic-taxonomy.php +11 -3
- init.php +4 -1
- readme.txt +17 -1
acf-extended.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Plugin Name: Advanced Custom Fields: Extended
|
4 |
* Description: Enhancement Suite which improves Advanced Custom Fields administration
|
5 |
-
* Version: 0.8.7.
|
6 |
* Author: ACF Extended
|
7 |
* Author URI: https://www.acf-extended.com
|
8 |
* Text Domain: acfe
|
@@ -16,7 +16,7 @@ if(!class_exists('ACFE')):
|
|
16 |
class ACFE{
|
17 |
|
18 |
// Vars
|
19 |
-
var $version = '0.8.7.
|
20 |
var $acf = false;
|
21 |
|
22 |
/*
|
2 |
/**
|
3 |
* Plugin Name: Advanced Custom Fields: Extended
|
4 |
* Description: Enhancement Suite which improves Advanced Custom Fields administration
|
5 |
+
* Version: 0.8.7.3
|
6 |
* Author: ACF Extended
|
7 |
* Author URI: https://www.acf-extended.com
|
8 |
* Text Domain: acfe
|
16 |
class ACFE{
|
17 |
|
18 |
// Vars
|
19 |
+
var $version = '0.8.7.3';
|
20 |
var $acf = false;
|
21 |
|
22 |
/*
|
assets/acf-extended-admin.css
CHANGED
@@ -345,23 +345,18 @@ body.post-type-acfe-form.post-new-php #major-publishing-actions{
|
|
345 |
/*
|
346 |
* Gutenberg: Fix metaboxes
|
347 |
*/
|
348 |
-
.edit-post-layout__metaboxes:not(:empty)
|
349 |
-
margin:10px 10px 0;
|
350 |
-
}
|
351 |
-
|
352 |
-
.edit-post-layout__metaboxes:not(:empty) {
|
353 |
background:#f3f4f5;
|
|
|
354 |
}
|
355 |
|
356 |
.edit-post-layout__metaboxes .edit-post-meta-boxes-area .postbox{
|
357 |
margin-bottom:10px;
|
|
|
358 |
}
|
359 |
|
360 |
-
|
361 |
-
|
362 |
-
.edit-post-layout__metaboxes .postbox{
|
363 |
-
box-shadow:0 1px 1px 1px rgba(0,0,0,.04);
|
364 |
-
}
|
365 |
}
|
366 |
|
367 |
/*
|
@@ -371,7 +366,8 @@ body.post-type-acfe-form.post-new-php #major-publishing-actions{
|
|
371 |
#acf-admin-tool-acfe_tool_dpt_export ul,
|
372 |
#acf-admin-tool-acfe_tool_dt_export ul,
|
373 |
#acf-admin-tool-acfe_tool_form_export ul{
|
374 |
-
column-width: 200px;
|
|
|
375 |
}
|
376 |
|
377 |
.acf-meta-box-wrap.-grid #acf-admin-tool-acfe-fg-local{
|
@@ -687,4 +683,335 @@ html[dir="rtl"] .acf-columns-2 .acf-column-2 {
|
|
687 |
float: left;
|
688 |
margin-right: 0;
|
689 |
margin-left: -300px
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
690 |
}
|
345 |
/*
|
346 |
* Gutenberg: Fix metaboxes
|
347 |
*/
|
348 |
+
.edit-post-layout__metaboxes:not(:empty){
|
|
|
|
|
|
|
|
|
349 |
background:#f3f4f5;
|
350 |
+
padding:10px 10px 0 10px !important;
|
351 |
}
|
352 |
|
353 |
.edit-post-layout__metaboxes .edit-post-meta-boxes-area .postbox{
|
354 |
margin-bottom:10px;
|
355 |
+
border:1px solid #E1E1E1;
|
356 |
}
|
357 |
|
358 |
+
.edit-post-layout__metaboxes .edit-post-meta-boxes-area .postbox > .inside{
|
359 |
+
border-bottom:0;
|
|
|
|
|
|
|
360 |
}
|
361 |
|
362 |
/*
|
366 |
#acf-admin-tool-acfe_tool_dpt_export ul,
|
367 |
#acf-admin-tool-acfe_tool_dt_export ul,
|
368 |
#acf-admin-tool-acfe_tool_form_export ul{
|
369 |
+
-moz-column-width: 200px;
|
370 |
+
column-width: 200px;
|
371 |
}
|
372 |
|
373 |
.acf-meta-box-wrap.-grid #acf-admin-tool-acfe-fg-local{
|
683 |
float: left;
|
684 |
margin-right: 0;
|
685 |
margin-left: -300px
|
686 |
+
}
|
687 |
+
.acf-field-setting-acfe_permissions > .acf-input > .acf-fields,
|
688 |
+
.acf-field-setting-acfe_settings > .acf-input > .acf-fields,
|
689 |
+
.acf-field-setting-acfe_validate > .acf-input > .acf-fields,
|
690 |
+
.acf-field-setting-acfe_update > .acf-input > .acf-fields,
|
691 |
+
.acf-field-setting-acfe_hide > .acf-input > .acf-fields,
|
692 |
+
|
693 |
+
.acf-field-setting-acfe_bidirectional > .acf-input > .acf-fields,
|
694 |
+
.acf-field-setting-acfe_settings > .acf-input > .acf-fields > .acf-field.acf-field-acfe-settings-rules-or,
|
695 |
+
.acf-field-setting-acfe_validate > .acf-input > .acf-fields > .acf-field.acf-field-acfe-validate-rules-or,
|
696 |
+
.acf-field-setting-acfe_update > .acf-input > .acf-fields > .acf-field.acf-field-acfe-update-functions{
|
697 |
+
border:0;
|
698 |
+
}
|
699 |
+
|
700 |
+
.acf-field-setting-acfe_bidirectional > .acf-input > .acf-fields > .acf-field,
|
701 |
+
.acf-field-setting-acfe_permissions > .acf-input > .acf-fields > .acf-field,
|
702 |
+
.acf-field-setting-acfe_settings > .acf-input > .acf-fields > .acf-field,
|
703 |
+
.acf-field-setting-acfe_validate > .acf-input > .acf-fields > .acf-field,
|
704 |
+
.acf-field-setting-acfe_update > .acf-input > .acf-fields > .acf-field,
|
705 |
+
.acf-field-setting-acfe_hide > .acf-input > .acf-fields > .acf-field{
|
706 |
+
padding:0;
|
707 |
+
}
|
708 |
+
|
709 |
+
.acf-field-setting-acfe_field_data{
|
710 |
+
display:none;
|
711 |
+
}
|
712 |
+
|
713 |
+
.acf-field-hide-front.acfe_width_auto{
|
714 |
+
margin-right:30px;
|
715 |
+
}
|
716 |
+
|
717 |
+
.acf-field-setting-acfe_bidirectional > .acf-input > .acf-fields > .acf-field.acf-field-acfe-bidirectional-enabled > .acf-label,
|
718 |
+
.acf-field-setting-acfe_bidirectional > .acf-input > .acf-fields > .acf-field.acf-field-acfe-bidirectional-related > .acf-label,
|
719 |
+
.acf-field-setting-acfe_settings > .acf-input > .acf-fields > .acf-field.acf-field-acfe-settings-activate > .acf-label,
|
720 |
+
.acf-field-setting-acfe_validate > .acf-input > .acf-fields > .acf-field.acf-field-acfe-validate-activate > .acf-label,
|
721 |
+
.acf-field-setting-acfe_update > .acf-input > .acf-fields > .acf-field.acf-field-acfe-update-activate > .acf-label{
|
722 |
+
display:none;
|
723 |
+
}
|
724 |
+
|
725 |
+
.acf-field-setting-acfe_update > .acf-input .acf-repeater.-empty.-table > table,
|
726 |
+
.acf-field-setting-acfe_settings > .acf-input .acf-repeater.-empty.-table > table,
|
727 |
+
.acf-field-setting-acfe_validate > .acf-input .acf-repeater.-empty.-table > table,
|
728 |
+
.acf-field-acfe-meta > .acf-input .acf-repeater.-empty.-table > table{
|
729 |
+
border:0;
|
730 |
+
display:none;
|
731 |
+
}
|
732 |
+
|
733 |
+
.acf-field-setting-acfe_update > .acf-input .acf-repeater.-empty.-table > table > thead,
|
734 |
+
.acf-field-setting-acfe_settings > .acf-input .acf-repeater.-empty.-table > table > thead,
|
735 |
+
.acf-field-setting-acfe_validate > .acf-input .acf-repeater.-empty.-table > table > thead,
|
736 |
+
.acf-field-acfe-meta > .acf-input .acf-repeater.-empty.-table > table > thead{
|
737 |
+
display:none;
|
738 |
+
}
|
739 |
+
|
740 |
+
.acf-field-setting-acfe_update > .acf-input > .acf-repeater .acf-actions,
|
741 |
+
.acf-field-setting-acfe_settings > .acf-input > .acf-repeater .acf-actions,
|
742 |
+
.acf-field-setting-acfe_validate > .acf-input > .acf-repeater .acf-actions,
|
743 |
+
.acf-field-acfe-meta > .acf-input > .acf-repeater .acf-actions{
|
744 |
+
text-align:left;
|
745 |
+
}
|
746 |
+
|
747 |
+
.acf-repeater.-row > table,
|
748 |
+
.acf-repeater.-block > table{
|
749 |
+
border-collapse: separate;
|
750 |
+
border-spacing: 0 15px;
|
751 |
+
background: none;
|
752 |
+
border: 0;
|
753 |
+
margin-top: -15px;
|
754 |
+
margin-bottom: -7px;
|
755 |
+
}
|
756 |
+
|
757 |
+
.acf-repeater.-row > table > *,
|
758 |
+
.acf-repeater.-block > table > *{
|
759 |
+
border-collapse: collapse;
|
760 |
+
border-spacing: 0;
|
761 |
+
}
|
762 |
+
|
763 |
+
.acf-repeater.-row > table > tbody > tr > td,
|
764 |
+
.acf-repeater.-block > table > tbody > tr > td{
|
765 |
+
border-top: 1px solid #ccd0d4 !important;
|
766 |
+
border-bottom: 1px solid #ccd0d4 !important;
|
767 |
+
}
|
768 |
+
|
769 |
+
.acf-repeater.-row > table > tbody > tr > td:first-of-type,
|
770 |
+
.acf-repeater.-block > table > tbody > tr > td:first-of-type{
|
771 |
+
border-left: 1px solid #ccd0d4 !important;
|
772 |
+
}
|
773 |
+
|
774 |
+
.acf-repeater.-row > table > tbody > tr > td:last-of-type,
|
775 |
+
.acf-repeater.-block > table > tbody > tr > td:last-of-type{
|
776 |
+
border-right: 1px solid #ccd0d4 !important;
|
777 |
+
}
|
778 |
+
|
779 |
+
body:not(.acf-admin-5-3) .acf-repeater.-row > table > tbody > tr > td,
|
780 |
+
body:not(.acf-admin-5-3) .acf-repeater.-block > table > tbody > tr > td{
|
781 |
+
border-top: 1px solid #E1E1E1;
|
782 |
+
border-bottom: 1px solid #E1E1E1;
|
783 |
+
}
|
784 |
+
|
785 |
+
body:not(.acf-admin-5-3) .acf-repeater.-row > table > tbody > tr > td:first-of-type,
|
786 |
+
body:not(.acf-admin-5-3) .acf-repeater.-block > table > tbody > tr > td:first-of-type{
|
787 |
+
border-left: 1px solid #E1E1E1;
|
788 |
+
}
|
789 |
+
|
790 |
+
body:not(.acf-admin-5-3) .acf-repeater.-row > table > tbody > tr > td:last-of-type,
|
791 |
+
body:not(.acf-admin-5-3) .acf-repeater.-block > table > tbody > tr > td:last-of-type{
|
792 |
+
border-right: 1px solid #E1E1E1;
|
793 |
+
}
|
794 |
+
|
795 |
+
.acf-field-setting-acfe_bidirectional > .acf-input > .acf-fields > .acf-field.acf-field-acfe-bidirectional-related{
|
796 |
+
margin-left:10px;
|
797 |
+
}
|
798 |
+
|
799 |
+
.acfe_width_auto{
|
800 |
+
width:auto !important;
|
801 |
+
}
|
802 |
+
|
803 |
+
.status-acf-disabled .column-title a,
|
804 |
+
.status-acf-disabled .column-title code {
|
805 |
+
color: #555 !important;
|
806 |
+
}
|
807 |
+
|
808 |
+
.status-acf-disabled .column-title strong{
|
809 |
+
color: #a0a5aa;
|
810 |
+
}
|
811 |
+
|
812 |
+
.column-acf-field-group-category{
|
813 |
+
width:125px;
|
814 |
+
}
|
815 |
+
|
816 |
+
td.acf-field-group-category a{
|
817 |
+
word-wrap: break-word;
|
818 |
+
padding: 2px 5px;
|
819 |
+
margin: 0 1px;
|
820 |
+
border-radius:2px;
|
821 |
+
background: rgba(0,0,0,.06);
|
822 |
+
color:#23282d;
|
823 |
+
}
|
824 |
+
|
825 |
+
.column-acfe-location{
|
826 |
+
width:100px;
|
827 |
+
}
|
828 |
+
|
829 |
+
.column-acf-location,
|
830 |
+
.column-acf-description{
|
831 |
+
width:230px;
|
832 |
+
}
|
833 |
+
|
834 |
+
#acf-field-group-wrap .wp-list-table .column-acf-fg-status{
|
835 |
+
width:70px;
|
836 |
+
}
|
837 |
+
|
838 |
+
#acf-field-group-wrap .wp-list-table .column-acf-fg-count,
|
839 |
+
.post-type-acf-field-group .wp-list-table .column-acf-count{
|
840 |
+
width:80px;
|
841 |
+
}
|
842 |
+
|
843 |
+
.post-type-acf-field-group .wp-list-table .column-title .post-state{
|
844 |
+
color:#a0a5aa;
|
845 |
+
}
|
846 |
+
|
847 |
+
.column-title .acfe-key{
|
848 |
+
color:#555;
|
849 |
+
font-size:12px;
|
850 |
+
}
|
851 |
+
|
852 |
+
.column-acfe-load{
|
853 |
+
width:70px;
|
854 |
+
}
|
855 |
+
|
856 |
+
.column-acfe-source{
|
857 |
+
width:150px;
|
858 |
+
}
|
859 |
+
|
860 |
+
.column-acfe-autosync-php,
|
861 |
+
.column-acfe-autosync-json{
|
862 |
+
width:90px;
|
863 |
+
text-align:center !important;
|
864 |
+
}
|
865 |
+
|
866 |
+
.column-acfe-autosync-php .secondary,
|
867 |
+
.column-acfe-autosync-json .secondary{
|
868 |
+
color:#ccc;
|
869 |
+
}
|
870 |
+
|
871 |
+
.column-acfe-autosync-php .dashicons-warning,
|
872 |
+
.column-acfe-autosync-json .dashicons-warning{
|
873 |
+
font-size:15px;
|
874 |
+
vertical-align:middle;
|
875 |
+
}
|
876 |
+
|
877 |
+
.acf-field[data-name="acfe_autosync"] .dashicons-warning{
|
878 |
+
color:#ccc;
|
879 |
+
font-size:15px;
|
880 |
+
height: 15px;
|
881 |
+
vertical-align: text-bottom;
|
882 |
+
}
|
883 |
+
|
884 |
+
.column-acfe-autosync-php .dashicons-update,
|
885 |
+
.column-acfe-autosync-json .dashicons-update{
|
886 |
+
font-size:18px;
|
887 |
+
}
|
888 |
+
|
889 |
+
.column-acfe-autosync-php .dashicons + .dashicons-warning,
|
890 |
+
.column-acfe-autosync-json .dashicons + .dashicons-warning{
|
891 |
+
margin-left:-3px;
|
892 |
+
}
|
893 |
+
|
894 |
+
.acf-field-image[data-name="acfe_flexible_thumbnail"] > .acf-input > .acf-image-uploader.has-value > .show-if-value.image-wrap{
|
895 |
+
max-width:85px !important;
|
896 |
+
}
|
897 |
+
|
898 |
+
/*
|
899 |
+
* Fix Sync Review Modal column size
|
900 |
+
*/
|
901 |
+
.acf-diff-content table.diff tbody tr td:nth-child(2){
|
902 |
+
width: auto;
|
903 |
+
}
|
904 |
+
|
905 |
+
/*
|
906 |
+
* ACFE: Flexible Content
|
907 |
+
*
|
908 |
+
*/
|
909 |
+
|
910 |
+
/* Fix ACF not setting proper border color on Flexible Row Style*/
|
911 |
+
body.acf-admin-5-3 .acf-field-setting-fc_layout .acf-input-wrap.select{
|
912 |
+
border-color: #7e8993;
|
913 |
+
}
|
914 |
+
|
915 |
+
body.acf-admin-5-3 .acf-field-setting-fc_layout .acf-input-wrap.select select{
|
916 |
+
min-height: 28px;
|
917 |
+
}
|
918 |
+
|
919 |
+
.acf-field-acfe-flexible-modal > .acf-input > .acf-fields{
|
920 |
+
border:0;
|
921 |
+
}
|
922 |
+
|
923 |
+
.acf-field-acfe-flexible-modal > .acf-input > .acf-fields .acf-field-acfe-flexible-modal-enabled{
|
924 |
+
padding:0;
|
925 |
+
}
|
926 |
+
|
927 |
+
.acf-field-acfe-flexible-modal > .acf-input > .acf-fields .acf-field-acfe-flexible-modal-enabled .acf-label{
|
928 |
+
display:none;
|
929 |
+
}
|
930 |
+
|
931 |
+
.acf-field-acfe-flexible-modal > .acf-input > .acf-fields .acf-field-acfe-flexible-modal-enabled{
|
932 |
+
margin-right:10px;
|
933 |
+
}
|
934 |
+
|
935 |
+
.acf-field-acfe-flexible-modal > .acf-input > .acf-fields .acf-field-acfe-flexible-modal-title,
|
936 |
+
.acf-field-acfe-flexible-modal > .acf-input > .acf-fields .acf-field-acfe-flexible-modal-col,
|
937 |
+
.acf-field-acfe-flexible-modal > .acf-input > .acf-fields .acf-field-acfe-flexible-modal-categories{
|
938 |
+
padding-top:0;
|
939 |
+
padding-bottom:0;
|
940 |
+
padding-left:0;
|
941 |
+
border-top:0;
|
942 |
+
border-left:0 !important;
|
943 |
+
min-height:55px;
|
944 |
+
}
|
945 |
+
|
946 |
+
.acf-field-setting-fc_layout > .acf-input > .acf-fc-meta .acf-field[data-name=acfe_flexible_settings_label],
|
947 |
+
.acf-field-setting-fc_layout > .acf-input > .acf-fc-meta .acf-field[data-name=acfe_flexible_thumbnail],
|
948 |
+
.acf-field-setting-fc_layout > .acf-input > .acf-fc-meta .acf-field[data-name=acfe_flexible_category],
|
949 |
+
.acf-field-setting-fc_layout > .acf-input > .acf-fc-meta .acf-field[data-name=acfe_flexible_settings_label],
|
950 |
+
.acf-field-setting-fc_layout > .acf-input > .acf-fc-meta .acf-field[data-name=acfe_flexible_settings],
|
951 |
+
.acf-field-setting-fc_layout > .acf-input > .acf-fc-meta .acf-field[data-name=acfe_flexible_settings_size]{
|
952 |
+
margin:0;
|
953 |
+
}
|
954 |
+
|
955 |
+
.acf-field-setting-fc_layout > .acf-input > .acf-fc-meta .acf-field[data-name=acfe_flexible_settings],
|
956 |
+
.acf-field-setting-fc_layout > .acf-input > .acf-fc-meta .acf-field[data-name=acfe_flexible_settings_size]{
|
957 |
+
margin-right: 10px;
|
958 |
+
}
|
959 |
+
|
960 |
+
.acf-field-setting-fc_layout > .acf-input > .acf-fc-meta .acf-field[data-name=acfe_flexible_settings_size]{
|
961 |
+
border-left:0;
|
962 |
+
}
|
963 |
+
|
964 |
+
.acf-field-setting-fc_layout > .acf-input > .acf-fc-meta .acf-field[data-name=acfe_flexible_settings_label] > .acf-input{
|
965 |
+
margin:0;
|
966 |
+
}
|
967 |
+
|
968 |
+
.acf-field-setting-fc_layout > .acf-input > .acf-fc-meta > .acf-fc-meta-label:first-of-type{
|
969 |
+
margin:0;
|
970 |
+
}
|
971 |
+
|
972 |
+
.acf-field-setting-fc_layout .select2-container--default .select2-selection--multiple li{
|
973 |
+
margin-bottom:0;
|
974 |
+
}
|
975 |
+
|
976 |
+
/*
|
977 |
+
* ACFE Column
|
978 |
+
*/
|
979 |
+
.acf-field-object-acfe-column .acf-field-setting-label,
|
980 |
+
.acf-field-object-acfe-column .acf-field-setting-name,
|
981 |
+
.acf-field-object-acfe-column .acf-field-setting-instructions,
|
982 |
+
.acf-field-object-acfe-column .acf-field-setting-required,
|
983 |
+
.acf-field-object-acfe-column .acf-field-setting-warning,
|
984 |
+
.acf-field-object-acfe-column .acf-field-setting-wrapper{
|
985 |
+
display: none;
|
986 |
+
}
|
987 |
+
|
988 |
+
.acf-field-object + .acf-field-object-acfe-column:before {
|
989 |
+
display: block;
|
990 |
+
content: "";
|
991 |
+
height: 5px;
|
992 |
+
width: 100%;
|
993 |
+
background: #f9f9f9;
|
994 |
+
border-bottom: #f0f0f0 solid 1px;
|
995 |
+
}
|
996 |
+
|
997 |
+
.acf-field-object-acfe-column .li-field-name{
|
998 |
+
visibility: hidden;
|
999 |
+
}
|
1000 |
+
|
1001 |
+
/*
|
1002 |
+
* ACFE Taxonomy Terms
|
1003 |
+
*/
|
1004 |
+
.acf-field-setting-allow_terms > .acf-input > ul > li:first-of-type{
|
1005 |
+
width: calc(100% - 125px);
|
1006 |
+
}
|
1007 |
+
|
1008 |
+
.acf-field-setting-allow_terms > .acf-input > ul > li:last-of-type{
|
1009 |
+
width: 125px;
|
1010 |
+
}
|
1011 |
+
|
1012 |
+
/*
|
1013 |
+
* ACFE: Field Group Conditional Logic
|
1014 |
+
*/
|
1015 |
+
#acf-field-group-locations .rule-groups > .rule-group > table > tbody > tr > td.value > .acf-field{
|
1016 |
+
margin: 0;
|
1017 |
}
|
assets/{acf-extended-fg.js → acf-extended-admin.js}
RENAMED
File without changes
|
assets/acf-extended-admin.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:1em}pre{display:block;padding:9.5px;margin:0;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f9f9f9;border:1px solid #ccc;border-radius:1px;white-space:pre-wrap;overflow:auto}code{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}pre>code{-webkit-user-select:inherit;-moz-user-select:inherit;-ms-user-select:inherit;user-select:inherit;padding:0;margin:0;background:0 0;font-size:1em;display:block}.code-codemirror>.CodeMirror,.pre-codemirror>.CodeMirror{border:1px solid #ccc;height:auto;width:auto;background:#f9f9f9;padding:9px 6px}.code-codemirror{display:inline;vertical-align:middle}.code-codemirror>.CodeMirror{display:inline-block;padding:0}.code-codemirror>.CodeMirror .CodeMirror-selected,.pre-codemirror>.CodeMirror .CodeMirror-selected{background:#ddd!important}.code-codemirror>.CodeMirror .CodeMirror-lines,.pre-codemirror>.CodeMirror .CodeMirror-lines{padding:0}.acf-postbox.seamless>.inside>.acf-field{padding:15px 12px}.acf-flexible-content .layout.ui-sortable-helper:first-child+.layout.ui-sortable-placeholder{margin-top:0}.acfe-postbox.acfe-postbox-no-handle h2.hndle{cursor:initial}.acfe-postbox.acfe-postbox-no-handle .handlediv{display:none}.acfe-postbox-top>.inside{position:relative}.acfe-postbox-top>.inside.-border{border:#ccd0d4 solid 1px;background:#fff}.acfe-postbox-top>.inside>.acf-field{position:relative;margin:0;padding:15px 12px;border-top:#eee solid 1px}.acfe-postbox-top>.inside>.acf-field:first-child{border-top:none;margin-top:0}.acfe-postbox-left>.inside{position:relative}.acfe-postbox-left>.inside:after{display:block;clear:both;content:""}.acfe-postbox-left>.inside.-border{border:#ccd0d4 solid 1px;background:#fff}.acfe-postbox-left>.inside>.acf-field{position:relative;margin:0;padding:15px 12px;border-top:#eee solid 1px}.acfe-postbox-left>.inside>.acf-field:first-child{border-top:none;margin-top:0}.acfe-postbox-left>.inside.-clear>.acf-field{border:none;padding:0;margin:15px 0}.acfe-postbox-left>.inside>.acf-field{padding:15px 0}.acfe-postbox-left>.inside>.acf-field:after{display:block;clear:both;content:""}.acfe-postbox-left>.inside>.acf-field:before{content:"";display:block;position:absolute;z-index:0;background:#f9f9f9;border-color:#e1e1e1;border-style:solid;border-width:0 1px 0 0;top:0;bottom:0;left:0;width:20%}.acfe-postbox-left>.inside>.acf-field[data-width]{float:none;width:auto!important;border-left-width:0!important;border-right-width:0!important}.acfe-postbox-left>.inside>.acf-field>.acf-label{float:left;width:20%;margin:0;padding:0 12px}.acfe-postbox-left>.inside>.acf-field>.acf-input{float:left;width:80%;margin:0;padding:0 12px}html[dir=rtl] .acfe-postbox-left>.inside>.acf-field:before{border-width:0 0 0 1px;left:auto;right:0}html[dir=rtl] .acfe-postbox-left>.inside>.acf-field>.acf-label{float:right}html[dir=rtl] .acfe-postbox-left>.inside>.acf-field>.acf-input{float:right}#side-sortables .acfe-postbox-left>.inside>.acf-field:before{display:none}#side-sortables .acfe-postbox-left>.inside>.acf-field>.acf-label{width:100%;margin-bottom:10px}#side-sortables .acfe-postbox-left>.inside>.acf-field>.acf-input{width:100%}@media screen and (max-width:640px){.acfe-postbox-left>.inside>.acf-field:before{display:none}.acfe-postbox-left>.inside>.acf-field>.acf-label{width:100%;margin-bottom:10px}.acfe-postbox-left>.inside>.acf-field>.acf-input{width:100%}}.wrap .acfe-dop-admin-config,.wrap .acfe-dop-admin-config:active,.wrap .acfe-dpt-admin-config,.wrap .acfe-dpt-admin-config:active,.wrap .acfe-dt-admin-config,.wrap .acfe-dt-admin-config:active{padding-left:4px;padding-right:4px}.wrap .acfe-dop-admin-config span,.wrap .acfe-dpt-admin-config span,.wrap .acfe-dt-admin-config span{font-size:16px;vertical-align:text-top;height:15px;width:19px;line-height:19px}.wrap .acfe-dop-admin-config{display:inline-block}body.post-type-acfe-dpt .misc-pub-post-status,body.post-type-acfe-dpt .misc-pub-visibility,body.post-type-acfe-dpt.post-new-php #minor-publishing-actions,body.post-type-acfe-dpt.post-new-php #misc-publishing-actions{display:none}body.post-type-acfe-dpt.post-new-php #major-publishing-actions{border-top:0}body.post-type-acfe-dt .misc-pub-post-status,body.post-type-acfe-dt .misc-pub-visibility,body.post-type-acfe-dt.post-new-php #minor-publishing-actions,body.post-type-acfe-dt.post-new-php #misc-publishing-actions{display:none}body.post-type-acfe-dt.post-new-php #major-publishing-actions{border-top:0}body.post-type-acfe-dop .misc-pub-post-status,body.post-type-acfe-dop .misc-pub-visibility,body.post-type-acfe-dop.post-new-php #minor-publishing-actions,body.post-type-acfe-dop.post-new-php #misc-publishing-actions{display:none}body.post-type-acfe-dop.post-new-php #major-publishing-actions{border-top:0}body.post-type-acfe-dbt .misc-pub-post-status,body.post-type-acfe-dbt .misc-pub-visibility,body.post-type-acfe-dbt.post-new-php #minor-publishing-actions,body.post-type-acfe-dbt.post-new-php #misc-publishing-actions{display:none}body.post-type-acfe-dbt.post-new-php #major-publishing-actions{border-top:0}body.post-type-acfe-form .misc-pub-post-status,body.post-type-acfe-form .misc-pub-visibility,body.post-type-acfe-form.post-new-php #minor-publishing-actions,body.post-type-acfe-form.post-new-php #misc-publishing-actions{display:none}body.post-type-acfe-form.post-new-php #major-publishing-actions{border-top:0}.acf-field.acf-field-acfe-author>.acf-label{display:none}.edit-post-layout__metaboxes:not(:empty){background:#f3f4f5;padding:10px 10px 0 10px!important}.edit-post-layout__metaboxes .edit-post-meta-boxes-area .postbox{margin-bottom:10px;border:1px solid #e1e1e1}.edit-post-layout__metaboxes .edit-post-meta-boxes-area .postbox>.inside{border-bottom:0}#acf-admin-tool-acfe_tool_dbt_export ul,#acf-admin-tool-acfe_tool_dpt_export ul,#acf-admin-tool-acfe_tool_dt_export ul,#acf-admin-tool-acfe_tool_form_export ul{-moz-column-width:200px;column-width:200px}.acf-meta-box-wrap.-grid #acf-admin-tool-acfe-fg-local{display:none}.settings_page_acfe-options .column-option_id{width:65px}.settings_page_acfe-options .column-option_name{width:435px}.settings_page_acfe-options .column-autoload{width:100px;text-align:center}.acf-field[data-name=acfe_form_post_save_post_content_custom],.acf-field[data-name=acfe_form_post_save_post_name_custom],.acf-field[data-name=acfe_form_post_save_post_title_custom],.acf-field[data-name=acfe_form_term_save_description_custom],.acf-field[data-name=acfe_form_term_save_name_custom],.acf-field[data-name=acfe_form_term_save_slug_custom],.acf-field[data-name=acfe_form_user_save_description_custom],.acf-field[data-name=acfe_form_user_save_display_name_custom],.acf-field[data-name=acfe_form_user_save_email_custom],.acf-field[data-name=acfe_form_user_save_first_name_custom],.acf-field[data-name=acfe_form_user_save_last_name_custom],.acf-field[data-name=acfe_form_user_save_nickname_custom],.acf-field[data-name=acfe_form_user_save_password_custom],.acf-field[data-name=acfe_form_user_save_username_custom],.acf-field[data-name=acfe_form_user_save_website_custom]{border-top:0;padding-top:0}.acf-field.acf-field-acfe-form-attributes>.acf-input>.acf-fields>.acf-field{border-left-width:0}.acf-field.acf-field-acfe-form-fields-attributes>.acf-input>.acf-fields>.acf-field{border-left-width:0}.acf-field-repeater.acf-field-acfe-form-email-files-static>.acf-input>.acf-repeater>.acf-actions,.acf-field-repeater.acf-field-acfe-form-email-files>.acf-input>.acf-repeater>.acf-actions{text-align:left}.postbox#acfe-acf-custom-fields>.inside,.postbox#acfe-wp-custom-fields>.inside{padding:0;margin:0}.postbox#acfe-acf-custom-fields+.tablenav,.postbox#acfe-wp-custom-fields+.tablenav{padding-top:0;margin-top:-8px}.postbox#acfe-acf-custom-fields em,.postbox#acfe-wp-custom-fields em{color:#aaa}.acfe_dev_meta_count{background:#72777c;padding:1px 5px;border-radius:4px;color:#fff;margin-left:7px;font-size:12px;margin-right:auto}body:not(.acf-admin-5-3) .acf-field .select2-container .select2-selection{border-color:#dfdfdf!important;border-radius:0!important}body:not(.acf-admin-5-3) .acf-field .select2-container .select2-selection__choice{border-color:#dfdfdf!important;border-radius:0!important}body:not(.acf-admin-5-3) .acf-field .select2-dropdown{border-color:#dfdfdf!important;border-radius:0!important}body:not(.acf-admin-5-3) .acf-field .select2-container .select2-search--inline .select2-search__field{margin-top:0!important}.acf-field .select2-container .select2-selection--single{border-radius:3px!important;height:30px!important;outline:0}.acf-field .select2-container.select2-container--open .select2-selection--single,.acf-field .select2-container:focus .select2-selection--single{border-color:#007cba!important;color:#016087!important;box-shadow:0 0 0 1px #007cba!important}.acf-field .select2-container .select2-selection--single .select2-selection__rendered{font-size:14px;height:28px;line-height:27px!important;padding-right:23px!important}.acf-field .select2-container .select2-selection--single .select2-selection__clear{line-height:26px;height:28px;font-size:16px}.acf-field .select2-container--default .select2-selection--single .select2-selection__arrow{height:28px!important}.acf-field .select2-container--default .select2-selection--single .select2-selection__arrow b{background:url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E') no-repeat;background-size:16px 16px;border:0!important;width:16px!important;height:16px!important;margin-left:-11px!important;margin-top:-7px!important}.acf-field .select2-container .select2-search--inline .select2-search__field{margin-top:4px!important;font-size:14px!important;padding-left:2px!important}.acf-field .select2-container .select2-selection--multiple{min-height:30px!important;line-height:1;border-radius:3px!important}.acf-field .select2-container--default .select2-selection--multiple .select2-selection__rendered{padding:0 2px!important}.acf-field .select2-container--default .select2-selection--multiple .select2-selection__choice{margin-right:2px!important;margin-top:2px!important;line-height:1.6;border-radius:3px!important;font-size:14px}.acf-field .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{line-height:15px;font-size:15px}.acf-field .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:#7e8993!important}.acf-field .select2-container--default .select2-selection--multiple .select2-selection__clear{margin-top:5px!important;margin-right:5px!important;font-size:16px}.acf-field>.acf-input>.select2 .select2-search{width:auto}.acf-tab-group li a .acfe-tab-badge{border-radius:100px;background:#ddd;width:18px;height:18px;font-size:12px;display:inline-block;vertical-align:text-bottom;padding:0;text-align:center;margin-left:5px;line-height:18px}.acf-tab-group li a:hover .acfe-tab-badge,.acf-tab-group li.active a .acfe-tab-badge{background:#f1f1f1}.menu-item-settings{position:initial}@media screen and (min-width:783px){.postbox .handle-order-higher,.postbox .handle-order-lower{visibility:hidden}.postbox:hover .handle-order-higher,.postbox:hover .handle-order-lower{visibility:visible}}.postbox .handle-order-higher,.postbox .handle-order-lower{vertical-align:bottom}.postbox .handle-order-higher .order-higher-indicator::before,.postbox .handle-order-lower .order-lower-indicator::before{font-size:15px;top:.18rem}.postbox .handlediv{width:1.62rem}.postbox .handlediv .toggle-indicator::before{text-indent:-7px}.acf-columns-2{margin-right:300px;clear:both}.acf-columns-2:after{display:block;clear:both;content:""}html[dir=rtl] .acf-columns-2{margin-right:0;margin-left:300px}.acf-columns-2 .acf-column-1{float:left;width:100%}html[dir=rtl] .acf-columns-2 .acf-column-1{float:right}.acf-columns-2 .acf-column-2{float:right;margin-right:-300px;width:280px}html[dir=rtl] .acf-columns-2 .acf-column-2{float:left;margin-right:0;margin-left:-300px}.acf-field-setting-acfe_bidirectional>.acf-input>.acf-fields,.acf-field-setting-acfe_hide>.acf-input>.acf-fields,.acf-field-setting-acfe_permissions>.acf-input>.acf-fields,.acf-field-setting-acfe_settings>.acf-input>.acf-fields,.acf-field-setting-acfe_settings>.acf-input>.acf-fields>.acf-field.acf-field-acfe-settings-rules-or,.acf-field-setting-acfe_update>.acf-input>.acf-fields,.acf-field-setting-acfe_update>.acf-input>.acf-fields>.acf-field.acf-field-acfe-update-functions,.acf-field-setting-acfe_validate>.acf-input>.acf-fields,.acf-field-setting-acfe_validate>.acf-input>.acf-fields>.acf-field.acf-field-acfe-validate-rules-or{border:0}.acf-field-setting-acfe_bidirectional>.acf-input>.acf-fields>.acf-field,.acf-field-setting-acfe_hide>.acf-input>.acf-fields>.acf-field,.acf-field-setting-acfe_permissions>.acf-input>.acf-fields>.acf-field,.acf-field-setting-acfe_settings>.acf-input>.acf-fields>.acf-field,.acf-field-setting-acfe_update>.acf-input>.acf-fields>.acf-field,.acf-field-setting-acfe_validate>.acf-input>.acf-fields>.acf-field{padding:0}.acf-field-setting-acfe_field_data{display:none}.acf-field-hide-front.acfe_width_auto{margin-right:30px}.acf-field-setting-acfe_bidirectional>.acf-input>.acf-fields>.acf-field.acf-field-acfe-bidirectional-enabled>.acf-label,.acf-field-setting-acfe_bidirectional>.acf-input>.acf-fields>.acf-field.acf-field-acfe-bidirectional-related>.acf-label,.acf-field-setting-acfe_settings>.acf-input>.acf-fields>.acf-field.acf-field-acfe-settings-activate>.acf-label,.acf-field-setting-acfe_update>.acf-input>.acf-fields>.acf-field.acf-field-acfe-update-activate>.acf-label,.acf-field-setting-acfe_validate>.acf-input>.acf-fields>.acf-field.acf-field-acfe-validate-activate>.acf-label{display:none}.acf-field-acfe-meta>.acf-input .acf-repeater.-empty.-table>table,.acf-field-setting-acfe_settings>.acf-input .acf-repeater.-empty.-table>table,.acf-field-setting-acfe_update>.acf-input .acf-repeater.-empty.-table>table,.acf-field-setting-acfe_validate>.acf-input .acf-repeater.-empty.-table>table{border:0;display:none}.acf-field-acfe-meta>.acf-input .acf-repeater.-empty.-table>table>thead,.acf-field-setting-acfe_settings>.acf-input .acf-repeater.-empty.-table>table>thead,.acf-field-setting-acfe_update>.acf-input .acf-repeater.-empty.-table>table>thead,.acf-field-setting-acfe_validate>.acf-input .acf-repeater.-empty.-table>table>thead{display:none}.acf-field-acfe-meta>.acf-input>.acf-repeater .acf-actions,.acf-field-setting-acfe_settings>.acf-input>.acf-repeater .acf-actions,.acf-field-setting-acfe_update>.acf-input>.acf-repeater .acf-actions,.acf-field-setting-acfe_validate>.acf-input>.acf-repeater .acf-actions{text-align:left}.acf-repeater.-block>table,.acf-repeater.-row>table{border-collapse:separate;border-spacing:0 15px;background:0 0;border:0;margin-top:-15px;margin-bottom:-7px}.acf-repeater.-block>table>*,.acf-repeater.-row>table>*{border-collapse:collapse;border-spacing:0}.acf-repeater.-block>table>tbody>tr>td,.acf-repeater.-row>table>tbody>tr>td{border-top:1px solid #ccd0d4!important;border-bottom:1px solid #ccd0d4!important}.acf-repeater.-block>table>tbody>tr>td:first-of-type,.acf-repeater.-row>table>tbody>tr>td:first-of-type{border-left:1px solid #ccd0d4!important}.acf-repeater.-block>table>tbody>tr>td:last-of-type,.acf-repeater.-row>table>tbody>tr>td:last-of-type{border-right:1px solid #ccd0d4!important}body:not(.acf-admin-5-3) .acf-repeater.-block>table>tbody>tr>td,body:not(.acf-admin-5-3) .acf-repeater.-row>table>tbody>tr>td{border-top:1px solid #e1e1e1;border-bottom:1px solid #e1e1e1}body:not(.acf-admin-5-3) .acf-repeater.-block>table>tbody>tr>td:first-of-type,body:not(.acf-admin-5-3) .acf-repeater.-row>table>tbody>tr>td:first-of-type{border-left:1px solid #e1e1e1}body:not(.acf-admin-5-3) .acf-repeater.-block>table>tbody>tr>td:last-of-type,body:not(.acf-admin-5-3) .acf-repeater.-row>table>tbody>tr>td:last-of-type{border-right:1px solid #e1e1e1}.acf-field-setting-acfe_bidirectional>.acf-input>.acf-fields>.acf-field.acf-field-acfe-bidirectional-related{margin-left:10px}.acfe_width_auto{width:auto!important}.status-acf-disabled .column-title a,.status-acf-disabled .column-title code{color:#555!important}.status-acf-disabled .column-title strong{color:#a0a5aa}.column-acf-field-group-category{width:125px}td.acf-field-group-category a{word-wrap:break-word;padding:2px 5px;margin:0 1px;border-radius:2px;background:rgba(0,0,0,.06);color:#23282d}.column-acfe-location{width:100px}.column-acf-description,.column-acf-location{width:230px}#acf-field-group-wrap .wp-list-table .column-acf-fg-status{width:70px}#acf-field-group-wrap .wp-list-table .column-acf-fg-count,.post-type-acf-field-group .wp-list-table .column-acf-count{width:80px}.post-type-acf-field-group .wp-list-table .column-title .post-state{color:#a0a5aa}.column-title .acfe-key{color:#555;font-size:12px}.column-acfe-load{width:70px}.column-acfe-source{width:150px}.column-acfe-autosync-json,.column-acfe-autosync-php{width:90px;text-align:center!important}.column-acfe-autosync-json .secondary,.column-acfe-autosync-php .secondary{color:#ccc}.column-acfe-autosync-json .dashicons-warning,.column-acfe-autosync-php .dashicons-warning{font-size:15px;vertical-align:middle}.acf-field[data-name=acfe_autosync] .dashicons-warning{color:#ccc;font-size:15px;height:15px;vertical-align:text-bottom}.column-acfe-autosync-json .dashicons-update,.column-acfe-autosync-php .dashicons-update{font-size:18px}.column-acfe-autosync-json .dashicons+.dashicons-warning,.column-acfe-autosync-php .dashicons+.dashicons-warning{margin-left:-3px}.acf-field-image[data-name=acfe_flexible_thumbnail]>.acf-input>.acf-image-uploader.has-value>.show-if-value.image-wrap{max-width:85px!important}.acf-diff-content table.diff tbody tr td:nth-child(2){width:auto}body.acf-admin-5-3 .acf-field-setting-fc_layout .acf-input-wrap.select{border-color:#7e8993}body.acf-admin-5-3 .acf-field-setting-fc_layout .acf-input-wrap.select select{min-height:28px}.acf-field-acfe-flexible-modal>.acf-input>.acf-fields{border:0}.acf-field-acfe-flexible-modal>.acf-input>.acf-fields .acf-field-acfe-flexible-modal-enabled{padding:0}.acf-field-acfe-flexible-modal>.acf-input>.acf-fields .acf-field-acfe-flexible-modal-enabled .acf-label{display:none}.acf-field-acfe-flexible-modal>.acf-input>.acf-fields .acf-field-acfe-flexible-modal-enabled{margin-right:10px}.acf-field-acfe-flexible-modal>.acf-input>.acf-fields .acf-field-acfe-flexible-modal-categories,.acf-field-acfe-flexible-modal>.acf-input>.acf-fields .acf-field-acfe-flexible-modal-col,.acf-field-acfe-flexible-modal>.acf-input>.acf-fields .acf-field-acfe-flexible-modal-title{padding-top:0;padding-bottom:0;padding-left:0;border-top:0;border-left:0!important;min-height:55px}.acf-field-setting-fc_layout>.acf-input>.acf-fc-meta .acf-field[data-name=acfe_flexible_category],.acf-field-setting-fc_layout>.acf-input>.acf-fc-meta .acf-field[data-name=acfe_flexible_settings],.acf-field-setting-fc_layout>.acf-input>.acf-fc-meta .acf-field[data-name=acfe_flexible_settings_label],.acf-field-setting-fc_layout>.acf-input>.acf-fc-meta .acf-field[data-name=acfe_flexible_settings_size],.acf-field-setting-fc_layout>.acf-input>.acf-fc-meta .acf-field[data-name=acfe_flexible_thumbnail]{margin:0}.acf-field-setting-fc_layout>.acf-input>.acf-fc-meta .acf-field[data-name=acfe_flexible_settings],.acf-field-setting-fc_layout>.acf-input>.acf-fc-meta .acf-field[data-name=acfe_flexible_settings_size]{margin-right:10px}.acf-field-setting-fc_layout>.acf-input>.acf-fc-meta .acf-field[data-name=acfe_flexible_settings_size]{border-left:0}.acf-field-setting-fc_layout>.acf-input>.acf-fc-meta .acf-field[data-name=acfe_flexible_settings_label]>.acf-input{margin:0}.acf-field-setting-fc_layout>.acf-input>.acf-fc-meta>.acf-fc-meta-label:first-of-type{margin:0}.acf-field-setting-fc_layout .select2-container--default .select2-selection--multiple li{margin-bottom:0}.acf-field-object-acfe-column .acf-field-setting-instructions,.acf-field-object-acfe-column .acf-field-setting-label,.acf-field-object-acfe-column .acf-field-setting-name,.acf-field-object-acfe-column .acf-field-setting-required,.acf-field-object-acfe-column .acf-field-setting-warning,.acf-field-object-acfe-column .acf-field-setting-wrapper{display:none}.acf-field-object+.acf-field-object-acfe-column:before{display:block;content:"";height:5px;width:100%;background:#f9f9f9;border-bottom:#f0f0f0 solid 1px}.acf-field-object-acfe-column .li-field-name{visibility:hidden}.acf-field-setting-allow_terms>.acf-input>ul>li:first-of-type{width:calc(100% - 125px)}.acf-field-setting-allow_terms>.acf-input>ul>li:last-of-type{width:125px}#acf-field-group-locations .rule-groups>.rule-group>table>tbody>tr>td.value>.acf-field{margin:0}
|
assets/acf-extended-admin.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
!function(i){var e;"undefined"!=typeof acf&&(new acf.Model({actions:{new_field:"onNewField"},onNewField:function(e){var t;e.has("after")&&(t=e.get("after"),(t=e.$el.siblings('[data-name="'+t+'"]').first()).length&&t.after(e.$el))}}),new acf.Model({wait:"ready",actions:{append:"onAppend","acfe/field_group/rule_refresh":"refreshFields"},initialize:function(){this.$el=i("#acf-field-group-locations")},onAppend:function(e){(e.is(".rule-group")||e.parent().parent().parent().is(".rule-group"))&&this.refreshFields()},refreshFields:function(){var e=acf.getFields({parent:this.$("td.value")});i.each(e,function(){var e=this;"date_picker"!==e.get("type")&&"date_time_picker"!==e.get("type")&&"time_picker"!==e.get("type")||(e.$inputText().removeClass("hasDatepicker").removeAttr("id"),e.initialize())})}}),acf.addAction("ready_field_object",function(e){e.get("key").startsWith("field_acfe_layout_")&&e.delete()}),acf.addAction("new_field/name=acfe_meta",e=function(e){e.$(".acf-button").removeClass("button-primary")}),acf.addAction("new_field/name=acfe_settings",e),acf.addAction("new_field/name=acfe_validate",e),i(function(){i(".button.edit-field").each(function(e,t){var a=i(this).closest("tbody");i(a).find(".acfe_modal_open:first").insertAfter(i(this)),i(a).find(".acfe-modal:first").appendTo(i("body")),i(a).find("tr.acf-field-setting-acfe_field_data:first").remove()}),i(".acfe_modal_open").click(function(e){e.preventDefault();e=i(this).attr("data-modal-key"),e=i(".acfe-modal[data-modal-key="+e+"]");acfe.modal.open(e,{title:"Data",size:"medium"})})}))}(jQuery);
|
assets/acf-extended-fc-control.css
DELETED
@@ -1,105 +0,0 @@
|
|
1 |
-
/*
|
2 |
-
* ACFE: Flexible Icons
|
3 |
-
*/
|
4 |
-
.acf-flexible-content .layout .acf-icon.acfe-flexible-icon.dashicons:before{
|
5 |
-
font-family: dashicons;
|
6 |
-
}
|
7 |
-
|
8 |
-
.acf-flexible-content .layout .acf-icon.acfe-flexible-icon.dashicons{
|
9 |
-
visibility: hidden;
|
10 |
-
}
|
11 |
-
|
12 |
-
.acf-flexible-content .layout:hover > .acf-fc-layout-controls .acf-icon.acfe-flexible-icon.dashicons{
|
13 |
-
visibility: visible;
|
14 |
-
}
|
15 |
-
|
16 |
-
.acf-flexible-content .layout .acf-icon.acfe-flexible-icon.dashicons.dashicons-admin-generic{
|
17 |
-
visibility: visible;
|
18 |
-
}
|
19 |
-
.acf-flexible-content .layout .acf-icon.acfe-flexible-icon.dashicons.dashicons-admin-generic:before{
|
20 |
-
margin-left: 1px;
|
21 |
-
}
|
22 |
-
|
23 |
-
.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-plus,
|
24 |
-
.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-minus,
|
25 |
-
.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-duplicate,
|
26 |
-
.acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-plus,
|
27 |
-
.acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-minus,
|
28 |
-
.acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-duplicate {
|
29 |
-
visibility: hidden;
|
30 |
-
}
|
31 |
-
|
32 |
-
.acf-flexible-content .layout:hover > .acf-fc-layout-controls .acf-icon.-plus,
|
33 |
-
.acf-flexible-content .layout:hover > .acf-fc-layout-controls .acf-icon.-minus,
|
34 |
-
.acf-flexible-content .layout:hover > .acf-fc-layout-controls .acf-icon.-duplicate,
|
35 |
-
.acf-flexible-content .layout.-hover > .acf-fc-layout-controls .acf-icon.-plus,
|
36 |
-
.acf-flexible-content .layout.-hover > .acf-fc-layout-controls .acf-icon.-minus,
|
37 |
-
.acf-flexible-content .layout.-hover > .acf-fc-layout-controls .acf-icon.-duplicate {
|
38 |
-
visibility: visible;
|
39 |
-
}
|
40 |
-
|
41 |
-
.acf-flexible-content .layout > .acf-fc-layout-controls .acf-icon.disabled{
|
42 |
-
color: #ccc;
|
43 |
-
cursor: initial;
|
44 |
-
}
|
45 |
-
|
46 |
-
.acf-flexible-content .layout > .acf-fc-layout-controls .acf-icon.disabled:hover{
|
47 |
-
color: #ccc;
|
48 |
-
background: #F5F5F5;
|
49 |
-
}
|
50 |
-
|
51 |
-
.acf-flexible-content[data-acfe-flexible-lock="1"] .layout .acf-fc-layout-handle{
|
52 |
-
cursor:initial;
|
53 |
-
}
|
54 |
-
|
55 |
-
|
56 |
-
/*
|
57 |
-
* ACFE: Title Edit
|
58 |
-
*/
|
59 |
-
.acf-field-acfe-flexible-layout-title{
|
60 |
-
display:none;
|
61 |
-
}
|
62 |
-
|
63 |
-
input.acfe-flexible-control-title{
|
64 |
-
border:none;
|
65 |
-
box-shadow:none !important;
|
66 |
-
outline:none !important;
|
67 |
-
border-radius:0;
|
68 |
-
border-bottom:1px solid transparent !important;
|
69 |
-
font-weight:600;
|
70 |
-
width:auto !important;
|
71 |
-
padding:0 !important;
|
72 |
-
display:none;
|
73 |
-
min-height:20px;
|
74 |
-
vertical-align: unset;
|
75 |
-
background:none;
|
76 |
-
}
|
77 |
-
|
78 |
-
.layout > .acf-fc-layout-handle .acfe-layout-title{
|
79 |
-
cursor:text;
|
80 |
-
position:relative;
|
81 |
-
}
|
82 |
-
|
83 |
-
.layout:not(.acfe-flexible-title-edition) > .acf-fc-layout-handle .acfe-layout-title:hover{
|
84 |
-
background:#f4f4f4;
|
85 |
-
}
|
86 |
-
|
87 |
-
.layout.acfe-flexible-title-edition > .acf-fc-layout-handle .acfe-layout-title input.acfe-flexible-control-title{
|
88 |
-
display:inline-block;
|
89 |
-
border-bottom:1px solid #ddd !important;
|
90 |
-
}
|
91 |
-
|
92 |
-
.layout.acfe-flexible-title-edition > .acf-fc-layout-handle .acfe-layout-title .acfe-layout-title-text{
|
93 |
-
display:none;
|
94 |
-
}
|
95 |
-
|
96 |
-
/*
|
97 |
-
* ACFE: Toggle
|
98 |
-
*/
|
99 |
-
.layout.acfe-flexible-layout-hidden > .acf-fc-layout-handle,
|
100 |
-
.layout.acfe-flexible-layout-hidden > .acf-fc-layout-controls,
|
101 |
-
.layout.acfe-flexible-layout-hidden > .acfe-fc-placeholder,
|
102 |
-
.layout.acfe-flexible-layout-hidden > .acf-fields{
|
103 |
-
filter: alpha(opacity=50);
|
104 |
-
opacity: 0.5;
|
105 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/acf-extended-fc-control.js
DELETED
@@ -1,788 +0,0 @@
|
|
1 |
-
(function($){
|
2 |
-
|
3 |
-
if(typeof acf === 'undefined')
|
4 |
-
return;
|
5 |
-
|
6 |
-
/*
|
7 |
-
* Init
|
8 |
-
*/
|
9 |
-
var flexible = acf.getFieldType('flexible_content');
|
10 |
-
var model = flexible.prototype;
|
11 |
-
|
12 |
-
/*
|
13 |
-
* Actions
|
14 |
-
*/
|
15 |
-
/*
|
16 |
-
* Actions
|
17 |
-
*/
|
18 |
-
model.events['click .acf-fc-layout-handle'] = 'acfeEditLayoutTitleToggleHandle';
|
19 |
-
model.acfeEditLayoutTitleToggleHandle = function(e, $el){
|
20 |
-
|
21 |
-
var flexible = this;
|
22 |
-
|
23 |
-
// Title Edition
|
24 |
-
if(!flexible.has('acfeFlexibleTitleEdition'))
|
25 |
-
return;
|
26 |
-
|
27 |
-
// Vars
|
28 |
-
var $layout = $el.closest('.layout');
|
29 |
-
|
30 |
-
if($layout.hasClass('acfe-flexible-title-edition')){
|
31 |
-
|
32 |
-
$layout.find('> .acf-fc-layout-handle > .acfe-layout-title > input.acfe-flexible-control-title').trigger('blur');
|
33 |
-
|
34 |
-
}
|
35 |
-
|
36 |
-
}
|
37 |
-
|
38 |
-
model.events['click .acfe-layout-title-text'] = 'acfeEditLayoutTitle';
|
39 |
-
model.acfeEditLayoutTitle = function(e, $el){
|
40 |
-
|
41 |
-
// Get Flexible
|
42 |
-
var flexible = this;
|
43 |
-
|
44 |
-
// Title Edition
|
45 |
-
if(!flexible.has('acfeFlexibleTitleEdition'))
|
46 |
-
return;
|
47 |
-
|
48 |
-
// Stop propagation
|
49 |
-
e.stopPropagation();
|
50 |
-
|
51 |
-
// Toggle
|
52 |
-
flexible.acfeEditLayoutTitleToggle(e, $el);
|
53 |
-
|
54 |
-
}
|
55 |
-
|
56 |
-
model.events['blur input.acfe-flexible-control-title'] = 'acfeEditLayoutTitleToggle';
|
57 |
-
model.acfeEditLayoutTitleToggle = function(e, $el){
|
58 |
-
|
59 |
-
var flexible = this;
|
60 |
-
|
61 |
-
// Vars
|
62 |
-
var $layout = $el.closest('.layout');
|
63 |
-
var $handle = $layout.find('> .acf-fc-layout-handle');
|
64 |
-
var $title = $handle.find('.acfe-layout-title');
|
65 |
-
|
66 |
-
if($layout.hasClass('acfe-flexible-title-edition')){
|
67 |
-
|
68 |
-
var $input = $title.find('> input[data-acfe-flexible-control-title-input]');
|
69 |
-
|
70 |
-
if($input.val() === '')
|
71 |
-
$input.val($input.attr('placeholder')).trigger('input');
|
72 |
-
|
73 |
-
$layout.removeClass('acfe-flexible-title-edition');
|
74 |
-
|
75 |
-
$input.insertAfter($handle);
|
76 |
-
|
77 |
-
}
|
78 |
-
|
79 |
-
else{
|
80 |
-
|
81 |
-
var $input = $layout.find('> input[data-acfe-flexible-control-title-input]');
|
82 |
-
|
83 |
-
var $input = $input.appendTo($title);
|
84 |
-
|
85 |
-
$layout.addClass('acfe-flexible-title-edition');
|
86 |
-
$input.focus().attr('size', $input.val().length);
|
87 |
-
|
88 |
-
}
|
89 |
-
|
90 |
-
}
|
91 |
-
|
92 |
-
// Layout: Edit Title
|
93 |
-
model.events['click input.acfe-flexible-control-title'] = 'acfeEditLayoutTitlePropagation';
|
94 |
-
model.acfeEditLayoutTitlePropagation = function(e, $el){
|
95 |
-
|
96 |
-
e.stopPropagation();
|
97 |
-
|
98 |
-
}
|
99 |
-
|
100 |
-
// Layout: Edit Title Input
|
101 |
-
model.events['input [data-acfe-flexible-control-title-input]'] = 'acfeEditLayoutTitleInput';
|
102 |
-
model.acfeEditLayoutTitleInput = function(e, $el){
|
103 |
-
|
104 |
-
// Vars
|
105 |
-
var $layout = $el.closest('.layout');
|
106 |
-
var $title = $layout.find('> .acf-fc-layout-handle .acfe-layout-title .acfe-layout-title-text');
|
107 |
-
|
108 |
-
var val = $el.val();
|
109 |
-
|
110 |
-
$el.attr('size', val.length);
|
111 |
-
|
112 |
-
$title.html(val);
|
113 |
-
|
114 |
-
}
|
115 |
-
|
116 |
-
// Layout: Edit Title Input Enter
|
117 |
-
model.events['keypress [data-acfe-flexible-control-title-input]'] = 'acfeEditLayoutTitleInputEnter';
|
118 |
-
model.acfeEditLayoutTitleInputEnter = function(e, $el){
|
119 |
-
|
120 |
-
// Enter Key
|
121 |
-
if(e.keyCode !== 13)
|
122 |
-
return;
|
123 |
-
|
124 |
-
e.preventDefault();
|
125 |
-
$el.blur();
|
126 |
-
|
127 |
-
}
|
128 |
-
|
129 |
-
// Layout: Settings
|
130 |
-
model.events['click [data-acfe-flexible-settings]'] = 'acfeLayoutSettings';
|
131 |
-
model.acfeLayoutSettings = function(e, $el){
|
132 |
-
|
133 |
-
// Get Flexible
|
134 |
-
var flexible = this;
|
135 |
-
|
136 |
-
// Vars
|
137 |
-
var $layout = $el.closest('.layout');
|
138 |
-
|
139 |
-
// Modal data
|
140 |
-
var $modal = $layout.find('> .acfe-modal.-settings');
|
141 |
-
var $handle = $layout.find('> .acf-fc-layout-handle');
|
142 |
-
|
143 |
-
var $layout_order = $handle.find('> .acf-fc-layout-order').outerHTML();
|
144 |
-
var $layout_title = $handle.find('.acfe-layout-title-text').text();
|
145 |
-
|
146 |
-
// Open modal
|
147 |
-
acfe.modal.open($modal, {
|
148 |
-
title: $layout_order + ' ' + $layout_title,
|
149 |
-
footer: acf.__('Close'),
|
150 |
-
onOpen: function(){
|
151 |
-
|
152 |
-
},
|
153 |
-
onClose: function(){
|
154 |
-
|
155 |
-
if(flexible.has('acfeFlexiblePreview')){
|
156 |
-
|
157 |
-
flexible.closeLayout($layout);
|
158 |
-
|
159 |
-
}
|
160 |
-
|
161 |
-
}
|
162 |
-
});
|
163 |
-
|
164 |
-
}
|
165 |
-
|
166 |
-
/*
|
167 |
-
* Layout: Toggle Action
|
168 |
-
*/
|
169 |
-
model.events['click [data-acfe-flexible-control-toggle]'] = 'acfeLayoutToggle';
|
170 |
-
model.acfeLayoutToggle = function(e, $el){
|
171 |
-
|
172 |
-
// Get Flexible
|
173 |
-
var flexible = this;
|
174 |
-
|
175 |
-
// Vars
|
176 |
-
var $layout = $el.closest('.layout');
|
177 |
-
|
178 |
-
var $field = $layout.find('> .acfe-flexible-layout-toggle');
|
179 |
-
|
180 |
-
if(!$field.length)
|
181 |
-
return;
|
182 |
-
|
183 |
-
if($field.val() === '1'){
|
184 |
-
|
185 |
-
$layout.removeClass('acfe-flexible-layout-hidden');
|
186 |
-
$field.val('');
|
187 |
-
|
188 |
-
}else{
|
189 |
-
|
190 |
-
$layout.addClass('acfe-flexible-layout-hidden');
|
191 |
-
$field.val('1');
|
192 |
-
|
193 |
-
}
|
194 |
-
|
195 |
-
}
|
196 |
-
|
197 |
-
/*
|
198 |
-
* Layout: Toggle Spawn
|
199 |
-
*/
|
200 |
-
acf.addAction('acfe/flexible/layouts', function($layout, flexible){
|
201 |
-
|
202 |
-
if(!flexible.has('acfeFlexibleToggle'))
|
203 |
-
return;
|
204 |
-
|
205 |
-
// Layout Closed
|
206 |
-
var $field = $layout.find('> .acfe-flexible-layout-toggle');
|
207 |
-
|
208 |
-
if(!$field.length)
|
209 |
-
return;
|
210 |
-
|
211 |
-
if($field.val() === '1'){
|
212 |
-
|
213 |
-
$layout.addClass('acfe-flexible-layout-hidden');
|
214 |
-
|
215 |
-
}else{
|
216 |
-
|
217 |
-
$layout.removeClass('acfe-flexible-layout-hidden');
|
218 |
-
|
219 |
-
}
|
220 |
-
|
221 |
-
});
|
222 |
-
|
223 |
-
// Layout: Clone
|
224 |
-
model.events['click [data-acfe-flexible-control-clone]'] = 'acfeCloneLayout';
|
225 |
-
model.acfeCloneLayout = function(e, $el){
|
226 |
-
|
227 |
-
// Get Flexible
|
228 |
-
var flexible = this;
|
229 |
-
|
230 |
-
// Vars
|
231 |
-
var $layout = $el.closest('.layout');
|
232 |
-
var layout_name = $layout.data('layout');
|
233 |
-
|
234 |
-
// Popup min/max
|
235 |
-
var $popup = $(flexible.$popup().html());
|
236 |
-
var $layouts = flexible.$layouts();
|
237 |
-
|
238 |
-
var countLayouts = function(name){
|
239 |
-
return $layouts.filter(function(){
|
240 |
-
return $(this).data('layout') === name;
|
241 |
-
}).length;
|
242 |
-
};
|
243 |
-
|
244 |
-
// vars
|
245 |
-
var $a = $popup.find('[data-layout="' + layout_name + '"]');
|
246 |
-
var min = $a.data('min') || 0;
|
247 |
-
var max = $a.data('max') || 0;
|
248 |
-
var count = countLayouts(layout_name);
|
249 |
-
|
250 |
-
// max
|
251 |
-
if(max && count >= max){
|
252 |
-
|
253 |
-
$el.addClass('disabled');
|
254 |
-
return false;
|
255 |
-
|
256 |
-
}else{
|
257 |
-
|
258 |
-
$el.removeClass('disabled');
|
259 |
-
|
260 |
-
}
|
261 |
-
|
262 |
-
// Fix inputs
|
263 |
-
flexible.acfeFixInputs($layout);
|
264 |
-
|
265 |
-
var $_layout = $layout.clone();
|
266 |
-
|
267 |
-
// Clean Layout
|
268 |
-
flexible.acfeCleanLayouts($_layout);
|
269 |
-
|
270 |
-
var parent = $el.closest('.acf-flexible-content').find('> input[type=hidden]').attr('name');
|
271 |
-
|
272 |
-
// Clone
|
273 |
-
var $layout_added = flexible.acfeDuplicate({
|
274 |
-
layout: $_layout,
|
275 |
-
before: $layout,
|
276 |
-
parent: parent
|
277 |
-
});
|
278 |
-
|
279 |
-
}
|
280 |
-
|
281 |
-
// Layout: Copy
|
282 |
-
model.events['click [data-acfe-flexible-control-copy]'] = 'acfeCopyLayout';
|
283 |
-
model.acfeCopyLayout = function(e, $el){
|
284 |
-
|
285 |
-
// Get Flexible
|
286 |
-
var flexible = this;
|
287 |
-
|
288 |
-
// Vars
|
289 |
-
var $layout = $el.closest('.layout').clone();
|
290 |
-
var source = flexible.$control().find('> input[type=hidden]').attr('name');
|
291 |
-
|
292 |
-
// Fix inputs
|
293 |
-
flexible.acfeFixInputs($layout);
|
294 |
-
|
295 |
-
// Clean layout
|
296 |
-
flexible.acfeCleanLayouts($layout);
|
297 |
-
|
298 |
-
// Get layout data
|
299 |
-
var data = JSON.stringify({
|
300 |
-
source: source,
|
301 |
-
layouts: $layout[0].outerHTML
|
302 |
-
});
|
303 |
-
|
304 |
-
// Append Temp Input
|
305 |
-
var $input = $('<input type="text" style="clip:rect(0,0,0,0);clip-path:rect(0,0,0,0);position:absolute;" value="" />').appendTo($('body'));
|
306 |
-
$input.attr('value', data).select();
|
307 |
-
|
308 |
-
// Command: Copy
|
309 |
-
if(document.execCommand('copy'))
|
310 |
-
alert('Layout has been transferred to your clipboard');
|
311 |
-
|
312 |
-
// Prompt
|
313 |
-
else
|
314 |
-
prompt('Copy the following layout data to your clipboard', data);
|
315 |
-
|
316 |
-
// Remove the temp input
|
317 |
-
$input.remove();
|
318 |
-
|
319 |
-
}
|
320 |
-
|
321 |
-
// Flexible: Copy Layouts
|
322 |
-
model.acfeCopyLayouts = function(){
|
323 |
-
|
324 |
-
// Get Flexible
|
325 |
-
var flexible = this;
|
326 |
-
|
327 |
-
// Get layouts
|
328 |
-
var $layouts = flexible.$layoutsWrap().clone();
|
329 |
-
var source = flexible.$control().find('> input[type=hidden]').attr('name');
|
330 |
-
|
331 |
-
// Fix inputs
|
332 |
-
flexible.acfeFixInputs($layouts);
|
333 |
-
|
334 |
-
// Clean layout
|
335 |
-
flexible.acfeCleanLayouts($layouts);
|
336 |
-
|
337 |
-
// Get layouts data
|
338 |
-
var data = JSON.stringify({
|
339 |
-
source: source,
|
340 |
-
layouts: $layouts.html()
|
341 |
-
});
|
342 |
-
|
343 |
-
// Append Temp Input
|
344 |
-
var $input = $('<input type="text" style="clip:rect(0,0,0,0);clip-path:rect(0,0,0,0);position:absolute;" value="" />').appendTo(flexible.$el);
|
345 |
-
$input.attr('value', data).select();
|
346 |
-
|
347 |
-
// Command: Copy
|
348 |
-
if(document.execCommand('copy'))
|
349 |
-
alert('Layouts have been transferred to your clipboard');
|
350 |
-
|
351 |
-
// Prompt
|
352 |
-
else
|
353 |
-
prompt('Copy the following layouts data to your clipboard', data);
|
354 |
-
|
355 |
-
$input.remove();
|
356 |
-
|
357 |
-
}
|
358 |
-
|
359 |
-
// Flexible: Paste Layouts
|
360 |
-
model.acfePasteLayouts = function(){
|
361 |
-
|
362 |
-
// Get Flexible
|
363 |
-
var flexible = this;
|
364 |
-
|
365 |
-
var paste = prompt('Paste layouts data in the following field');
|
366 |
-
|
367 |
-
// No input
|
368 |
-
if(paste == null || paste === '')
|
369 |
-
return;
|
370 |
-
|
371 |
-
try{
|
372 |
-
|
373 |
-
// Paste HTML
|
374 |
-
var data = JSON.parse(paste);
|
375 |
-
var source = data.source;
|
376 |
-
var $html = $(data.layouts);
|
377 |
-
|
378 |
-
// Parsed layouts
|
379 |
-
var $html_layouts = $html.closest('[data-layout]');
|
380 |
-
|
381 |
-
if(!$html_layouts.length)
|
382 |
-
return alert('No layouts data available');
|
383 |
-
|
384 |
-
// Popup min/max
|
385 |
-
var $popup = $(flexible.$popup().html());
|
386 |
-
var $layouts = flexible.$layouts();
|
387 |
-
|
388 |
-
var countLayouts = function(name){
|
389 |
-
return $layouts.filter(function(){
|
390 |
-
return $(this).data('layout') === name;
|
391 |
-
}).length;
|
392 |
-
};
|
393 |
-
|
394 |
-
// init
|
395 |
-
var validated_layouts = [];
|
396 |
-
|
397 |
-
// Each first level layouts
|
398 |
-
$html_layouts.each(function(){
|
399 |
-
|
400 |
-
var $this = $(this);
|
401 |
-
var layout_name = $this.data('layout');
|
402 |
-
|
403 |
-
// vars
|
404 |
-
var $a = $popup.find('[data-layout="' + layout_name + '"]');
|
405 |
-
var min = $a.data('min') || 0;
|
406 |
-
var max = $a.data('max') || 0;
|
407 |
-
var count = countLayouts(layout_name);
|
408 |
-
|
409 |
-
// max
|
410 |
-
if(max && count >= max)
|
411 |
-
return;
|
412 |
-
|
413 |
-
// Validate layout against available layouts
|
414 |
-
var get_clone_layout = flexible.$clone($this.attr('data-layout'));
|
415 |
-
|
416 |
-
// Layout is invalid
|
417 |
-
if(!get_clone_layout.length)
|
418 |
-
return;
|
419 |
-
|
420 |
-
// Add validated layout
|
421 |
-
validated_layouts.push($this);
|
422 |
-
|
423 |
-
});
|
424 |
-
|
425 |
-
// Nothing to add
|
426 |
-
if(!validated_layouts.length)
|
427 |
-
return alert('No layouts could be pasted');
|
428 |
-
|
429 |
-
// Add layouts
|
430 |
-
$.each(validated_layouts, function(){
|
431 |
-
|
432 |
-
var $layout = $(this);
|
433 |
-
var search = source + '[' + $layout.attr('data-id') + ']';
|
434 |
-
var target = flexible.$control().find('> input[type=hidden]').attr('name');
|
435 |
-
|
436 |
-
flexible.acfeDuplicate({
|
437 |
-
layout: $layout,
|
438 |
-
before: false,
|
439 |
-
search: search,
|
440 |
-
parent: target
|
441 |
-
});
|
442 |
-
|
443 |
-
});
|
444 |
-
|
445 |
-
}catch(e){
|
446 |
-
|
447 |
-
console.log(e);
|
448 |
-
alert('Invalid data');
|
449 |
-
|
450 |
-
}
|
451 |
-
|
452 |
-
}
|
453 |
-
|
454 |
-
// Flexible: Dropdown
|
455 |
-
model.events['click [data-name="acfe-flexible-control-button"]'] = 'acfeControl';
|
456 |
-
model.acfeControl = function(e, $el){
|
457 |
-
|
458 |
-
// Get Flexible
|
459 |
-
var flexible = this;
|
460 |
-
|
461 |
-
// Vars
|
462 |
-
var $dropdown = $el.next('.tmpl-acfe-flexible-control-popup').html();
|
463 |
-
|
464 |
-
// Init Popup
|
465 |
-
var Popup = acf.models.TooltipConfirm.extend({
|
466 |
-
render: function(){
|
467 |
-
this.html(this.get('text'));
|
468 |
-
this.$el.addClass('acf-fc-popup');
|
469 |
-
}
|
470 |
-
});
|
471 |
-
|
472 |
-
// New Popup
|
473 |
-
var popup = new Popup({
|
474 |
-
target: $el,
|
475 |
-
targetConfirm: false,
|
476 |
-
text: $dropdown,
|
477 |
-
context: flexible,
|
478 |
-
confirm: function(e, $el){
|
479 |
-
|
480 |
-
if($el.attr('data-acfe-flexible-control-action') === 'paste')
|
481 |
-
flexible.acfePasteLayouts();
|
482 |
-
|
483 |
-
else if($el.attr('data-acfe-flexible-control-action') === 'copy')
|
484 |
-
flexible.acfeCopyLayouts();
|
485 |
-
|
486 |
-
}
|
487 |
-
});
|
488 |
-
|
489 |
-
popup.on('click', 'a', 'onConfirm');
|
490 |
-
|
491 |
-
}
|
492 |
-
|
493 |
-
// Flexible: Duplicate
|
494 |
-
model.acfeDuplicate = function(args){
|
495 |
-
|
496 |
-
// Arguments
|
497 |
-
args = acf.parseArgs(args, {
|
498 |
-
layout: '',
|
499 |
-
before: false,
|
500 |
-
parent: false,
|
501 |
-
search: '',
|
502 |
-
replace: '',
|
503 |
-
});
|
504 |
-
|
505 |
-
// Validate
|
506 |
-
if(!this.allowAdd())
|
507 |
-
return false;
|
508 |
-
|
509 |
-
var uniqid = acf.uniqid();
|
510 |
-
|
511 |
-
if(args.parent){
|
512 |
-
|
513 |
-
if(!args.search){
|
514 |
-
|
515 |
-
args.search = args.parent + '[' + args.layout.attr('data-id') + ']';
|
516 |
-
|
517 |
-
}
|
518 |
-
|
519 |
-
args.replace = args.parent + '[' + uniqid + ']';
|
520 |
-
|
521 |
-
}
|
522 |
-
|
523 |
-
// Add row
|
524 |
-
var $el = acf.duplicate({
|
525 |
-
target: args.layout,
|
526 |
-
search: args.search,
|
527 |
-
replace: args.replace,
|
528 |
-
append: this.proxy(function($el, $el2){
|
529 |
-
|
530 |
-
// Add class to duplicated layout
|
531 |
-
$el2.addClass('acfe-layout-duplicated');
|
532 |
-
|
533 |
-
// Reset UniqID
|
534 |
-
$el2.attr('data-id', uniqid);
|
535 |
-
|
536 |
-
// append before
|
537 |
-
if(args.before){
|
538 |
-
|
539 |
-
// Fix clone: Use after() instead of native before()
|
540 |
-
args.before.after($el2);
|
541 |
-
|
542 |
-
}
|
543 |
-
|
544 |
-
// append end
|
545 |
-
else{
|
546 |
-
|
547 |
-
this.$layoutsWrap().append($el2);
|
548 |
-
|
549 |
-
}
|
550 |
-
|
551 |
-
// enable
|
552 |
-
acf.enable($el2, this.cid);
|
553 |
-
|
554 |
-
// render
|
555 |
-
this.render();
|
556 |
-
|
557 |
-
})
|
558 |
-
});
|
559 |
-
|
560 |
-
// trigger change for validation errors
|
561 |
-
this.$input().trigger('change');
|
562 |
-
|
563 |
-
// Fix tabs conditionally hidden
|
564 |
-
var tabs = acf.getFields({
|
565 |
-
type: 'tab',
|
566 |
-
parent: $el,
|
567 |
-
});
|
568 |
-
|
569 |
-
if(tabs.length){
|
570 |
-
|
571 |
-
$.each(tabs, function(){
|
572 |
-
|
573 |
-
if(this.$el.hasClass('acf-hidden')){
|
574 |
-
|
575 |
-
this.tab.$el.addClass('acf-hidden');
|
576 |
-
|
577 |
-
}
|
578 |
-
|
579 |
-
});
|
580 |
-
|
581 |
-
}
|
582 |
-
|
583 |
-
|
584 |
-
// return
|
585 |
-
return $el;
|
586 |
-
|
587 |
-
}
|
588 |
-
|
589 |
-
// Flexible: Fix Inputs
|
590 |
-
model.acfeFixInputs = function($layout){
|
591 |
-
|
592 |
-
$layout.find('input').each(function(){
|
593 |
-
|
594 |
-
$(this).attr('value', this.value);
|
595 |
-
|
596 |
-
});
|
597 |
-
|
598 |
-
$layout.find('textarea').each(function(){
|
599 |
-
|
600 |
-
$(this).html(this.value);
|
601 |
-
|
602 |
-
});
|
603 |
-
|
604 |
-
$layout.find('input:radio,input:checkbox').each(function() {
|
605 |
-
|
606 |
-
if(this.checked)
|
607 |
-
$(this).attr('checked', 'checked');
|
608 |
-
|
609 |
-
else
|
610 |
-
$(this).attr('checked', false);
|
611 |
-
|
612 |
-
});
|
613 |
-
|
614 |
-
$layout.find('option').each(function(){
|
615 |
-
|
616 |
-
if(this.selected)
|
617 |
-
$(this).attr('selected', 'selected');
|
618 |
-
|
619 |
-
else
|
620 |
-
$(this).attr('selected', false);
|
621 |
-
|
622 |
-
});
|
623 |
-
|
624 |
-
}
|
625 |
-
|
626 |
-
// Flexible: Clean Layout
|
627 |
-
model.acfeCleanLayouts = function($layout){
|
628 |
-
|
629 |
-
// Clean WP Editor
|
630 |
-
$layout.find('.acf-editor-wrap').each(function(){
|
631 |
-
|
632 |
-
var $input = $(this);
|
633 |
-
|
634 |
-
$input.find('.wp-editor-container div').remove();
|
635 |
-
$input.find('.wp-editor-container textarea').css('display', '');
|
636 |
-
|
637 |
-
});
|
638 |
-
|
639 |
-
// Clean Date
|
640 |
-
$layout.find('.acf-date-picker').each(function(){
|
641 |
-
|
642 |
-
var $input = $(this);
|
643 |
-
|
644 |
-
$input.find('input.input').removeClass('hasDatepicker').removeAttr('id');
|
645 |
-
|
646 |
-
});
|
647 |
-
|
648 |
-
// Clean Time
|
649 |
-
$layout.find('.acf-time-picker').each(function(){
|
650 |
-
|
651 |
-
var $input = $(this);
|
652 |
-
|
653 |
-
$input.find('input.input').removeClass('hasDatepicker').removeAttr('id');
|
654 |
-
|
655 |
-
});
|
656 |
-
|
657 |
-
// Clean DateTime
|
658 |
-
$layout.find('.acf-date-time-picker').each(function(){
|
659 |
-
|
660 |
-
var $input = $(this);
|
661 |
-
|
662 |
-
$input.find('input.input').removeClass('hasDatepicker').removeAttr('id');
|
663 |
-
|
664 |
-
});
|
665 |
-
|
666 |
-
// Clean Color Picker
|
667 |
-
$layout.find('.acf-color-picker').each(function(){
|
668 |
-
|
669 |
-
var $input = $(this);
|
670 |
-
|
671 |
-
var $color_picker = $input.find('> input');
|
672 |
-
var $color_picker_proxy = $input.find('.wp-picker-container input.wp-color-picker').clone();
|
673 |
-
|
674 |
-
$color_picker.after($color_picker_proxy);
|
675 |
-
|
676 |
-
$input.find('.wp-picker-container').remove();
|
677 |
-
|
678 |
-
});
|
679 |
-
|
680 |
-
// Clean Post Object
|
681 |
-
$layout.find('.acf-field-post-object').each(function(){
|
682 |
-
|
683 |
-
var $input = $(this);
|
684 |
-
|
685 |
-
$input.find('> .acf-input span').remove();
|
686 |
-
|
687 |
-
$input.find('> .acf-input select').removeAttr('tabindex aria-hidden').removeClass();
|
688 |
-
|
689 |
-
});
|
690 |
-
|
691 |
-
// Clean Page Link
|
692 |
-
$layout.find('.acf-field-page-link').each(function(){
|
693 |
-
|
694 |
-
var $input = $(this);
|
695 |
-
|
696 |
-
$input.find('> .acf-input span').remove();
|
697 |
-
|
698 |
-
$input.find('> .acf-input select').removeAttr('tabindex aria-hidden').removeClass();
|
699 |
-
|
700 |
-
});
|
701 |
-
|
702 |
-
// Clean Select2
|
703 |
-
$layout.find('.acf-field-select').each(function(){
|
704 |
-
|
705 |
-
var $input = $(this);
|
706 |
-
|
707 |
-
$input.find('> .acf-input span').remove();
|
708 |
-
|
709 |
-
$input.find('> .acf-input select').removeAttr('tabindex aria-hidden').removeClass();
|
710 |
-
|
711 |
-
});
|
712 |
-
|
713 |
-
// Clean FontAwesome
|
714 |
-
$layout.find('.acf-field-font-awesome').each(function(){
|
715 |
-
|
716 |
-
var $input = $(this);
|
717 |
-
|
718 |
-
$input.find('> .acf-input span').remove();
|
719 |
-
|
720 |
-
$input.find('> .acf-input select').removeAttr('tabindex aria-hidden');
|
721 |
-
|
722 |
-
});
|
723 |
-
|
724 |
-
|
725 |
-
// Clean Tab
|
726 |
-
$layout.find('.acf-tab-wrap').each(function(){
|
727 |
-
|
728 |
-
var $wrap = $(this);
|
729 |
-
|
730 |
-
var $content = $wrap.closest('.acf-fields');
|
731 |
-
|
732 |
-
var tabs = [];
|
733 |
-
$.each($wrap.find('li a'), function(){
|
734 |
-
|
735 |
-
tabs.push($(this));
|
736 |
-
|
737 |
-
});
|
738 |
-
|
739 |
-
$content.find('> .acf-field-tab').each(function(){
|
740 |
-
|
741 |
-
$current_tab = $(this);
|
742 |
-
|
743 |
-
$.each(tabs, function(){
|
744 |
-
|
745 |
-
var $this = $(this);
|
746 |
-
|
747 |
-
if($this.attr('data-key') !== $current_tab.attr('data-key'))
|
748 |
-
return;
|
749 |
-
|
750 |
-
$current_tab.find('> .acf-input').append($this);
|
751 |
-
|
752 |
-
});
|
753 |
-
|
754 |
-
});
|
755 |
-
|
756 |
-
$wrap.remove();
|
757 |
-
|
758 |
-
});
|
759 |
-
|
760 |
-
// Clean Accordion
|
761 |
-
$layout.find('.acf-field-accordion').each(function(){
|
762 |
-
|
763 |
-
var $input = $(this);
|
764 |
-
|
765 |
-
$input.find('> .acf-accordion-title > .acf-accordion-icon').remove();
|
766 |
-
|
767 |
-
// Append virtual endpoint after each accordion
|
768 |
-
$input.after('<div class="acf-field acf-field-accordion" data-type="accordion"><div class="acf-input"><div class="acf-fields" data-endpoint="1"></div></div></div>');
|
769 |
-
|
770 |
-
});
|
771 |
-
|
772 |
-
}
|
773 |
-
|
774 |
-
/*
|
775 |
-
* Spawn
|
776 |
-
*/
|
777 |
-
acf.addAction('new_field/type=flexible_content', function(flexible){
|
778 |
-
|
779 |
-
// ACFE: Lock
|
780 |
-
if(flexible.has('acfeFlexibleLock')){
|
781 |
-
|
782 |
-
flexible.removeEvents({'mouseover': 'onHover'});
|
783 |
-
|
784 |
-
}
|
785 |
-
|
786 |
-
});
|
787 |
-
|
788 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/acf-extended-fc-modal-edit.css
DELETED
@@ -1,6 +0,0 @@
|
|
1 |
-
/*
|
2 |
-
* Flexible Edit: Hide Collapse
|
3 |
-
*/
|
4 |
-
.acf-field-flexible-content[data-acfe-flexible-modal-edition="1"] > .acf-input > .acf-flexible-content > .values > .layout > .acf-fc-layout-controls > a.-collapse{
|
5 |
-
display:none;
|
6 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
assets/acf-extended-fc-modal-edit.js
DELETED
@@ -1,72 +0,0 @@
|
|
1 |
-
(function($){
|
2 |
-
|
3 |
-
if(typeof acf === 'undefined')
|
4 |
-
return;
|
5 |
-
|
6 |
-
/*
|
7 |
-
* Init
|
8 |
-
*/
|
9 |
-
var flexible = acf.getFieldType('flexible_content');
|
10 |
-
var model = flexible.prototype;
|
11 |
-
|
12 |
-
/*
|
13 |
-
* Actions
|
14 |
-
*/
|
15 |
-
model.events['click [data-action="acfe-flexible-modal-edit"]'] = 'acfeModalEdit';
|
16 |
-
model.acfeModalEdit = function(e, $el){
|
17 |
-
|
18 |
-
var flexible = this;
|
19 |
-
|
20 |
-
// Layout
|
21 |
-
var $layout = $el.closest('.layout');
|
22 |
-
|
23 |
-
// Modal data
|
24 |
-
var $modal = $layout.find('> .acfe-modal.-fields');
|
25 |
-
var $handle = $layout.find('> .acf-fc-layout-handle');
|
26 |
-
|
27 |
-
var $layout_order = $handle.find('> .acf-fc-layout-order').outerHTML();
|
28 |
-
var $layout_title = $handle.find('.acfe-layout-title-text').text();
|
29 |
-
|
30 |
-
var close = false;
|
31 |
-
if(flexible.has('acfeFlexibleCloseButton')){
|
32 |
-
|
33 |
-
close = acf.__('Close');
|
34 |
-
|
35 |
-
}
|
36 |
-
|
37 |
-
// Open modal
|
38 |
-
acfe.modal.open($modal, {
|
39 |
-
title: $layout_order + ' ' + $layout_title,
|
40 |
-
footer: close,
|
41 |
-
onOpen: function(){
|
42 |
-
|
43 |
-
flexible.openLayout($layout);
|
44 |
-
|
45 |
-
},
|
46 |
-
onClose: function(){
|
47 |
-
|
48 |
-
flexible.closeLayout($layout);
|
49 |
-
|
50 |
-
}
|
51 |
-
});
|
52 |
-
|
53 |
-
};
|
54 |
-
|
55 |
-
/*
|
56 |
-
* Spawn
|
57 |
-
*/
|
58 |
-
acf.addAction('new_field/type=flexible_content', function(flexible){
|
59 |
-
|
60 |
-
if(flexible.has('acfeFlexibleModalEdition') && (flexible.has('acfeFlexiblePlaceholder') || flexible.has('acfeFlexiblePreview'))){
|
61 |
-
|
62 |
-
// Remove Collapse Action
|
63 |
-
flexible.removeEvents({'click [data-name="collapse-layout"]': 'onClickCollapse'});
|
64 |
-
|
65 |
-
// Remove placeholder Collapse Action
|
66 |
-
flexible.removeEvents({'click .acfe-fc-placeholder': 'onClickCollapse'});
|
67 |
-
|
68 |
-
}
|
69 |
-
|
70 |
-
});
|
71 |
-
|
72 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/acf-extended-fc-modal-select.css
DELETED
File without changes
|
assets/acf-extended-fc-modal-select.js
DELETED
@@ -1,259 +0,0 @@
|
|
1 |
-
(function($){
|
2 |
-
|
3 |
-
if(typeof acf === 'undefined')
|
4 |
-
return;
|
5 |
-
|
6 |
-
/*
|
7 |
-
* Init
|
8 |
-
*/
|
9 |
-
var flexible = acf.getFieldType('flexible_content');
|
10 |
-
var model = flexible.prototype;
|
11 |
-
|
12 |
-
/*
|
13 |
-
* Actions
|
14 |
-
*/
|
15 |
-
model.acfeModalSelect = function(e, $el){
|
16 |
-
|
17 |
-
// Get Flexible
|
18 |
-
var flexible = this;
|
19 |
-
|
20 |
-
// Validate
|
21 |
-
if(!flexible.validateAdd())
|
22 |
-
return false;
|
23 |
-
|
24 |
-
// Layout
|
25 |
-
var $layout_source = null;
|
26 |
-
|
27 |
-
if($el.hasClass('acf-icon'))
|
28 |
-
$layout_source = $el.closest('.layout');
|
29 |
-
|
30 |
-
// Get Available Layouts
|
31 |
-
var layouts = flexible.getPopupHTML();
|
32 |
-
|
33 |
-
// Init Categories
|
34 |
-
var categories = {
|
35 |
-
array: [],
|
36 |
-
html: ''
|
37 |
-
};
|
38 |
-
|
39 |
-
function SearchArray(element, array){
|
40 |
-
|
41 |
-
var len = array.length,
|
42 |
-
str = element.toString().toLowerCase();
|
43 |
-
|
44 |
-
for(var i = 0; i < len; i++){
|
45 |
-
if(array[i].toLowerCase() === str){
|
46 |
-
return i;
|
47 |
-
}
|
48 |
-
}
|
49 |
-
|
50 |
-
return -1;
|
51 |
-
|
52 |
-
}
|
53 |
-
|
54 |
-
// Get Categories
|
55 |
-
$(layouts).find('li a span').each(function(){
|
56 |
-
|
57 |
-
var $link = $(this);
|
58 |
-
|
59 |
-
if(!$link.data('acfe-flexible-category'))
|
60 |
-
return true;
|
61 |
-
|
62 |
-
var category = $link.data('acfe-flexible-category');
|
63 |
-
|
64 |
-
$.each(category, function(i, c){
|
65 |
-
|
66 |
-
if(SearchArray(c, categories.array) !== -1)
|
67 |
-
return true;
|
68 |
-
|
69 |
-
categories.array.push(c);
|
70 |
-
|
71 |
-
});
|
72 |
-
|
73 |
-
});
|
74 |
-
|
75 |
-
// Categories HTML
|
76 |
-
if(categories.array.length){
|
77 |
-
|
78 |
-
categories.array.sort();
|
79 |
-
|
80 |
-
categories.html += '<h2 class="acfe-flexible-categories nav-tab-wrapper">';
|
81 |
-
|
82 |
-
categories.html += '<a href="#" data-acfe-flexible-category="acfe-all" class="nav-tab nav-tab-active"><span class="dashicons dashicons-menu"></span></a>';
|
83 |
-
|
84 |
-
$(categories.array).each(function(k, category){
|
85 |
-
|
86 |
-
categories.html += '<a href="#" data-acfe-flexible-category="' + category + '" class="nav-tab">' + category + '</a>';
|
87 |
-
|
88 |
-
});
|
89 |
-
|
90 |
-
categories.html += '</h2>';
|
91 |
-
|
92 |
-
}
|
93 |
-
|
94 |
-
// Modal Title
|
95 |
-
var $modal_title = 'Add Row';
|
96 |
-
|
97 |
-
if(flexible.has('acfeFlexibleModalTitle'))
|
98 |
-
$modal_title = flexible.get('acfeFlexibleModalTitle');
|
99 |
-
|
100 |
-
// Create Modal
|
101 |
-
var $modal = $('' +
|
102 |
-
'<div class="acfe-modal">' +
|
103 |
-
|
104 |
-
categories.html +
|
105 |
-
'<div class="acfe-flex-container">' +
|
106 |
-
layouts +
|
107 |
-
'</div>' +
|
108 |
-
|
109 |
-
'</div>'
|
110 |
-
|
111 |
-
).appendTo('body');
|
112 |
-
|
113 |
-
// Open Modal
|
114 |
-
var $modal = acfe.modal.open($modal, {
|
115 |
-
title: $modal_title,
|
116 |
-
size: 'full',
|
117 |
-
destroy: true
|
118 |
-
});
|
119 |
-
|
120 |
-
// Modal: Columns
|
121 |
-
if(flexible.has('acfeFlexibleModalCol'))
|
122 |
-
$modal.find('.acfe-modal-content .acfe-flex-container').addClass('acfe-col-' + flexible.get('acfeFlexibleModalCol'));
|
123 |
-
|
124 |
-
// Modal: ACF autofocus fix
|
125 |
-
$modal.find('li:first-of-type a').blur();
|
126 |
-
|
127 |
-
// count layouts
|
128 |
-
var $layouts = flexible.$layouts();
|
129 |
-
var countLayouts = function(name){
|
130 |
-
|
131 |
-
return $layouts.filter(function(){
|
132 |
-
return $(this).data('layout') === name;
|
133 |
-
}).length;
|
134 |
-
|
135 |
-
};
|
136 |
-
|
137 |
-
$modal.find('a[data-layout]').each(function(){
|
138 |
-
|
139 |
-
// vars
|
140 |
-
var $a = $(this);
|
141 |
-
var min = $a.data('min') || 0;
|
142 |
-
var max = $a.data('max') || 0;
|
143 |
-
var name = $a.data('layout') || '';
|
144 |
-
var count = countLayouts( name );
|
145 |
-
|
146 |
-
// max
|
147 |
-
if(max && count >= max){
|
148 |
-
$a.addClass('disabled');
|
149 |
-
return;
|
150 |
-
}
|
151 |
-
|
152 |
-
// min
|
153 |
-
if(min && count < min){
|
154 |
-
|
155 |
-
// vars
|
156 |
-
var required = min - count;
|
157 |
-
var title = acf.__('{required} {label} {identifier} required (min {min})');
|
158 |
-
var identifier = acf._n('layout', 'layouts', required);
|
159 |
-
|
160 |
-
// translate
|
161 |
-
title = title.replace('{required}', required);
|
162 |
-
title = title.replace('{label}', name); // 5.5.0
|
163 |
-
title = title.replace('{identifier}', identifier);
|
164 |
-
title = title.replace('{min}', min);
|
165 |
-
|
166 |
-
// badge
|
167 |
-
$a.append('<span class="badge" title="' + title + '">' + required + '</span>');
|
168 |
-
|
169 |
-
}
|
170 |
-
|
171 |
-
});
|
172 |
-
|
173 |
-
// Modal: Click Categories
|
174 |
-
$modal.find('.acfe-flexible-categories a').click(function(e){
|
175 |
-
|
176 |
-
e.preventDefault();
|
177 |
-
|
178 |
-
var $link = $(this);
|
179 |
-
|
180 |
-
$link.closest('.acfe-flexible-categories').find('a').removeClass('nav-tab-active');
|
181 |
-
$link.addClass('nav-tab-active');
|
182 |
-
|
183 |
-
var selected_category = $link.data('acfe-flexible-category');
|
184 |
-
|
185 |
-
$modal.find('a[data-layout] span').each(function(){
|
186 |
-
|
187 |
-
// Get span
|
188 |
-
var $span = $(this);
|
189 |
-
|
190 |
-
// Show All
|
191 |
-
$span.closest('li').show();
|
192 |
-
|
193 |
-
var category = $span.data('acfe-flexible-category');
|
194 |
-
|
195 |
-
// Specific category
|
196 |
-
if(selected_category !== 'acfe-all'){
|
197 |
-
|
198 |
-
// Hide All
|
199 |
-
$span.closest('li').hide();
|
200 |
-
|
201 |
-
$.each(category, function(i, c){
|
202 |
-
|
203 |
-
if(selected_category.toLowerCase() === c.toLowerCase()){
|
204 |
-
|
205 |
-
$span.closest('li').show();
|
206 |
-
|
207 |
-
return false;
|
208 |
-
|
209 |
-
}
|
210 |
-
|
211 |
-
});
|
212 |
-
|
213 |
-
}
|
214 |
-
|
215 |
-
});
|
216 |
-
|
217 |
-
});
|
218 |
-
|
219 |
-
// Modal: Click Add Layout
|
220 |
-
$modal.on('click', 'a[data-layout]', function(e){
|
221 |
-
|
222 |
-
e.preventDefault();
|
223 |
-
|
224 |
-
// Close modal
|
225 |
-
acfe.modal.close(true);
|
226 |
-
|
227 |
-
// Add layout
|
228 |
-
var $layout_added = flexible.add({
|
229 |
-
layout: $(this).data('layout'),
|
230 |
-
before: $layout_source
|
231 |
-
});
|
232 |
-
|
233 |
-
});
|
234 |
-
|
235 |
-
}
|
236 |
-
|
237 |
-
/*
|
238 |
-
* Spawn
|
239 |
-
*/
|
240 |
-
acf.addAction('new_field/type=flexible_content', function(flexible){
|
241 |
-
|
242 |
-
if(!flexible.has('acfeFlexibleModal'))
|
243 |
-
return;
|
244 |
-
|
245 |
-
// Vars
|
246 |
-
var $clones = flexible.$clones();
|
247 |
-
|
248 |
-
if($clones.length <= 1)
|
249 |
-
return;
|
250 |
-
|
251 |
-
// Remove native ACF Tooltip action
|
252 |
-
flexible.removeEvents({'click [data-name="add-layout"]': 'onClickAdd'});
|
253 |
-
|
254 |
-
// Add ACF Extended Modal action
|
255 |
-
flexible.addEvents({'click [data-name="add-layout"]': 'acfeModalSelect'});
|
256 |
-
|
257 |
-
});
|
258 |
-
|
259 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/acf-extended-fc.css
DELETED
@@ -1,338 +0,0 @@
|
|
1 |
-
/*
|
2 |
-
* Flexible: Sortable
|
3 |
-
*/
|
4 |
-
.acf-flexible-content > .values > .ui-sortable-placeholder{
|
5 |
-
/*height:147px;*/
|
6 |
-
border-width:2px;
|
7 |
-
border-color:#ccc;
|
8 |
-
}
|
9 |
-
|
10 |
-
/*
|
11 |
-
* Flexible: Layout Handle
|
12 |
-
*/
|
13 |
-
.acf-flexible-content .layout .acf-fc-layout-handle {
|
14 |
-
color: #444;
|
15 |
-
font-weight: 600;
|
16 |
-
}
|
17 |
-
|
18 |
-
/*
|
19 |
-
* Flexible: Field Error
|
20 |
-
*/
|
21 |
-
.layout.acfe-flexible-modal-edit-error > .acf-fc-layout-handle{
|
22 |
-
color:#f33b28;
|
23 |
-
}
|
24 |
-
|
25 |
-
.layout.acfe-flexible-modal-edit-error > .acf-fc-layout-handle > .acf-fc-layout-order{
|
26 |
-
background:#f33b28;
|
27 |
-
color:#fff;
|
28 |
-
}
|
29 |
-
|
30 |
-
/*
|
31 |
-
* Flexible: Layout Collapsed
|
32 |
-
*/
|
33 |
-
|
34 |
-
.acf-field-flexible-content[data-acfe-flexible-modal-edition="1"]:not([data-acfe-flexible-placeholder="1"]):not([data-acfe-flexible-preview="1"]) > .acf-input > .acf-flexible-content > .values > .layout > .acf-fc-layout-handle{
|
35 |
-
border-bottom-width:0;
|
36 |
-
}
|
37 |
-
|
38 |
-
|
39 |
-
.acf-field-flexible-content[data-acfe-flexible-placeholder="1"] > .acf-input > .acf-flexible-content > .values > .layout.-collapsed > .acf-fc-layout-handle,
|
40 |
-
.acf-field-flexible-content[data-acfe-flexible-preview="1"] > .acf-input > .acf-flexible-content > .values > .layout.-collapsed > .acf-fc-layout-handle{
|
41 |
-
border-bottom-width:1px;
|
42 |
-
}
|
43 |
-
|
44 |
-
.acf-field-flexible-content[data-acfe-flexible-lock="1"] > .acf-input > .acf-flexible-content > .values > .layout > .acf-fc-layout-handle{
|
45 |
-
cursor:initial;
|
46 |
-
}
|
47 |
-
|
48 |
-
.acf-field-flexible-content[data-acfe-flexible-remove-collapse="1"]:not([data-acfe-flexible-lock="1"]) > .acf-input > .acf-flexible-content > .values > .layout > .acf-fc-layout-handle{
|
49 |
-
cursor:initial;
|
50 |
-
}
|
51 |
-
|
52 |
-
/*
|
53 |
-
* Flexible: Popup Grey
|
54 |
-
*/
|
55 |
-
.acf-fc-popup.top.acfe-fc-popup-grey:before{
|
56 |
-
border-top-color: #e1e1e1;
|
57 |
-
}
|
58 |
-
.acf-tooltip.bottom.acfe-fc-popup-grey:before{
|
59 |
-
border-bottom-color: #e1e1e1;
|
60 |
-
}
|
61 |
-
.acf-fc-popup.acfe-fc-popup-grey{
|
62 |
-
background: #fcfcfc;
|
63 |
-
border-radius: 3px;
|
64 |
-
color: #444;
|
65 |
-
border: 1px solid #e1e1e1;
|
66 |
-
font-size: 13px;
|
67 |
-
}
|
68 |
-
.acf-tooltip.top.acfe-fc-popup-grey{
|
69 |
-
margin-top: -16px;
|
70 |
-
}
|
71 |
-
.acf-tooltip.bottom.acfe-fc-popup-grey{
|
72 |
-
margin-bottom: -16px;
|
73 |
-
}
|
74 |
-
|
75 |
-
.acf-fc-popup.acfe-fc-popup-grey a{
|
76 |
-
color: #444;
|
77 |
-
}
|
78 |
-
|
79 |
-
.acf-fc-popup.acfe-fc-popup-grey a:hover{
|
80 |
-
color: #fff;
|
81 |
-
}
|
82 |
-
|
83 |
-
/*
|
84 |
-
* Flexible Layout: Placeholder
|
85 |
-
*/
|
86 |
-
.layout > .acfe-fc-placeholder{
|
87 |
-
text-align:center;
|
88 |
-
background:#f9f9f9;
|
89 |
-
display:block;
|
90 |
-
text-decoration:none;
|
91 |
-
position:relative;
|
92 |
-
cursor:pointer;
|
93 |
-
}
|
94 |
-
|
95 |
-
.layout > .acfe-fc-placeholder:focus{
|
96 |
-
border-color: #ccc;
|
97 |
-
box-shadow: none;
|
98 |
-
}
|
99 |
-
|
100 |
-
.layout > .acfe-fc-placeholder > .acfe-flexible-placeholder{
|
101 |
-
height:110px;
|
102 |
-
overflow:hidden;
|
103 |
-
text-align:initial;
|
104 |
-
}
|
105 |
-
|
106 |
-
.layout > .acfe-fc-placeholder > a{
|
107 |
-
z-index:2;
|
108 |
-
position:absolute;
|
109 |
-
top:50%;
|
110 |
-
left:50%;
|
111 |
-
transform:translate(-50%, -50%);
|
112 |
-
border-color: #ccd0d4;
|
113 |
-
color: #23282d;
|
114 |
-
border-radius:100px;
|
115 |
-
box-shadow:none;
|
116 |
-
background:#fff;
|
117 |
-
width: 30px;
|
118 |
-
min-height: 30px;
|
119 |
-
height: 30px;
|
120 |
-
padding:0;
|
121 |
-
display:block;
|
122 |
-
}
|
123 |
-
|
124 |
-
body:not(.acf-admin-5-3) .layout > .acfe-fc-placeholder > a{
|
125 |
-
border-color: #999;
|
126 |
-
}
|
127 |
-
|
128 |
-
.acfe-modal.-open.acfe-modal-sub > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields > .acf-field-flexible-content > .acf-input > .acf-flexible-content > .values > .layout > .acfe-fc-placeholder > a{
|
129 |
-
z-index:0;
|
130 |
-
}
|
131 |
-
|
132 |
-
.layout > .acfe-fc-placeholder > a:active{
|
133 |
-
transform:translate(-50%, -50%);
|
134 |
-
}
|
135 |
-
|
136 |
-
.layout > .acfe-fc-placeholder > a:focus{
|
137 |
-
border-color: #cccccc;
|
138 |
-
box-shadow: none;
|
139 |
-
}
|
140 |
-
|
141 |
-
.layout > .acfe-fc-placeholder > a span{
|
142 |
-
width: 29px;
|
143 |
-
height: 30px;
|
144 |
-
vertical-align:top;
|
145 |
-
line-height: 28px;
|
146 |
-
font-size:18px;
|
147 |
-
}
|
148 |
-
|
149 |
-
body:not(.acf-admin-5-3) .layout > .acfe-fc-placeholder > a span{
|
150 |
-
width: 30px;
|
151 |
-
height: 30px;
|
152 |
-
}
|
153 |
-
|
154 |
-
.layout > .acfe-fc-placeholder.acfe-fc-preview{
|
155 |
-
background:none;
|
156 |
-
}
|
157 |
-
|
158 |
-
.layout > .acfe-fc-placeholder.acfe-fc-preview > .acfe-flexible-placeholder{
|
159 |
-
min-height:55px;
|
160 |
-
height:auto;
|
161 |
-
}
|
162 |
-
|
163 |
-
.layout > .acfe-fc-placeholder.acfe-fc-preview > a{
|
164 |
-
display:none;
|
165 |
-
}
|
166 |
-
|
167 |
-
.layout > .acfe-fc-placeholder.acfe-fc-preview:hover > a{
|
168 |
-
display:block;
|
169 |
-
}
|
170 |
-
|
171 |
-
.layout > .acfe-fc-placeholder.acfe-fc-preview.-loading{
|
172 |
-
background:#f9f9f9;
|
173 |
-
min-height:110px;
|
174 |
-
}
|
175 |
-
|
176 |
-
.layout > .acfe-fc-placeholder.acfe-fc-preview.-loading > .acfe-flexible-placeholder > .spinner{
|
177 |
-
visibility:visible;
|
178 |
-
float:none;
|
179 |
-
position:absolute;
|
180 |
-
top:50%;
|
181 |
-
left:50%;
|
182 |
-
transform:translate(-50%, -50%);
|
183 |
-
margin:0;
|
184 |
-
z-index:10000;
|
185 |
-
}
|
186 |
-
|
187 |
-
.layout > .acfe-fc-placeholder .acfe-fc-overlay{
|
188 |
-
position:absolute;
|
189 |
-
width:100%;
|
190 |
-
height:100%;
|
191 |
-
padding:0;
|
192 |
-
background-color:rgba(255,255,255,0);
|
193 |
-
-webkit-transition: background-color 200ms linear;
|
194 |
-
-ms-transition: background-color 200ms linear;
|
195 |
-
transition: background-color 200ms linear;
|
196 |
-
}
|
197 |
-
|
198 |
-
.layout > .acfe-fc-placeholder:hover .acfe-fc-overlay,
|
199 |
-
.layout > .acfe-fc-placeholder .acfe-fc-overlay.-hover{
|
200 |
-
background-color:rgba(255,255,255,0.7);
|
201 |
-
z-index:1;
|
202 |
-
}
|
203 |
-
|
204 |
-
.layout > .acfe-fc-placeholder.acfe-fc-preview.-loading > a span{
|
205 |
-
visibility:hidden;
|
206 |
-
}
|
207 |
-
|
208 |
-
/*
|
209 |
-
* Flexible Layout Collapsed
|
210 |
-
*/
|
211 |
-
.layout > .acf-fields > .acfe-flexible-opened-actions,
|
212 |
-
.layout > .acf-table > .acfe-flexible-opened-actions{
|
213 |
-
background:#f9f9f9;
|
214 |
-
border-top:1px solid #e1e1e1;
|
215 |
-
padding:12px;
|
216 |
-
text-align:right;
|
217 |
-
clear:both;
|
218 |
-
}
|
219 |
-
|
220 |
-
/*
|
221 |
-
* Flexible Thumbnails
|
222 |
-
*
|
223 |
-
*/
|
224 |
-
.acfe-flexible-layout-thumbnail{
|
225 |
-
display:block;
|
226 |
-
width:100%;
|
227 |
-
height: 9.8vw; /* 200px / 1080p */
|
228 |
-
background-color:#eee;
|
229 |
-
background-size:cover;
|
230 |
-
background-repeat:no-repeat;
|
231 |
-
background-position:center;
|
232 |
-
position:relative;
|
233 |
-
margin-bottom:15px;
|
234 |
-
}
|
235 |
-
|
236 |
-
.acfe-flexible-layout-thumbnail.acfe-flexible-layout-thumbnail-not-found:after{
|
237 |
-
content: "\f180";
|
238 |
-
font-family: dashicons;
|
239 |
-
display: inline-block;
|
240 |
-
line-height: 1;
|
241 |
-
font-weight: 400;
|
242 |
-
font-style: normal;
|
243 |
-
speak: none;
|
244 |
-
text-decoration: inherit;
|
245 |
-
text-transform: none;
|
246 |
-
text-rendering: auto;
|
247 |
-
-webkit-font-smoothing: antialiased;
|
248 |
-
-moz-osx-font-smoothing: grayscale;
|
249 |
-
vertical-align: top;
|
250 |
-
text-align: center;
|
251 |
-
position:absolute;
|
252 |
-
top:50%;
|
253 |
-
left:50%;
|
254 |
-
transform: translate(-50%, -50%);
|
255 |
-
color:#ccc;
|
256 |
-
font-size: 110px;
|
257 |
-
}
|
258 |
-
|
259 |
-
.acfe-col-2 .acfe-flexible-layout-thumbnail{
|
260 |
-
height:20.5vw;
|
261 |
-
}
|
262 |
-
|
263 |
-
.acfe-col-3 .acfe-flexible-layout-thumbnail{
|
264 |
-
height:13.3vw;
|
265 |
-
}
|
266 |
-
|
267 |
-
.acfe-col-5 .acfe-flexible-layout-thumbnail{
|
268 |
-
height:7.65vw;
|
269 |
-
}
|
270 |
-
|
271 |
-
.acfe-col-6 .acfe-flexible-layout-thumbnail{
|
272 |
-
height:6.2vw;
|
273 |
-
}
|
274 |
-
|
275 |
-
@media only screen and (max-width:960px){
|
276 |
-
.acfe-flexible-layout-thumbnail,
|
277 |
-
.acfe-flex-container .acfe-flexible-layout-thumbnail{
|
278 |
-
height: 18.4vw; /* 200px */
|
279 |
-
}
|
280 |
-
}
|
281 |
-
|
282 |
-
@media only screen and (max-width:720px){
|
283 |
-
.acfe-flexible-layout-thumbnail,
|
284 |
-
.acfe-flex-container .acfe-flexible-layout-thumbnail{
|
285 |
-
height: 37.2vw; /* 200px */
|
286 |
-
}
|
287 |
-
}
|
288 |
-
|
289 |
-
/*
|
290 |
-
* Flexible Thumbnails (no modal)
|
291 |
-
*
|
292 |
-
*/
|
293 |
-
.acfe-flexible-layout-thumbnail.acfe-flexible-layout-thumbnail-no-modal{
|
294 |
-
display:block;
|
295 |
-
width: 230px;
|
296 |
-
height: 103px;
|
297 |
-
background-color:#1f2329;
|
298 |
-
}
|
299 |
-
|
300 |
-
.acfe-flexible-layout-thumbnail.acfe-flexible-layout-thumbnail-no-modal.acfe-flexible-layout-thumbnail-not-found:after{
|
301 |
-
color:#2F353E;
|
302 |
-
}
|
303 |
-
|
304 |
-
/*
|
305 |
-
* Flexible Stylised Button
|
306 |
-
*
|
307 |
-
*/
|
308 |
-
.acf-field.acf-field-flexible-content[data-acfe-flexible-stylised-button="1"] > .acf-input > .acf-flexible-content:not(.empty) > .values{
|
309 |
-
margin-bottom:15px;
|
310 |
-
}
|
311 |
-
|
312 |
-
.acf-field.acf-field-flexible-content > .acf-input > .acf-flexible-content > .acfe-flexible-stylised-button{
|
313 |
-
padding: 40px 20px;
|
314 |
-
border: #ccc dashed 2px;
|
315 |
-
text-align: center;
|
316 |
-
}
|
317 |
-
|
318 |
-
.acf-field.acf-field-flexible-content > .acf-input > .acf-flexible-content > .acfe-flexible-stylised-button > .acf-actions{
|
319 |
-
text-align: center;
|
320 |
-
}
|
321 |
-
|
322 |
-
.acf-field.acf-field-flexible-content > .acf-input > .acf-flexible-content .acf-actions .acf-button .dashicons{
|
323 |
-
width: auto;
|
324 |
-
height: auto;
|
325 |
-
vertical-align: text-top;
|
326 |
-
}
|
327 |
-
|
328 |
-
/*
|
329 |
-
* Flexible Hide Empty Message
|
330 |
-
*
|
331 |
-
*/
|
332 |
-
.acf-field.acf-field-flexible-content[data-acfe-flexible-hide-empty-message="1"] > .acf-input > .acf-flexible-content > .no-value-message{
|
333 |
-
display:none;
|
334 |
-
}
|
335 |
-
|
336 |
-
.acf-field.acf-field-flexible-content[data-acfe-flexible-hide-empty-message="1"] > .acf-input > .acf-flexible-content.-empty > .values{
|
337 |
-
margin-bottom:0;
|
338 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/acf-extended-fc.js
DELETED
@@ -1,451 +0,0 @@
|
|
1 |
-
(function($){
|
2 |
-
|
3 |
-
if(typeof acf === 'undefined')
|
4 |
-
return;
|
5 |
-
|
6 |
-
/*
|
7 |
-
* Init
|
8 |
-
*/
|
9 |
-
var flexible = acf.getFieldType('flexible_content');
|
10 |
-
var model = flexible.prototype;
|
11 |
-
|
12 |
-
/*
|
13 |
-
* Drag & Drop
|
14 |
-
*/
|
15 |
-
model.addSortable = function( self ){
|
16 |
-
|
17 |
-
// bail early if max 1 row
|
18 |
-
if( this.get('max') == 1 ) {
|
19 |
-
return;
|
20 |
-
}
|
21 |
-
|
22 |
-
// add sortable
|
23 |
-
this.$layoutsWrap().sortable({
|
24 |
-
items: ' > .layout',
|
25 |
-
handle: '> .acf-fc-layout-handle',
|
26 |
-
forceHelperSize: false, // Changed to false
|
27 |
-
forcePlaceholderSize: true,
|
28 |
-
tolerance: "pointer", // Changed to pointer
|
29 |
-
scroll: true,
|
30 |
-
stop: function(event, ui) {
|
31 |
-
self.render();
|
32 |
-
},
|
33 |
-
update: function(event, ui) {
|
34 |
-
self.$input().trigger('change');
|
35 |
-
}
|
36 |
-
});
|
37 |
-
|
38 |
-
};
|
39 |
-
|
40 |
-
/*
|
41 |
-
* Actions
|
42 |
-
*/
|
43 |
-
model.acfeOneClick = function(e, $el){
|
44 |
-
|
45 |
-
// Get Flexible
|
46 |
-
var flexible = this;
|
47 |
-
|
48 |
-
// Vars
|
49 |
-
var $clones = flexible.$clones();
|
50 |
-
var $layout_name = $($clones[0]).data('layout');
|
51 |
-
|
52 |
-
// Source
|
53 |
-
var $layout_source = null;
|
54 |
-
if($el.hasClass('acf-icon'))
|
55 |
-
$layout_source = $el.closest('.layout');
|
56 |
-
|
57 |
-
// Add
|
58 |
-
var $layout_added = flexible.add({
|
59 |
-
layout: $layout_name,
|
60 |
-
before: $layout_source
|
61 |
-
});
|
62 |
-
|
63 |
-
// Hide native tooltip
|
64 |
-
if($('.acf-fc-popup').length)
|
65 |
-
$('.acf-fc-popup').hide();
|
66 |
-
|
67 |
-
};
|
68 |
-
|
69 |
-
model.acfeLayoutInit = function($layout){
|
70 |
-
|
71 |
-
// Get Flexible
|
72 |
-
var flexible = this;
|
73 |
-
|
74 |
-
// Vars
|
75 |
-
var $controls = $layout.find('> .acf-fc-layout-controls');
|
76 |
-
var $handle = $layout.find('> .acf-fc-layout-handle');
|
77 |
-
|
78 |
-
// Placeholder
|
79 |
-
var $placeholder = $layout.find('> .acfe-fc-placeholder');
|
80 |
-
|
81 |
-
// Placeholder: Show
|
82 |
-
$placeholder.removeClass('acf-hidden');
|
83 |
-
|
84 |
-
// If no modal edition & opened: Hide Placeholder
|
85 |
-
if(!flexible.has('acfeFlexibleModalEdition') && !flexible.isLayoutClosed($layout)){
|
86 |
-
|
87 |
-
$placeholder.addClass('acf-hidden');
|
88 |
-
|
89 |
-
}
|
90 |
-
|
91 |
-
// Flexible has Preview
|
92 |
-
if(flexible.isLayoutClosed($layout) && flexible.has('acfeFlexiblePreview') && !$placeholder.hasClass('-loading')){
|
93 |
-
|
94 |
-
$placeholder.addClass('acfe-fc-preview -loading').find('> .acfe-flexible-placeholder').prepend('<span class="spinner"></span>');
|
95 |
-
$placeholder.find('> .acfe-fc-overlay').addClass('-hover');
|
96 |
-
|
97 |
-
// vars
|
98 |
-
var $input = $layout.children('input');
|
99 |
-
var prefix = $input.attr('name').replace('[acf_fc_layout]', '');
|
100 |
-
|
101 |
-
// ajax data
|
102 |
-
var ajaxData = {
|
103 |
-
action: 'acfe/flexible/layout_preview',
|
104 |
-
field_key: flexible.get('key'),
|
105 |
-
i: $layout.index(),
|
106 |
-
layout: $layout.data('layout'),
|
107 |
-
value: acf.serialize($layout, prefix)
|
108 |
-
};
|
109 |
-
|
110 |
-
acf.doAction('acfe/fields/flexible_content/before_preview', flexible.$el, $layout, ajaxData);
|
111 |
-
acf.doAction('acfe/fields/flexible_content/before_preview/name=' + flexible.get('name'), flexible.$el, $layout, ajaxData);
|
112 |
-
acf.doAction('acfe/fields/flexible_content/before_preview/key=' + flexible.get('key'), flexible.$el, $layout, ajaxData);
|
113 |
-
acf.doAction('acfe/fields/flexible_content/before_preview/name=' + flexible.get('name') + '&layout=' + $layout.data('layout'), flexible.$el, $layout, ajaxData);
|
114 |
-
acf.doAction('acfe/fields/flexible_content/before_preview/key=' + flexible.get('key') + '&layout=' + $layout.data('layout'), flexible.$el, $layout, ajaxData);
|
115 |
-
|
116 |
-
// ajax
|
117 |
-
$.ajax({
|
118 |
-
url: acf.get('ajaxurl'),
|
119 |
-
data: acf.prepareForAjax(ajaxData),
|
120 |
-
dataType: 'html',
|
121 |
-
type: 'post',
|
122 |
-
success: function(response){
|
123 |
-
|
124 |
-
if(response){
|
125 |
-
|
126 |
-
$placeholder.find('> .acfe-flexible-placeholder').html(response);
|
127 |
-
|
128 |
-
}else{
|
129 |
-
|
130 |
-
$placeholder.removeClass('acfe-fc-preview');
|
131 |
-
|
132 |
-
}
|
133 |
-
|
134 |
-
acf.doAction('acfe/fields/flexible_content/preview', response, flexible.$el, $layout, ajaxData);
|
135 |
-
acf.doAction('acfe/fields/flexible_content/preview/name=' + flexible.get('name'), response, flexible.$el, $layout, ajaxData);
|
136 |
-
acf.doAction('acfe/fields/flexible_content/preview/key=' + flexible.get('key'), response, flexible.$el, $layout, ajaxData);
|
137 |
-
acf.doAction('acfe/fields/flexible_content/preview/name=' + flexible.get('name') + '&layout=' + $layout.data('layout'), response, flexible.$el, $layout, ajaxData);
|
138 |
-
acf.doAction('acfe/fields/flexible_content/preview/key=' + flexible.get('key') + '&layout=' + $layout.data('layout'), response, flexible.$el, $layout, ajaxData);
|
139 |
-
|
140 |
-
},
|
141 |
-
complete: function(){
|
142 |
-
|
143 |
-
$placeholder.find('> .acfe-fc-overlay').removeClass('-hover');
|
144 |
-
$placeholder.removeClass('-loading').find('> .acfe-flexible-placeholder > .spinner').remove();
|
145 |
-
|
146 |
-
}
|
147 |
-
});
|
148 |
-
|
149 |
-
}
|
150 |
-
|
151 |
-
};
|
152 |
-
|
153 |
-
/*
|
154 |
-
* WYSIWYG
|
155 |
-
*/
|
156 |
-
var wysiwyg = acf.getFieldType('wysiwyg').prototype;
|
157 |
-
wysiwyg.initialize = function(){
|
158 |
-
|
159 |
-
// initializeEditor if no delay
|
160 |
-
if( !this.has('id') && !this.$control().hasClass('delay') ) {
|
161 |
-
this.initializeEditor();
|
162 |
-
}
|
163 |
-
|
164 |
-
};
|
165 |
-
|
166 |
-
var acfeFlexibleDelayInit = function(editor){
|
167 |
-
|
168 |
-
if(editor.has('id') || !editor.$el.is(':visible') || acfe.isFilterEnabled('acfeForceOpen'))
|
169 |
-
return;
|
170 |
-
|
171 |
-
var $wrap = editor.$control();
|
172 |
-
|
173 |
-
if($wrap.hasClass('delay')){
|
174 |
-
|
175 |
-
$wrap.removeClass('delay');
|
176 |
-
$wrap.find('.acf-editor-toolbar').remove();
|
177 |
-
|
178 |
-
// initialize
|
179 |
-
editor.initializeEditor();
|
180 |
-
|
181 |
-
}
|
182 |
-
|
183 |
-
};
|
184 |
-
|
185 |
-
acf.addAction('show_field/type=wysiwyg', acfeFlexibleDelayInit);
|
186 |
-
acf.addAction('ready_field/type=wysiwyg', acfeFlexibleDelayInit);
|
187 |
-
|
188 |
-
/*
|
189 |
-
* Spawn
|
190 |
-
*/
|
191 |
-
acf.addAction('new_field/type=flexible_content', function(flexible){
|
192 |
-
|
193 |
-
// Vars
|
194 |
-
var $clones = flexible.$clones();
|
195 |
-
var $layouts = flexible.$layouts();
|
196 |
-
|
197 |
-
// Merge
|
198 |
-
var $all_layouts = $.merge($layouts, $clones);
|
199 |
-
|
200 |
-
// Do Actions
|
201 |
-
$layouts.each(function(){
|
202 |
-
|
203 |
-
var $layout = $(this);
|
204 |
-
var $name = $layout.data('layout');
|
205 |
-
|
206 |
-
acf.doAction('acfe/flexible/layouts', $layout, flexible);
|
207 |
-
acf.doAction('acfe/flexible/layout/name=' + $name, $layout, flexible);
|
208 |
-
|
209 |
-
});
|
210 |
-
|
211 |
-
// ACFE: 1 layout available - OneClick
|
212 |
-
if($clones.length === 1){
|
213 |
-
|
214 |
-
// Remove native ACF Tooltip action
|
215 |
-
flexible.removeEvents({'click [data-name="add-layout"]': 'onClickAdd'});
|
216 |
-
|
217 |
-
// Add ACF Extended Modal action
|
218 |
-
flexible.addEvents({'click [data-name="add-layout"]': 'acfeOneClick'});
|
219 |
-
|
220 |
-
}
|
221 |
-
|
222 |
-
flexible.addEvents({'click .acfe-fc-placeholder': 'onClickCollapse'});
|
223 |
-
|
224 |
-
flexible.addEvents({'click .acfe-flexible-opened-actions > a': 'onClickCollapse'});
|
225 |
-
|
226 |
-
// Flexible: Ajax
|
227 |
-
if(flexible.has('acfeFlexibleAjax')){
|
228 |
-
|
229 |
-
flexible.add = function(args){
|
230 |
-
|
231 |
-
// Get Flexible
|
232 |
-
var flexible = this;
|
233 |
-
|
234 |
-
// defaults
|
235 |
-
args = acf.parseArgs(args, {
|
236 |
-
layout: '',
|
237 |
-
before: false
|
238 |
-
});
|
239 |
-
|
240 |
-
// validate
|
241 |
-
if( !this.allowAdd() ) {
|
242 |
-
return false;
|
243 |
-
}
|
244 |
-
|
245 |
-
// ajax
|
246 |
-
$.ajax({
|
247 |
-
url: acf.get('ajaxurl'),
|
248 |
-
data: acf.prepareForAjax({
|
249 |
-
action: 'acfe/flexible/models',
|
250 |
-
field_key: this.get('key'),
|
251 |
-
layout: args.layout,
|
252 |
-
}),
|
253 |
-
dataType: 'html',
|
254 |
-
type: 'post',
|
255 |
-
beforeSend: function(){
|
256 |
-
$('body').addClass('-loading');
|
257 |
-
},
|
258 |
-
success: function(html){
|
259 |
-
if(html){
|
260 |
-
|
261 |
-
var $layout = $(html);
|
262 |
-
var uniqid = acf.uniqid();
|
263 |
-
|
264 |
-
var search = 'acf[' + flexible.get('key') + '][acfcloneindex]';
|
265 |
-
var replace = flexible.$control().find('> input[type=hidden]').attr('name') + '[' + uniqid + ']';
|
266 |
-
|
267 |
-
// add row
|
268 |
-
var $el = acf.duplicate({
|
269 |
-
target: $layout,
|
270 |
-
search: search,
|
271 |
-
replace: replace,
|
272 |
-
append: flexible.proxy(function( $el, $el2 ){
|
273 |
-
|
274 |
-
// append
|
275 |
-
if( args.before ) {
|
276 |
-
args.before.before( $el2 );
|
277 |
-
} else {
|
278 |
-
flexible.$layoutsWrap().append( $el2 );
|
279 |
-
}
|
280 |
-
|
281 |
-
// enable
|
282 |
-
acf.enable( $el2, flexible.cid );
|
283 |
-
|
284 |
-
// render
|
285 |
-
flexible.render();
|
286 |
-
})
|
287 |
-
});
|
288 |
-
|
289 |
-
// Fix data-id
|
290 |
-
$el.attr('data-id', uniqid);
|
291 |
-
|
292 |
-
// trigger change for validation errors
|
293 |
-
flexible.$input().trigger('change');
|
294 |
-
|
295 |
-
// return
|
296 |
-
return $el;
|
297 |
-
|
298 |
-
}
|
299 |
-
},
|
300 |
-
'complete': function(){
|
301 |
-
$('body').removeClass('-loading');
|
302 |
-
}
|
303 |
-
});
|
304 |
-
|
305 |
-
};
|
306 |
-
|
307 |
-
}
|
308 |
-
|
309 |
-
});
|
310 |
-
|
311 |
-
acf.addAction('acfe/flexible/layouts', function($layout, flexible){
|
312 |
-
|
313 |
-
// Layout Closed
|
314 |
-
if(flexible.isLayoutClosed($layout)){
|
315 |
-
|
316 |
-
// Placeholder
|
317 |
-
$layout.find('> .acfe-fc-placeholder').removeClass('acf-hidden');
|
318 |
-
|
319 |
-
if(flexible.has('acfeFlexibleOpen')){
|
320 |
-
|
321 |
-
acfe.enableFilter('acfeForceOpen');
|
322 |
-
|
323 |
-
flexible.openLayout($layout);
|
324 |
-
|
325 |
-
acfe.disableFilter('acfeForceOpen');
|
326 |
-
|
327 |
-
}
|
328 |
-
|
329 |
-
}
|
330 |
-
|
331 |
-
});
|
332 |
-
|
333 |
-
acf.addAction('show', function($layout, type){
|
334 |
-
|
335 |
-
if(type !== 'collapse' || !$layout.is('.layout'))
|
336 |
-
return;
|
337 |
-
|
338 |
-
var flexible = acf.getInstance($layout.closest('.acf-field-flexible-content'));
|
339 |
-
|
340 |
-
// Hide Placeholder
|
341 |
-
if(!flexible.has('acfeFlexibleModalEdition')){
|
342 |
-
|
343 |
-
// Placeholder
|
344 |
-
$layout.find('> .acfe-fc-placeholder').addClass('acf-hidden');
|
345 |
-
|
346 |
-
}
|
347 |
-
|
348 |
-
});
|
349 |
-
|
350 |
-
acf.addAction('hide', function($layout, type){
|
351 |
-
|
352 |
-
if(type !== 'collapse' || !$layout.is('.layout') || $layout.is('.acf-clone'))
|
353 |
-
return;
|
354 |
-
|
355 |
-
// Get Flexible
|
356 |
-
var flexible = acf.getInstance($layout.closest('.acf-field-flexible-content'));
|
357 |
-
|
358 |
-
// Remove Ajax Title
|
359 |
-
if(flexible.has('acfeFlexibleRemoveAjaxTitle')){
|
360 |
-
|
361 |
-
flexible.renderLayout = function($layout){};
|
362 |
-
|
363 |
-
}
|
364 |
-
|
365 |
-
// Preview Ajax
|
366 |
-
flexible.acfeLayoutInit($layout);
|
367 |
-
|
368 |
-
});
|
369 |
-
|
370 |
-
acf.addAction('append', function($el){
|
371 |
-
|
372 |
-
// Bail early if layout is not layout
|
373 |
-
if(!$el.is('.layout'))
|
374 |
-
return;
|
375 |
-
|
376 |
-
// Get Flexible
|
377 |
-
var flexible = acf.getInstance($el.closest('.acf-field-flexible-content'));
|
378 |
-
|
379 |
-
// Open Layout
|
380 |
-
if(!$el.is('.acfe-layout-duplicated')){
|
381 |
-
|
382 |
-
// Modal Edition: Open
|
383 |
-
if(flexible.has('acfeFlexibleModalEdition')){
|
384 |
-
|
385 |
-
$el.find('> [data-action="acfe-flexible-modal-edit"]:first').trigger('click');
|
386 |
-
|
387 |
-
}
|
388 |
-
|
389 |
-
// Normal Edition: Open
|
390 |
-
else{
|
391 |
-
|
392 |
-
flexible.openLayout($el);
|
393 |
-
|
394 |
-
}
|
395 |
-
|
396 |
-
}
|
397 |
-
|
398 |
-
flexible.acfeLayoutInit($el);
|
399 |
-
|
400 |
-
var $modal = flexible.$el.closest('.acfe-modal.-open');
|
401 |
-
|
402 |
-
if($modal.length){
|
403 |
-
|
404 |
-
// Scroll to new layout
|
405 |
-
$modal.find('> .acfe-modal-wrapper > .acfe-modal-content').animate({
|
406 |
-
scrollTop: parseInt($el.offset().top) - 200
|
407 |
-
}, 200);
|
408 |
-
|
409 |
-
}else{
|
410 |
-
|
411 |
-
var acfVersion = parseFloat(acf.get('acf_version'));
|
412 |
-
|
413 |
-
if(acfVersion < 5.9){
|
414 |
-
|
415 |
-
// Scroll to new layout
|
416 |
-
$('html, body').animate({
|
417 |
-
scrollTop: parseInt($el.offset().top) - 200
|
418 |
-
}, 200);
|
419 |
-
|
420 |
-
}
|
421 |
-
|
422 |
-
}
|
423 |
-
|
424 |
-
});
|
425 |
-
|
426 |
-
/*
|
427 |
-
* Field Error
|
428 |
-
*/
|
429 |
-
acf.addAction('invalid_field', function(field){
|
430 |
-
|
431 |
-
field.$el.parents('.layout').addClass('acfe-flexible-modal-edit-error');
|
432 |
-
|
433 |
-
});
|
434 |
-
|
435 |
-
/*
|
436 |
-
* Field Valid
|
437 |
-
*/
|
438 |
-
acf.addAction('valid_field', function(field){
|
439 |
-
|
440 |
-
field.$el.parents('.layout').each(function(){
|
441 |
-
|
442 |
-
var $layout = $(this);
|
443 |
-
|
444 |
-
if(!$layout.find('.acf-error').length)
|
445 |
-
$layout.removeClass('acfe-flexible-modal-edit-error');
|
446 |
-
|
447 |
-
});
|
448 |
-
|
449 |
-
});
|
450 |
-
|
451 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/acf-extended-fg.css
DELETED
@@ -1,331 +0,0 @@
|
|
1 |
-
.acf-field-setting-acfe_permissions > .acf-input > .acf-fields,
|
2 |
-
.acf-field-setting-acfe_settings > .acf-input > .acf-fields,
|
3 |
-
.acf-field-setting-acfe_validate > .acf-input > .acf-fields,
|
4 |
-
.acf-field-setting-acfe_update > .acf-input > .acf-fields,
|
5 |
-
.acf-field-setting-acfe_hide > .acf-input > .acf-fields,
|
6 |
-
|
7 |
-
.acf-field-setting-acfe_bidirectional > .acf-input > .acf-fields,
|
8 |
-
.acf-field-setting-acfe_settings > .acf-input > .acf-fields > .acf-field.acf-field-acfe-settings-rules-or,
|
9 |
-
.acf-field-setting-acfe_validate > .acf-input > .acf-fields > .acf-field.acf-field-acfe-validate-rules-or,
|
10 |
-
.acf-field-setting-acfe_update > .acf-input > .acf-fields > .acf-field.acf-field-acfe-update-functions{
|
11 |
-
border:0;
|
12 |
-
}
|
13 |
-
|
14 |
-
.acf-field-setting-acfe_bidirectional > .acf-input > .acf-fields > .acf-field,
|
15 |
-
.acf-field-setting-acfe_permissions > .acf-input > .acf-fields > .acf-field,
|
16 |
-
.acf-field-setting-acfe_settings > .acf-input > .acf-fields > .acf-field,
|
17 |
-
.acf-field-setting-acfe_validate > .acf-input > .acf-fields > .acf-field,
|
18 |
-
.acf-field-setting-acfe_update > .acf-input > .acf-fields > .acf-field,
|
19 |
-
.acf-field-setting-acfe_hide > .acf-input > .acf-fields > .acf-field{
|
20 |
-
padding:0;
|
21 |
-
}
|
22 |
-
|
23 |
-
.acf-field-setting-acfe_field_data{
|
24 |
-
display:none;
|
25 |
-
}
|
26 |
-
|
27 |
-
.acf-field-hide-front.acfe_width_auto{
|
28 |
-
margin-right:30px;
|
29 |
-
}
|
30 |
-
|
31 |
-
.acf-field-setting-acfe_bidirectional > .acf-input > .acf-fields > .acf-field.acf-field-acfe-bidirectional-enabled > .acf-label,
|
32 |
-
.acf-field-setting-acfe_bidirectional > .acf-input > .acf-fields > .acf-field.acf-field-acfe-bidirectional-related > .acf-label,
|
33 |
-
.acf-field-setting-acfe_settings > .acf-input > .acf-fields > .acf-field.acf-field-acfe-settings-activate > .acf-label,
|
34 |
-
.acf-field-setting-acfe_validate > .acf-input > .acf-fields > .acf-field.acf-field-acfe-validate-activate > .acf-label,
|
35 |
-
.acf-field-setting-acfe_update > .acf-input > .acf-fields > .acf-field.acf-field-acfe-update-activate > .acf-label{
|
36 |
-
display:none;
|
37 |
-
}
|
38 |
-
|
39 |
-
.acf-field-setting-acfe_update > .acf-input .acf-repeater.-empty.-table > table,
|
40 |
-
.acf-field-setting-acfe_settings > .acf-input .acf-repeater.-empty.-table > table,
|
41 |
-
.acf-field-setting-acfe_validate > .acf-input .acf-repeater.-empty.-table > table,
|
42 |
-
.acf-field-acfe-meta > .acf-input .acf-repeater.-empty.-table > table{
|
43 |
-
border:0;
|
44 |
-
display:none;
|
45 |
-
}
|
46 |
-
|
47 |
-
.acf-field-setting-acfe_update > .acf-input .acf-repeater.-empty.-table > table > thead,
|
48 |
-
.acf-field-setting-acfe_settings > .acf-input .acf-repeater.-empty.-table > table > thead,
|
49 |
-
.acf-field-setting-acfe_validate > .acf-input .acf-repeater.-empty.-table > table > thead,
|
50 |
-
.acf-field-acfe-meta > .acf-input .acf-repeater.-empty.-table > table > thead{
|
51 |
-
display:none;
|
52 |
-
}
|
53 |
-
|
54 |
-
.acf-field-setting-acfe_update > .acf-input > .acf-repeater .acf-actions,
|
55 |
-
.acf-field-setting-acfe_settings > .acf-input > .acf-repeater .acf-actions,
|
56 |
-
.acf-field-setting-acfe_validate > .acf-input > .acf-repeater .acf-actions,
|
57 |
-
.acf-field-acfe-meta > .acf-input > .acf-repeater .acf-actions{
|
58 |
-
text-align:left;
|
59 |
-
}
|
60 |
-
|
61 |
-
.acf-repeater.-row > table,
|
62 |
-
.acf-repeater.-block > table{
|
63 |
-
border-collapse: separate;
|
64 |
-
border-spacing: 0 15px;
|
65 |
-
background: none;
|
66 |
-
border: 0;
|
67 |
-
margin-top: -15px;
|
68 |
-
margin-bottom: -7px;
|
69 |
-
}
|
70 |
-
|
71 |
-
.acf-repeater.-row > table > *,
|
72 |
-
.acf-repeater.-block > table > *{
|
73 |
-
border-collapse: collapse;
|
74 |
-
border-spacing: 0;
|
75 |
-
}
|
76 |
-
|
77 |
-
.acf-repeater.-row > table > tbody > tr > td,
|
78 |
-
.acf-repeater.-block > table > tbody > tr > td{
|
79 |
-
border-top: 1px solid #ccd0d4 !important;
|
80 |
-
border-bottom: 1px solid #ccd0d4 !important;
|
81 |
-
}
|
82 |
-
|
83 |
-
.acf-repeater.-row > table > tbody > tr > td:first-of-type,
|
84 |
-
.acf-repeater.-block > table > tbody > tr > td:first-of-type{
|
85 |
-
border-left: 1px solid #ccd0d4 !important;
|
86 |
-
}
|
87 |
-
|
88 |
-
.acf-repeater.-row > table > tbody > tr > td:last-of-type,
|
89 |
-
.acf-repeater.-block > table > tbody > tr > td:last-of-type{
|
90 |
-
border-right: 1px solid #ccd0d4 !important;
|
91 |
-
}
|
92 |
-
|
93 |
-
body:not(.acf-admin-5-3) .acf-repeater.-row > table > tbody > tr > td,
|
94 |
-
body:not(.acf-admin-5-3) .acf-repeater.-block > table > tbody > tr > td{
|
95 |
-
border-top: 1px solid #E1E1E1;
|
96 |
-
border-bottom: 1px solid #E1E1E1;
|
97 |
-
}
|
98 |
-
|
99 |
-
body:not(.acf-admin-5-3) .acf-repeater.-row > table > tbody > tr > td:first-of-type,
|
100 |
-
body:not(.acf-admin-5-3) .acf-repeater.-block > table > tbody > tr > td:first-of-type{
|
101 |
-
border-left: 1px solid #E1E1E1;
|
102 |
-
}
|
103 |
-
|
104 |
-
body:not(.acf-admin-5-3) .acf-repeater.-row > table > tbody > tr > td:last-of-type,
|
105 |
-
body:not(.acf-admin-5-3) .acf-repeater.-block > table > tbody > tr > td:last-of-type{
|
106 |
-
border-right: 1px solid #E1E1E1;
|
107 |
-
}
|
108 |
-
|
109 |
-
.acf-field-setting-acfe_bidirectional > .acf-input > .acf-fields > .acf-field.acf-field-acfe-bidirectional-related{
|
110 |
-
margin-left:10px;
|
111 |
-
}
|
112 |
-
|
113 |
-
.acfe_width_auto{
|
114 |
-
width:auto !important;
|
115 |
-
}
|
116 |
-
|
117 |
-
.status-acf-disabled .column-title a,
|
118 |
-
.status-acf-disabled .column-title code {
|
119 |
-
color: #555 !important;
|
120 |
-
}
|
121 |
-
|
122 |
-
.status-acf-disabled .column-title strong{
|
123 |
-
color: #a0a5aa;
|
124 |
-
}
|
125 |
-
|
126 |
-
.column-acf-field-group-category{
|
127 |
-
width:125px;
|
128 |
-
}
|
129 |
-
|
130 |
-
td.acf-field-group-category a{
|
131 |
-
word-wrap: break-word;
|
132 |
-
padding: 2px 5px;
|
133 |
-
margin: 0 1px;
|
134 |
-
border-radius:2px;
|
135 |
-
background: rgba(0,0,0,.06);
|
136 |
-
color:#23282d;
|
137 |
-
}
|
138 |
-
|
139 |
-
.column-acfe-location{
|
140 |
-
width:100px;
|
141 |
-
}
|
142 |
-
|
143 |
-
.column-acf-location,
|
144 |
-
.column-acf-description{
|
145 |
-
width:230px;
|
146 |
-
}
|
147 |
-
|
148 |
-
#acf-field-group-wrap .wp-list-table .column-acf-fg-status{
|
149 |
-
width:70px;
|
150 |
-
}
|
151 |
-
|
152 |
-
#acf-field-group-wrap .wp-list-table .column-acf-fg-count,
|
153 |
-
.post-type-acf-field-group .wp-list-table .column-acf-count{
|
154 |
-
width:70px;
|
155 |
-
}
|
156 |
-
|
157 |
-
.post-type-acf-field-group .wp-list-table .column-title .post-state{
|
158 |
-
color:#a0a5aa;
|
159 |
-
}
|
160 |
-
|
161 |
-
.column-title .acfe-key{
|
162 |
-
color:#555;
|
163 |
-
font-size:12px;
|
164 |
-
}
|
165 |
-
|
166 |
-
.column-acfe-load{
|
167 |
-
width:70px;
|
168 |
-
}
|
169 |
-
|
170 |
-
.column-acfe-source{
|
171 |
-
width:150px;
|
172 |
-
}
|
173 |
-
|
174 |
-
.column-acfe-autosync-php,
|
175 |
-
.column-acfe-autosync-json{
|
176 |
-
width:90px;
|
177 |
-
text-align:center !important;
|
178 |
-
}
|
179 |
-
|
180 |
-
.column-acfe-autosync-php .secondary,
|
181 |
-
.column-acfe-autosync-json .secondary{
|
182 |
-
color:#ccc;
|
183 |
-
}
|
184 |
-
|
185 |
-
.column-acfe-autosync-php .dashicons-warning,
|
186 |
-
.column-acfe-autosync-json .dashicons-warning{
|
187 |
-
font-size:15px;
|
188 |
-
vertical-align:middle;
|
189 |
-
}
|
190 |
-
|
191 |
-
.acf-field[data-name="acfe_autosync"] .dashicons-warning{
|
192 |
-
color:#ccc;
|
193 |
-
font-size:15px;
|
194 |
-
height: 15px;
|
195 |
-
vertical-align: text-bottom;
|
196 |
-
}
|
197 |
-
|
198 |
-
.column-acfe-autosync-php .dashicons-update,
|
199 |
-
.column-acfe-autosync-json .dashicons-update{
|
200 |
-
font-size:18px;
|
201 |
-
}
|
202 |
-
|
203 |
-
.column-acfe-autosync-php .dashicons + .dashicons-warning,
|
204 |
-
.column-acfe-autosync-json .dashicons + .dashicons-warning{
|
205 |
-
margin-left:-3px;
|
206 |
-
}
|
207 |
-
|
208 |
-
.acf-field-image[data-name="acfe_flexible_thumbnail"] > .acf-input > .acf-image-uploader.has-value > .show-if-value.image-wrap{
|
209 |
-
max-width:85px !important;
|
210 |
-
}
|
211 |
-
|
212 |
-
/*
|
213 |
-
* Fix Sync Review Modal column size
|
214 |
-
*/
|
215 |
-
.acf-diff-content table.diff tbody tr td:nth-child(2){
|
216 |
-
width: auto;
|
217 |
-
}
|
218 |
-
|
219 |
-
/*
|
220 |
-
* ACFE: Flexible Content
|
221 |
-
*
|
222 |
-
*/
|
223 |
-
|
224 |
-
/* Fix ACF not setting proper border color on Flexible Row Style*/
|
225 |
-
body.acf-admin-5-3 .acf-field-setting-fc_layout .acf-input-wrap.select{
|
226 |
-
border-color: #7e8993;
|
227 |
-
}
|
228 |
-
|
229 |
-
body.acf-admin-5-3 .acf-field-setting-fc_layout .acf-input-wrap.select select{
|
230 |
-
min-height: 28px;
|
231 |
-
}
|
232 |
-
|
233 |
-
.acf-field-acfe-flexible-modal > .acf-input > .acf-fields{
|
234 |
-
border:0;
|
235 |
-
}
|
236 |
-
|
237 |
-
.acf-field-acfe-flexible-modal > .acf-input > .acf-fields .acf-field-acfe-flexible-modal-enabled{
|
238 |
-
padding:0;
|
239 |
-
}
|
240 |
-
|
241 |
-
.acf-field-acfe-flexible-modal > .acf-input > .acf-fields .acf-field-acfe-flexible-modal-enabled .acf-label{
|
242 |
-
display:none;
|
243 |
-
}
|
244 |
-
|
245 |
-
.acf-field-acfe-flexible-modal > .acf-input > .acf-fields .acf-field-acfe-flexible-modal-enabled{
|
246 |
-
margin-right:10px;
|
247 |
-
}
|
248 |
-
|
249 |
-
.acf-field-acfe-flexible-modal > .acf-input > .acf-fields .acf-field-acfe-flexible-modal-title,
|
250 |
-
.acf-field-acfe-flexible-modal > .acf-input > .acf-fields .acf-field-acfe-flexible-modal-col,
|
251 |
-
.acf-field-acfe-flexible-modal > .acf-input > .acf-fields .acf-field-acfe-flexible-modal-categories{
|
252 |
-
padding-top:0;
|
253 |
-
padding-bottom:0;
|
254 |
-
padding-left:0;
|
255 |
-
border-top:0;
|
256 |
-
border-left:0 !important;
|
257 |
-
min-height:55px;
|
258 |
-
}
|
259 |
-
|
260 |
-
.acf-field-setting-fc_layout > .acf-input > .acf-fc-meta .acf-field[data-name=acfe_flexible_settings_label],
|
261 |
-
.acf-field-setting-fc_layout > .acf-input > .acf-fc-meta .acf-field[data-name=acfe_flexible_thumbnail],
|
262 |
-
.acf-field-setting-fc_layout > .acf-input > .acf-fc-meta .acf-field[data-name=acfe_flexible_category],
|
263 |
-
.acf-field-setting-fc_layout > .acf-input > .acf-fc-meta .acf-field[data-name=acfe_flexible_settings_label],
|
264 |
-
.acf-field-setting-fc_layout > .acf-input > .acf-fc-meta .acf-field[data-name=acfe_flexible_settings],
|
265 |
-
.acf-field-setting-fc_layout > .acf-input > .acf-fc-meta .acf-field[data-name=acfe_flexible_settings_size]{
|
266 |
-
margin:0;
|
267 |
-
}
|
268 |
-
|
269 |
-
.acf-field-setting-fc_layout > .acf-input > .acf-fc-meta .acf-field[data-name=acfe_flexible_settings],
|
270 |
-
.acf-field-setting-fc_layout > .acf-input > .acf-fc-meta .acf-field[data-name=acfe_flexible_settings_size]{
|
271 |
-
margin-right: 10px;
|
272 |
-
}
|
273 |
-
|
274 |
-
.acf-field-setting-fc_layout > .acf-input > .acf-fc-meta .acf-field[data-name=acfe_flexible_settings_size]{
|
275 |
-
border-left:0;
|
276 |
-
}
|
277 |
-
|
278 |
-
.acf-field-setting-fc_layout > .acf-input > .acf-fc-meta .acf-field[data-name=acfe_flexible_settings_label] > .acf-input{
|
279 |
-
margin:0;
|
280 |
-
}
|
281 |
-
|
282 |
-
.acf-field-setting-fc_layout > .acf-input > .acf-fc-meta > .acf-fc-meta-label:first-of-type{
|
283 |
-
margin:0;
|
284 |
-
}
|
285 |
-
|
286 |
-
.acf-field-setting-fc_layout .select2-container--default .select2-selection--multiple li{
|
287 |
-
margin-bottom:0;
|
288 |
-
}
|
289 |
-
|
290 |
-
/*
|
291 |
-
* ACFE Column
|
292 |
-
*/
|
293 |
-
.acf-field-object-acfe-column .acf-field-setting-label,
|
294 |
-
.acf-field-object-acfe-column .acf-field-setting-name,
|
295 |
-
.acf-field-object-acfe-column .acf-field-setting-instructions,
|
296 |
-
.acf-field-object-acfe-column .acf-field-setting-required,
|
297 |
-
.acf-field-object-acfe-column .acf-field-setting-warning,
|
298 |
-
.acf-field-object-acfe-column .acf-field-setting-wrapper{
|
299 |
-
display: none;
|
300 |
-
}
|
301 |
-
|
302 |
-
.acf-field-object + .acf-field-object-acfe-column:before {
|
303 |
-
display: block;
|
304 |
-
content: "";
|
305 |
-
height: 5px;
|
306 |
-
width: 100%;
|
307 |
-
background: #f9f9f9;
|
308 |
-
border-bottom: #f0f0f0 solid 1px;
|
309 |
-
}
|
310 |
-
|
311 |
-
.acf-field-object-acfe-column .li-field-name{
|
312 |
-
visibility: hidden;
|
313 |
-
}
|
314 |
-
|
315 |
-
/*
|
316 |
-
* ACFE Taxonomy Terms
|
317 |
-
*/
|
318 |
-
.acf-field-setting-allow_terms > .acf-input > ul > li:first-of-type{
|
319 |
-
width: calc(100% - 125px);
|
320 |
-
}
|
321 |
-
|
322 |
-
.acf-field-setting-allow_terms > .acf-input > ul > li:last-of-type{
|
323 |
-
width: 125px;
|
324 |
-
}
|
325 |
-
|
326 |
-
/*
|
327 |
-
* ACFE: Field Group Conditional Logic
|
328 |
-
*/
|
329 |
-
#acf-field-group-locations .rule-groups > .rule-group > table > tbody > tr > td.value > .acf-field{
|
330 |
-
margin: 0;
|
331 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/acf-extended-fields.js
DELETED
@@ -1,1435 +0,0 @@
|
|
1 |
-
function acfe_recaptcha(){
|
2 |
-
|
3 |
-
(function($){
|
4 |
-
|
5 |
-
if(typeof acf === 'undefined')
|
6 |
-
return;
|
7 |
-
|
8 |
-
/**
|
9 |
-
* Field: reCaptcha (render)
|
10 |
-
*/
|
11 |
-
$.each(acf.getFields({type: 'acfe_recaptcha'}), function(i, field){
|
12 |
-
|
13 |
-
field.render();
|
14 |
-
|
15 |
-
});
|
16 |
-
|
17 |
-
})(jQuery);
|
18 |
-
|
19 |
-
}
|
20 |
-
|
21 |
-
(function($){
|
22 |
-
|
23 |
-
if(typeof acf === 'undefined')
|
24 |
-
return;
|
25 |
-
|
26 |
-
/**
|
27 |
-
* Field: reCaptcha
|
28 |
-
*/
|
29 |
-
var reCaptcha = acf.Field.extend({
|
30 |
-
|
31 |
-
type: 'acfe_recaptcha',
|
32 |
-
|
33 |
-
actions: {
|
34 |
-
'validation_failure' : 'validationFailure'
|
35 |
-
},
|
36 |
-
|
37 |
-
$control: function(){
|
38 |
-
return this.$('.acfe-field-recaptcha');
|
39 |
-
},
|
40 |
-
|
41 |
-
$input: function(){
|
42 |
-
return this.$('input[type="hidden"]');
|
43 |
-
},
|
44 |
-
|
45 |
-
$selector: function(){
|
46 |
-
return this.$control().find('> div');
|
47 |
-
},
|
48 |
-
|
49 |
-
selector: function(){
|
50 |
-
return this.$selector()[0];
|
51 |
-
},
|
52 |
-
|
53 |
-
version: function(){
|
54 |
-
return this.get('version');
|
55 |
-
},
|
56 |
-
|
57 |
-
render: function(){
|
58 |
-
|
59 |
-
var field = this;
|
60 |
-
|
61 |
-
if(this.version() === 'v2'){
|
62 |
-
|
63 |
-
this.recaptcha = grecaptcha.render(field.selector(), {
|
64 |
-
'sitekey': field.$control().data('site-key'),
|
65 |
-
'theme': field.$control().data('theme'),
|
66 |
-
'size': field.$control().data('size'),
|
67 |
-
|
68 |
-
|
69 |
-
'callback': function(response){
|
70 |
-
|
71 |
-
field.$input().val(response).change();
|
72 |
-
field.$input().closest('.acf-input').find('> .acf-notice.-error').hide();
|
73 |
-
|
74 |
-
},
|
75 |
-
|
76 |
-
'error-callback': function(){
|
77 |
-
|
78 |
-
field.$input().val('error').change();
|
79 |
-
|
80 |
-
},
|
81 |
-
|
82 |
-
'expired-callback': function(){
|
83 |
-
|
84 |
-
field.$input().val('expired').change();
|
85 |
-
|
86 |
-
}
|
87 |
-
});
|
88 |
-
|
89 |
-
}
|
90 |
-
|
91 |
-
else if(this.version() === 'v3'){
|
92 |
-
|
93 |
-
grecaptcha.ready(function(){
|
94 |
-
grecaptcha.execute(field.$control().data('site-key'), {action: 'homepage'}).then(function(response){
|
95 |
-
|
96 |
-
field.$input().val(response).change();
|
97 |
-
field.$input().closest('.acf-input').find('> .acf-notice.-error').hide();
|
98 |
-
|
99 |
-
});
|
100 |
-
});
|
101 |
-
|
102 |
-
}
|
103 |
-
|
104 |
-
},
|
105 |
-
|
106 |
-
validationFailure: function($form){
|
107 |
-
|
108 |
-
if(this.version() === 'v2'){
|
109 |
-
|
110 |
-
grecaptcha.reset(this.recaptcha);
|
111 |
-
|
112 |
-
}
|
113 |
-
|
114 |
-
}
|
115 |
-
|
116 |
-
});
|
117 |
-
|
118 |
-
acf.registerFieldType(reCaptcha);
|
119 |
-
|
120 |
-
/**
|
121 |
-
* Field: Code Editor
|
122 |
-
*/
|
123 |
-
var CodeEditor = acf.Field.extend({
|
124 |
-
|
125 |
-
wait: 'ready',
|
126 |
-
|
127 |
-
type: 'acfe_code_editor',
|
128 |
-
|
129 |
-
events: {
|
130 |
-
'showField': 'onShow',
|
131 |
-
},
|
132 |
-
|
133 |
-
$control: function(){
|
134 |
-
|
135 |
-
return this.$el.find('> .acf-input > .acf-input-wrap');
|
136 |
-
|
137 |
-
},
|
138 |
-
|
139 |
-
$input: function(){
|
140 |
-
|
141 |
-
return this.$el.find('> .acf-input > .acf-input-wrap > textarea');
|
142 |
-
|
143 |
-
},
|
144 |
-
|
145 |
-
input: function(){
|
146 |
-
|
147 |
-
return this.$input()[0];
|
148 |
-
|
149 |
-
},
|
150 |
-
|
151 |
-
rows: function(){
|
152 |
-
|
153 |
-
return this.$input().attr('rows');
|
154 |
-
|
155 |
-
},
|
156 |
-
|
157 |
-
initialize: function(){
|
158 |
-
|
159 |
-
this.rows = this.$control().data('rows');
|
160 |
-
this.max_rows = this.$control().data('max-rows');
|
161 |
-
|
162 |
-
this.mode = this.$control().data('mode');
|
163 |
-
this.lines = this.$control().data('lines');
|
164 |
-
this.indentUnit = this.$control().data('indent-unit');
|
165 |
-
|
166 |
-
var codeEditor = [];
|
167 |
-
|
168 |
-
// Default WP settings
|
169 |
-
var wpCodeMirror = wp.codeEditor.defaultSettings.codemirror;
|
170 |
-
|
171 |
-
// Field settings
|
172 |
-
var CodeMirror = {
|
173 |
-
lineNumbers: this.lines,
|
174 |
-
lineWrapping: true,
|
175 |
-
styleActiveLine: false,
|
176 |
-
continueComments: true,
|
177 |
-
indentUnit: this.indentUnit,
|
178 |
-
tabSize: 1,
|
179 |
-
indentWithTabs: true,
|
180 |
-
mode: this.mode,
|
181 |
-
extraKeys: {
|
182 |
-
Tab: function(cm){
|
183 |
-
cm.execCommand("indentMore")
|
184 |
-
},
|
185 |
-
"Shift-Tab": function(cm){
|
186 |
-
cm.execCommand("indentLess")
|
187 |
-
},
|
188 |
-
},
|
189 |
-
};
|
190 |
-
|
191 |
-
// Merge settings
|
192 |
-
var codeMirror = jQuery.extend(wpCodeMirror, CodeMirror);
|
193 |
-
|
194 |
-
// Push CodeMirror settings to codemirror property
|
195 |
-
codeEditor.codemirror = codeMirror;
|
196 |
-
|
197 |
-
// Init WP Code Editor
|
198 |
-
this.editor = wp.codeEditor.initialize(this.input(), codeEditor);
|
199 |
-
|
200 |
-
if(this.rows || this.max_rows){
|
201 |
-
|
202 |
-
if(this.rows){
|
203 |
-
|
204 |
-
this.editor.codemirror.getScrollerElement().style.minHeight = this.rows * 18.5 + 'px';
|
205 |
-
|
206 |
-
}
|
207 |
-
|
208 |
-
if(this.max_rows){
|
209 |
-
|
210 |
-
this.editor.codemirror.getScrollerElement().style.maxHeight = this.max_rows * 18.5 + 'px';
|
211 |
-
|
212 |
-
}
|
213 |
-
|
214 |
-
this.editor.codemirror.refresh();
|
215 |
-
|
216 |
-
}
|
217 |
-
|
218 |
-
field = this;
|
219 |
-
|
220 |
-
this.editor.codemirror.on('change', function(){
|
221 |
-
|
222 |
-
field.editor.codemirror.save();
|
223 |
-
field.$input().change();
|
224 |
-
|
225 |
-
});
|
226 |
-
|
227 |
-
},
|
228 |
-
|
229 |
-
onShow: function(){
|
230 |
-
|
231 |
-
if(this.editor.codemirror){
|
232 |
-
|
233 |
-
this.editor.codemirror.refresh();
|
234 |
-
|
235 |
-
}
|
236 |
-
|
237 |
-
},
|
238 |
-
|
239 |
-
});
|
240 |
-
|
241 |
-
acf.registerFieldType(CodeEditor);
|
242 |
-
|
243 |
-
acf.registerConditionForFieldType('equalTo', 'acfe_code_editor');
|
244 |
-
acf.registerConditionForFieldType('notEqualTo', 'acfe_code_editor');
|
245 |
-
acf.registerConditionForFieldType('patternMatch', 'acfe_code_editor');
|
246 |
-
acf.registerConditionForFieldType('contains', 'acfe_code_editor');
|
247 |
-
acf.registerConditionForFieldType('hasValue', 'acfe_code_editor');
|
248 |
-
acf.registerConditionForFieldType('hasNoValue', 'acfe_code_editor');
|
249 |
-
|
250 |
-
/**
|
251 |
-
* Field Group Admin: Code Editor
|
252 |
-
* Fix duplicate action
|
253 |
-
*/
|
254 |
-
acf.addAction('append_field_object', function(field){
|
255 |
-
|
256 |
-
if(field.get('type') !== 'acfe_code_editor')
|
257 |
-
return;
|
258 |
-
|
259 |
-
field.$setting('default_value').find('> .acf-input > .acf-input-wrap > .CodeMirror:last').remove();
|
260 |
-
field.$setting('placeholder').find('> .acf-input > .acf-input-wrap > .CodeMirror:last').remove();
|
261 |
-
|
262 |
-
});
|
263 |
-
|
264 |
-
/*
|
265 |
-
var preCodeMirror = new acf.Model({
|
266 |
-
codemirror: false,
|
267 |
-
data: {
|
268 |
-
type: 'pre',
|
269 |
-
mode: 'htmlmixed',
|
270 |
-
codemirror: false,
|
271 |
-
},
|
272 |
-
actions: {
|
273 |
-
'new_field': 'new_field',
|
274 |
-
},
|
275 |
-
new_field: function(field){
|
276 |
-
|
277 |
-
var self = this;
|
278 |
-
|
279 |
-
field.$('pre[data-codemirror]:visible, code[data-codemirror]:visible').each(function(){
|
280 |
-
|
281 |
-
self.setup(this);
|
282 |
-
|
283 |
-
});
|
284 |
-
|
285 |
-
},
|
286 |
-
setup: function(el){
|
287 |
-
|
288 |
-
this.$el = $(el);
|
289 |
-
|
290 |
-
this.set('type', this.$el.prop('tagName').toLowerCase());
|
291 |
-
this.set('mode', this.$el.attr('data-codemirror'));
|
292 |
-
|
293 |
-
if(this.get('mode') === 'php'){
|
294 |
-
|
295 |
-
this.set('mode', 'application/x-httpd-php');
|
296 |
-
|
297 |
-
}else if(this.get('mode') === 'php-plain'){
|
298 |
-
|
299 |
-
this.set('mode', 'text/x-php');
|
300 |
-
|
301 |
-
}else if(this.get('mode') === 'html'){
|
302 |
-
|
303 |
-
this.set('mode', 'text/html');
|
304 |
-
|
305 |
-
}else if(this.get('mode') === 'javascript'){
|
306 |
-
|
307 |
-
this.set('mode', 'javascript');
|
308 |
-
|
309 |
-
}else if(this.get('mode') === 'css'){
|
310 |
-
|
311 |
-
this.set('mode', 'css');
|
312 |
-
|
313 |
-
}
|
314 |
-
|
315 |
-
this.render();
|
316 |
-
|
317 |
-
this.getClosestField();
|
318 |
-
|
319 |
-
},
|
320 |
-
initialize: function(){
|
321 |
-
// ...
|
322 |
-
},
|
323 |
-
render: function(){
|
324 |
-
|
325 |
-
var $code = this.$el.html();
|
326 |
-
var $div = $('<div class="' + this.get('type') + '-codemirror" />').insertAfter(this.$el);
|
327 |
-
var $unescaped = this.$el.html($code).text();
|
328 |
-
|
329 |
-
this.codemirror = wp.CodeMirror($div[0], {
|
330 |
-
value: $unescaped,
|
331 |
-
mode: this.get('mode'),
|
332 |
-
lineNumbers: false,
|
333 |
-
lineWrapping: false,
|
334 |
-
styleActiveLine: false,
|
335 |
-
continueComments: true,
|
336 |
-
indentUnit: 4,
|
337 |
-
tabSize: 1,
|
338 |
-
readOnly: true,
|
339 |
-
});
|
340 |
-
|
341 |
-
this.$el.remove();
|
342 |
-
|
343 |
-
},
|
344 |
-
refresh: function(){
|
345 |
-
|
346 |
-
if(this.codemirror)
|
347 |
-
this.codemirror.refresh();
|
348 |
-
|
349 |
-
},
|
350 |
-
getClosestField: function(){
|
351 |
-
|
352 |
-
var self = this;
|
353 |
-
|
354 |
-
field = acf.getClosestField(this.$el);
|
355 |
-
|
356 |
-
if(field){
|
357 |
-
|
358 |
-
field.on('showField', function(){
|
359 |
-
|
360 |
-
self.refresh();
|
361 |
-
|
362 |
-
});
|
363 |
-
|
364 |
-
}
|
365 |
-
|
366 |
-
}
|
367 |
-
|
368 |
-
});
|
369 |
-
*/
|
370 |
-
|
371 |
-
/**
|
372 |
-
* Field: Textarea
|
373 |
-
*/
|
374 |
-
var Textarea = acf.Field.extend({
|
375 |
-
|
376 |
-
type: 'textarea',
|
377 |
-
|
378 |
-
events: {
|
379 |
-
'keydown textarea': 'onInput',
|
380 |
-
},
|
381 |
-
|
382 |
-
onInput: function(e, $el){
|
383 |
-
|
384 |
-
if(!this.has('acfeTextareaCode'))
|
385 |
-
return;
|
386 |
-
|
387 |
-
if(e.keyCode !== 9)
|
388 |
-
return;
|
389 |
-
|
390 |
-
e.preventDefault();
|
391 |
-
|
392 |
-
var input = this.$el.find('textarea')[0];
|
393 |
-
|
394 |
-
var s = input.selectionStart;
|
395 |
-
|
396 |
-
this.$el.find('textarea').val(function(i, v){
|
397 |
-
|
398 |
-
return v.substring(0, s) + " " + v.substring(input.selectionEnd)
|
399 |
-
|
400 |
-
});
|
401 |
-
|
402 |
-
input.selectionEnd = s + 4;
|
403 |
-
|
404 |
-
},
|
405 |
-
|
406 |
-
});
|
407 |
-
|
408 |
-
acf.registerFieldType(Textarea);
|
409 |
-
|
410 |
-
/**
|
411 |
-
* Field: Slug
|
412 |
-
*/
|
413 |
-
var ACFE_Slug = acf.Field.extend({
|
414 |
-
|
415 |
-
type: 'acfe_slug',
|
416 |
-
|
417 |
-
events: {
|
418 |
-
'input input': 'onInput',
|
419 |
-
'focusout input': 'onFocusOut',
|
420 |
-
},
|
421 |
-
|
422 |
-
onInput: function(e, $el){
|
423 |
-
|
424 |
-
$el.val($el.val().toLowerCase()
|
425 |
-
.replace(/\s+/g, '-') // Replace spaces with -
|
426 |
-
.replace(/[^\w\-]+/g, '') // Remove all non-word chars
|
427 |
-
.replace(/\-\-+/g, '-') // Replace multiple - with single -
|
428 |
-
.replace(/\_\_+/g, '_') // Replace multiple _ with single _
|
429 |
-
.replace(/^-+/, '')); // Trim - from start of text
|
430 |
-
|
431 |
-
},
|
432 |
-
|
433 |
-
onFocusOut: function(e, $el){
|
434 |
-
|
435 |
-
$el.val($el.val().toLowerCase()
|
436 |
-
.replace(/-+$/, '') // Trim - from end of text
|
437 |
-
.replace(/_+$/, '')); // Trim _ from end of text
|
438 |
-
|
439 |
-
},
|
440 |
-
|
441 |
-
});
|
442 |
-
|
443 |
-
acf.registerFieldType(ACFE_Slug);
|
444 |
-
|
445 |
-
acf.registerConditionForFieldType('equalTo', 'acfe_slug');
|
446 |
-
acf.registerConditionForFieldType('notEqualTo', 'acfe_slug');
|
447 |
-
acf.registerConditionForFieldType('patternMatch', 'acfe_slug');
|
448 |
-
acf.registerConditionForFieldType('contains', 'acfe_slug');
|
449 |
-
acf.registerConditionForFieldType('hasValue', 'acfe_slug');
|
450 |
-
acf.registerConditionForFieldType('hasNoValue', 'acfe_slug');
|
451 |
-
|
452 |
-
/**
|
453 |
-
* Field: Button
|
454 |
-
*/
|
455 |
-
var ACFE_Button = acf.Field.extend({
|
456 |
-
|
457 |
-
type: 'acfe_button',
|
458 |
-
|
459 |
-
events: {
|
460 |
-
'click input': 'onClick',
|
461 |
-
'click button': 'onClick',
|
462 |
-
},
|
463 |
-
|
464 |
-
$input: function(){
|
465 |
-
|
466 |
-
if(this.$('input').length){
|
467 |
-
|
468 |
-
return this.$('input');
|
469 |
-
|
470 |
-
}else if(this.$('button').length){
|
471 |
-
|
472 |
-
return this.$('button');
|
473 |
-
|
474 |
-
}
|
475 |
-
|
476 |
-
},
|
477 |
-
|
478 |
-
initialize: function(){
|
479 |
-
|
480 |
-
// vars
|
481 |
-
var $button = this.$input();
|
482 |
-
|
483 |
-
// inherit data
|
484 |
-
this.inherit($button);
|
485 |
-
|
486 |
-
},
|
487 |
-
|
488 |
-
onClick: function(e, $el){
|
489 |
-
|
490 |
-
if(this.get('ajax')){
|
491 |
-
|
492 |
-
e.preventDefault();
|
493 |
-
|
494 |
-
// serialize form data
|
495 |
-
var data = {
|
496 |
-
action: 'acfe/fields/button',
|
497 |
-
field_name: this.get('name'),
|
498 |
-
field_key: this.get('key')
|
499 |
-
};
|
500 |
-
|
501 |
-
// Deprecated
|
502 |
-
acf.doAction('acfe/fields/button/before_ajax', this.$el, data);
|
503 |
-
|
504 |
-
// Actions
|
505 |
-
acf.doAction('acfe/fields/button/before', this.$el, data);
|
506 |
-
acf.doAction('acfe/fields/button/before/key=' + this.get('key'), this.$el, data);
|
507 |
-
acf.doAction('acfe/fields/button/before/name=' + this.get('name'), this.$el, data);
|
508 |
-
|
509 |
-
// ajax
|
510 |
-
$.ajax({
|
511 |
-
url: acf.get('ajaxurl'),
|
512 |
-
data: acf.prepareForAjax(data),
|
513 |
-
type: 'post',
|
514 |
-
dataType: 'json',
|
515 |
-
context: this,
|
516 |
-
|
517 |
-
// Success
|
518 |
-
success: function(response){
|
519 |
-
|
520 |
-
// Deprecated
|
521 |
-
acf.doAction('acfe/fields/button/ajax_success', response, this.$el, data);
|
522 |
-
|
523 |
-
// Actions
|
524 |
-
acf.doAction('acfe/fields/button/success', response, this.$el, data);
|
525 |
-
acf.doAction('acfe/fields/button/success/key=' + this.get('key'), response, this.$el, data);
|
526 |
-
acf.doAction('acfe/fields/button/success/name=' + this.get('name'), response, this.$el, data);
|
527 |
-
|
528 |
-
},
|
529 |
-
|
530 |
-
// Complete
|
531 |
-
complete: function(xhr){
|
532 |
-
|
533 |
-
var response = xhr.responseText;
|
534 |
-
|
535 |
-
// Actions
|
536 |
-
acf.doAction('acfe/fields/button/complete', response, this.$el, data);
|
537 |
-
acf.doAction('acfe/fields/button/complete/key=' + this.get('key'), response, this.$el, data);
|
538 |
-
acf.doAction('acfe/fields/button/complete/name=' + this.get('name'), response, this.$el, data);
|
539 |
-
|
540 |
-
}
|
541 |
-
|
542 |
-
|
543 |
-
});
|
544 |
-
|
545 |
-
}
|
546 |
-
|
547 |
-
}
|
548 |
-
|
549 |
-
});
|
550 |
-
|
551 |
-
acf.registerFieldType(ACFE_Button);
|
552 |
-
|
553 |
-
/**
|
554 |
-
* Field: Advanced Link
|
555 |
-
*/
|
556 |
-
var ACFE_Advanced_Link = acf.Field.extend({
|
557 |
-
|
558 |
-
type: 'acfe_advanced_link',
|
559 |
-
|
560 |
-
events: {
|
561 |
-
'click a[data-name="add"]': 'onClickEdit',
|
562 |
-
'click a[data-name="edit"]': 'onClickEdit',
|
563 |
-
'click a[data-name="remove"]': 'onClickRemove',
|
564 |
-
},
|
565 |
-
|
566 |
-
$control: function(){
|
567 |
-
return this.$('.acf-link');
|
568 |
-
},
|
569 |
-
|
570 |
-
initialize: function(){
|
571 |
-
// ...
|
572 |
-
},
|
573 |
-
|
574 |
-
getValue: function(){
|
575 |
-
|
576 |
-
// return
|
577 |
-
var data = {
|
578 |
-
type: this.$('.input-type :checked').val(),
|
579 |
-
title: this.$('.input-title').val(),
|
580 |
-
url: this.$('.input-url').val(),
|
581 |
-
post: this.$('.input-post :selected').text(),
|
582 |
-
term: this.$('.input-term :selected').text(),
|
583 |
-
target: this.$('.input-target').is(':checked')
|
584 |
-
};
|
585 |
-
|
586 |
-
if(data.type === 'post'){
|
587 |
-
|
588 |
-
data.url = data.post;
|
589 |
-
|
590 |
-
}else if(data.type === 'term'){
|
591 |
-
|
592 |
-
data.url = data.term;
|
593 |
-
|
594 |
-
}
|
595 |
-
|
596 |
-
return data;
|
597 |
-
|
598 |
-
},
|
599 |
-
|
600 |
-
setValue: function( val ){
|
601 |
-
|
602 |
-
// default
|
603 |
-
val = acf.parseArgs(val, {
|
604 |
-
remove: false,
|
605 |
-
title: '',
|
606 |
-
url: '',
|
607 |
-
target: false
|
608 |
-
});
|
609 |
-
|
610 |
-
// vars
|
611 |
-
var $div = this.$control();
|
612 |
-
|
613 |
-
// remove class
|
614 |
-
$div.removeClass('-value -external');
|
615 |
-
|
616 |
-
// add class
|
617 |
-
if(val.url)
|
618 |
-
$div.addClass('-value');
|
619 |
-
|
620 |
-
if(val.target)
|
621 |
-
$div.addClass('-external');
|
622 |
-
|
623 |
-
// update text
|
624 |
-
this.$('.link-title').html( val.title );
|
625 |
-
this.$('.link-url').attr('href', val.url).html( val.url );
|
626 |
-
|
627 |
-
// remove inputs data
|
628 |
-
if(val.remove){
|
629 |
-
|
630 |
-
this.$('.input-type :checked').prop('checked', false);
|
631 |
-
this.$('.input-type [value="url"]').prop('checked', true).trigger('change');
|
632 |
-
this.$('.input-title').val('');
|
633 |
-
this.$('.input-target').prop('checked', false);
|
634 |
-
this.$('.input-url').val('').trigger('change');
|
635 |
-
this.$('.input-post').val('').trigger('change');
|
636 |
-
this.$('.input-term').val('').trigger('change');
|
637 |
-
|
638 |
-
}
|
639 |
-
|
640 |
-
},
|
641 |
-
|
642 |
-
onClickEdit: function(e, $el){
|
643 |
-
|
644 |
-
var $modal = $el.closest('.acf-input').find('.acfe-modal');
|
645 |
-
|
646 |
-
var title = $modal.attr('data-modal-title');
|
647 |
-
|
648 |
-
var model = this;
|
649 |
-
|
650 |
-
acfe.modal.open($modal, {
|
651 |
-
title: title,
|
652 |
-
size: 'medium',
|
653 |
-
footer: acf.__('Close'),
|
654 |
-
onClose: function(){
|
655 |
-
model.onChange();
|
656 |
-
}
|
657 |
-
});
|
658 |
-
|
659 |
-
},
|
660 |
-
|
661 |
-
onClickRemove: function( e, $el ){
|
662 |
-
|
663 |
-
this.setValue({
|
664 |
-
remove: true
|
665 |
-
});
|
666 |
-
|
667 |
-
},
|
668 |
-
|
669 |
-
onChange: function( e, $el ){
|
670 |
-
|
671 |
-
// get the changed value
|
672 |
-
var val = this.getValue();
|
673 |
-
|
674 |
-
// update inputs
|
675 |
-
this.setValue(val);
|
676 |
-
|
677 |
-
},
|
678 |
-
|
679 |
-
});
|
680 |
-
|
681 |
-
acf.registerFieldType(ACFE_Advanced_Link);
|
682 |
-
|
683 |
-
/**
|
684 |
-
* Field: Advanced Link - Post Object Ajax
|
685 |
-
*/
|
686 |
-
acf.addFilter('select2_ajax_data/type=post_object', function(ajaxData, data, $el, field, select){
|
687 |
-
|
688 |
-
if(field.get('key') !== 'post')
|
689 |
-
return ajaxData;
|
690 |
-
|
691 |
-
var advanced_link = acf.getInstance($el.closest('.acf-field-acfe-advanced-link'));
|
692 |
-
|
693 |
-
if(advanced_link){
|
694 |
-
|
695 |
-
ajaxData.field_key = advanced_link.get('key');
|
696 |
-
|
697 |
-
}
|
698 |
-
|
699 |
-
return ajaxData;
|
700 |
-
|
701 |
-
});
|
702 |
-
|
703 |
-
/*
|
704 |
-
* Field: Advanced Link - Error
|
705 |
-
*/
|
706 |
-
acf.addAction('invalid_field', function(field){
|
707 |
-
|
708 |
-
var $advanced_link = field.$el.closest('.acf-field-acfe-advanced-link').not('.acf-error');
|
709 |
-
|
710 |
-
if($advanced_link.length){
|
711 |
-
|
712 |
-
var advanced_link_field = acf.getInstance($advanced_link);
|
713 |
-
|
714 |
-
advanced_link_field.showError(field.notice.get('text'));
|
715 |
-
|
716 |
-
}
|
717 |
-
|
718 |
-
});
|
719 |
-
|
720 |
-
/**
|
721 |
-
* Field: Group
|
722 |
-
*/
|
723 |
-
var Group = acf.Field.extend({
|
724 |
-
|
725 |
-
type: 'group',
|
726 |
-
|
727 |
-
events: {
|
728 |
-
'click [data-name="edit"]': 'onClick',
|
729 |
-
},
|
730 |
-
|
731 |
-
initialize: function(){
|
732 |
-
|
733 |
-
if(this.has('acfeGroupModal')){
|
734 |
-
|
735 |
-
var edit = this.get('acfeGroupModalButton');
|
736 |
-
|
737 |
-
this.$el.find('> .acf-input > .acf-fields, > .acf-input > .acf-table').wrapAll('<div class="acfe-modal"><div class="acfe-modal-wrapper"><div class="acfe-modal-content"></div></div></div>');
|
738 |
-
this.$el.find('> .acf-input').append('<a data-name="edit" class="acf-button button" href="#">' + edit + '</a>');
|
739 |
-
|
740 |
-
}
|
741 |
-
|
742 |
-
},
|
743 |
-
|
744 |
-
onClick: function(e, $el){
|
745 |
-
|
746 |
-
var title = this.$el.find('> .acf-label').text().trim();
|
747 |
-
var $modal = this.$el.find('> .acf-input > .acfe-modal');
|
748 |
-
|
749 |
-
// Title
|
750 |
-
if(!title.length){
|
751 |
-
|
752 |
-
title = this.get('acfeGroupModalButton');
|
753 |
-
|
754 |
-
}
|
755 |
-
|
756 |
-
// Close
|
757 |
-
var close = false;
|
758 |
-
|
759 |
-
if(this.has('acfeGroupModalClose')){
|
760 |
-
|
761 |
-
close = acf.__('Close');
|
762 |
-
|
763 |
-
}
|
764 |
-
|
765 |
-
// Size
|
766 |
-
var size = 'large';
|
767 |
-
|
768 |
-
if(this.has('acfeGroupModalSize')){
|
769 |
-
|
770 |
-
size = this.get('acfeGroupModalSize');
|
771 |
-
|
772 |
-
}
|
773 |
-
|
774 |
-
// Open modal
|
775 |
-
acfe.modal.open($modal, {
|
776 |
-
title: title,
|
777 |
-
size: size,
|
778 |
-
footer: close
|
779 |
-
});
|
780 |
-
|
781 |
-
},
|
782 |
-
|
783 |
-
});
|
784 |
-
|
785 |
-
acf.registerFieldType(Group);
|
786 |
-
|
787 |
-
/**
|
788 |
-
* Field: Clone
|
789 |
-
*/
|
790 |
-
var Clone = acf.Field.extend({
|
791 |
-
|
792 |
-
type: 'clone',
|
793 |
-
|
794 |
-
events: {
|
795 |
-
'click [data-name="edit"]': 'onClick',
|
796 |
-
},
|
797 |
-
|
798 |
-
initialize: function(){
|
799 |
-
|
800 |
-
if(this.has('acfeCloneModal')){
|
801 |
-
|
802 |
-
var edit = this.get('acfeCloneModalButton');
|
803 |
-
|
804 |
-
this.$el.find('> .acf-input > .acf-fields, > .acf-input > .acf-table').wrapAll('<div class="acfe-modal"><div class="acfe-modal-wrapper"><div class="acfe-modal-content"></div></div></div>');
|
805 |
-
this.$el.find('> .acf-input').append('<a data-name="edit" class="acf-button button" href="#">' + edit + '</a>');
|
806 |
-
|
807 |
-
}
|
808 |
-
|
809 |
-
},
|
810 |
-
|
811 |
-
onClick: function(e, $el){
|
812 |
-
|
813 |
-
var title = this.$el.find('> .acf-label').text().trim();
|
814 |
-
var $modal = this.$el.find('> .acf-input > .acfe-modal');
|
815 |
-
|
816 |
-
|
817 |
-
// Title
|
818 |
-
if(!title.length){
|
819 |
-
|
820 |
-
title = this.get('acfeCloneModalButton');
|
821 |
-
|
822 |
-
}
|
823 |
-
|
824 |
-
// Close
|
825 |
-
var close = false;
|
826 |
-
|
827 |
-
if(this.has('acfeCloneModalClose')){
|
828 |
-
|
829 |
-
close = acf.__('Close');
|
830 |
-
|
831 |
-
}
|
832 |
-
|
833 |
-
// Size
|
834 |
-
var size = 'large';
|
835 |
-
|
836 |
-
if(this.has('acfeCloneModalSize')){
|
837 |
-
|
838 |
-
size = this.get('acfeCloneModalSize');
|
839 |
-
|
840 |
-
}
|
841 |
-
|
842 |
-
// Open modal
|
843 |
-
acfe.modal.open($modal, {
|
844 |
-
title: title,
|
845 |
-
size: size,
|
846 |
-
footer: close
|
847 |
-
});
|
848 |
-
|
849 |
-
},
|
850 |
-
|
851 |
-
});
|
852 |
-
|
853 |
-
acf.registerFieldType(Clone);
|
854 |
-
|
855 |
-
/**
|
856 |
-
* Field: Column
|
857 |
-
*/
|
858 |
-
var Column = acf.Field.extend({
|
859 |
-
|
860 |
-
wait: 'new_field',
|
861 |
-
|
862 |
-
type: 'acfe_column',
|
863 |
-
|
864 |
-
$control: function(){
|
865 |
-
return this.$('.acf-fields:first');
|
866 |
-
},
|
867 |
-
|
868 |
-
initialize: function(){
|
869 |
-
|
870 |
-
if(this.$el.is('td')){
|
871 |
-
|
872 |
-
var $table = this.$el.closest('.acf-table').find('th[data-type="acfe_column"]').remove();
|
873 |
-
this.remove();
|
874 |
-
|
875 |
-
}
|
876 |
-
|
877 |
-
if(this.get('endpoint')){
|
878 |
-
|
879 |
-
this.$el.find('> .acf-label').remove();
|
880 |
-
this.$el.find('> .acf-input').remove();
|
881 |
-
|
882 |
-
return;
|
883 |
-
|
884 |
-
}
|
885 |
-
|
886 |
-
var $field = this.$el;
|
887 |
-
var $label = this.$el.find('> .acf-label');
|
888 |
-
var $input = this.$inputWrap();
|
889 |
-
var $wrap = this.$control();
|
890 |
-
|
891 |
-
$label.remove();
|
892 |
-
|
893 |
-
var $parent = $field.parent();
|
894 |
-
$wrap.addClass($parent.hasClass('-left') ? '-left' : '');
|
895 |
-
$wrap.addClass($parent.hasClass('-clear') ? '-clear' : '');
|
896 |
-
|
897 |
-
$wrap.append($field.nextUntil('.acf-field-acfe-column', '.acf-field'));
|
898 |
-
|
899 |
-
}
|
900 |
-
|
901 |
-
});
|
902 |
-
|
903 |
-
acf.registerFieldType(Column);
|
904 |
-
|
905 |
-
/**
|
906 |
-
* Field: Taxonomy Terms - Ajax
|
907 |
-
*/
|
908 |
-
acf.addFilter('select2_ajax_data/action=acfe/fields/taxonomy_terms/allow_query', function(ajaxData, data, $el, field, select){
|
909 |
-
|
910 |
-
// Taxonomies
|
911 |
-
var $taxonomies = $el.closest('.acf-field-settings').find('> .acf-field-setting-taxonomy > .acf-input > select > option:selected');
|
912 |
-
|
913 |
-
var tax = [];
|
914 |
-
|
915 |
-
$taxonomies.each(function(){
|
916 |
-
tax.push($(this).val());
|
917 |
-
});
|
918 |
-
|
919 |
-
ajaxData.taxonomies = tax;
|
920 |
-
|
921 |
-
// Terms level
|
922 |
-
var $level = $el.closest('.acf-field-settings').find('> .acf-field-setting-allow_terms > .acf-input input[type="number"]');
|
923 |
-
|
924 |
-
ajaxData.level = $level.val();
|
925 |
-
|
926 |
-
return ajaxData;
|
927 |
-
|
928 |
-
});
|
929 |
-
|
930 |
-
/**
|
931 |
-
* Fields: Select2 - Placeholder
|
932 |
-
*/
|
933 |
-
acf.addAction('select2_init', function($select, options, data, field, instance){
|
934 |
-
|
935 |
-
// Search Placeholder
|
936 |
-
if(field.get('acfeSearchPlaceholder')){
|
937 |
-
|
938 |
-
var search_placeholder = field.get('acfeSearchPlaceholder');
|
939 |
-
|
940 |
-
$select.on('select2:open', function(e){
|
941 |
-
|
942 |
-
if(field.get('multiple')){
|
943 |
-
|
944 |
-
if(!$select.val()){
|
945 |
-
|
946 |
-
field.$('.select2-search__field').attr('placeholder', search_placeholder);
|
947 |
-
|
948 |
-
}
|
949 |
-
|
950 |
-
}else{
|
951 |
-
|
952 |
-
$('.select2-search.select2-search--dropdown > .select2-search__field').attr('placeholder', search_placeholder);
|
953 |
-
|
954 |
-
}
|
955 |
-
|
956 |
-
});
|
957 |
-
|
958 |
-
if(field.get('multiple')){
|
959 |
-
|
960 |
-
$select.on('select2:close', function(e){
|
961 |
-
|
962 |
-
if(!$select.val()){
|
963 |
-
|
964 |
-
field.$('.select2-search__field').attr('placeholder', field.get('placeholder'));
|
965 |
-
|
966 |
-
}
|
967 |
-
|
968 |
-
});
|
969 |
-
|
970 |
-
}
|
971 |
-
|
972 |
-
}
|
973 |
-
|
974 |
-
});
|
975 |
-
|
976 |
-
/**
|
977 |
-
* Fields: Select2 - Allow Custom
|
978 |
-
*/
|
979 |
-
acf.addFilter('select2_args', function(options, $select, fieldData, field, instance){
|
980 |
-
|
981 |
-
if(field.get('acfeAllowCustom')){
|
982 |
-
|
983 |
-
options.tags = true;
|
984 |
-
|
985 |
-
options.createTag = function(params){
|
986 |
-
|
987 |
-
var term = $.trim(params.term);
|
988 |
-
|
989 |
-
if(term === '')
|
990 |
-
return null;
|
991 |
-
|
992 |
-
var optionsMatch = false;
|
993 |
-
|
994 |
-
this.$element.find('option').each(function(){
|
995 |
-
|
996 |
-
if(this.value.toLowerCase() === term.toLowerCase()){
|
997 |
-
optionsMatch = true;
|
998 |
-
}
|
999 |
-
|
1000 |
-
});
|
1001 |
-
|
1002 |
-
if(optionsMatch)
|
1003 |
-
return null;
|
1004 |
-
|
1005 |
-
return {
|
1006 |
-
id: term,
|
1007 |
-
text: term
|
1008 |
-
};
|
1009 |
-
|
1010 |
-
};
|
1011 |
-
|
1012 |
-
|
1013 |
-
options.insertTag = function(data, tag){
|
1014 |
-
|
1015 |
-
var found = false;
|
1016 |
-
|
1017 |
-
$.each(data, function(index, value){
|
1018 |
-
|
1019 |
-
if($.trim(tag.text).toUpperCase() === $.trim(value.text).toUpperCase()){
|
1020 |
-
|
1021 |
-
found = true;
|
1022 |
-
return false;
|
1023 |
-
|
1024 |
-
}
|
1025 |
-
|
1026 |
-
});
|
1027 |
-
|
1028 |
-
if(!found)
|
1029 |
-
data.unshift(tag);
|
1030 |
-
|
1031 |
-
};
|
1032 |
-
|
1033 |
-
options.templateSelection = function(state){
|
1034 |
-
|
1035 |
-
if(!state.id){
|
1036 |
-
return state.text;
|
1037 |
-
}
|
1038 |
-
|
1039 |
-
var text = state.text;
|
1040 |
-
|
1041 |
-
var match_field = /{field:(.*)}/g;
|
1042 |
-
var match_fields = /{fields}/g;
|
1043 |
-
var match_get_field = /{get_field:(.*)}/g;
|
1044 |
-
var match_query_var = /{query_var:(.*)}/g;
|
1045 |
-
var match_request = /{request:(.*)}/g;
|
1046 |
-
var match_current = /{current:(.*)}/g;
|
1047 |
-
|
1048 |
-
text = text.replace(match_field, "<code style='font-size:12px;padding:3px;vertical-align: 1px;line-height: 12px;'>{field:$1}</code>");
|
1049 |
-
text = text.replace(match_fields, "<code style='font-size:12px;padding:3px;vertical-align: 1px;line-height: 12px;'>{fields}</code>");
|
1050 |
-
text = text.replace(match_current, "<code style='font-size:12px;padding:3px;vertical-align: 1px;line-height: 12px;'>{current:$1}</code>");
|
1051 |
-
text = text.replace(match_get_field, "<code style='font-size:12px;padding:3px;vertical-align: 1px;line-height: 12px;'>{get_field:$1}</code>");
|
1052 |
-
text = text.replace(match_query_var, "<code style='font-size:12px;padding:3px;vertical-align: 1px;line-height: 12px;'>{query_var:$1}</code>");
|
1053 |
-
text = text.replace(match_request, "<code style='font-size:12px;padding:3px;vertical-align: 1px;line-height: 12px;'>{request:$1}</code>");
|
1054 |
-
|
1055 |
-
|
1056 |
-
return text;
|
1057 |
-
|
1058 |
-
};
|
1059 |
-
|
1060 |
-
options.templateResult = function(state){
|
1061 |
-
|
1062 |
-
if(!state.id){
|
1063 |
-
return state.text;
|
1064 |
-
}
|
1065 |
-
|
1066 |
-
var text = state.text;
|
1067 |
-
|
1068 |
-
var match_field = /{field:(.*?)}/g;
|
1069 |
-
var match_fields = /{fields}/g;
|
1070 |
-
var match_get_field = /{get_field:(.*?)}/g;
|
1071 |
-
var match_query_var = /{query_var:(.*?)}/g;
|
1072 |
-
var match_request = /{request:(.*?)}/g;
|
1073 |
-
var match_current = /{current:(.*?)}/g;
|
1074 |
-
|
1075 |
-
text = text.replace(match_field, "<code style='font-size:12px;'>{field:$1}</code>");
|
1076 |
-
text = text.replace(match_fields, "<code style='font-size:12px;'>{fields}</code>");
|
1077 |
-
text = text.replace(match_get_field, "<code style='font-size:12px;'>{get_field:$1}</code>");
|
1078 |
-
text = text.replace(match_query_var, "<code style='font-size:12px;'>{query_var:$1}</code>");
|
1079 |
-
text = text.replace(match_request, "<code style='font-size:12px;'>{request:$1}</code>");
|
1080 |
-
text = text.replace(match_current, "<code style='font-size:12px;'>{current:$1}</code>");
|
1081 |
-
|
1082 |
-
return text;
|
1083 |
-
|
1084 |
-
};
|
1085 |
-
|
1086 |
-
}
|
1087 |
-
|
1088 |
-
return options;
|
1089 |
-
|
1090 |
-
});
|
1091 |
-
|
1092 |
-
/**
|
1093 |
-
* Fields: Select2 - Args Variations
|
1094 |
-
*/
|
1095 |
-
acf.addFilter('select2_args', function(options, $select, data, field, instance){
|
1096 |
-
|
1097 |
-
options = acf.applyFilters('select2_args/type=' + field.get('type'), options, $select, data, field, instance);
|
1098 |
-
options = acf.applyFilters('select2_args/name=' + field.get('name'), options, $select, data, field, instance);
|
1099 |
-
options = acf.applyFilters('select2_args/key=' + field.get('key'), options, $select, data, field, instance);
|
1100 |
-
|
1101 |
-
return options;
|
1102 |
-
|
1103 |
-
});
|
1104 |
-
|
1105 |
-
/**
|
1106 |
-
* Fields: Select2 - Init Variations
|
1107 |
-
*/
|
1108 |
-
acf.addAction('select2_init', function($select, options, data, field, instance){
|
1109 |
-
|
1110 |
-
acf.doAction('select2_init/type=' + field.get('type'), $select, options, data, field, instance);
|
1111 |
-
acf.doAction('select2_init/name=' + field.get('name'), $select, options, data, field, instance);
|
1112 |
-
acf.doAction('select2_init/key=' + field.get('key'), $select, options, data, field, instance);
|
1113 |
-
|
1114 |
-
});
|
1115 |
-
|
1116 |
-
/**
|
1117 |
-
* Fields: Select2 - Ajax Data Variations
|
1118 |
-
*/
|
1119 |
-
acf.addFilter('select2_ajax_data', function(ajaxData, data, $el, field, instance){
|
1120 |
-
|
1121 |
-
ajaxData = acf.applyFilters('select2_ajax_data/type=' + field.get('type'), ajaxData, data, $el, field, instance);
|
1122 |
-
ajaxData = acf.applyFilters('select2_ajax_data/name=' + field.get('name'), ajaxData, data, $el, field, instance);
|
1123 |
-
ajaxData = acf.applyFilters('select2_ajax_data/key=' + field.get('key'), ajaxData, data, $el, field, instance);
|
1124 |
-
|
1125 |
-
if(ajaxData.action){
|
1126 |
-
|
1127 |
-
ajaxData = acf.applyFilters('select2_ajax_data/action=' + ajaxData.action, ajaxData, data, $el, field, instance);
|
1128 |
-
|
1129 |
-
}
|
1130 |
-
|
1131 |
-
return ajaxData;
|
1132 |
-
|
1133 |
-
});
|
1134 |
-
|
1135 |
-
/**
|
1136 |
-
* Field Conditions: Datepicker
|
1137 |
-
*/
|
1138 |
-
acf.registerConditionForFieldType('equalTo', 'date_picker');
|
1139 |
-
acf.registerConditionForFieldType('notEqualTo', 'date_picker');
|
1140 |
-
acf.registerConditionForFieldType('patternMatch', 'date_picker');
|
1141 |
-
acf.registerConditionForFieldType('contains', 'date_picker');
|
1142 |
-
acf.registerConditionForFieldType('greaterThan', 'date_picker');
|
1143 |
-
acf.registerConditionForFieldType('lessThan', 'date_picker');
|
1144 |
-
|
1145 |
-
/**
|
1146 |
-
* Field Conditions: Forms
|
1147 |
-
*/
|
1148 |
-
acf.registerConditionForFieldType('equalTo', 'acfe_forms');
|
1149 |
-
acf.registerConditionForFieldType('notEqualTo', 'acfe_forms');
|
1150 |
-
acf.registerConditionForFieldType('patternMatch', 'acfe_forms');
|
1151 |
-
acf.registerConditionForFieldType('contains', 'acfe_forms');
|
1152 |
-
acf.registerConditionForFieldType('hasValue', 'acfe_forms');
|
1153 |
-
acf.registerConditionForFieldType('hasNoValue', 'acfe_forms');
|
1154 |
-
|
1155 |
-
/**
|
1156 |
-
* Field Conditions: Post Status
|
1157 |
-
*/
|
1158 |
-
acf.registerConditionForFieldType('equalTo', 'acfe_post_statuses');
|
1159 |
-
acf.registerConditionForFieldType('notEqualTo', 'acfe_post_statuses');
|
1160 |
-
acf.registerConditionForFieldType('patternMatch', 'acfe_post_statuses');
|
1161 |
-
acf.registerConditionForFieldType('contains', 'acfe_post_statuses');
|
1162 |
-
acf.registerConditionForFieldType('hasValue', 'acfe_post_statuses');
|
1163 |
-
acf.registerConditionForFieldType('hasNoValue', 'acfe_post_statuses');
|
1164 |
-
|
1165 |
-
/**
|
1166 |
-
* Field Conditions: Post Types
|
1167 |
-
*/
|
1168 |
-
acf.registerConditionForFieldType('equalTo', 'acfe_post_types');
|
1169 |
-
acf.registerConditionForFieldType('notEqualTo', 'acfe_post_types');
|
1170 |
-
acf.registerConditionForFieldType('patternMatch', 'acfe_post_types');
|
1171 |
-
acf.registerConditionForFieldType('contains', 'acfe_post_types');
|
1172 |
-
acf.registerConditionForFieldType('hasValue', 'acfe_post_types');
|
1173 |
-
acf.registerConditionForFieldType('hasNoValue', 'acfe_post_types');
|
1174 |
-
|
1175 |
-
/**
|
1176 |
-
* Field Conditions: Taxonomies
|
1177 |
-
*/
|
1178 |
-
acf.registerConditionForFieldType('equalTo', 'acfe_taxonomies');
|
1179 |
-
acf.registerConditionForFieldType('notEqualTo', 'acfe_taxonomies');
|
1180 |
-
acf.registerConditionForFieldType('patternMatch', 'acfe_taxonomies');
|
1181 |
-
acf.registerConditionForFieldType('contains', 'acfe_taxonomies');
|
1182 |
-
acf.registerConditionForFieldType('hasValue', 'acfe_taxonomies');
|
1183 |
-
acf.registerConditionForFieldType('hasNoValue', 'acfe_taxonomies');
|
1184 |
-
|
1185 |
-
/**
|
1186 |
-
* Field Conditions: Taxonomy Terms
|
1187 |
-
*/
|
1188 |
-
acf.registerConditionForFieldType('equalTo', 'acfe_taxonomy_terms');
|
1189 |
-
acf.registerConditionForFieldType('notEqualTo', 'acfe_taxonomy_terms');
|
1190 |
-
acf.registerConditionForFieldType('patternMatch', 'acfe_taxonomy_terms');
|
1191 |
-
acf.registerConditionForFieldType('contains', 'acfe_taxonomy_terms');
|
1192 |
-
acf.registerConditionForFieldType('hasValue', 'acfe_taxonomy_terms');
|
1193 |
-
acf.registerConditionForFieldType('hasNoValue', 'acfe_taxonomy_terms');
|
1194 |
-
|
1195 |
-
/**
|
1196 |
-
* Field Conditions: User Roles
|
1197 |
-
*/
|
1198 |
-
acf.registerConditionForFieldType('equalTo', 'acfe_user_roles');
|
1199 |
-
acf.registerConditionForFieldType('notEqualTo', 'acfe_user_roles');
|
1200 |
-
acf.registerConditionForFieldType('patternMatch', 'acfe_user_roles');
|
1201 |
-
acf.registerConditionForFieldType('contains', 'acfe_user_roles');
|
1202 |
-
acf.registerConditionForFieldType('hasValue', 'acfe_user_roles');
|
1203 |
-
acf.registerConditionForFieldType('hasNoValue', 'acfe_user_roles');
|
1204 |
-
|
1205 |
-
/**
|
1206 |
-
* Module: Author
|
1207 |
-
*/
|
1208 |
-
acf.add_action('new_field/name=acfe_author', function(field){
|
1209 |
-
|
1210 |
-
field.on('change', function(e){
|
1211 |
-
|
1212 |
-
e.stopPropagation();
|
1213 |
-
|
1214 |
-
});
|
1215 |
-
|
1216 |
-
});
|
1217 |
-
|
1218 |
-
/**
|
1219 |
-
* Module: Dynamic Forms - Fields Mapping
|
1220 |
-
*/
|
1221 |
-
var acfe_form_map_fields = function(field){
|
1222 |
-
|
1223 |
-
var name = field.get('name');
|
1224 |
-
var $layout = field.$el.closest('.layout');
|
1225 |
-
var $message = $layout.find('> .acf-fields > .acf-field[data-name="' + name + '_message"] > .acf-input');
|
1226 |
-
|
1227 |
-
var selected = field.$input().find('option:selected').text();
|
1228 |
-
|
1229 |
-
if(selected.length){
|
1230 |
-
$message.html(selected);
|
1231 |
-
}
|
1232 |
-
|
1233 |
-
field.$input().on('change', function(){
|
1234 |
-
|
1235 |
-
// Message
|
1236 |
-
var text = $(this).find('option:selected').text();
|
1237 |
-
|
1238 |
-
$message.html(text);
|
1239 |
-
|
1240 |
-
});
|
1241 |
-
|
1242 |
-
};
|
1243 |
-
|
1244 |
-
acf.addAction('new_field/name=acfe_form_post_map_target', acfe_form_map_fields);
|
1245 |
-
acf.addAction('new_field/name=acfe_form_post_map_post_type', acfe_form_map_fields);
|
1246 |
-
acf.addAction('new_field/name=acfe_form_post_map_post_status', acfe_form_map_fields);
|
1247 |
-
acf.addAction('new_field/name=acfe_form_post_map_post_title', acfe_form_map_fields);
|
1248 |
-
acf.addAction('new_field/name=acfe_form_post_map_post_name', acfe_form_map_fields);
|
1249 |
-
acf.addAction('new_field/name=acfe_form_post_map_post_content', acfe_form_map_fields);
|
1250 |
-
acf.addAction('new_field/name=acfe_form_post_map_post_author', acfe_form_map_fields);
|
1251 |
-
acf.addAction('new_field/name=acfe_form_post_map_post_parent', acfe_form_map_fields);
|
1252 |
-
acf.addAction('new_field/name=acfe_form_post_map_post_terms', acfe_form_map_fields);
|
1253 |
-
|
1254 |
-
acf.addAction('new_field/name=acfe_form_user_map_email', acfe_form_map_fields);
|
1255 |
-
acf.addAction('new_field/name=acfe_form_user_map_username', acfe_form_map_fields);
|
1256 |
-
acf.addAction('new_field/name=acfe_form_user_map_password', acfe_form_map_fields);
|
1257 |
-
acf.addAction('new_field/name=acfe_form_user_map_first_name', acfe_form_map_fields);
|
1258 |
-
acf.addAction('new_field/name=acfe_form_user_map_last_name', acfe_form_map_fields);
|
1259 |
-
acf.addAction('new_field/name=acfe_form_user_map_nickname', acfe_form_map_fields);
|
1260 |
-
acf.addAction('new_field/name=acfe_form_user_map_display_name', acfe_form_map_fields);
|
1261 |
-
acf.addAction('new_field/name=acfe_form_user_map_website', acfe_form_map_fields);
|
1262 |
-
acf.addAction('new_field/name=acfe_form_user_map_description', acfe_form_map_fields);
|
1263 |
-
acf.addAction('new_field/name=acfe_form_user_map_role', acfe_form_map_fields);
|
1264 |
-
|
1265 |
-
acf.addAction('new_field/name=acfe_form_term_map_name', acfe_form_map_fields);
|
1266 |
-
acf.addAction('new_field/name=acfe_form_term_map_slug', acfe_form_map_fields);
|
1267 |
-
acf.addAction('new_field/name=acfe_form_term_map_taxonomy', acfe_form_map_fields);
|
1268 |
-
acf.addAction('new_field/name=acfe_form_term_map_parent', acfe_form_map_fields);
|
1269 |
-
acf.addAction('new_field/name=acfe_form_term_map_description', acfe_form_map_fields);
|
1270 |
-
|
1271 |
-
/**
|
1272 |
-
* Module: Dynamic Forms (actions)
|
1273 |
-
*/
|
1274 |
-
acf.addAction('new_field/name=acfe_form_actions', function(field){
|
1275 |
-
|
1276 |
-
var $tab = $('a[data-key=field_acfe_form_tab_actions]');
|
1277 |
-
|
1278 |
-
var $layouts = field.$layouts();
|
1279 |
-
|
1280 |
-
$tab.html('Actions <span class="acfe-tab-badge">' + $layouts.length + '</span>');
|
1281 |
-
|
1282 |
-
field.on('change', function(){
|
1283 |
-
|
1284 |
-
var $layouts = field.$layouts();
|
1285 |
-
|
1286 |
-
$tab.html('Actions <span class="acfe-tab-badge">' + $layouts.length + '</span>');
|
1287 |
-
|
1288 |
-
});
|
1289 |
-
|
1290 |
-
field.on('click', '[data-name="add-layout"]', function(e){
|
1291 |
-
|
1292 |
-
$('body').find('.acf-fc-popup').addClass('acfe-fc-popup-grey');
|
1293 |
-
|
1294 |
-
});
|
1295 |
-
|
1296 |
-
});
|
1297 |
-
|
1298 |
-
var acfe_tab_forget_tab_preference = function(field){
|
1299 |
-
|
1300 |
-
var $tabs = field.findTabs();
|
1301 |
-
var tabs = acf.getInstances($tabs);
|
1302 |
-
var key = field.get('key');
|
1303 |
-
|
1304 |
-
if(tabs.length){
|
1305 |
-
|
1306 |
-
var preference = acf.getPreference('this.tabs');
|
1307 |
-
|
1308 |
-
if(!preference)
|
1309 |
-
return;
|
1310 |
-
|
1311 |
-
$.each(tabs, function(){
|
1312 |
-
|
1313 |
-
var group = this;
|
1314 |
-
var groupIndex = group.get('index');
|
1315 |
-
|
1316 |
-
if(group.data.key === key){
|
1317 |
-
preference[groupIndex] = 0;
|
1318 |
-
}
|
1319 |
-
|
1320 |
-
});
|
1321 |
-
|
1322 |
-
// update
|
1323 |
-
acf.setPreference('this.tabs', preference);
|
1324 |
-
|
1325 |
-
}
|
1326 |
-
|
1327 |
-
};
|
1328 |
-
|
1329 |
-
acf.addAction('prepare_field/key=field_acfe_form_custom_action_tab_action', acfe_tab_forget_tab_preference);
|
1330 |
-
acf.addAction('prepare_field/key=field_acfe_form_email_tab_action', acfe_tab_forget_tab_preference);
|
1331 |
-
acf.addAction('prepare_field/key=field_acfe_form_post_tab_action', acfe_tab_forget_tab_preference);
|
1332 |
-
acf.addAction('prepare_field/key=field_acfe_form_term_tab_action', acfe_tab_forget_tab_preference);
|
1333 |
-
acf.addAction('prepare_field/key=field_acfe_form_user_tab_action', acfe_tab_forget_tab_preference);
|
1334 |
-
|
1335 |
-
acf.addAction('prepare_field/key=field_acfe_dpt_tab_general', acfe_tab_forget_tab_preference);
|
1336 |
-
acf.addAction('prepare_field/key=field_acfe_dt_tab_general', acfe_tab_forget_tab_preference);
|
1337 |
-
|
1338 |
-
acf.addAction('show_postbox', function(postbox){
|
1339 |
-
postbox.$el.removeClass('acfe-postbox-left acfe-postbox-top');
|
1340 |
-
});
|
1341 |
-
|
1342 |
-
// Allow conditions to work within wrapped div
|
1343 |
-
acf.newCondition = function( rule, conditions ){
|
1344 |
-
|
1345 |
-
// currently setting up conditions for fieldX, this field is the 'target'
|
1346 |
-
var target = conditions.get('field');
|
1347 |
-
|
1348 |
-
// use the 'target' to find the 'trigger' field.
|
1349 |
-
// - this field is used to setup the conditional logic events
|
1350 |
-
var field = target.getField( rule.field );
|
1351 |
-
|
1352 |
-
// ACF Extended: Check in all form if targeted field not found
|
1353 |
-
if( target && !field ) {
|
1354 |
-
|
1355 |
-
field = acf.getField( rule.field );
|
1356 |
-
|
1357 |
-
}
|
1358 |
-
|
1359 |
-
// bail ealry if no target or no field (possible if field doesn't exist due to HTML error)
|
1360 |
-
if( !target || !field ) {
|
1361 |
-
return false;
|
1362 |
-
}
|
1363 |
-
|
1364 |
-
// vars
|
1365 |
-
var args = {
|
1366 |
-
rule: rule,
|
1367 |
-
target: target,
|
1368 |
-
conditions: conditions,
|
1369 |
-
field: field
|
1370 |
-
};
|
1371 |
-
|
1372 |
-
// vars
|
1373 |
-
var fieldType = field.get('type');
|
1374 |
-
var operator = rule.operator;
|
1375 |
-
|
1376 |
-
// get avaibale conditions
|
1377 |
-
var conditionTypes = acf.getConditionTypes({
|
1378 |
-
fieldType: fieldType,
|
1379 |
-
operator: operator,
|
1380 |
-
});
|
1381 |
-
|
1382 |
-
// instantiate
|
1383 |
-
var model = conditionTypes[0] || acf.Condition;
|
1384 |
-
|
1385 |
-
// instantiate
|
1386 |
-
var condition = new model( args );
|
1387 |
-
|
1388 |
-
// return
|
1389 |
-
return condition;
|
1390 |
-
|
1391 |
-
};
|
1392 |
-
|
1393 |
-
/**
|
1394 |
-
* Field: Checkbox
|
1395 |
-
*/
|
1396 |
-
acf.addAction('new_field/type=checkbox', function(field){
|
1397 |
-
|
1398 |
-
if(!field.has('acfeLabels'))
|
1399 |
-
return;
|
1400 |
-
|
1401 |
-
$.each(field.get('acfeLabels'), function(group, key){
|
1402 |
-
|
1403 |
-
field.$control().find('input[type=checkbox][value="' + key + '"]').closest('ul').before('<strong>' + group + '</strong>');
|
1404 |
-
|
1405 |
-
});
|
1406 |
-
|
1407 |
-
});
|
1408 |
-
|
1409 |
-
/**
|
1410 |
-
* Field: Radio
|
1411 |
-
*/
|
1412 |
-
acf.addAction('new_field/type=radio', function(field){
|
1413 |
-
|
1414 |
-
if(!field.has('acfeLabels'))
|
1415 |
-
return;
|
1416 |
-
|
1417 |
-
$.each(field.get('acfeLabels'), function(group, key){
|
1418 |
-
|
1419 |
-
field.$control().find('input[type=radio][value="' + key + '"]').closest('li').addClass('parent').prepend('<strong>' + group + '</strong>');
|
1420 |
-
|
1421 |
-
});
|
1422 |
-
|
1423 |
-
if(field.$control().hasClass('acf-hl')){
|
1424 |
-
|
1425 |
-
field.$control().find('li.parent').each(function(){
|
1426 |
-
|
1427 |
-
$(this).nextUntil('li.parent').addBack().wrapAll('<li><ul></ul></li>');
|
1428 |
-
|
1429 |
-
});
|
1430 |
-
|
1431 |
-
}
|
1432 |
-
|
1433 |
-
});
|
1434 |
-
|
1435 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/acf-extended-form.js
DELETED
@@ -1,171 +0,0 @@
|
|
1 |
-
(function($){
|
2 |
-
|
3 |
-
if(typeof acf === 'undefined')
|
4 |
-
return;
|
5 |
-
|
6 |
-
acf.addAction('prepare', function(){
|
7 |
-
|
8 |
-
if($('.acfe-form[data-hide-unload="1"]').length){
|
9 |
-
|
10 |
-
acf.unload.disable();
|
11 |
-
|
12 |
-
}
|
13 |
-
|
14 |
-
if($('.acfe-form-success').length){
|
15 |
-
|
16 |
-
if(window.history.replaceState){
|
17 |
-
window.history.replaceState(null, null, window.location.href);
|
18 |
-
}
|
19 |
-
|
20 |
-
$('.acfe-form-success').each(function(){
|
21 |
-
|
22 |
-
var form_name = $(this).data('form-name');
|
23 |
-
var form_id = $(this).data('form-id');
|
24 |
-
|
25 |
-
acf.doAction('acfe/form/submit/success');
|
26 |
-
acf.doAction('acfe/form/submit/success/id=' + form_id);
|
27 |
-
acf.doAction('acfe/form/submit/success/name=' + form_name);
|
28 |
-
|
29 |
-
});
|
30 |
-
|
31 |
-
}
|
32 |
-
|
33 |
-
});
|
34 |
-
|
35 |
-
// Datepicker: Add field class
|
36 |
-
acf.addAction('new_field/type=date_picker', function(field){
|
37 |
-
|
38 |
-
var $form = field.$el.closest('.acfe-form');
|
39 |
-
|
40 |
-
if(!$form.length)
|
41 |
-
return;
|
42 |
-
|
43 |
-
var field_class = $form.data('fields-class');
|
44 |
-
|
45 |
-
if(field_class)
|
46 |
-
field.$inputText().addClass(field_class);
|
47 |
-
|
48 |
-
});
|
49 |
-
|
50 |
-
// Google Maps: Add field class
|
51 |
-
acf.addAction('new_field/type=google_map', function(field){
|
52 |
-
|
53 |
-
var $form = field.$el.closest('.acfe-form');
|
54 |
-
|
55 |
-
if(!$form.length)
|
56 |
-
return;
|
57 |
-
|
58 |
-
var field_class = $form.data('fields-class');
|
59 |
-
|
60 |
-
if(field_class)
|
61 |
-
field.$search().addClass(field_class);
|
62 |
-
|
63 |
-
});
|
64 |
-
|
65 |
-
// Error: Move error
|
66 |
-
acf.addAction('invalid_field', function(field){
|
67 |
-
|
68 |
-
var $form = field.$el.closest('.acfe-form');
|
69 |
-
|
70 |
-
if(!$form.length)
|
71 |
-
return;
|
72 |
-
|
73 |
-
var errors_position = $form.data('errors-position');
|
74 |
-
var errors_class = $form.data('errors-class');
|
75 |
-
|
76 |
-
// Class
|
77 |
-
if(errors_class && errors_class.length){
|
78 |
-
|
79 |
-
field.$el.find('.acf-notice.-error').addClass(errors_class);
|
80 |
-
|
81 |
-
}
|
82 |
-
|
83 |
-
// Move below
|
84 |
-
if(errors_position && errors_position === 'below'){
|
85 |
-
|
86 |
-
if(field.$control().length){
|
87 |
-
|
88 |
-
field.$el.find('.acf-notice.-error').insertAfter(field.$control());
|
89 |
-
|
90 |
-
}else if(field.$input().length){
|
91 |
-
|
92 |
-
field.$el.find('.acf-notice.-error').insertAfter(field.$input());
|
93 |
-
|
94 |
-
}
|
95 |
-
|
96 |
-
var $selector = false;
|
97 |
-
|
98 |
-
if(field.$control().length){
|
99 |
-
|
100 |
-
$selector = field.$control();
|
101 |
-
|
102 |
-
}else if(field.$input().length){
|
103 |
-
|
104 |
-
$selector = field.$input();
|
105 |
-
|
106 |
-
}
|
107 |
-
|
108 |
-
if($selector)
|
109 |
-
field.$el.find('.acf-notice.-error').insertAfter($selector);
|
110 |
-
|
111 |
-
}
|
112 |
-
|
113 |
-
// Group errors
|
114 |
-
else if(errors_position && errors_position === 'group'){
|
115 |
-
|
116 |
-
var label = field.$el.find('.acf-label label').text().trim();
|
117 |
-
var placeholder = field.$el.find('.acf-input-wrap [placeholder!=""]').attr('placeholder');
|
118 |
-
var message = field.$el.find('.acf-notice.-error').text().trim();
|
119 |
-
|
120 |
-
field.$el.find('.acf-notice.-error').remove();
|
121 |
-
|
122 |
-
// Try label
|
123 |
-
if(label && label.length && label !== '*'){
|
124 |
-
|
125 |
-
message = label + ': ' + message;
|
126 |
-
|
127 |
-
}
|
128 |
-
|
129 |
-
// Try placeholder
|
130 |
-
else if(placeholder && placeholder.length && placeholder !== ''){
|
131 |
-
|
132 |
-
message = placeholder + ': ' + message;
|
133 |
-
|
134 |
-
}
|
135 |
-
|
136 |
-
// If everything fails, use field name
|
137 |
-
else{
|
138 |
-
|
139 |
-
message = field.get('name') + ': ' + message;
|
140 |
-
|
141 |
-
}
|
142 |
-
|
143 |
-
var $form_error = $form.find('> .acfe-form-error')
|
144 |
-
|
145 |
-
if(!$form_error.length)
|
146 |
-
$form_error = $('<div class="acf-notice -error acf-error-message acfe-form-error" />').prependTo($form);
|
147 |
-
|
148 |
-
$form_error.append('<p>' + message + '</p>');
|
149 |
-
|
150 |
-
}
|
151 |
-
|
152 |
-
// Hide errors
|
153 |
-
else if(errors_position && errors_position === 'hide'){
|
154 |
-
|
155 |
-
field.$el.find('.acf-notice.-error').remove();
|
156 |
-
|
157 |
-
}
|
158 |
-
|
159 |
-
});
|
160 |
-
|
161 |
-
// Remove error message on validation
|
162 |
-
acf.addAction('validation_begin', function($form){
|
163 |
-
|
164 |
-
if(typeof $form === 'undefined')
|
165 |
-
return;
|
166 |
-
|
167 |
-
$form.find('.acf-error-message').remove();
|
168 |
-
|
169 |
-
});
|
170 |
-
|
171 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/acf-extended-modal.css
DELETED
@@ -1,607 +0,0 @@
|
|
1 |
-
/*
|
2 |
-
* ACFE Modal Body
|
3 |
-
*/
|
4 |
-
body.acfe-modal-opened{
|
5 |
-
overflow:hidden;
|
6 |
-
}
|
7 |
-
|
8 |
-
/*
|
9 |
-
* ACFE Modal Overlay
|
10 |
-
*/
|
11 |
-
.acfe-modal-overlay{
|
12 |
-
background:rgba(0,0,0,.7);
|
13 |
-
position:fixed;
|
14 |
-
top:0;
|
15 |
-
left:0;
|
16 |
-
right:0;
|
17 |
-
bottom:0;
|
18 |
-
height:100%;
|
19 |
-
width:100%;
|
20 |
-
z-index:100000;
|
21 |
-
}
|
22 |
-
|
23 |
-
/*
|
24 |
-
* ACFE Modal
|
25 |
-
*/
|
26 |
-
.acfe-modal{
|
27 |
-
display:none;
|
28 |
-
-webkit-transition: all 0.3s ease-in-out;
|
29 |
-
-o-transition: all 0.3s ease-in-out;
|
30 |
-
transition: all 0.3s ease-in-out;
|
31 |
-
}
|
32 |
-
|
33 |
-
.acfe-modal.-open{
|
34 |
-
position:fixed;
|
35 |
-
z-index:100001;
|
36 |
-
height:100%;
|
37 |
-
width:100%;
|
38 |
-
top:0;
|
39 |
-
left:0;
|
40 |
-
bottom:0;
|
41 |
-
right:0;
|
42 |
-
-webkit-font-smoothing: subpixel-antialiased;
|
43 |
-
|
44 |
-
display: -webkit-box;
|
45 |
-
display: -ms-flexbox;
|
46 |
-
display: flex;
|
47 |
-
-webkit-box-orient: vertical;
|
48 |
-
-webkit-box-direction: normal;
|
49 |
-
-ms-flex-direction: column;
|
50 |
-
flex-direction: column;
|
51 |
-
-webkit-box-pack: center;
|
52 |
-
-ms-flex-pack: center;
|
53 |
-
justify-content: center;
|
54 |
-
-webkit-box-align: center;
|
55 |
-
-ms-flex-align: center;
|
56 |
-
align-items: center;
|
57 |
-
|
58 |
-
pointer-events:none;
|
59 |
-
}
|
60 |
-
|
61 |
-
/*
|
62 |
-
* ACFE Modal: Wrapper
|
63 |
-
*/
|
64 |
-
.acfe-modal.-open > .acfe-modal-wrapper{
|
65 |
-
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.7);
|
66 |
-
display: -webkit-box;
|
67 |
-
display: -ms-flexbox;
|
68 |
-
display: flex;
|
69 |
-
-webkit-box-orient: vertical;
|
70 |
-
-webkit-box-direction: normal;
|
71 |
-
-ms-flex-direction: column;
|
72 |
-
flex-direction: column;
|
73 |
-
|
74 |
-
width: calc(100vw - 60px);
|
75 |
-
max-width:1100px;
|
76 |
-
max-height: calc(100vh - 60px);
|
77 |
-
position:relative;
|
78 |
-
}
|
79 |
-
|
80 |
-
.acfe-modal.-open.acfe-modal-sub > .acfe-modal-wrapper > .acfe-modal-wrapper-overlay{
|
81 |
-
position:absolute;
|
82 |
-
z-index:10;
|
83 |
-
background:rgba(0,0,0,0.7);
|
84 |
-
height:100%;
|
85 |
-
width:100%;
|
86 |
-
pointer-events:none;
|
87 |
-
}
|
88 |
-
|
89 |
-
/*
|
90 |
-
* ACFE Modal: Sizes
|
91 |
-
*/
|
92 |
-
.acfe-modal.-open.-small > .acfe-modal-wrapper{
|
93 |
-
max-width:450px;
|
94 |
-
}
|
95 |
-
|
96 |
-
.acfe-modal.-open.-medium > .acfe-modal-wrapper{
|
97 |
-
max-width:700px;
|
98 |
-
}
|
99 |
-
|
100 |
-
.acfe-modal.-open.-large > .acfe-modal-wrapper{
|
101 |
-
max-width:1100px;
|
102 |
-
}
|
103 |
-
|
104 |
-
.acfe-modal.-open.-xlarge > .acfe-modal-wrapper{
|
105 |
-
max-width:1400px;
|
106 |
-
}
|
107 |
-
|
108 |
-
.acfe-modal.-open.-full > .acfe-modal-wrapper{
|
109 |
-
max-width:100%;
|
110 |
-
-webkit-box-flex: 1;
|
111 |
-
-ms-flex: 1;
|
112 |
-
flex: 1;
|
113 |
-
}
|
114 |
-
|
115 |
-
/*
|
116 |
-
* ACFE Modal Full: Fix left fields background
|
117 |
-
*/
|
118 |
-
.acfe-modal.-open.-full > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields.-left {
|
119 |
-
height:100%;
|
120 |
-
}
|
121 |
-
|
122 |
-
.acfe-modal.-open.-full > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields.-left:before {
|
123 |
-
content: "";
|
124 |
-
display: block;
|
125 |
-
position: absolute;
|
126 |
-
z-index: 0;
|
127 |
-
background: #F9F9F9;
|
128 |
-
border-color: #E1E1E1;
|
129 |
-
border-style: solid;
|
130 |
-
border-width: 0 1px 0 0;
|
131 |
-
top: 0;
|
132 |
-
bottom: 0;
|
133 |
-
left: 0;
|
134 |
-
width: 20%;
|
135 |
-
}
|
136 |
-
|
137 |
-
/*
|
138 |
-
* ACFE Modal Full: Fix Layout Settings background
|
139 |
-
*/
|
140 |
-
.acfe-modal.-settings.-open.-full > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields,
|
141 |
-
.acfe-modal.-settings.-open.-full > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields > .acf-field-clone,
|
142 |
-
.acfe-modal.-settings.-open.-full > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields > .acf-field-clone > .acf-input,
|
143 |
-
.acfe-modal.-settings.-open.-full > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields > .acf-field-clone > .acf-input > .acf-clone-fields.acf-fields.-left{
|
144 |
-
height:100%;
|
145 |
-
}
|
146 |
-
|
147 |
-
.acfe-modal.-settings.-open.-full > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields > .acf-field-clone{
|
148 |
-
padding:0;
|
149 |
-
}
|
150 |
-
|
151 |
-
.acfe-modal.-settings.-open.-full > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields > .acf-field-clone > .acf-input{
|
152 |
-
margin:0;
|
153 |
-
}
|
154 |
-
|
155 |
-
.acfe-modal.-settings.-open.-full > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields > .acf-field-clone > .acf-input > .acf-clone-fields.acf-fields.-left:before {
|
156 |
-
content: "";
|
157 |
-
display: block;
|
158 |
-
position: absolute;
|
159 |
-
z-index: 0;
|
160 |
-
background: #F9F9F9;
|
161 |
-
border-color: #E1E1E1;
|
162 |
-
border-style: solid;
|
163 |
-
border-width: 0 1px 0 0;
|
164 |
-
top: 0;
|
165 |
-
bottom: 0;
|
166 |
-
left: 0;
|
167 |
-
width: 20%;
|
168 |
-
}
|
169 |
-
|
170 |
-
/*
|
171 |
-
* ACFE Modal Title
|
172 |
-
*/
|
173 |
-
.acfe-modal.-open >.acfe-modal-title,
|
174 |
-
.acfe-modal.-open .acfe-modal-title *{
|
175 |
-
-webkit-box-sizing:border-box;
|
176 |
-
box-sizing:border-box;
|
177 |
-
}
|
178 |
-
|
179 |
-
.acfe-modal.-open .acfe-modal-title{
|
180 |
-
display:block;
|
181 |
-
height: 50px;
|
182 |
-
line-height: 50px;
|
183 |
-
font-size: 22px;
|
184 |
-
color: #23282d;
|
185 |
-
border-bottom: 1px solid #ddd;
|
186 |
-
text-overflow: ellipsis;
|
187 |
-
background: #fcfcfc;
|
188 |
-
padding: 0 0 0 16px;
|
189 |
-
position:relative;
|
190 |
-
text-align:left;
|
191 |
-
pointer-events: auto;
|
192 |
-
}
|
193 |
-
|
194 |
-
.acfe-modal.-open.acfe-modal-sub > .acfe-modal-wrapper > .acfe-modal-title{
|
195 |
-
pointer-events: none;
|
196 |
-
}
|
197 |
-
|
198 |
-
.acfe-modal.-open .acfe-modal-title > span.title{
|
199 |
-
line-height: 50px;
|
200 |
-
color: #23282d;
|
201 |
-
font-weight: 600;
|
202 |
-
}
|
203 |
-
|
204 |
-
.acfe-modal.-open .acfe-modal-title > span.title .acf-fc-layout-order{
|
205 |
-
width: 30px;
|
206 |
-
height: 30px;
|
207 |
-
border-radius: 30px;
|
208 |
-
display: inline-block;
|
209 |
-
text-align: center;
|
210 |
-
line-height: 30px;
|
211 |
-
margin: 0 2px 0 0;
|
212 |
-
background: #F1F1F1;
|
213 |
-
font-size: 14px;
|
214 |
-
color: #666;
|
215 |
-
vertical-align: 2px;
|
216 |
-
}
|
217 |
-
|
218 |
-
.acfe-modal.-open .acfe-modal-title > button.close{
|
219 |
-
height: 50px;
|
220 |
-
width: 50px;
|
221 |
-
color: #666;
|
222 |
-
border:0;
|
223 |
-
border-left: 0;
|
224 |
-
margin: 0;
|
225 |
-
padding:0;
|
226 |
-
border-radius: 0;
|
227 |
-
position: absolute;
|
228 |
-
top:0;
|
229 |
-
right:0;
|
230 |
-
transition: color .1s ease-in-out, background .1s ease-in-out;
|
231 |
-
background:none;
|
232 |
-
cursor:pointer;
|
233 |
-
margin: 0;
|
234 |
-
}
|
235 |
-
|
236 |
-
.acfe-modal.-open .acfe-modal-title > button.close:hover{
|
237 |
-
color: #00a0d2;
|
238 |
-
}
|
239 |
-
|
240 |
-
.acfe-modal.-open .acfe-modal-title > button.close:before{
|
241 |
-
height: 50px;
|
242 |
-
width: 50px;
|
243 |
-
line-height: 50px !important;
|
244 |
-
font: normal 20px/1 dashicons;
|
245 |
-
content: "\f158";
|
246 |
-
margin: 0;
|
247 |
-
padding:0;
|
248 |
-
}
|
249 |
-
|
250 |
-
/*
|
251 |
-
* ACFE Modal Content
|
252 |
-
*/
|
253 |
-
.acfe-modal.-open .acfe-modal-content{
|
254 |
-
height:100%;
|
255 |
-
background:#fff;
|
256 |
-
display:block;
|
257 |
-
position:relative;
|
258 |
-
pointer-events: auto;
|
259 |
-
overflow:auto;
|
260 |
-
}
|
261 |
-
|
262 |
-
.acfe-modal.-open.-iframe .acfe-modal-content{
|
263 |
-
overflow:hidden;
|
264 |
-
}
|
265 |
-
|
266 |
-
.acfe-modal.-open.acfe-modal-sub > .acfe-modal-wrapper > .acfe-modal-content{
|
267 |
-
pointer-events: none;
|
268 |
-
}
|
269 |
-
|
270 |
-
/*
|
271 |
-
* ACFE Modal Content: Tabs
|
272 |
-
*/
|
273 |
-
.acfe-modal.-open .acfe-modal-content .nav-tab-wrapper{
|
274 |
-
padding:0;
|
275 |
-
margin:0;
|
276 |
-
border-bottom:1px solid #ddd;
|
277 |
-
}
|
278 |
-
|
279 |
-
.acfe-modal.-open .acfe-modal-content .nav-tab-wrapper a{
|
280 |
-
margin:0;
|
281 |
-
border-left:0;
|
282 |
-
border-top:0;
|
283 |
-
border-bottom:0;
|
284 |
-
background:#fff;
|
285 |
-
transition:color .1s ease-in-out, background .1s ease-in-out;
|
286 |
-
padding:7px 15px;
|
287 |
-
border-color:#ddd;
|
288 |
-
}
|
289 |
-
|
290 |
-
.acfe-modal.-open .acfe-modal-content .nav-tab-wrapper a span.dashicons-menu{
|
291 |
-
line-height:27px;
|
292 |
-
}
|
293 |
-
|
294 |
-
.acfe-modal.-open > .acfe-modal-content .nav-tab-wrapper a:hover{
|
295 |
-
background:#f9f9f9;
|
296 |
-
color:#23282d;
|
297 |
-
}
|
298 |
-
|
299 |
-
.acfe-modal.-open .acfe-modal-content .nav-tab-wrapper a.nav-tab-active,
|
300 |
-
.acfe-modal.-open .acfe-modal-content .nav-tab-wrapper a.nav-tab-active:hover{
|
301 |
-
background:#fcfcfc;
|
302 |
-
color:#23282d;
|
303 |
-
}
|
304 |
-
|
305 |
-
.acfe-modal.-open .acfe-modal-content .nav-tab:focus,
|
306 |
-
.acfe-modal.-open .acfe-modal-content .nav-tab:focus:active {
|
307 |
-
border-bottom: 0;
|
308 |
-
box-shadow: none;
|
309 |
-
outline:0;
|
310 |
-
}
|
311 |
-
|
312 |
-
/*
|
313 |
-
* ACFE Modal Content: Flex
|
314 |
-
*/
|
315 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flex-container,
|
316 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flex-container *{
|
317 |
-
-webkit-box-sizing:border-box;
|
318 |
-
box-sizing:border-box;
|
319 |
-
}
|
320 |
-
|
321 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flex-container{
|
322 |
-
width: 100%;
|
323 |
-
padding: 14px;
|
324 |
-
margin-right: auto;
|
325 |
-
margin-left: auto;
|
326 |
-
}
|
327 |
-
|
328 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flexible-categories ~ .acfe-flex-container{
|
329 |
-
overflow:auto;
|
330 |
-
height:calc(100% - 39px);
|
331 |
-
}
|
332 |
-
|
333 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul{
|
334 |
-
margin: 0;
|
335 |
-
margin-right: -7px;
|
336 |
-
margin-left: -7px;
|
337 |
-
|
338 |
-
display: -webkit-box;
|
339 |
-
display: -ms-flexbox;
|
340 |
-
display: flex;
|
341 |
-
-ms-flex-wrap: wrap;
|
342 |
-
flex-wrap: wrap;
|
343 |
-
}
|
344 |
-
|
345 |
-
.acfe-modal.-open >.acfe-modal-content .acfe-flex-container ul:after{
|
346 |
-
content:"";
|
347 |
-
clear:both;
|
348 |
-
display:table;
|
349 |
-
}
|
350 |
-
|
351 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li{
|
352 |
-
position: relative;
|
353 |
-
width: 100%;
|
354 |
-
padding-right: 7px;
|
355 |
-
padding-left: 7px;
|
356 |
-
padding-bottom: 14px;
|
357 |
-
margin:0;
|
358 |
-
|
359 |
-
-webkit-box-flex: 0;
|
360 |
-
-ms-flex: 0 0 25%;
|
361 |
-
flex: 0 0 25%;
|
362 |
-
max-width: 25%;
|
363 |
-
}
|
364 |
-
|
365 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a{
|
366 |
-
border:1px solid #ddd;
|
367 |
-
background:#F9F9F9;
|
368 |
-
padding:15px;
|
369 |
-
color:#333;
|
370 |
-
display:block;
|
371 |
-
text-decoration:none;
|
372 |
-
}
|
373 |
-
|
374 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a:hover{
|
375 |
-
background:#007cba;
|
376 |
-
color:#fff;
|
377 |
-
}
|
378 |
-
|
379 |
-
body:not(.acf-admin-5-3) .acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a:hover{
|
380 |
-
background:#0073aa;
|
381 |
-
}
|
382 |
-
|
383 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a span{
|
384 |
-
display:block;
|
385 |
-
font-size:16px;
|
386 |
-
text-align:center;
|
387 |
-
font-weight:600;
|
388 |
-
}
|
389 |
-
|
390 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a span.no-thumbnail{
|
391 |
-
text-align:left;
|
392 |
-
}
|
393 |
-
|
394 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a.disabled{
|
395 |
-
pointer-events:none;
|
396 |
-
opacity:0.67;
|
397 |
-
}
|
398 |
-
|
399 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a.disabled:hover{
|
400 |
-
cursor:default;
|
401 |
-
}
|
402 |
-
|
403 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a.disabled:focus{
|
404 |
-
box-shadow:none;
|
405 |
-
outline:none;
|
406 |
-
}
|
407 |
-
|
408 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-1 ul li{
|
409 |
-
-ms-flex: 0 0 100%;
|
410 |
-
flex: 0 0 100%;
|
411 |
-
max-width: 100%;
|
412 |
-
}
|
413 |
-
|
414 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-2 ul li{
|
415 |
-
-ms-flex: 0 0 50%;
|
416 |
-
flex: 0 0 50%;
|
417 |
-
max-width: 50%;
|
418 |
-
}
|
419 |
-
|
420 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-3 ul li{
|
421 |
-
-ms-flex: 0 0 33.333333%;
|
422 |
-
flex: 0 0 33.333333%;
|
423 |
-
max-width: 33.333333%;
|
424 |
-
}
|
425 |
-
|
426 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-4 ul li{
|
427 |
-
-ms-flex: 0 0 25%;
|
428 |
-
flex: 0 0 25%;
|
429 |
-
max-width: 25%;
|
430 |
-
}
|
431 |
-
|
432 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-5 ul li{
|
433 |
-
-ms-flex: 0 0 20%;
|
434 |
-
flex: 0 0 20%;
|
435 |
-
max-width: 20%;
|
436 |
-
}
|
437 |
-
|
438 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-6 ul li{
|
439 |
-
-ms-flex: 0 0 16.66%;
|
440 |
-
flex: 0 0 16.66%;
|
441 |
-
max-width: 16.66%;
|
442 |
-
}
|
443 |
-
|
444 |
-
@media only screen and (max-width:960px){
|
445 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li{
|
446 |
-
-ms-flex: 0 0 50% !important;
|
447 |
-
flex: 0 0 50% !important;
|
448 |
-
max-width: 50% !important;
|
449 |
-
}
|
450 |
-
|
451 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-1 ul li{
|
452 |
-
-ms-flex: 0 0 100% !important;
|
453 |
-
flex: 0 0 100% !important;
|
454 |
-
max-width: 100% !important;
|
455 |
-
}
|
456 |
-
|
457 |
-
.acfe-modal.-open .acfe-modal-content ul li a{
|
458 |
-
padding:7px;
|
459 |
-
}
|
460 |
-
}
|
461 |
-
|
462 |
-
@media only screen and (max-width:720px){
|
463 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li{
|
464 |
-
-ms-flex: 0 0 100% !important;
|
465 |
-
flex: 0 0 100% !important;
|
466 |
-
max-width: 100% !important;
|
467 |
-
}
|
468 |
-
|
469 |
-
.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-1 ul li{
|
470 |
-
-ms-flex: 0 0 100% !important;
|
471 |
-
flex: 0 0 100% !important;
|
472 |
-
max-width: 100% !important;
|
473 |
-
}
|
474 |
-
}
|
475 |
-
|
476 |
-
/*
|
477 |
-
* ACFE Modal footer
|
478 |
-
*/
|
479 |
-
.acfe-modal.-open .acfe-modal-footer,
|
480 |
-
.acfe-modal.-open .acfe-modal-footer *{
|
481 |
-
-webkit-box-sizing:border-box;
|
482 |
-
box-sizing:border-box;
|
483 |
-
}
|
484 |
-
|
485 |
-
.acfe-modal.-open .acfe-modal-footer{
|
486 |
-
display:block;
|
487 |
-
height: 50px;
|
488 |
-
line-height: 50px;
|
489 |
-
color: #23282d;
|
490 |
-
background: #fcfcfc;
|
491 |
-
padding: 0 16px;
|
492 |
-
position:relative;
|
493 |
-
text-align:right;
|
494 |
-
border-top: 1px solid #ddd;
|
495 |
-
pointer-events: auto;
|
496 |
-
}
|
497 |
-
|
498 |
-
.acfe-modal.-open.acfe-modal-sub > .acfe-modal-wrapper > .acfe-modal-footer{
|
499 |
-
pointer-events: none;
|
500 |
-
}
|
501 |
-
|
502 |
-
.acfe-modal.-open .acfe-modal-footer > button{
|
503 |
-
vertical-align: baseline;
|
504 |
-
}
|
505 |
-
|
506 |
-
/*
|
507 |
-
* ACFE Modal: Gutenberg Fix
|
508 |
-
*/
|
509 |
-
body.block-editor-page .edit-post-layout .acfe-modal.-open{
|
510 |
-
-webkit-box-pack: start;
|
511 |
-
-ms-flex-pack: start;
|
512 |
-
justify-content: start;
|
513 |
-
-webkit-box-align: start;
|
514 |
-
-ms-flex-align: start;
|
515 |
-
align-items: start;
|
516 |
-
}
|
517 |
-
|
518 |
-
body.block-editor-page .edit-post-layout .acfe-modal.-open > .acfe-modal-wrapper{
|
519 |
-
margin-top: 88px;
|
520 |
-
height: 100%;
|
521 |
-
width: 100%;
|
522 |
-
max-height: calc(100vh - 88px);
|
523 |
-
}
|
524 |
-
|
525 |
-
body.block-editor-page .edit-post-layout .acfe-modal.-open > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields.-left {
|
526 |
-
height:100%;
|
527 |
-
}
|
528 |
-
|
529 |
-
body.block-editor-page .edit-post-layout .acfe-modal.-open > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields.-left:before {
|
530 |
-
content: "";
|
531 |
-
display: block;
|
532 |
-
position: absolute;
|
533 |
-
z-index: 0;
|
534 |
-
background: #F9F9F9;
|
535 |
-
border-color: #E1E1E1;
|
536 |
-
border-style: solid;
|
537 |
-
border-width: 0 1px 0 0;
|
538 |
-
top: 0;
|
539 |
-
bottom: 0;
|
540 |
-
left: 0;
|
541 |
-
width: 20%;
|
542 |
-
}
|
543 |
-
|
544 |
-
@media only screen and (max-width: 1080px) {
|
545 |
-
body.block-editor-page .edit-post-layout .acfe-modal.-open > .acfe-modal-wrapper{
|
546 |
-
margin-top: 88px;
|
547 |
-
}
|
548 |
-
}
|
549 |
-
|
550 |
-
body.block-editor-page .edit-post-layout .acfe-modal.-open > .acfe-modal-wrapper{
|
551 |
-
max-width: calc(100vw - 160px);
|
552 |
-
margin-left: 160px;
|
553 |
-
}
|
554 |
-
|
555 |
-
body.block-editor-page .edit-post-layout.is-sidebar-opened .acfe-modal.-open > .acfe-modal-wrapper{
|
556 |
-
max-width: calc(100vw - 440px);
|
557 |
-
}
|
558 |
-
|
559 |
-
|
560 |
-
body.block-editor-page.folded .edit-post-layout .acfe-modal.-open > .acfe-modal-wrapper{
|
561 |
-
max-width: calc(100vw - 36px);
|
562 |
-
margin-left:36px;
|
563 |
-
}
|
564 |
-
|
565 |
-
@media only screen and (max-width: 960px) {
|
566 |
-
body.block-editor-page.auto-fold .edit-post-layout .acfe-modal.-open > .acfe-modal-wrapper{
|
567 |
-
max-width: calc(100vw - 36px);
|
568 |
-
margin-left:36px;
|
569 |
-
}
|
570 |
-
}
|
571 |
-
|
572 |
-
@media only screen and (max-width: 782px) {
|
573 |
-
body.block-editor-page.auto-fold .edit-post-layout .acfe-modal.-open > .acfe-modal-wrapper{
|
574 |
-
max-width: 100vw;
|
575 |
-
margin-left:0;
|
576 |
-
margin-top: 100px;
|
577 |
-
}
|
578 |
-
}
|
579 |
-
|
580 |
-
body.block-editor-page.folded .edit-post-layout.is-sidebar-opened .acfe-modal.-open > .acfe-modal-wrapper{
|
581 |
-
max-width: calc(100vw - 316px);
|
582 |
-
}
|
583 |
-
|
584 |
-
@media (min-width: 600px){
|
585 |
-
body.block-editor-page.acfe-modal-opened .edit-post-layout__content {
|
586 |
-
overflow-y: hidden;
|
587 |
-
}
|
588 |
-
}
|
589 |
-
|
590 |
-
body.block-editor-page .acfe-modal-overlay{
|
591 |
-
display:none;
|
592 |
-
}
|
593 |
-
|
594 |
-
/*
|
595 |
-
* ACFE Modal: Attachment Single Fix
|
596 |
-
*/
|
597 |
-
body.wp-admin.upload-php.acfe-modal-opened > div:not([style*="display: none;"]) > .media-modal.wp-core-ui:not(.acf-media-modal):before{
|
598 |
-
content:"";
|
599 |
-
display:block;
|
600 |
-
position:absolute;
|
601 |
-
background:rgba(0,0,0,.7);
|
602 |
-
top:0;
|
603 |
-
left:0;
|
604 |
-
width:100%;
|
605 |
-
height:100%;
|
606 |
-
z-index:10000;
|
607 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/acf-extended-repeater.css
DELETED
@@ -1,83 +0,0 @@
|
|
1 |
-
/*
|
2 |
-
* ACF Field: Repeater Lock
|
3 |
-
*/
|
4 |
-
.acf-field-repeater[data-acfe-repeater-lock="1"] > .acf-input > .acf-repeater > .acf-table > tbody > .acf-row > .acf-row-handle{
|
5 |
-
cursor:initial;
|
6 |
-
}
|
7 |
-
|
8 |
-
/*
|
9 |
-
* ACF Field: Repeater Block Fix (Add spacing)
|
10 |
-
*/
|
11 |
-
.acf-repeater.-row > table,
|
12 |
-
.acf-repeater.-block > table{
|
13 |
-
border-collapse: separate;
|
14 |
-
border-spacing: 0 15px;
|
15 |
-
background: none;
|
16 |
-
border: 0;
|
17 |
-
margin-top: -15px;
|
18 |
-
margin-bottom: -7px;
|
19 |
-
}
|
20 |
-
|
21 |
-
.acf-repeater.-row > table > *,
|
22 |
-
.acf-repeater.-block > table > *{
|
23 |
-
border-collapse: collapse;
|
24 |
-
border-spacing: 0;
|
25 |
-
}
|
26 |
-
|
27 |
-
.acf-repeater.-row > table > tbody > tr > td,
|
28 |
-
.acf-repeater.-block > table > tbody > tr > td{
|
29 |
-
border-top: 1px solid #ccd0d4 !important;
|
30 |
-
border-bottom: 1px solid #ccd0d4 !important;
|
31 |
-
}
|
32 |
-
|
33 |
-
.acf-repeater.-row > table > tbody > tr > td:first-of-type,
|
34 |
-
.acf-repeater.-block > table > tbody > tr > td:first-of-type{
|
35 |
-
border-left: 1px solid #ccd0d4 !important;
|
36 |
-
}
|
37 |
-
|
38 |
-
.acf-repeater.-row > table > tbody > tr > td:last-of-type,
|
39 |
-
.acf-repeater.-block > table > tbody > tr > td:last-of-type{
|
40 |
-
border-right: 1px solid #ccd0d4 !important;
|
41 |
-
}
|
42 |
-
|
43 |
-
body:not(.acf-admin-5-3) .acf-repeater.-row > table > tbody > tr > td,
|
44 |
-
body:not(.acf-admin-5-3) .acf-repeater.-block > table > tbody > tr > td{
|
45 |
-
border-top: 1px solid #E1E1E1;
|
46 |
-
border-bottom: 1px solid #E1E1E1;
|
47 |
-
}
|
48 |
-
|
49 |
-
body:not(.acf-admin-5-3) .acf-repeater.-row > table > tbody > tr > td:first-of-type,
|
50 |
-
body:not(.acf-admin-5-3) .acf-repeater.-block > table > tbody > tr > td:first-of-type{
|
51 |
-
border-left: 1px solid #E1E1E1;
|
52 |
-
}
|
53 |
-
|
54 |
-
body:not(.acf-admin-5-3) .acf-repeater.-row > table > tbody > tr > td:last-of-type,
|
55 |
-
body:not(.acf-admin-5-3) .acf-repeater.-block > table > tbody > tr > td:last-of-type{
|
56 |
-
border-right: 1px solid #E1E1E1;
|
57 |
-
}
|
58 |
-
|
59 |
-
/*
|
60 |
-
* ACF Field: Repeater Table Fix (Remove headings when empty)
|
61 |
-
*/
|
62 |
-
.acf-repeater.-table.-empty > .acf-table{
|
63 |
-
display:none;
|
64 |
-
}
|
65 |
-
|
66 |
-
/*
|
67 |
-
* ACF Field: Repeater Add Row
|
68 |
-
*/
|
69 |
-
.acf-field-repeater > .acf-input > .acf-repeater > .acfe-repeater-stylised-button{
|
70 |
-
padding: 40px 20px;
|
71 |
-
border: #ccc dashed 2px;
|
72 |
-
text-align: center;
|
73 |
-
}
|
74 |
-
|
75 |
-
.acf-field-repeater > .acf-input > .acf-repeater > .acfe-repeater-stylised-button > .acf-actions{
|
76 |
-
text-align: center;
|
77 |
-
}
|
78 |
-
|
79 |
-
.acf-field-flexible-content > .acf-input > .acf-repeater .acf-actions .acf-button .dashicons{
|
80 |
-
width: auto;
|
81 |
-
height: auto;
|
82 |
-
vertical-align: text-top;
|
83 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/acf-extended-repeater.js
DELETED
@@ -1,59 +0,0 @@
|
|
1 |
-
(function($){
|
2 |
-
|
3 |
-
if(typeof acf === 'undefined')
|
4 |
-
return;
|
5 |
-
|
6 |
-
/*
|
7 |
-
* Init
|
8 |
-
*/
|
9 |
-
var repeater = acf.getFieldType('repeater');
|
10 |
-
var model = repeater.prototype;
|
11 |
-
|
12 |
-
// Repeater: Lock Layouts
|
13 |
-
model.acfeOnHover = function(){
|
14 |
-
|
15 |
-
var repeater = this;
|
16 |
-
|
17 |
-
// remove event
|
18 |
-
repeater.off('mouseover');
|
19 |
-
|
20 |
-
}
|
21 |
-
|
22 |
-
/*
|
23 |
-
* Spawn
|
24 |
-
*/
|
25 |
-
acf.addAction('new_field/type=repeater', function(repeater){
|
26 |
-
|
27 |
-
// ACFE: Lock
|
28 |
-
if(repeater.has('acfeRepeaterLock')){
|
29 |
-
|
30 |
-
repeater.removeEvents({'mouseover': 'onHover'});
|
31 |
-
|
32 |
-
repeater.addEvents({'mouseover': 'acfeOnHover'});
|
33 |
-
|
34 |
-
}
|
35 |
-
|
36 |
-
// ACFE: Remove Actions
|
37 |
-
if(repeater.has('acfeRepeaterRemoveActions')){
|
38 |
-
|
39 |
-
repeater.$actions().remove();
|
40 |
-
|
41 |
-
repeater.$el.find('thead:first > tr > th.acf-row-handle:last').remove();
|
42 |
-
repeater.$rows().find('> .acf-row-handle:last').remove();
|
43 |
-
|
44 |
-
repeater.$control().find('> .acfe-repeater-stylised-button').remove();
|
45 |
-
|
46 |
-
|
47 |
-
}
|
48 |
-
|
49 |
-
// ACFE: Stylised button
|
50 |
-
if(repeater.has('acfeRepeaterStylisedButton')){
|
51 |
-
|
52 |
-
repeater.$button().removeClass('button-primary');
|
53 |
-
repeater.$actions().wrap('<div class="acfe-repeater-stylised-button" />');
|
54 |
-
|
55 |
-
}
|
56 |
-
|
57 |
-
});
|
58 |
-
|
59 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
assets/acf-extended-ui.css
CHANGED
@@ -1,457 +1,457 @@
|
|
1 |
-
/*
|
2 |
-
* ACFE: UI Enhanced
|
3 |
-
*/
|
4 |
-
.term-php .wrap > form,
|
5 |
-
.profile-php .wrap > form,
|
6 |
-
.user-edit-php .wrap > form,
|
7 |
-
.user-new-php .wrap > form,
|
8 |
-
.options-general-php .wrap > form,
|
9 |
-
.options-writing-php .wrap > form,
|
10 |
-
.options-reading-php .wrap > form,
|
11 |
-
.options-discussion-php .wrap > form,
|
12 |
-
.options-media-php .wrap > form,
|
13 |
-
.options-permalink-php .wrap > form
|
14 |
-
{
|
15 |
-
max-width:100% !important;
|
16 |
-
width: 100%;
|
17 |
-
float:left;
|
18 |
-
}
|
19 |
-
|
20 |
-
.term-php .wrap > form > div > div > h2,
|
21 |
-
.profile-php .wrap > form > div > div > h2,
|
22 |
-
.user-edit-php .wrap > form > div > div > h2,
|
23 |
-
.user-new-php .wrap > form > div > div > h2,
|
24 |
-
.options-general-php .wrap > form > div > div > h2,
|
25 |
-
.options-writing-php .wrap > form > div > div > h2,
|
26 |
-
.options-reading-php .wrap > form > div > div > h2,
|
27 |
-
.options-discussion-php .wrap > form > div > div > h2,
|
28 |
-
.options-media-php .wrap > form > div > div > h2,
|
29 |
-
.options-permalink-php .wrap > form > div > div > h2
|
30 |
-
{
|
31 |
-
background:#fff;
|
32 |
-
border: 1px solid #ccd0d4;
|
33 |
-
border-bottom: 0;
|
34 |
-
margin:0;
|
35 |
-
color: #23282d;
|
36 |
-
font-size: 14px;
|
37 |
-
padding: 8px 12px;
|
38 |
-
line-height: 1.4;
|
39 |
-
}
|
40 |
-
|
41 |
-
.term-php .wrap > form > div > div > h2 + p,
|
42 |
-
.profile-php .wrap > form > div > div > h2 + p,
|
43 |
-
.user-edit-php .wrap > form > div > div > h2 + p,
|
44 |
-
.user-new-php .wrap > form > div > div > h2 + p,
|
45 |
-
.options-general-php .wrap > form > div > div > h2 + p,
|
46 |
-
.options-writing-php .wrap > form > div > div > h2 + p,
|
47 |
-
.options-reading-php .wrap > form > div > div > h2 + p,
|
48 |
-
.options-discussion-php .wrap > form > div > div > h2 + p,
|
49 |
-
.options-media-php .wrap > form > div > div > h2 + p,
|
50 |
-
.options-permalink-php .wrap > form > div > div > h2 + p
|
51 |
-
{
|
52 |
-
margin:0;
|
53 |
-
border: 1px solid #ccd0d4;
|
54 |
-
border-bottom:0;
|
55 |
-
padding:15px 12px;
|
56 |
-
}
|
57 |
-
|
58 |
-
.term-php .wrap > form > div > div > h2 + .form-table,
|
59 |
-
.term-php .wrap > form > div > div > h2 + p + .form-table,
|
60 |
-
|
61 |
-
.profile-php .wrap > form > div > div > h2 + .form-table,
|
62 |
-
.profile-php .wrap > form > div > div > h2 + p + .form-table,
|
63 |
-
|
64 |
-
.user-edit-php .wrap > form > div > div > h2 + .form-table,
|
65 |
-
.user-edit-php .wrap > form > div > div > h2 + p + .form-table,
|
66 |
-
|
67 |
-
.user-new-php .wrap > form > div > div > h2 + .form-table,
|
68 |
-
.user-new-php .wrap > form > div > div > h2 + p + .form-table,
|
69 |
-
|
70 |
-
.options-general-php .wrap > form > div > div > h2 + .form-table,
|
71 |
-
.options-general-php .wrap > form > div > div > h2 + p + .form-table,
|
72 |
-
|
73 |
-
.options-writing-php .wrap > form > div > div > h2 + .form-table,
|
74 |
-
.options-writing-php .wrap > form > div > div > h2 + p + .form-table,
|
75 |
-
|
76 |
-
.options-reading-php .wrap > form > div > div > h2 + .form-table,
|
77 |
-
.options-reading-php .wrap > form > div > div > h2 + p + .form-table,
|
78 |
-
|
79 |
-
.options-discussion-php .wrap > form > div > div > h2 + .form-table,
|
80 |
-
.options-discussion-php .wrap > form > div > div > h2 + p + .form-table,
|
81 |
-
|
82 |
-
.options-media-php .wrap > form > div > div > h2 + .form-table,
|
83 |
-
.options-media-php .wrap > form > div > div > h2 + p + .form-table,
|
84 |
-
|
85 |
-
.options-permalink-php .wrap > form > div > div > h2 + .form-table,
|
86 |
-
.options-permalink-php .wrap > form > div > div > h2 + p + .form-table
|
87 |
-
{
|
88 |
-
margin-top:0;
|
89 |
-
}
|
90 |
-
|
91 |
-
.term-php .wrap > form .form-table,
|
92 |
-
.profile-php .wrap > form .form-table,
|
93 |
-
.user-edit-php .wrap > form .form-table,
|
94 |
-
.user-new-php .wrap > form .form-table,
|
95 |
-
.options-general-php .wrap > form .form-table,
|
96 |
-
.options-writing-php .wrap > form .form-table,
|
97 |
-
.options-reading-php .wrap > form .form-table,
|
98 |
-
.options-discussion-php .wrap > form .form-table,
|
99 |
-
.options-media-php .wrap > form .form-table,
|
100 |
-
.options-permalink-php .wrap > form .form-table
|
101 |
-
{
|
102 |
-
background:#fff;
|
103 |
-
width:100%;
|
104 |
-
border: 1px solid #ccd0d4;
|
105 |
-
box-shadow: 0 1px 1px rgba(0,0,0,.04);
|
106 |
-
margin-bottom: 20px; /* Fix for Yoast & Rank Math Metaboxes below the term */
|
107 |
-
}
|
108 |
-
|
109 |
-
.term-php .wrap > form .form-table > tbody > tr > td,
|
110 |
-
.profile-php .wrap > form .form-table > tbody > tr > td,
|
111 |
-
.user-edit-php .wrap > form .form-table > tbody > tr > td,
|
112 |
-
.user-new-php .wrap > form .form-table > tbody > tr > td,
|
113 |
-
.options-general-php .wrap > form .form-table > tbody > tr > td,
|
114 |
-
.options-writing-php .wrap > form .form-table > tbody > tr > td,
|
115 |
-
.options-reading-php .wrap > form .form-table > tbody > tr > td,
|
116 |
-
.options-discussion-php .wrap > form .form-table > tbody > tr > td,
|
117 |
-
.options-media-php .wrap > form .form-table > tbody > tr > td,
|
118 |
-
.options-permalink-php .wrap > form .form-table > tbody > tr > td
|
119 |
-
{
|
120 |
-
background: #fff;
|
121 |
-
border-top: 1px solid #E1E1E1;
|
122 |
-
position:initial;
|
123 |
-
}
|
124 |
-
|
125 |
-
.term-php .wrap > form .form-table > tbody > tr:first-of-type > td,
|
126 |
-
.term-php .wrap > form .form-table > tbody > tr:first-of-type > th,
|
127 |
-
|
128 |
-
.profile-php .wrap > form .form-table > tbody > tr:first-of-type > td,
|
129 |
-
.profile-php .wrap > form .form-table > tbody > tr:first-of-type > th,
|
130 |
-
|
131 |
-
.user-edit-php .wrap > form .form-table > tbody > tr:first-of-type > td,
|
132 |
-
.user-edit-php .wrap > form .form-table > tbody > tr:first-of-type > th,
|
133 |
-
|
134 |
-
.user-new-php .wrap > form .form-table > tbody > tr:first-of-type > td,
|
135 |
-
.user-new-php .wrap > form .form-table > tbody > tr:first-of-type > th,
|
136 |
-
|
137 |
-
.options-general-php .wrap > form .form-table > tbody > tr:first-of-type > td,
|
138 |
-
.options-general-php .wrap > form .form-table > tbody > tr:first-of-type > th,
|
139 |
-
|
140 |
-
.options-writing-php .wrap > form .form-table > tbody > tr:first-of-type > td,
|
141 |
-
.options-writing-php .wrap > form .form-table > tbody > tr:first-of-type > th,
|
142 |
-
|
143 |
-
.options-reading-php .wrap > form .form-table > tbody > tr:first-of-type > td,
|
144 |
-
.options-reading-php .wrap > form .form-table > tbody > tr:first-of-type > th,
|
145 |
-
|
146 |
-
.options-discussion-php .wrap > form .form-table > tbody > tr:first-of-type > td,
|
147 |
-
.options-discussion-php .wrap > form .form-table > tbody > tr:first-of-type > th,
|
148 |
-
|
149 |
-
.options-media-php .wrap > form .form-table > tbody > tr:first-of-type > td,
|
150 |
-
.options-media-php .wrap > form .form-table > tbody > tr:first-of-type > th,
|
151 |
-
|
152 |
-
.options-permalink-php .wrap > form .form-table > tbody > tr:first-of-type > td,
|
153 |
-
.options-permalink-php .wrap > form .form-table > tbody > tr:first-of-type > th
|
154 |
-
{
|
155 |
-
border-top: 1px solid #ccd0d4;
|
156 |
-
}
|
157 |
-
|
158 |
-
.term-php .wrap > form .form-table > tbody > tr > td p,
|
159 |
-
.profile-php .wrap > form .form-table > tbody > tr > td p,
|
160 |
-
.user-edit-php .wrap > form .form-table > tbody > tr > td p,
|
161 |
-
.user-new-php .wrap > form .form-table > tbody > tr > td p,
|
162 |
-
.options-general-php .wrap > form .form-table > tbody > tr > td p,
|
163 |
-
.options-writing-php .wrap > form .form-table > tbody > tr > td p,
|
164 |
-
.options-reading-php .wrap > form .form-table > tbody > tr > td p,
|
165 |
-
.options-discussion-php .wrap > form .form-table > tbody > tr > td p,
|
166 |
-
.options-media-php .wrap > form .form-table > tbody > tr > td p,
|
167 |
-
.options-permalink-php .wrap > form .form-table > tbody > tr > td p
|
168 |
-
{
|
169 |
-
font-size:13px;
|
170 |
-
}
|
171 |
-
|
172 |
-
.term-php .wrap > form .form-table > tbody > tr > th,
|
173 |
-
.term-php .wrap > form .form-table > tbody > tr > td.acf-label,
|
174 |
-
|
175 |
-
.profile-php .wrap > form .form-table > tbody > tr > th,
|
176 |
-
.profile-php .wrap > form .form-table > tbody > tr > td.acf-label,
|
177 |
-
|
178 |
-
.user-edit-php .wrap > form .form-table > tbody > tr > th,
|
179 |
-
.user-edit-php .wrap > form .form-table > tbody > tr > td.acf-label,
|
180 |
-
|
181 |
-
.user-new-php .wrap > form .form-table > tbody > tr > th,
|
182 |
-
.user-new-php .wrap > form .form-table > tbody > tr > td.acf-label,
|
183 |
-
|
184 |
-
.options-general-php .wrap > form .form-table > tbody > tr > th,
|
185 |
-
.options-general-php .wrap > form .form-table > tbody > tr > td.acf-label,
|
186 |
-
|
187 |
-
.options-writing-php .wrap > form .form-table > tbody > tr > th,
|
188 |
-
.options-writing-php .wrap > form .form-table > tbody > tr > td.acf-label,
|
189 |
-
|
190 |
-
.options-reading-php .wrap > form .form-table > tbody > tr > th,
|
191 |
-
.options-reading-php .wrap > form .form-table > tbody > tr > td.acf-label,
|
192 |
-
|
193 |
-
.options-discussion-php .wrap > form .form-table > tbody > tr > th,
|
194 |
-
.options-discussion-php .wrap > form .form-table > tbody > tr > td.acf-label,
|
195 |
-
|
196 |
-
.options-media-php .wrap > form .form-table > tbody > tr > th,
|
197 |
-
.options-media-php .wrap > form .form-table > tbody > tr > td.acf-label,
|
198 |
-
|
199 |
-
.options-permalink-php .wrap > form .form-table > tbody > tr > th,
|
200 |
-
.options-permalink-php .wrap > form .form-table > tbody > tr > td.acf-label
|
201 |
-
{
|
202 |
-
border-top: 1px solid #E1E1E1;
|
203 |
-
border-right: 1px solid #E1E1E1;
|
204 |
-
background: #F9F9F9;
|
205 |
-
padding:15px 12px;
|
206 |
-
width:20%;
|
207 |
-
font-size:13px;
|
208 |
-
position:initial;
|
209 |
-
color:#444;
|
210 |
-
}
|
211 |
-
|
212 |
-
.term-php .wrap > form .form-table > tbody > tr > td.td-full,
|
213 |
-
.profile-php .wrap > form .form-table > tbody > tr > td.td-full,
|
214 |
-
.user-edit-php .wrap > form .form-table > tbody > tr > td.td-full,
|
215 |
-
.user-new-php .wrap > form .form-table > tbody > tr > td.td-full,
|
216 |
-
.options-general-php .wrap > form .form-table > tbody > tr > td.td-full,
|
217 |
-
.options-writing-php .wrap > form .form-table > tbody > tr > td.td-full,
|
218 |
-
.options-reading-php .wrap > form .form-table > tbody > tr > td.td-full,
|
219 |
-
.options-discussion-php .wrap > form .form-table > tbody > tr > td.td-full,
|
220 |
-
.options-media-php .wrap > form .form-table > tbody > tr > td.td-full,
|
221 |
-
.options-permalink-php .wrap > form .form-table > tbody > tr > td.td-full
|
222 |
-
{
|
223 |
-
padding:15px 12px;
|
224 |
-
}
|
225 |
-
|
226 |
-
.term-php .wrap > form .form-table > tbody > tr.acf-field,
|
227 |
-
.profile-php .wrap > form .form-table > tbody > tr.acf-field,
|
228 |
-
.user-edit-php .wrap > form .form-table > tbody > tr.acf-field,
|
229 |
-
.user-new-php .wrap > form .form-table > tbody > tr.acf-field,
|
230 |
-
.options-general-php .wrap > form .form-table > tbody > tr.acf-field,
|
231 |
-
.options-writing-php .wrap > form .form-table > tbody > tr.acf-field,
|
232 |
-
.options-reading-php .wrap > form .form-table > tbody > tr.acf-field,
|
233 |
-
.options-discussion-php .wrap > form .form-table > tbody > tr.acf-field,
|
234 |
-
.options-media-php .wrap > form .form-table > tbody > tr.acf-field,
|
235 |
-
.options-permalink-php .wrap > form .form-table > tbody > tr.acf-field
|
236 |
-
{
|
237 |
-
position: initial;
|
238 |
-
}
|
239 |
-
|
240 |
-
.term-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td,
|
241 |
-
.profile-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td,
|
242 |
-
.user-edit-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td,
|
243 |
-
.user-new-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td,
|
244 |
-
.options-general-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td,
|
245 |
-
.options-writing-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td,
|
246 |
-
.options-reading-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td,
|
247 |
-
.options-discussion-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td,
|
248 |
-
.options-media-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td,
|
249 |
-
.options-permalink-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td
|
250 |
-
{
|
251 |
-
background: #F9F9F9;
|
252 |
-
padding:15px 0 0 0;
|
253 |
-
}
|
254 |
-
|
255 |
-
.term-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group,
|
256 |
-
.profile-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group,
|
257 |
-
.user-edit-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group,
|
258 |
-
.user-new-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group,
|
259 |
-
.options-general-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group,
|
260 |
-
.options-writing-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group,
|
261 |
-
.options-reading-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group,
|
262 |
-
.options-discussion-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group,
|
263 |
-
.options-media-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group,
|
264 |
-
.options-permalink-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group
|
265 |
-
{
|
266 |
-
border-bottom:0;
|
267 |
-
padding:0 0 0 20%;
|
268 |
-
}
|
269 |
-
|
270 |
-
.term-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group > li.active a,
|
271 |
-
.profile-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group > li.active a,
|
272 |
-
.user-edit-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group > li.active a,
|
273 |
-
.user-new-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group > li.active a,
|
274 |
-
.options-general-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group > li.active a,
|
275 |
-
.options-writing-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group > li.active a,
|
276 |
-
.options-reading-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group > li.active a,
|
277 |
-
.options-discussion-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group > li.active a,
|
278 |
-
.options-media-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group > li.active a,
|
279 |
-
.options-permalink-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group > li.active a
|
280 |
-
{
|
281 |
-
background: #fff;
|
282 |
-
}
|
283 |
-
|
284 |
-
.term-php .wrap > form #poststuff.acfe-acfe-bt-admin-column,
|
285 |
-
.profile-php .wrap > form #poststuff.acfe-acfe-bt-admin-column,
|
286 |
-
.user-edit-php .wrap > form #poststuff.acfe-acfe-bt-admin-column,
|
287 |
-
.user-new-php .wrap > form #poststuff.acfe-acfe-bt-admin-column,
|
288 |
-
.options-general-php .wrap > form #poststuff.acfe-acfe-bt-admin-column,
|
289 |
-
.options-writing-php .wrap > form #poststuff.acfe-acfe-bt-admin-column,
|
290 |
-
.options-reading-php .wrap > form #poststuff.acfe-acfe-bt-admin-column,
|
291 |
-
.options-discussion-php .wrap > form #poststuff.acfe-acfe-bt-admin-column,
|
292 |
-
.options-media-php .wrap > form #poststuff.acfe-acfe-bt-admin-column,
|
293 |
-
.options-permalink-php .wrap > form #poststuff.acfe-acfe-bt-admin-column
|
294 |
-
{
|
295 |
-
min-width:auto;
|
296 |
-
padding:0;
|
297 |
-
}
|
298 |
-
|
299 |
-
.term-php .wrap > form #poststuff.acfe-acfe-bt-admin-column .inside,
|
300 |
-
.profile-php .wrap > form #poststuff.acfe-acfe-bt-admin-column .inside,
|
301 |
-
.user-edit-php .wrap > form #poststuff.acfe-acfe-bt-admin-column .inside,
|
302 |
-
.user-new-php .wrap > form #poststuff.acfe-acfe-bt-admin-column .inside,
|
303 |
-
.options-general-php .wrap > form #poststuff.acfe-acfe-bt-admin-column .inside,
|
304 |
-
.options-writing-php .wrap > form #poststuff.acfe-acfe-bt-admin-column .inside,
|
305 |
-
.options-reading-php .wrap > form #poststuff.acfe-acfe-bt-admin-column .inside,
|
306 |
-
.options-discussion-php .wrap > form #poststuff.acfe-acfe-bt-admin-column .inside,
|
307 |
-
.options-media-php .wrap > form #poststuff.acfe-acfe-bt-admin-column .inside,
|
308 |
-
.options-permalink-php .wrap > form #poststuff.acfe-acfe-bt-admin-column .inside
|
309 |
-
{
|
310 |
-
margin: 0;
|
311 |
-
padding: 0;
|
312 |
-
}
|
313 |
-
|
314 |
-
/*
|
315 |
-
* ACFE: UI Enhanced (Fix ACF)
|
316 |
-
*/
|
317 |
-
.term-php .wrap .form-table > tbody>.acf-field > .acf-label label,
|
318 |
-
.profile-php .wrap .form-table > tbody>.acf-field > .acf-label label,
|
319 |
-
.user-edit-php .wrap .form-table > tbody>.acf-field > .acf-label label,
|
320 |
-
.user-new-php .wrap .form-table > tbody>.acf-field > .acf-label label,
|
321 |
-
.options-general-php .wrap .form-table > tbody>.acf-field > .acf-label label,
|
322 |
-
.options-writing-php .wrap .form-table > tbody>.acf-field > .acf-label label,
|
323 |
-
.options-reading-php .wrap .form-table > tbody>.acf-field > .acf-label label,
|
324 |
-
.options-discussion-php .wrap .form-table > tbody>.acf-field > .acf-label label,
|
325 |
-
.options-media-php .wrap .form-table > tbody>.acf-field > .acf-label label,
|
326 |
-
.options-permalink-php .wrap .form-table > tbody>.acf-field > .acf-label label
|
327 |
-
{
|
328 |
-
font-size: 13px;
|
329 |
-
color: #444;
|
330 |
-
}
|
331 |
-
|
332 |
-
.term-php .wrap .acf-fields.-left > .acf-field.acfe-bt-no-label,
|
333 |
-
.profile-php .wrap .acf-fields.-left > .acf-field.acfe-bt-no-label,
|
334 |
-
.user-edit-php .wrap .acf-fields.-left > .acf-field.acfe-bt-no-label,
|
335 |
-
.user-new-php .wrap .acf-fields.-left > .acf-field.acfe-bt-no-label,
|
336 |
-
.options-general-php .wrap .acf-fields.-left > .acf-field.acfe-bt-no-label,
|
337 |
-
.options-writing-php .wrap .acf-fields.-left > .acf-field.acfe-bt-no-label,
|
338 |
-
.options-reading-php .wrap .acf-fields.-left > .acf-field.acfe-bt-no-label,
|
339 |
-
.options-discussion-php .wrap .acf-fields.-left > .acf-field.acfe-bt-no-label,
|
340 |
-
.options-media-php .wrap .acf-fields.-left > .acf-field.acfe-bt-no-label,
|
341 |
-
.options-permalink-php .wrap .acf-fields.-left > .acf-field.acfe-bt-no-label
|
342 |
-
{
|
343 |
-
padding-left: 20%;
|
344 |
-
}
|
345 |
-
|
346 |
-
.term-php .wrap > form .acf-fields.-left > .acf-field,
|
347 |
-
.profile-php .wrap > form .acf-fields.-left > .acf-field,
|
348 |
-
.user-edit-php .wrap > form .acf-fields.-left > .acf-field,
|
349 |
-
.user-new-php .wrap > form .acf-fields.-left > .acf-field,
|
350 |
-
.options-general-php .wrap > form .acf-fields.-left > .acf-field,
|
351 |
-
.options-writing-php .wrap > form .acf-fields.-left > .acf-field,
|
352 |
-
.options-reading-php .wrap > form .acf-fields.-left > .acf-field,
|
353 |
-
.options-discussion-php .wrap > form .acf-fields.-left > .acf-field,
|
354 |
-
.options-media-php .wrap > form .acf-fields.-left > .acf-field,
|
355 |
-
.options-permalink-php .wrap > form .acf-fields.-left > .acf-field
|
356 |
-
{
|
357 |
-
padding-left: 0;
|
358 |
-
}
|
359 |
-
|
360 |
-
.term-php .wrap > form .acf-fields.-left > .acf-field:before,
|
361 |
-
.profile-php .wrap > form .acf-fields.-left > .acf-field:before,
|
362 |
-
.user-edit-php .wrap > form .acf-fields.-left > .acf-field:before,
|
363 |
-
.user-new-php .wrap > form .acf-fields.-left > .acf-field:before,
|
364 |
-
.options-general-php .wrap > form .acf-fields.-left > .acf-field:before,
|
365 |
-
.options-writing-php .wrap > form .acf-fields.-left > .acf-field:before,
|
366 |
-
.options-reading-php .wrap > form .acf-fields.-left > .acf-field:before,
|
367 |
-
.options-discussion-php .wrap > form .acf-fields.-left > .acf-field:before,
|
368 |
-
.options-media-php .wrap > form .acf-fields.-left > .acf-field:before,
|
369 |
-
.options-permalink-php .wrap > form .acf-fields.-left > .acf-field:before
|
370 |
-
{
|
371 |
-
width:20%;
|
372 |
-
}
|
373 |
-
|
374 |
-
.term-php .wrap > form .acf-fields.-left > .acf-field > .acf-label,
|
375 |
-
.profile-php .wrap > form .acf-fields.-left > .acf-field > .acf-label,
|
376 |
-
.user-edit-php .wrap > form .acf-fields.-left > .acf-field > .acf-label,
|
377 |
-
.user-new-php .wrap > form .acf-fields.-left > .acf-field > .acf-label,
|
378 |
-
.options-general-php .wrap > form .acf-fields.-left > .acf-field > .acf-label,
|
379 |
-
.options-writing-php .wrap > form .acf-fields.-left > .acf-field > .acf-label,
|
380 |
-
.options-reading-php .wrap > form .acf-fields.-left > .acf-field > .acf-label,
|
381 |
-
.options-discussion-php .wrap > form .acf-fields.-left > .acf-field > .acf-label,
|
382 |
-
.options-media-php .wrap > form .acf-fields.-left > .acf-field > .acf-label,
|
383 |
-
.options-permalink-php .wrap > form .acf-fields.-left > .acf-field > .acf-label
|
384 |
-
{
|
385 |
-
width: 20%;
|
386 |
-
margin-left: 0;
|
387 |
-
padding: 0 12px;
|
388 |
-
}
|
389 |
-
|
390 |
-
.term-php .wrap > form .acf-fields.-left > .acf-field > .acf-input,
|
391 |
-
.profile-php .wrap > form .acf-fields.-left > .acf-field > .acf-input,
|
392 |
-
.user-edit-php .wrap > form .acf-fields.-left > .acf-field > .acf-input,
|
393 |
-
.user-new-php .wrap > form .acf-fields.-left > .acf-field > .acf-input,
|
394 |
-
.options-general-php .wrap > form .acf-fields.-left > .acf-field > .acf-input,
|
395 |
-
.options-writing-php .wrap > form .acf-fields.-left > .acf-field > .acf-input,
|
396 |
-
.options-reading-php .wrap > form .acf-fields.-left > .acf-field > .acf-input,
|
397 |
-
.options-discussion-php .wrap > form .acf-fields.-left > .acf-field > .acf-input,
|
398 |
-
.options-media-php .wrap > form .acf-fields.-left > .acf-field > .acf-input,
|
399 |
-
.options-permalink-php .wrap > form .acf-fields.-left > .acf-field > .acf-input
|
400 |
-
{
|
401 |
-
padding: 0 12px;
|
402 |
-
}
|
403 |
-
|
404 |
-
.term-php .wrap > form p.submit,
|
405 |
-
.profile-php .wrap > form p.submit,
|
406 |
-
.user-edit-php .wrap > form p.submit,
|
407 |
-
.user-new-php .wrap > form p.submit,
|
408 |
-
.options-general-php .wrap > form p.submit,
|
409 |
-
.options-writing-php .wrap > form p.submit,
|
410 |
-
.options-reading-php .wrap > form p.submit,
|
411 |
-
.options-discussion-php .wrap > form p.submit,
|
412 |
-
.options-media-php .wrap > form p.submit,
|
413 |
-
.options-permalink-php .wrap > form p.submit
|
414 |
-
{
|
415 |
-
display:none;
|
416 |
-
}
|
417 |
-
|
418 |
-
/*
|
419 |
-
* ACFE: UI - Term Single
|
420 |
-
*/
|
421 |
-
.term-php .wrap > form{
|
422 |
-
margin-top:13px;
|
423 |
-
}
|
424 |
-
|
425 |
-
/*
|
426 |
-
* ACFE: UI - Terms List
|
427 |
-
*/
|
428 |
-
.edit-tags-php #col-left{
|
429 |
-
display:none;
|
430 |
-
}
|
431 |
-
|
432 |
-
.edit-tags-php #col-container #col-right{
|
433 |
-
float:none;
|
434 |
-
width:auto;
|
435 |
-
}
|
436 |
-
|
437 |
-
.edit-tags-php #col-container #col-right .col-wrap{
|
438 |
-
padding:0;
|
439 |
-
}
|
440 |
-
|
441 |
-
.edit-tags-php #col-left.acfe-bt{
|
442 |
-
float:none;
|
443 |
-
width:100%;
|
444 |
-
}
|
445 |
-
|
446 |
-
.edit-tags-php #col-left.acfe-bt .col-wrap{
|
447 |
-
padding:0;
|
448 |
-
}
|
449 |
-
|
450 |
-
.edit-tags-php #col-left.acfe-bt #poststuff{
|
451 |
-
min-width:100%;
|
452 |
-
}
|
453 |
-
|
454 |
-
.edit-tags-php #acfe-bt-form .submit.acf-field{
|
455 |
-
display:block !important;
|
456 |
-
margin: 0;
|
457 |
}
|
1 |
+
/*
|
2 |
+
* ACFE: UI Enhanced
|
3 |
+
*/
|
4 |
+
.term-php .wrap > form,
|
5 |
+
.profile-php .wrap > form,
|
6 |
+
.user-edit-php .wrap > form,
|
7 |
+
.user-new-php .wrap > form,
|
8 |
+
.options-general-php .wrap > form,
|
9 |
+
.options-writing-php .wrap > form,
|
10 |
+
.options-reading-php .wrap > form,
|
11 |
+
.options-discussion-php .wrap > form,
|
12 |
+
.options-media-php .wrap > form,
|
13 |
+
.options-permalink-php .wrap > form
|
14 |
+
{
|
15 |
+
max-width:100% !important;
|
16 |
+
width: 100%;
|
17 |
+
float:left;
|
18 |
+
}
|
19 |
+
|
20 |
+
.term-php .wrap > form > div > div > h2,
|
21 |
+
.profile-php .wrap > form > div > div > h2,
|
22 |
+
.user-edit-php .wrap > form > div > div > h2,
|
23 |
+
.user-new-php .wrap > form > div > div > h2,
|
24 |
+
.options-general-php .wrap > form > div > div > h2,
|
25 |
+
.options-writing-php .wrap > form > div > div > h2,
|
26 |
+
.options-reading-php .wrap > form > div > div > h2,
|
27 |
+
.options-discussion-php .wrap > form > div > div > h2,
|
28 |
+
.options-media-php .wrap > form > div > div > h2,
|
29 |
+
.options-permalink-php .wrap > form > div > div > h2
|
30 |
+
{
|
31 |
+
background:#fff;
|
32 |
+
border: 1px solid #ccd0d4;
|
33 |
+
border-bottom: 0;
|
34 |
+
margin:0;
|
35 |
+
color: #23282d;
|
36 |
+
font-size: 14px;
|
37 |
+
padding: 8px 12px;
|
38 |
+
line-height: 1.4;
|
39 |
+
}
|
40 |
+
|
41 |
+
.term-php .wrap > form > div > div > h2 + p,
|
42 |
+
.profile-php .wrap > form > div > div > h2 + p,
|
43 |
+
.user-edit-php .wrap > form > div > div > h2 + p,
|
44 |
+
.user-new-php .wrap > form > div > div > h2 + p,
|
45 |
+
.options-general-php .wrap > form > div > div > h2 + p,
|
46 |
+
.options-writing-php .wrap > form > div > div > h2 + p,
|
47 |
+
.options-reading-php .wrap > form > div > div > h2 + p,
|
48 |
+
.options-discussion-php .wrap > form > div > div > h2 + p,
|
49 |
+
.options-media-php .wrap > form > div > div > h2 + p,
|
50 |
+
.options-permalink-php .wrap > form > div > div > h2 + p
|
51 |
+
{
|
52 |
+
margin:0;
|
53 |
+
border: 1px solid #ccd0d4;
|
54 |
+
border-bottom:0;
|
55 |
+
padding:15px 12px;
|
56 |
+
}
|
57 |
+
|
58 |
+
.term-php .wrap > form > div > div > h2 + .form-table,
|
59 |
+
.term-php .wrap > form > div > div > h2 + p + .form-table,
|
60 |
+
|
61 |
+
.profile-php .wrap > form > div > div > h2 + .form-table,
|
62 |
+
.profile-php .wrap > form > div > div > h2 + p + .form-table,
|
63 |
+
|
64 |
+
.user-edit-php .wrap > form > div > div > h2 + .form-table,
|
65 |
+
.user-edit-php .wrap > form > div > div > h2 + p + .form-table,
|
66 |
+
|
67 |
+
.user-new-php .wrap > form > div > div > h2 + .form-table,
|
68 |
+
.user-new-php .wrap > form > div > div > h2 + p + .form-table,
|
69 |
+
|
70 |
+
.options-general-php .wrap > form > div > div > h2 + .form-table,
|
71 |
+
.options-general-php .wrap > form > div > div > h2 + p + .form-table,
|
72 |
+
|
73 |
+
.options-writing-php .wrap > form > div > div > h2 + .form-table,
|
74 |
+
.options-writing-php .wrap > form > div > div > h2 + p + .form-table,
|
75 |
+
|
76 |
+
.options-reading-php .wrap > form > div > div > h2 + .form-table,
|
77 |
+
.options-reading-php .wrap > form > div > div > h2 + p + .form-table,
|
78 |
+
|
79 |
+
.options-discussion-php .wrap > form > div > div > h2 + .form-table,
|
80 |
+
.options-discussion-php .wrap > form > div > div > h2 + p + .form-table,
|
81 |
+
|
82 |
+
.options-media-php .wrap > form > div > div > h2 + .form-table,
|
83 |
+
.options-media-php .wrap > form > div > div > h2 + p + .form-table,
|
84 |
+
|
85 |
+
.options-permalink-php .wrap > form > div > div > h2 + .form-table,
|
86 |
+
.options-permalink-php .wrap > form > div > div > h2 + p + .form-table
|
87 |
+
{
|
88 |
+
margin-top:0;
|
89 |
+
}
|
90 |
+
|
91 |
+
.term-php .wrap > form .form-table,
|
92 |
+
.profile-php .wrap > form .form-table,
|
93 |
+
.user-edit-php .wrap > form .form-table,
|
94 |
+
.user-new-php .wrap > form .form-table,
|
95 |
+
.options-general-php .wrap > form .form-table,
|
96 |
+
.options-writing-php .wrap > form .form-table,
|
97 |
+
.options-reading-php .wrap > form .form-table,
|
98 |
+
.options-discussion-php .wrap > form .form-table,
|
99 |
+
.options-media-php .wrap > form .form-table,
|
100 |
+
.options-permalink-php .wrap > form .form-table
|
101 |
+
{
|
102 |
+
background:#fff;
|
103 |
+
width:100%;
|
104 |
+
border: 1px solid #ccd0d4;
|
105 |
+
box-shadow: 0 1px 1px rgba(0,0,0,.04);
|
106 |
+
margin-bottom: 20px; /* Fix for Yoast & Rank Math Metaboxes below the term */
|
107 |
+
}
|
108 |
+
|
109 |
+
.term-php .wrap > form .form-table > tbody > tr > td,
|
110 |
+
.profile-php .wrap > form .form-table > tbody > tr > td,
|
111 |
+
.user-edit-php .wrap > form .form-table > tbody > tr > td,
|
112 |
+
.user-new-php .wrap > form .form-table > tbody > tr > td,
|
113 |
+
.options-general-php .wrap > form .form-table > tbody > tr > td,
|
114 |
+
.options-writing-php .wrap > form .form-table > tbody > tr > td,
|
115 |
+
.options-reading-php .wrap > form .form-table > tbody > tr > td,
|
116 |
+
.options-discussion-php .wrap > form .form-table > tbody > tr > td,
|
117 |
+
.options-media-php .wrap > form .form-table > tbody > tr > td,
|
118 |
+
.options-permalink-php .wrap > form .form-table > tbody > tr > td
|
119 |
+
{
|
120 |
+
background: #fff;
|
121 |
+
border-top: 1px solid #E1E1E1;
|
122 |
+
position:initial;
|
123 |
+
}
|
124 |
+
|
125 |
+
.term-php .wrap > form .form-table > tbody > tr:first-of-type > td,
|
126 |
+
.term-php .wrap > form .form-table > tbody > tr:first-of-type > th,
|
127 |
+
|
128 |
+
.profile-php .wrap > form .form-table > tbody > tr:first-of-type > td,
|
129 |
+
.profile-php .wrap > form .form-table > tbody > tr:first-of-type > th,
|
130 |
+
|
131 |
+
.user-edit-php .wrap > form .form-table > tbody > tr:first-of-type > td,
|
132 |
+
.user-edit-php .wrap > form .form-table > tbody > tr:first-of-type > th,
|
133 |
+
|
134 |
+
.user-new-php .wrap > form .form-table > tbody > tr:first-of-type > td,
|
135 |
+
.user-new-php .wrap > form .form-table > tbody > tr:first-of-type > th,
|
136 |
+
|
137 |
+
.options-general-php .wrap > form .form-table > tbody > tr:first-of-type > td,
|
138 |
+
.options-general-php .wrap > form .form-table > tbody > tr:first-of-type > th,
|
139 |
+
|
140 |
+
.options-writing-php .wrap > form .form-table > tbody > tr:first-of-type > td,
|
141 |
+
.options-writing-php .wrap > form .form-table > tbody > tr:first-of-type > th,
|
142 |
+
|
143 |
+
.options-reading-php .wrap > form .form-table > tbody > tr:first-of-type > td,
|
144 |
+
.options-reading-php .wrap > form .form-table > tbody > tr:first-of-type > th,
|
145 |
+
|
146 |
+
.options-discussion-php .wrap > form .form-table > tbody > tr:first-of-type > td,
|
147 |
+
.options-discussion-php .wrap > form .form-table > tbody > tr:first-of-type > th,
|
148 |
+
|
149 |
+
.options-media-php .wrap > form .form-table > tbody > tr:first-of-type > td,
|
150 |
+
.options-media-php .wrap > form .form-table > tbody > tr:first-of-type > th,
|
151 |
+
|
152 |
+
.options-permalink-php .wrap > form .form-table > tbody > tr:first-of-type > td,
|
153 |
+
.options-permalink-php .wrap > form .form-table > tbody > tr:first-of-type > th
|
154 |
+
{
|
155 |
+
border-top: 1px solid #ccd0d4;
|
156 |
+
}
|
157 |
+
|
158 |
+
.term-php .wrap > form .form-table > tbody > tr > td p,
|
159 |
+
.profile-php .wrap > form .form-table > tbody > tr > td p,
|
160 |
+
.user-edit-php .wrap > form .form-table > tbody > tr > td p,
|
161 |
+
.user-new-php .wrap > form .form-table > tbody > tr > td p,
|
162 |
+
.options-general-php .wrap > form .form-table > tbody > tr > td p,
|
163 |
+
.options-writing-php .wrap > form .form-table > tbody > tr > td p,
|
164 |
+
.options-reading-php .wrap > form .form-table > tbody > tr > td p,
|
165 |
+
.options-discussion-php .wrap > form .form-table > tbody > tr > td p,
|
166 |
+
.options-media-php .wrap > form .form-table > tbody > tr > td p,
|
167 |
+
.options-permalink-php .wrap > form .form-table > tbody > tr > td p
|
168 |
+
{
|
169 |
+
font-size:13px;
|
170 |
+
}
|
171 |
+
|
172 |
+
.term-php .wrap > form .form-table > tbody > tr > th,
|
173 |
+
.term-php .wrap > form .form-table > tbody > tr > td.acf-label,
|
174 |
+
|
175 |
+
.profile-php .wrap > form .form-table > tbody > tr > th,
|
176 |
+
.profile-php .wrap > form .form-table > tbody > tr > td.acf-label,
|
177 |
+
|
178 |
+
.user-edit-php .wrap > form .form-table > tbody > tr > th,
|
179 |
+
.user-edit-php .wrap > form .form-table > tbody > tr > td.acf-label,
|
180 |
+
|
181 |
+
.user-new-php .wrap > form .form-table > tbody > tr > th,
|
182 |
+
.user-new-php .wrap > form .form-table > tbody > tr > td.acf-label,
|
183 |
+
|
184 |
+
.options-general-php .wrap > form .form-table > tbody > tr > th,
|
185 |
+
.options-general-php .wrap > form .form-table > tbody > tr > td.acf-label,
|
186 |
+
|
187 |
+
.options-writing-php .wrap > form .form-table > tbody > tr > th,
|
188 |
+
.options-writing-php .wrap > form .form-table > tbody > tr > td.acf-label,
|
189 |
+
|
190 |
+
.options-reading-php .wrap > form .form-table > tbody > tr > th,
|
191 |
+
.options-reading-php .wrap > form .form-table > tbody > tr > td.acf-label,
|
192 |
+
|
193 |
+
.options-discussion-php .wrap > form .form-table > tbody > tr > th,
|
194 |
+
.options-discussion-php .wrap > form .form-table > tbody > tr > td.acf-label,
|
195 |
+
|
196 |
+
.options-media-php .wrap > form .form-table > tbody > tr > th,
|
197 |
+
.options-media-php .wrap > form .form-table > tbody > tr > td.acf-label,
|
198 |
+
|
199 |
+
.options-permalink-php .wrap > form .form-table > tbody > tr > th,
|
200 |
+
.options-permalink-php .wrap > form .form-table > tbody > tr > td.acf-label
|
201 |
+
{
|
202 |
+
border-top: 1px solid #E1E1E1;
|
203 |
+
border-right: 1px solid #E1E1E1;
|
204 |
+
background: #F9F9F9;
|
205 |
+
padding:15px 12px;
|
206 |
+
width:20%;
|
207 |
+
font-size:13px;
|
208 |
+
position:initial;
|
209 |
+
color:#444;
|
210 |
+
}
|
211 |
+
|
212 |
+
.term-php .wrap > form .form-table > tbody > tr > td.td-full,
|
213 |
+
.profile-php .wrap > form .form-table > tbody > tr > td.td-full,
|
214 |
+
.user-edit-php .wrap > form .form-table > tbody > tr > td.td-full,
|
215 |
+
.user-new-php .wrap > form .form-table > tbody > tr > td.td-full,
|
216 |
+
.options-general-php .wrap > form .form-table > tbody > tr > td.td-full,
|
217 |
+
.options-writing-php .wrap > form .form-table > tbody > tr > td.td-full,
|
218 |
+
.options-reading-php .wrap > form .form-table > tbody > tr > td.td-full,
|
219 |
+
.options-discussion-php .wrap > form .form-table > tbody > tr > td.td-full,
|
220 |
+
.options-media-php .wrap > form .form-table > tbody > tr > td.td-full,
|
221 |
+
.options-permalink-php .wrap > form .form-table > tbody > tr > td.td-full
|
222 |
+
{
|
223 |
+
padding:15px 12px;
|
224 |
+
}
|
225 |
+
|
226 |
+
.term-php .wrap > form .form-table > tbody > tr.acf-field,
|
227 |
+
.profile-php .wrap > form .form-table > tbody > tr.acf-field,
|
228 |
+
.user-edit-php .wrap > form .form-table > tbody > tr.acf-field,
|
229 |
+
.user-new-php .wrap > form .form-table > tbody > tr.acf-field,
|
230 |
+
.options-general-php .wrap > form .form-table > tbody > tr.acf-field,
|
231 |
+
.options-writing-php .wrap > form .form-table > tbody > tr.acf-field,
|
232 |
+
.options-reading-php .wrap > form .form-table > tbody > tr.acf-field,
|
233 |
+
.options-discussion-php .wrap > form .form-table > tbody > tr.acf-field,
|
234 |
+
.options-media-php .wrap > form .form-table > tbody > tr.acf-field,
|
235 |
+
.options-permalink-php .wrap > form .form-table > tbody > tr.acf-field
|
236 |
+
{
|
237 |
+
position: initial;
|
238 |
+
}
|
239 |
+
|
240 |
+
.term-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td,
|
241 |
+
.profile-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td,
|
242 |
+
.user-edit-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td,
|
243 |
+
.user-new-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td,
|
244 |
+
.options-general-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td,
|
245 |
+
.options-writing-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td,
|
246 |
+
.options-reading-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td,
|
247 |
+
.options-discussion-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td,
|
248 |
+
.options-media-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td,
|
249 |
+
.options-permalink-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td
|
250 |
+
{
|
251 |
+
background: #F9F9F9;
|
252 |
+
padding:15px 0 0 0;
|
253 |
+
}
|
254 |
+
|
255 |
+
.term-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group,
|
256 |
+
.profile-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group,
|
257 |
+
.user-edit-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group,
|
258 |
+
.user-new-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group,
|
259 |
+
.options-general-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group,
|
260 |
+
.options-writing-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group,
|
261 |
+
.options-reading-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group,
|
262 |
+
.options-discussion-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group,
|
263 |
+
.options-media-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group,
|
264 |
+
.options-permalink-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group
|
265 |
+
{
|
266 |
+
border-bottom:0;
|
267 |
+
padding:0 0 0 20%;
|
268 |
+
}
|
269 |
+
|
270 |
+
.term-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group > li.active a,
|
271 |
+
.profile-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group > li.active a,
|
272 |
+
.user-edit-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group > li.active a,
|
273 |
+
.user-new-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group > li.active a,
|
274 |
+
.options-general-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group > li.active a,
|
275 |
+
.options-writing-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group > li.active a,
|
276 |
+
.options-reading-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group > li.active a,
|
277 |
+
.options-discussion-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group > li.active a,
|
278 |
+
.options-media-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group > li.active a,
|
279 |
+
.options-permalink-php .wrap > form .form-table > tbody > tr.acf-tab-wrap > td ul.acf-tab-group > li.active a
|
280 |
+
{
|
281 |
+
background: #fff;
|
282 |
+
}
|
283 |
+
|
284 |
+
.term-php .wrap > form #poststuff.acfe-acfe-bt-admin-column,
|
285 |
+
.profile-php .wrap > form #poststuff.acfe-acfe-bt-admin-column,
|
286 |
+
.user-edit-php .wrap > form #poststuff.acfe-acfe-bt-admin-column,
|
287 |
+
.user-new-php .wrap > form #poststuff.acfe-acfe-bt-admin-column,
|
288 |
+
.options-general-php .wrap > form #poststuff.acfe-acfe-bt-admin-column,
|
289 |
+
.options-writing-php .wrap > form #poststuff.acfe-acfe-bt-admin-column,
|
290 |
+
.options-reading-php .wrap > form #poststuff.acfe-acfe-bt-admin-column,
|
291 |
+
.options-discussion-php .wrap > form #poststuff.acfe-acfe-bt-admin-column,
|
292 |
+
.options-media-php .wrap > form #poststuff.acfe-acfe-bt-admin-column,
|
293 |
+
.options-permalink-php .wrap > form #poststuff.acfe-acfe-bt-admin-column
|
294 |
+
{
|
295 |
+
min-width:auto;
|
296 |
+
padding:0;
|
297 |
+
}
|
298 |
+
|
299 |
+
.term-php .wrap > form #poststuff.acfe-acfe-bt-admin-column .inside,
|
300 |
+
.profile-php .wrap > form #poststuff.acfe-acfe-bt-admin-column .inside,
|
301 |
+
.user-edit-php .wrap > form #poststuff.acfe-acfe-bt-admin-column .inside,
|
302 |
+
.user-new-php .wrap > form #poststuff.acfe-acfe-bt-admin-column .inside,
|
303 |
+
.options-general-php .wrap > form #poststuff.acfe-acfe-bt-admin-column .inside,
|
304 |
+
.options-writing-php .wrap > form #poststuff.acfe-acfe-bt-admin-column .inside,
|
305 |
+
.options-reading-php .wrap > form #poststuff.acfe-acfe-bt-admin-column .inside,
|
306 |
+
.options-discussion-php .wrap > form #poststuff.acfe-acfe-bt-admin-column .inside,
|
307 |
+
.options-media-php .wrap > form #poststuff.acfe-acfe-bt-admin-column .inside,
|
308 |
+
.options-permalink-php .wrap > form #poststuff.acfe-acfe-bt-admin-column .inside
|
309 |
+
{
|
310 |
+
margin: 0;
|
311 |
+
padding: 0;
|
312 |
+
}
|
313 |
+
|
314 |
+
/*
|
315 |
+
* ACFE: UI Enhanced (Fix ACF)
|
316 |
+
*/
|
317 |
+
.term-php .wrap .form-table > tbody>.acf-field > .acf-label label,
|
318 |
+
.profile-php .wrap .form-table > tbody>.acf-field > .acf-label label,
|
319 |
+
.user-edit-php .wrap .form-table > tbody>.acf-field > .acf-label label,
|
320 |
+
.user-new-php .wrap .form-table > tbody>.acf-field > .acf-label label,
|
321 |
+
.options-general-php .wrap .form-table > tbody>.acf-field > .acf-label label,
|
322 |
+
.options-writing-php .wrap .form-table > tbody>.acf-field > .acf-label label,
|
323 |
+
.options-reading-php .wrap .form-table > tbody>.acf-field > .acf-label label,
|
324 |
+
.options-discussion-php .wrap .form-table > tbody>.acf-field > .acf-label label,
|
325 |
+
.options-media-php .wrap .form-table > tbody>.acf-field > .acf-label label,
|
326 |
+
.options-permalink-php .wrap .form-table > tbody>.acf-field > .acf-label label
|
327 |
+
{
|
328 |
+
font-size: 13px;
|
329 |
+
color: #444;
|
330 |
+
}
|
331 |
+
|
332 |
+
.term-php .wrap .acf-fields.-left > .acf-field.acfe-bt-no-label,
|
333 |
+
.profile-php .wrap .acf-fields.-left > .acf-field.acfe-bt-no-label,
|
334 |
+
.user-edit-php .wrap .acf-fields.-left > .acf-field.acfe-bt-no-label,
|
335 |
+
.user-new-php .wrap .acf-fields.-left > .acf-field.acfe-bt-no-label,
|
336 |
+
.options-general-php .wrap .acf-fields.-left > .acf-field.acfe-bt-no-label,
|
337 |
+
.options-writing-php .wrap .acf-fields.-left > .acf-field.acfe-bt-no-label,
|
338 |
+
.options-reading-php .wrap .acf-fields.-left > .acf-field.acfe-bt-no-label,
|
339 |
+
.options-discussion-php .wrap .acf-fields.-left > .acf-field.acfe-bt-no-label,
|
340 |
+
.options-media-php .wrap .acf-fields.-left > .acf-field.acfe-bt-no-label,
|
341 |
+
.options-permalink-php .wrap .acf-fields.-left > .acf-field.acfe-bt-no-label
|
342 |
+
{
|
343 |
+
padding-left: 20%;
|
344 |
+
}
|
345 |
+
|
346 |
+
.term-php .wrap > form .acf-fields.-left > .acf-field,
|
347 |
+
.profile-php .wrap > form .acf-fields.-left > .acf-field,
|
348 |
+
.user-edit-php .wrap > form .acf-fields.-left > .acf-field,
|
349 |
+
.user-new-php .wrap > form .acf-fields.-left > .acf-field,
|
350 |
+
.options-general-php .wrap > form .acf-fields.-left > .acf-field,
|
351 |
+
.options-writing-php .wrap > form .acf-fields.-left > .acf-field,
|
352 |
+
.options-reading-php .wrap > form .acf-fields.-left > .acf-field,
|
353 |
+
.options-discussion-php .wrap > form .acf-fields.-left > .acf-field,
|
354 |
+
.options-media-php .wrap > form .acf-fields.-left > .acf-field,
|
355 |
+
.options-permalink-php .wrap > form .acf-fields.-left > .acf-field
|
356 |
+
{
|
357 |
+
padding-left: 0;
|
358 |
+
}
|
359 |
+
|
360 |
+
.term-php .wrap > form .acf-fields.-left > .acf-field:before,
|
361 |
+
.profile-php .wrap > form .acf-fields.-left > .acf-field:before,
|
362 |
+
.user-edit-php .wrap > form .acf-fields.-left > .acf-field:before,
|
363 |
+
.user-new-php .wrap > form .acf-fields.-left > .acf-field:before,
|
364 |
+
.options-general-php .wrap > form .acf-fields.-left > .acf-field:before,
|
365 |
+
.options-writing-php .wrap > form .acf-fields.-left > .acf-field:before,
|
366 |
+
.options-reading-php .wrap > form .acf-fields.-left > .acf-field:before,
|
367 |
+
.options-discussion-php .wrap > form .acf-fields.-left > .acf-field:before,
|
368 |
+
.options-media-php .wrap > form .acf-fields.-left > .acf-field:before,
|
369 |
+
.options-permalink-php .wrap > form .acf-fields.-left > .acf-field:before
|
370 |
+
{
|
371 |
+
width:20%;
|
372 |
+
}
|
373 |
+
|
374 |
+
.term-php .wrap > form .acf-fields.-left > .acf-field > .acf-label,
|
375 |
+
.profile-php .wrap > form .acf-fields.-left > .acf-field > .acf-label,
|
376 |
+
.user-edit-php .wrap > form .acf-fields.-left > .acf-field > .acf-label,
|
377 |
+
.user-new-php .wrap > form .acf-fields.-left > .acf-field > .acf-label,
|
378 |
+
.options-general-php .wrap > form .acf-fields.-left > .acf-field > .acf-label,
|
379 |
+
.options-writing-php .wrap > form .acf-fields.-left > .acf-field > .acf-label,
|
380 |
+
.options-reading-php .wrap > form .acf-fields.-left > .acf-field > .acf-label,
|
381 |
+
.options-discussion-php .wrap > form .acf-fields.-left > .acf-field > .acf-label,
|
382 |
+
.options-media-php .wrap > form .acf-fields.-left > .acf-field > .acf-label,
|
383 |
+
.options-permalink-php .wrap > form .acf-fields.-left > .acf-field > .acf-label
|
384 |
+
{
|
385 |
+
width: 20%;
|
386 |
+
margin-left: 0;
|
387 |
+
padding: 0 12px;
|
388 |
+
}
|
389 |
+
|
390 |
+
.term-php .wrap > form .acf-fields.-left > .acf-field > .acf-input,
|
391 |
+
.profile-php .wrap > form .acf-fields.-left > .acf-field > .acf-input,
|
392 |
+
.user-edit-php .wrap > form .acf-fields.-left > .acf-field > .acf-input,
|
393 |
+
.user-new-php .wrap > form .acf-fields.-left > .acf-field > .acf-input,
|
394 |
+
.options-general-php .wrap > form .acf-fields.-left > .acf-field > .acf-input,
|
395 |
+
.options-writing-php .wrap > form .acf-fields.-left > .acf-field > .acf-input,
|
396 |
+
.options-reading-php .wrap > form .acf-fields.-left > .acf-field > .acf-input,
|
397 |
+
.options-discussion-php .wrap > form .acf-fields.-left > .acf-field > .acf-input,
|
398 |
+
.options-media-php .wrap > form .acf-fields.-left > .acf-field > .acf-input,
|
399 |
+
.options-permalink-php .wrap > form .acf-fields.-left > .acf-field > .acf-input
|
400 |
+
{
|
401 |
+
padding: 0 12px;
|
402 |
+
}
|
403 |
+
|
404 |
+
.term-php .wrap > form p.submit,
|
405 |
+
.profile-php .wrap > form p.submit,
|
406 |
+
.user-edit-php .wrap > form p.submit,
|
407 |
+
.user-new-php .wrap > form p.submit,
|
408 |
+
.options-general-php .wrap > form p.submit,
|
409 |
+
.options-writing-php .wrap > form p.submit,
|
410 |
+
.options-reading-php .wrap > form p.submit,
|
411 |
+
.options-discussion-php .wrap > form p.submit,
|
412 |
+
.options-media-php .wrap > form p.submit,
|
413 |
+
.options-permalink-php .wrap > form p.submit
|
414 |
+
{
|
415 |
+
display:none;
|
416 |
+
}
|
417 |
+
|
418 |
+
/*
|
419 |
+
* ACFE: UI - Term Single
|
420 |
+
*/
|
421 |
+
.term-php .wrap > form{
|
422 |
+
margin-top:13px;
|
423 |
+
}
|
424 |
+
|
425 |
+
/*
|
426 |
+
* ACFE: UI - Terms List
|
427 |
+
*/
|
428 |
+
.edit-tags-php #col-left{
|
429 |
+
display:none;
|
430 |
+
}
|
431 |
+
|
432 |
+
.edit-tags-php #col-container #col-right{
|
433 |
+
float:none;
|
434 |
+
width:auto;
|
435 |
+
}
|
436 |
+
|
437 |
+
.edit-tags-php #col-container #col-right .col-wrap{
|
438 |
+
padding:0;
|
439 |
+
}
|
440 |
+
|
441 |
+
.edit-tags-php #col-left.acfe-bt{
|
442 |
+
float:none;
|
443 |
+
width:100%;
|
444 |
+
}
|
445 |
+
|
446 |
+
.edit-tags-php #col-left.acfe-bt .col-wrap{
|
447 |
+
padding:0;
|
448 |
+
}
|
449 |
+
|
450 |
+
.edit-tags-php #col-left.acfe-bt #poststuff{
|
451 |
+
min-width:100%;
|
452 |
+
}
|
453 |
+
|
454 |
+
.edit-tags-php #acfe-bt-form .submit.acf-field{
|
455 |
+
display:block !important;
|
456 |
+
margin: 0;
|
457 |
}
|
assets/acf-extended-ui.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.options-discussion-php .wrap>form,.options-general-php .wrap>form,.options-media-php .wrap>form,.options-permalink-php .wrap>form,.options-reading-php .wrap>form,.options-writing-php .wrap>form,.profile-php .wrap>form,.term-php .wrap>form,.user-edit-php .wrap>form,.user-new-php .wrap>form{max-width:100%!important;width:100%;float:left}.options-discussion-php .wrap>form>div>div>h2,.options-general-php .wrap>form>div>div>h2,.options-media-php .wrap>form>div>div>h2,.options-permalink-php .wrap>form>div>div>h2,.options-reading-php .wrap>form>div>div>h2,.options-writing-php .wrap>form>div>div>h2,.profile-php .wrap>form>div>div>h2,.term-php .wrap>form>div>div>h2,.user-edit-php .wrap>form>div>div>h2,.user-new-php .wrap>form>div>div>h2{background:#fff;border:1px solid #ccd0d4;border-bottom:0;margin:0;color:#23282d;font-size:14px;padding:8px 12px;line-height:1.4}.options-discussion-php .wrap>form>div>div>h2+p,.options-general-php .wrap>form>div>div>h2+p,.options-media-php .wrap>form>div>div>h2+p,.options-permalink-php .wrap>form>div>div>h2+p,.options-reading-php .wrap>form>div>div>h2+p,.options-writing-php .wrap>form>div>div>h2+p,.profile-php .wrap>form>div>div>h2+p,.term-php .wrap>form>div>div>h2+p,.user-edit-php .wrap>form>div>div>h2+p,.user-new-php .wrap>form>div>div>h2+p{margin:0;border:1px solid #ccd0d4;border-bottom:0;padding:15px 12px}.options-discussion-php .wrap>form>div>div>h2+.form-table,.options-discussion-php .wrap>form>div>div>h2+p+.form-table,.options-general-php .wrap>form>div>div>h2+.form-table,.options-general-php .wrap>form>div>div>h2+p+.form-table,.options-media-php .wrap>form>div>div>h2+.form-table,.options-media-php .wrap>form>div>div>h2+p+.form-table,.options-permalink-php .wrap>form>div>div>h2+.form-table,.options-permalink-php .wrap>form>div>div>h2+p+.form-table,.options-reading-php .wrap>form>div>div>h2+.form-table,.options-reading-php .wrap>form>div>div>h2+p+.form-table,.options-writing-php .wrap>form>div>div>h2+.form-table,.options-writing-php .wrap>form>div>div>h2+p+.form-table,.profile-php .wrap>form>div>div>h2+.form-table,.profile-php .wrap>form>div>div>h2+p+.form-table,.term-php .wrap>form>div>div>h2+.form-table,.term-php .wrap>form>div>div>h2+p+.form-table,.user-edit-php .wrap>form>div>div>h2+.form-table,.user-edit-php .wrap>form>div>div>h2+p+.form-table,.user-new-php .wrap>form>div>div>h2+.form-table,.user-new-php .wrap>form>div>div>h2+p+.form-table{margin-top:0}.options-discussion-php .wrap>form .form-table,.options-general-php .wrap>form .form-table,.options-media-php .wrap>form .form-table,.options-permalink-php .wrap>form .form-table,.options-reading-php .wrap>form .form-table,.options-writing-php .wrap>form .form-table,.profile-php .wrap>form .form-table,.term-php .wrap>form .form-table,.user-edit-php .wrap>form .form-table,.user-new-php .wrap>form .form-table{background:#fff;width:100%;border:1px solid #ccd0d4;box-shadow:0 1px 1px rgba(0,0,0,.04);margin-bottom:20px}.options-discussion-php .wrap>form .form-table>tbody>tr>td,.options-general-php .wrap>form .form-table>tbody>tr>td,.options-media-php .wrap>form .form-table>tbody>tr>td,.options-permalink-php .wrap>form .form-table>tbody>tr>td,.options-reading-php .wrap>form .form-table>tbody>tr>td,.options-writing-php .wrap>form .form-table>tbody>tr>td,.profile-php .wrap>form .form-table>tbody>tr>td,.term-php .wrap>form .form-table>tbody>tr>td,.user-edit-php .wrap>form .form-table>tbody>tr>td,.user-new-php .wrap>form .form-table>tbody>tr>td{background:#fff;border-top:1px solid #e1e1e1;position:initial}.options-discussion-php .wrap>form .form-table>tbody>tr:first-of-type>td,.options-discussion-php .wrap>form .form-table>tbody>tr:first-of-type>th,.options-general-php .wrap>form .form-table>tbody>tr:first-of-type>td,.options-general-php .wrap>form .form-table>tbody>tr:first-of-type>th,.options-media-php .wrap>form .form-table>tbody>tr:first-of-type>td,.options-media-php .wrap>form .form-table>tbody>tr:first-of-type>th,.options-permalink-php .wrap>form .form-table>tbody>tr:first-of-type>td,.options-permalink-php .wrap>form .form-table>tbody>tr:first-of-type>th,.options-reading-php .wrap>form .form-table>tbody>tr:first-of-type>td,.options-reading-php .wrap>form .form-table>tbody>tr:first-of-type>th,.options-writing-php .wrap>form .form-table>tbody>tr:first-of-type>td,.options-writing-php .wrap>form .form-table>tbody>tr:first-of-type>th,.profile-php .wrap>form .form-table>tbody>tr:first-of-type>td,.profile-php .wrap>form .form-table>tbody>tr:first-of-type>th,.term-php .wrap>form .form-table>tbody>tr:first-of-type>td,.term-php .wrap>form .form-table>tbody>tr:first-of-type>th,.user-edit-php .wrap>form .form-table>tbody>tr:first-of-type>td,.user-edit-php .wrap>form .form-table>tbody>tr:first-of-type>th,.user-new-php .wrap>form .form-table>tbody>tr:first-of-type>td,.user-new-php .wrap>form .form-table>tbody>tr:first-of-type>th{border-top:1px solid #ccd0d4}.options-discussion-php .wrap>form .form-table>tbody>tr>td p,.options-general-php .wrap>form .form-table>tbody>tr>td p,.options-media-php .wrap>form .form-table>tbody>tr>td p,.options-permalink-php .wrap>form .form-table>tbody>tr>td p,.options-reading-php .wrap>form .form-table>tbody>tr>td p,.options-writing-php .wrap>form .form-table>tbody>tr>td p,.profile-php .wrap>form .form-table>tbody>tr>td p,.term-php .wrap>form .form-table>tbody>tr>td p,.user-edit-php .wrap>form .form-table>tbody>tr>td p,.user-new-php .wrap>form .form-table>tbody>tr>td p{font-size:13px}.options-discussion-php .wrap>form .form-table>tbody>tr>td.acf-label,.options-discussion-php .wrap>form .form-table>tbody>tr>th,.options-general-php .wrap>form .form-table>tbody>tr>td.acf-label,.options-general-php .wrap>form .form-table>tbody>tr>th,.options-media-php .wrap>form .form-table>tbody>tr>td.acf-label,.options-media-php .wrap>form .form-table>tbody>tr>th,.options-permalink-php .wrap>form .form-table>tbody>tr>td.acf-label,.options-permalink-php .wrap>form .form-table>tbody>tr>th,.options-reading-php .wrap>form .form-table>tbody>tr>td.acf-label,.options-reading-php .wrap>form .form-table>tbody>tr>th,.options-writing-php .wrap>form .form-table>tbody>tr>td.acf-label,.options-writing-php .wrap>form .form-table>tbody>tr>th,.profile-php .wrap>form .form-table>tbody>tr>td.acf-label,.profile-php .wrap>form .form-table>tbody>tr>th,.term-php .wrap>form .form-table>tbody>tr>td.acf-label,.term-php .wrap>form .form-table>tbody>tr>th,.user-edit-php .wrap>form .form-table>tbody>tr>td.acf-label,.user-edit-php .wrap>form .form-table>tbody>tr>th,.user-new-php .wrap>form .form-table>tbody>tr>td.acf-label,.user-new-php .wrap>form .form-table>tbody>tr>th{border-top:1px solid #e1e1e1;border-right:1px solid #e1e1e1;background:#f9f9f9;padding:15px 12px;width:20%;font-size:13px;position:initial;color:#444}.options-discussion-php .wrap>form .form-table>tbody>tr>td.td-full,.options-general-php .wrap>form .form-table>tbody>tr>td.td-full,.options-media-php .wrap>form .form-table>tbody>tr>td.td-full,.options-permalink-php .wrap>form .form-table>tbody>tr>td.td-full,.options-reading-php .wrap>form .form-table>tbody>tr>td.td-full,.options-writing-php .wrap>form .form-table>tbody>tr>td.td-full,.profile-php .wrap>form .form-table>tbody>tr>td.td-full,.term-php .wrap>form .form-table>tbody>tr>td.td-full,.user-edit-php .wrap>form .form-table>tbody>tr>td.td-full,.user-new-php .wrap>form .form-table>tbody>tr>td.td-full{padding:15px 12px}.options-discussion-php .wrap>form .form-table>tbody>tr.acf-field,.options-general-php .wrap>form .form-table>tbody>tr.acf-field,.options-media-php .wrap>form .form-table>tbody>tr.acf-field,.options-permalink-php .wrap>form .form-table>tbody>tr.acf-field,.options-reading-php .wrap>form .form-table>tbody>tr.acf-field,.options-writing-php .wrap>form .form-table>tbody>tr.acf-field,.profile-php .wrap>form .form-table>tbody>tr.acf-field,.term-php .wrap>form .form-table>tbody>tr.acf-field,.user-edit-php .wrap>form .form-table>tbody>tr.acf-field,.user-new-php .wrap>form .form-table>tbody>tr.acf-field{position:initial}.options-discussion-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td,.options-general-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td,.options-media-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td,.options-permalink-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td,.options-reading-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td,.options-writing-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td,.profile-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td,.term-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td,.user-edit-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td,.user-new-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td{background:#f9f9f9;padding:15px 0 0 0}.options-discussion-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td ul.acf-tab-group,.options-general-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td ul.acf-tab-group,.options-media-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td ul.acf-tab-group,.options-permalink-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td ul.acf-tab-group,.options-reading-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td ul.acf-tab-group,.options-writing-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td ul.acf-tab-group,.profile-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td ul.acf-tab-group,.term-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td ul.acf-tab-group,.user-edit-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td ul.acf-tab-group,.user-new-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td ul.acf-tab-group{border-bottom:0;padding:0 0 0 20%}.options-discussion-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td ul.acf-tab-group>li.active a,.options-general-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td ul.acf-tab-group>li.active a,.options-media-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td ul.acf-tab-group>li.active a,.options-permalink-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td ul.acf-tab-group>li.active a,.options-reading-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td ul.acf-tab-group>li.active a,.options-writing-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td ul.acf-tab-group>li.active a,.profile-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td ul.acf-tab-group>li.active a,.term-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td ul.acf-tab-group>li.active a,.user-edit-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td ul.acf-tab-group>li.active a,.user-new-php .wrap>form .form-table>tbody>tr.acf-tab-wrap>td ul.acf-tab-group>li.active a{background:#fff}.options-discussion-php .wrap>form #poststuff.acfe-acfe-bt-admin-column,.options-general-php .wrap>form #poststuff.acfe-acfe-bt-admin-column,.options-media-php .wrap>form #poststuff.acfe-acfe-bt-admin-column,.options-permalink-php .wrap>form #poststuff.acfe-acfe-bt-admin-column,.options-reading-php .wrap>form #poststuff.acfe-acfe-bt-admin-column,.options-writing-php .wrap>form #poststuff.acfe-acfe-bt-admin-column,.profile-php .wrap>form #poststuff.acfe-acfe-bt-admin-column,.term-php .wrap>form #poststuff.acfe-acfe-bt-admin-column,.user-edit-php .wrap>form #poststuff.acfe-acfe-bt-admin-column,.user-new-php .wrap>form #poststuff.acfe-acfe-bt-admin-column{min-width:auto;padding:0}.options-discussion-php .wrap>form #poststuff.acfe-acfe-bt-admin-column .inside,.options-general-php .wrap>form #poststuff.acfe-acfe-bt-admin-column .inside,.options-media-php .wrap>form #poststuff.acfe-acfe-bt-admin-column .inside,.options-permalink-php .wrap>form #poststuff.acfe-acfe-bt-admin-column .inside,.options-reading-php .wrap>form #poststuff.acfe-acfe-bt-admin-column .inside,.options-writing-php .wrap>form #poststuff.acfe-acfe-bt-admin-column .inside,.profile-php .wrap>form #poststuff.acfe-acfe-bt-admin-column .inside,.term-php .wrap>form #poststuff.acfe-acfe-bt-admin-column .inside,.user-edit-php .wrap>form #poststuff.acfe-acfe-bt-admin-column .inside,.user-new-php .wrap>form #poststuff.acfe-acfe-bt-admin-column .inside{margin:0;padding:0}.options-discussion-php .wrap .form-table>tbody>.acf-field>.acf-label label,.options-general-php .wrap .form-table>tbody>.acf-field>.acf-label label,.options-media-php .wrap .form-table>tbody>.acf-field>.acf-label label,.options-permalink-php .wrap .form-table>tbody>.acf-field>.acf-label label,.options-reading-php .wrap .form-table>tbody>.acf-field>.acf-label label,.options-writing-php .wrap .form-table>tbody>.acf-field>.acf-label label,.profile-php .wrap .form-table>tbody>.acf-field>.acf-label label,.term-php .wrap .form-table>tbody>.acf-field>.acf-label label,.user-edit-php .wrap .form-table>tbody>.acf-field>.acf-label label,.user-new-php .wrap .form-table>tbody>.acf-field>.acf-label label{font-size:13px;color:#444}.options-discussion-php .wrap .acf-fields.-left>.acf-field.acfe-bt-no-label,.options-general-php .wrap .acf-fields.-left>.acf-field.acfe-bt-no-label,.options-media-php .wrap .acf-fields.-left>.acf-field.acfe-bt-no-label,.options-permalink-php .wrap .acf-fields.-left>.acf-field.acfe-bt-no-label,.options-reading-php .wrap .acf-fields.-left>.acf-field.acfe-bt-no-label,.options-writing-php .wrap .acf-fields.-left>.acf-field.acfe-bt-no-label,.profile-php .wrap .acf-fields.-left>.acf-field.acfe-bt-no-label,.term-php .wrap .acf-fields.-left>.acf-field.acfe-bt-no-label,.user-edit-php .wrap .acf-fields.-left>.acf-field.acfe-bt-no-label,.user-new-php .wrap .acf-fields.-left>.acf-field.acfe-bt-no-label{padding-left:20%}.options-discussion-php .wrap>form .acf-fields.-left>.acf-field,.options-general-php .wrap>form .acf-fields.-left>.acf-field,.options-media-php .wrap>form .acf-fields.-left>.acf-field,.options-permalink-php .wrap>form .acf-fields.-left>.acf-field,.options-reading-php .wrap>form .acf-fields.-left>.acf-field,.options-writing-php .wrap>form .acf-fields.-left>.acf-field,.profile-php .wrap>form .acf-fields.-left>.acf-field,.term-php .wrap>form .acf-fields.-left>.acf-field,.user-edit-php .wrap>form .acf-fields.-left>.acf-field,.user-new-php .wrap>form .acf-fields.-left>.acf-field{padding-left:0}.options-discussion-php .wrap>form .acf-fields.-left>.acf-field:before,.options-general-php .wrap>form .acf-fields.-left>.acf-field:before,.options-media-php .wrap>form .acf-fields.-left>.acf-field:before,.options-permalink-php .wrap>form .acf-fields.-left>.acf-field:before,.options-reading-php .wrap>form .acf-fields.-left>.acf-field:before,.options-writing-php .wrap>form .acf-fields.-left>.acf-field:before,.profile-php .wrap>form .acf-fields.-left>.acf-field:before,.term-php .wrap>form .acf-fields.-left>.acf-field:before,.user-edit-php .wrap>form .acf-fields.-left>.acf-field:before,.user-new-php .wrap>form .acf-fields.-left>.acf-field:before{width:20%}.options-discussion-php .wrap>form .acf-fields.-left>.acf-field>.acf-label,.options-general-php .wrap>form .acf-fields.-left>.acf-field>.acf-label,.options-media-php .wrap>form .acf-fields.-left>.acf-field>.acf-label,.options-permalink-php .wrap>form .acf-fields.-left>.acf-field>.acf-label,.options-reading-php .wrap>form .acf-fields.-left>.acf-field>.acf-label,.options-writing-php .wrap>form .acf-fields.-left>.acf-field>.acf-label,.profile-php .wrap>form .acf-fields.-left>.acf-field>.acf-label,.term-php .wrap>form .acf-fields.-left>.acf-field>.acf-label,.user-edit-php .wrap>form .acf-fields.-left>.acf-field>.acf-label,.user-new-php .wrap>form .acf-fields.-left>.acf-field>.acf-label{width:20%;margin-left:0;padding:0 12px}.options-discussion-php .wrap>form .acf-fields.-left>.acf-field>.acf-input,.options-general-php .wrap>form .acf-fields.-left>.acf-field>.acf-input,.options-media-php .wrap>form .acf-fields.-left>.acf-field>.acf-input,.options-permalink-php .wrap>form .acf-fields.-left>.acf-field>.acf-input,.options-reading-php .wrap>form .acf-fields.-left>.acf-field>.acf-input,.options-writing-php .wrap>form .acf-fields.-left>.acf-field>.acf-input,.profile-php .wrap>form .acf-fields.-left>.acf-field>.acf-input,.term-php .wrap>form .acf-fields.-left>.acf-field>.acf-input,.user-edit-php .wrap>form .acf-fields.-left>.acf-field>.acf-input,.user-new-php .wrap>form .acf-fields.-left>.acf-field>.acf-input{padding:0 12px}.options-discussion-php .wrap>form p.submit,.options-general-php .wrap>form p.submit,.options-media-php .wrap>form p.submit,.options-permalink-php .wrap>form p.submit,.options-reading-php .wrap>form p.submit,.options-writing-php .wrap>form p.submit,.profile-php .wrap>form p.submit,.term-php .wrap>form p.submit,.user-edit-php .wrap>form p.submit,.user-new-php .wrap>form p.submit{display:none}.term-php .wrap>form{margin-top:13px}.edit-tags-php #col-left{display:none}.edit-tags-php #col-container #col-right{float:none;width:auto}.edit-tags-php #col-container #col-right .col-wrap{padding:0}.edit-tags-php #col-left.acfe-bt{float:none;width:100%}.edit-tags-php #col-left.acfe-bt .col-wrap{padding:0}.edit-tags-php #col-left.acfe-bt #poststuff{min-width:100%}.edit-tags-php #acfe-bt-form .submit.acf-field{display:block!important;margin:0}
|
assets/acf-extended.css
CHANGED
@@ -394,8 +394,6 @@ form.acfe-form.is-invalid[data-errors-position="below"] .acf-field .acf-notice{
|
|
394 |
.acf-fields > .acf-field.acf-field-acfe-column{
|
395 |
float: left;
|
396 |
clear: none;
|
397 |
-
-webkit-box-sizing: border-box;
|
398 |
-
-moz-box-sizing: border-box;
|
399 |
box-sizing: border-box;
|
400 |
padding:0;
|
401 |
border-top-width:0;
|
@@ -431,45 +429,83 @@ form.acfe-form.is-invalid[data-errors-position="below"] .acf-field .acf-notice{
|
|
431 |
width:100%;
|
432 |
}
|
433 |
|
434 |
-
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="1/
|
435 |
-
|
436 |
}
|
437 |
|
438 |
-
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="2/
|
439 |
-
|
440 |
}
|
441 |
|
442 |
-
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="3/
|
443 |
-
|
444 |
}
|
445 |
|
446 |
-
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="4/
|
447 |
-
|
448 |
}
|
449 |
|
450 |
-
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="5/
|
451 |
-
|
452 |
}
|
453 |
|
454 |
-
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="6/
|
455 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
456 |
border-right:0;
|
457 |
}
|
458 |
|
459 |
@media only screen and (max-width:1024px){
|
460 |
-
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="1/
|
461 |
-
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="2/
|
462 |
-
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="
|
463 |
-
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="
|
|
|
|
|
|
|
|
|
|
|
|
|
464 |
width: 50%;
|
465 |
}
|
466 |
}
|
467 |
|
468 |
@media only screen and (max-width:640px){
|
469 |
-
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="1/
|
470 |
-
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="2/
|
471 |
-
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="
|
472 |
-
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
473 |
width: 100%;
|
474 |
}
|
475 |
}
|
@@ -499,8 +535,6 @@ form.acfe-form.is-invalid[data-errors-position="below"] .acf-field .acf-notice{
|
|
499 |
.acf-ui-datepicker .ui-datepicker {
|
500 |
padding: 0;
|
501 |
border-color: #7e8993 !important;
|
502 |
-
-webkit-border-radius: 4px;
|
503 |
-
-moz-border-radius: 4px;
|
504 |
border-radius: 4px;
|
505 |
box-sizing: border-box;
|
506 |
background:#fff;
|
@@ -532,15 +566,11 @@ form.acfe-form.is-invalid[data-errors-position="below"] .acf-field .acf-notice{
|
|
532 |
background: #F9F9F9;
|
533 |
color: #222;
|
534 |
font-weight: normal;
|
535 |
-
-webkit-border-radius: 4px 4px 0;
|
536 |
-
-moz-border-radius: 4px 4px 0;
|
537 |
border-radius: 4px 4px 0;
|
538 |
}
|
539 |
.acf-ui-datepicker .ui-datepicker .ui-datepicker-header .ui-state-hover {
|
540 |
background: #F9F9F9;
|
541 |
cursor: pointer;
|
542 |
-
-webkit-border-radius: 0;
|
543 |
-
-moz-border-radius: 0;
|
544 |
border-radius: 0;
|
545 |
border:0;
|
546 |
}
|
@@ -751,4 +781,1099 @@ form.acfe-form.is-invalid[data-errors-position="below"] .acf-field .acf-notice{
|
|
751 |
*/
|
752 |
body .medium-editor-toolbar {
|
753 |
z-index: 999999 !important;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
754 |
}
|
394 |
.acf-fields > .acf-field.acf-field-acfe-column{
|
395 |
float: left;
|
396 |
clear: none;
|
|
|
|
|
397 |
box-sizing: border-box;
|
398 |
padding:0;
|
399 |
border-top-width:0;
|
429 |
width:100%;
|
430 |
}
|
431 |
|
432 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="1/12"] {
|
433 |
+
width: 8.333333%;
|
434 |
}
|
435 |
|
436 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="2/12"] {
|
437 |
+
width: 16.66666%;
|
438 |
}
|
439 |
|
440 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="3/12"] {
|
441 |
+
width: 25%;
|
442 |
}
|
443 |
|
444 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="4/12"] {
|
445 |
+
width: 33.33333%;
|
446 |
}
|
447 |
|
448 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="5/12"] {
|
449 |
+
width: 41.66667%;
|
450 |
}
|
451 |
|
452 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="6/12"] {
|
453 |
+
width: 50%;
|
454 |
+
}
|
455 |
+
|
456 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="7/12"] {
|
457 |
+
width: 58.33333%;
|
458 |
+
}
|
459 |
+
|
460 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="8/12"] {
|
461 |
+
width: 66.66666%;
|
462 |
+
}
|
463 |
+
|
464 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="9/12"] {
|
465 |
+
width: 75%;
|
466 |
+
}
|
467 |
+
|
468 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="10/12"] {
|
469 |
+
width: 83.33333%;
|
470 |
+
}
|
471 |
+
|
472 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="11/12"] {
|
473 |
+
width: 91.66667%;
|
474 |
+
}
|
475 |
+
|
476 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="12/12"] {
|
477 |
+
width: 100%;
|
478 |
border-right:0;
|
479 |
}
|
480 |
|
481 |
@media only screen and (max-width:1024px){
|
482 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="1/12"],
|
483 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="2/12"],
|
484 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="3/12"],
|
485 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="4/12"],
|
486 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="5/12"],
|
487 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="7/12"],
|
488 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="8/12"],
|
489 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="9/12"],
|
490 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="10/12"],
|
491 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="11/12"] {
|
492 |
width: 50%;
|
493 |
}
|
494 |
}
|
495 |
|
496 |
@media only screen and (max-width:640px){
|
497 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="1/12"],
|
498 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="2/12"],
|
499 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="3/12"],
|
500 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="4/12"],
|
501 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="5/12"],
|
502 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="6/12"],
|
503 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="7/12"],
|
504 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="8/12"],
|
505 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="9/12"],
|
506 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="10/12"],
|
507 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="11/12"],
|
508 |
+
.acf-fields > .acf-field.acf-field-acfe-column[data-columns="12/12"] {
|
509 |
width: 100%;
|
510 |
}
|
511 |
}
|
535 |
.acf-ui-datepicker .ui-datepicker {
|
536 |
padding: 0;
|
537 |
border-color: #7e8993 !important;
|
|
|
|
|
538 |
border-radius: 4px;
|
539 |
box-sizing: border-box;
|
540 |
background:#fff;
|
566 |
background: #F9F9F9;
|
567 |
color: #222;
|
568 |
font-weight: normal;
|
|
|
|
|
569 |
border-radius: 4px 4px 0;
|
570 |
}
|
571 |
.acf-ui-datepicker .ui-datepicker .ui-datepicker-header .ui-state-hover {
|
572 |
background: #F9F9F9;
|
573 |
cursor: pointer;
|
|
|
|
|
574 |
border-radius: 0;
|
575 |
border:0;
|
576 |
}
|
781 |
*/
|
782 |
body .medium-editor-toolbar {
|
783 |
z-index: 999999 !important;
|
784 |
+
}
|
785 |
+
/*
|
786 |
+
* Flexible: Sortable
|
787 |
+
*/
|
788 |
+
.acf-flexible-content > .values > .ui-sortable-placeholder{
|
789 |
+
/*height:147px;*/
|
790 |
+
border-width:2px;
|
791 |
+
border-color:#ccc;
|
792 |
+
}
|
793 |
+
|
794 |
+
/*
|
795 |
+
* Flexible: Layout Handle
|
796 |
+
*/
|
797 |
+
.acf-flexible-content .layout .acf-fc-layout-handle {
|
798 |
+
color: #444;
|
799 |
+
font-weight: 600;
|
800 |
+
}
|
801 |
+
|
802 |
+
/*
|
803 |
+
* Flexible: Field Error
|
804 |
+
*/
|
805 |
+
.layout.acfe-flexible-modal-edit-error > .acf-fc-layout-handle{
|
806 |
+
color:#f33b28;
|
807 |
+
}
|
808 |
+
|
809 |
+
.layout.acfe-flexible-modal-edit-error > .acf-fc-layout-handle > .acf-fc-layout-order{
|
810 |
+
background:#f33b28;
|
811 |
+
color:#fff;
|
812 |
+
}
|
813 |
+
|
814 |
+
/*
|
815 |
+
* Flexible: Layout Collapsed
|
816 |
+
*/
|
817 |
+
|
818 |
+
.acf-field-flexible-content[data-acfe-flexible-modal-edition="1"]:not([data-acfe-flexible-placeholder="1"]):not([data-acfe-flexible-preview="1"]) > .acf-input > .acf-flexible-content > .values > .layout > .acf-fc-layout-handle{
|
819 |
+
border-bottom-width:0;
|
820 |
+
}
|
821 |
+
|
822 |
+
|
823 |
+
.acf-field-flexible-content[data-acfe-flexible-placeholder="1"] > .acf-input > .acf-flexible-content > .values > .layout.-collapsed > .acf-fc-layout-handle,
|
824 |
+
.acf-field-flexible-content[data-acfe-flexible-preview="1"] > .acf-input > .acf-flexible-content > .values > .layout.-collapsed > .acf-fc-layout-handle{
|
825 |
+
border-bottom-width:1px;
|
826 |
+
}
|
827 |
+
|
828 |
+
.acf-field-flexible-content[data-acfe-flexible-lock="1"] > .acf-input > .acf-flexible-content > .values > .layout > .acf-fc-layout-handle{
|
829 |
+
cursor:initial;
|
830 |
+
}
|
831 |
+
|
832 |
+
.acf-field-flexible-content[data-acfe-flexible-remove-collapse="1"]:not([data-acfe-flexible-lock="1"]) > .acf-input > .acf-flexible-content > .values > .layout > .acf-fc-layout-handle{
|
833 |
+
cursor:initial;
|
834 |
+
}
|
835 |
+
|
836 |
+
/*
|
837 |
+
* Flexible: Popup Grey
|
838 |
+
*/
|
839 |
+
.acf-fc-popup.top.acfe-fc-popup-grey:before{
|
840 |
+
border-top-color: #e1e1e1;
|
841 |
+
}
|
842 |
+
.acf-tooltip.bottom.acfe-fc-popup-grey:before{
|
843 |
+
border-bottom-color: #e1e1e1;
|
844 |
+
}
|
845 |
+
.acf-fc-popup.acfe-fc-popup-grey{
|
846 |
+
background: #fcfcfc;
|
847 |
+
border-radius: 3px;
|
848 |
+
color: #444;
|
849 |
+
border: 1px solid #e1e1e1;
|
850 |
+
font-size: 13px;
|
851 |
+
}
|
852 |
+
.acf-tooltip.top.acfe-fc-popup-grey{
|
853 |
+
margin-top: -16px;
|
854 |
+
}
|
855 |
+
.acf-tooltip.bottom.acfe-fc-popup-grey{
|
856 |
+
margin-bottom: -16px;
|
857 |
+
}
|
858 |
+
|
859 |
+
.acf-fc-popup.acfe-fc-popup-grey a{
|
860 |
+
color: #444;
|
861 |
+
}
|
862 |
+
|
863 |
+
.acf-fc-popup.acfe-fc-popup-grey a:hover{
|
864 |
+
color: #fff;
|
865 |
+
}
|
866 |
+
|
867 |
+
/*
|
868 |
+
* Flexible Layout: Placeholder
|
869 |
+
*/
|
870 |
+
.layout > .acfe-fc-placeholder{
|
871 |
+
text-align:center;
|
872 |
+
background:#f9f9f9;
|
873 |
+
display:block;
|
874 |
+
text-decoration:none;
|
875 |
+
position:relative;
|
876 |
+
cursor:pointer;
|
877 |
+
}
|
878 |
+
|
879 |
+
.layout > .acfe-fc-placeholder:focus{
|
880 |
+
border-color: #ccc;
|
881 |
+
box-shadow: none;
|
882 |
+
}
|
883 |
+
|
884 |
+
.layout > .acfe-fc-placeholder > .acfe-flexible-placeholder{
|
885 |
+
height:110px;
|
886 |
+
overflow:hidden;
|
887 |
+
text-align:initial;
|
888 |
+
}
|
889 |
+
|
890 |
+
.layout > .acfe-fc-placeholder > a{
|
891 |
+
z-index:2;
|
892 |
+
position:absolute;
|
893 |
+
top:50%;
|
894 |
+
left:50%;
|
895 |
+
transform:translate(-50%, -50%);
|
896 |
+
border-color: #ccd0d4;
|
897 |
+
color: #23282d;
|
898 |
+
border-radius:100px;
|
899 |
+
box-shadow:none;
|
900 |
+
background:#fff;
|
901 |
+
width: 30px;
|
902 |
+
min-height: 30px;
|
903 |
+
height: 30px;
|
904 |
+
padding:0;
|
905 |
+
display:block;
|
906 |
+
}
|
907 |
+
|
908 |
+
body:not(.acf-admin-5-3) .layout > .acfe-fc-placeholder > a{
|
909 |
+
border-color: #999;
|
910 |
+
}
|
911 |
+
|
912 |
+
.acfe-modal.-open.acfe-modal-sub > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields > .acf-field-flexible-content > .acf-input > .acf-flexible-content > .values > .layout > .acfe-fc-placeholder > a{
|
913 |
+
z-index:0;
|
914 |
+
}
|
915 |
+
|
916 |
+
.layout > .acfe-fc-placeholder > a:active{
|
917 |
+
transform:translate(-50%, -50%);
|
918 |
+
}
|
919 |
+
|
920 |
+
.layout > .acfe-fc-placeholder > a:focus{
|
921 |
+
border-color: #cccccc;
|
922 |
+
box-shadow: none;
|
923 |
+
}
|
924 |
+
|
925 |
+
.layout > .acfe-fc-placeholder > a span{
|
926 |
+
width: 29px;
|
927 |
+
height: 30px;
|
928 |
+
vertical-align:top;
|
929 |
+
line-height: 28px;
|
930 |
+
font-size:18px;
|
931 |
+
}
|
932 |
+
|
933 |
+
body:not(.acf-admin-5-3) .layout > .acfe-fc-placeholder > a span{
|
934 |
+
width: 30px;
|
935 |
+
height: 30px;
|
936 |
+
}
|
937 |
+
|
938 |
+
.layout > .acfe-fc-placeholder.acfe-fc-preview{
|
939 |
+
background:none;
|
940 |
+
}
|
941 |
+
|
942 |
+
.layout > .acfe-fc-placeholder.acfe-fc-preview > .acfe-flexible-placeholder{
|
943 |
+
min-height:55px;
|
944 |
+
height:auto;
|
945 |
+
}
|
946 |
+
|
947 |
+
.layout > .acfe-fc-placeholder.acfe-fc-preview > a{
|
948 |
+
display:none;
|
949 |
+
}
|
950 |
+
|
951 |
+
.layout > .acfe-fc-placeholder.acfe-fc-preview:hover > a{
|
952 |
+
display:block;
|
953 |
+
}
|
954 |
+
|
955 |
+
.layout > .acfe-fc-placeholder.acfe-fc-preview.-loading{
|
956 |
+
background:#f9f9f9;
|
957 |
+
min-height:110px;
|
958 |
+
}
|
959 |
+
|
960 |
+
.layout > .acfe-fc-placeholder.acfe-fc-preview.-loading > .acfe-flexible-placeholder > .spinner{
|
961 |
+
visibility:visible;
|
962 |
+
float:none;
|
963 |
+
position:absolute;
|
964 |
+
top:50%;
|
965 |
+
left:50%;
|
966 |
+
transform:translate(-50%, -50%);
|
967 |
+
margin:0;
|
968 |
+
z-index:10000;
|
969 |
+
}
|
970 |
+
|
971 |
+
.layout > .acfe-fc-placeholder .acfe-fc-overlay{
|
972 |
+
position:absolute;
|
973 |
+
width:100%;
|
974 |
+
height:100%;
|
975 |
+
padding:0;
|
976 |
+
background-color:rgba(255,255,255,0);
|
977 |
+
transition: background-color 200ms linear;
|
978 |
+
}
|
979 |
+
|
980 |
+
.layout > .acfe-fc-placeholder:hover .acfe-fc-overlay,
|
981 |
+
.layout > .acfe-fc-placeholder .acfe-fc-overlay.-hover{
|
982 |
+
background-color:rgba(255,255,255,0.7);
|
983 |
+
z-index:1;
|
984 |
+
}
|
985 |
+
|
986 |
+
.layout > .acfe-fc-placeholder.acfe-fc-preview.-loading > a span{
|
987 |
+
visibility:hidden;
|
988 |
+
}
|
989 |
+
|
990 |
+
/*
|
991 |
+
* Flexible Layout Collapsed
|
992 |
+
*/
|
993 |
+
.layout > .acf-fields > .acfe-flexible-opened-actions,
|
994 |
+
.layout > .acf-table > .acfe-flexible-opened-actions{
|
995 |
+
background:#f9f9f9;
|
996 |
+
border-top:1px solid #e1e1e1;
|
997 |
+
padding:12px;
|
998 |
+
text-align:right;
|
999 |
+
clear:both;
|
1000 |
+
}
|
1001 |
+
|
1002 |
+
/*
|
1003 |
+
* Flexible Thumbnails
|
1004 |
+
*
|
1005 |
+
*/
|
1006 |
+
.acfe-flexible-layout-thumbnail{
|
1007 |
+
display:block;
|
1008 |
+
width:100%;
|
1009 |
+
height: 9.8vw; /* 200px / 1080p */
|
1010 |
+
background-color:#eee;
|
1011 |
+
background-size:cover;
|
1012 |
+
background-repeat:no-repeat;
|
1013 |
+
background-position:center;
|
1014 |
+
position:relative;
|
1015 |
+
margin-bottom:15px;
|
1016 |
+
}
|
1017 |
+
|
1018 |
+
.acfe-flexible-layout-thumbnail.acfe-flexible-layout-thumbnail-not-found:after{
|
1019 |
+
content: "\f180";
|
1020 |
+
font-family: dashicons;
|
1021 |
+
display: inline-block;
|
1022 |
+
line-height: 1;
|
1023 |
+
font-weight: 400;
|
1024 |
+
font-style: normal;
|
1025 |
+
speak: none;
|
1026 |
+
text-decoration: inherit;
|
1027 |
+
text-transform: none;
|
1028 |
+
text-rendering: auto;
|
1029 |
+
-webkit-font-smoothing: antialiased;
|
1030 |
+
-moz-osx-font-smoothing: grayscale;
|
1031 |
+
vertical-align: top;
|
1032 |
+
text-align: center;
|
1033 |
+
position:absolute;
|
1034 |
+
top:50%;
|
1035 |
+
left:50%;
|
1036 |
+
transform: translate(-50%, -50%);
|
1037 |
+
color:#ccc;
|
1038 |
+
font-size: 110px;
|
1039 |
+
}
|
1040 |
+
|
1041 |
+
.acfe-col-2 .acfe-flexible-layout-thumbnail{
|
1042 |
+
height:20.5vw;
|
1043 |
+
}
|
1044 |
+
|
1045 |
+
.acfe-col-3 .acfe-flexible-layout-thumbnail{
|
1046 |
+
height:13.3vw;
|
1047 |
+
}
|
1048 |
+
|
1049 |
+
.acfe-col-5 .acfe-flexible-layout-thumbnail{
|
1050 |
+
height:7.65vw;
|
1051 |
+
}
|
1052 |
+
|
1053 |
+
.acfe-col-6 .acfe-flexible-layout-thumbnail{
|
1054 |
+
height:6.2vw;
|
1055 |
+
}
|
1056 |
+
|
1057 |
+
@media only screen and (max-width:960px){
|
1058 |
+
.acfe-flexible-layout-thumbnail,
|
1059 |
+
.acfe-flex-container .acfe-flexible-layout-thumbnail{
|
1060 |
+
height: 18.4vw; /* 200px */
|
1061 |
+
}
|
1062 |
+
}
|
1063 |
+
|
1064 |
+
@media only screen and (max-width:720px){
|
1065 |
+
.acfe-flexible-layout-thumbnail,
|
1066 |
+
.acfe-flex-container .acfe-flexible-layout-thumbnail{
|
1067 |
+
height: 37.2vw; /* 200px */
|
1068 |
+
}
|
1069 |
+
}
|
1070 |
+
|
1071 |
+
/*
|
1072 |
+
* Flexible Thumbnails (no modal)
|
1073 |
+
*
|
1074 |
+
*/
|
1075 |
+
.acfe-flexible-layout-thumbnail.acfe-flexible-layout-thumbnail-no-modal{
|
1076 |
+
display:block;
|
1077 |
+
width: 230px;
|
1078 |
+
height: 103px;
|
1079 |
+
background-color:#1f2329;
|
1080 |
+
}
|
1081 |
+
|
1082 |
+
.acfe-flexible-layout-thumbnail.acfe-flexible-layout-thumbnail-no-modal.acfe-flexible-layout-thumbnail-not-found:after{
|
1083 |
+
color:#2F353E;
|
1084 |
+
}
|
1085 |
+
|
1086 |
+
/*
|
1087 |
+
* Flexible Stylised Button
|
1088 |
+
*
|
1089 |
+
*/
|
1090 |
+
.acf-field.acf-field-flexible-content[data-acfe-flexible-stylised-button="1"] > .acf-input > .acf-flexible-content:not(.empty) > .values{
|
1091 |
+
margin-bottom:15px;
|
1092 |
+
}
|
1093 |
+
|
1094 |
+
.acf-field.acf-field-flexible-content > .acf-input > .acf-flexible-content > .acfe-flexible-stylised-button{
|
1095 |
+
padding: 40px 20px;
|
1096 |
+
border: #ccc dashed 2px;
|
1097 |
+
text-align: center;
|
1098 |
+
}
|
1099 |
+
|
1100 |
+
.acf-field.acf-field-flexible-content > .acf-input > .acf-flexible-content > .acfe-flexible-stylised-button > .acf-actions{
|
1101 |
+
text-align: center;
|
1102 |
+
}
|
1103 |
+
|
1104 |
+
.acf-field.acf-field-flexible-content > .acf-input > .acf-flexible-content .acf-actions .acf-button .dashicons{
|
1105 |
+
width: auto;
|
1106 |
+
height: auto;
|
1107 |
+
vertical-align: text-top;
|
1108 |
+
}
|
1109 |
+
|
1110 |
+
/*
|
1111 |
+
* Flexible Hide Empty Message
|
1112 |
+
*
|
1113 |
+
*/
|
1114 |
+
.acf-field.acf-field-flexible-content[data-acfe-flexible-hide-empty-message="1"] > .acf-input > .acf-flexible-content > .no-value-message{
|
1115 |
+
display:none;
|
1116 |
+
}
|
1117 |
+
|
1118 |
+
.acf-field.acf-field-flexible-content[data-acfe-flexible-hide-empty-message="1"] > .acf-input > .acf-flexible-content.-empty > .values{
|
1119 |
+
margin-bottom:0;
|
1120 |
+
}
|
1121 |
+
/*
|
1122 |
+
* ACFE: Flexible Icons
|
1123 |
+
*/
|
1124 |
+
.acf-flexible-content .layout .acf-icon.acfe-flexible-icon.dashicons:before{
|
1125 |
+
font-family: dashicons;
|
1126 |
+
}
|
1127 |
+
|
1128 |
+
.acf-flexible-content .layout .acf-icon.acfe-flexible-icon.dashicons{
|
1129 |
+
visibility: hidden;
|
1130 |
+
}
|
1131 |
+
|
1132 |
+
.acf-flexible-content .layout:hover > .acf-fc-layout-controls .acf-icon.acfe-flexible-icon.dashicons{
|
1133 |
+
visibility: visible;
|
1134 |
+
}
|
1135 |
+
|
1136 |
+
.acf-flexible-content .layout .acf-icon.acfe-flexible-icon.dashicons.dashicons-admin-generic{
|
1137 |
+
visibility: visible;
|
1138 |
+
}
|
1139 |
+
.acf-flexible-content .layout .acf-icon.acfe-flexible-icon.dashicons.dashicons-admin-generic:before{
|
1140 |
+
margin-left: 1px;
|
1141 |
+
}
|
1142 |
+
|
1143 |
+
.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-plus,
|
1144 |
+
.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-minus,
|
1145 |
+
.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-duplicate,
|
1146 |
+
.acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-plus,
|
1147 |
+
.acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-minus,
|
1148 |
+
.acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-duplicate {
|
1149 |
+
visibility: hidden;
|
1150 |
+
}
|
1151 |
+
|
1152 |
+
.acf-flexible-content .layout:hover > .acf-fc-layout-controls .acf-icon.-plus,
|
1153 |
+
.acf-flexible-content .layout:hover > .acf-fc-layout-controls .acf-icon.-minus,
|
1154 |
+
.acf-flexible-content .layout:hover > .acf-fc-layout-controls .acf-icon.-duplicate,
|
1155 |
+
.acf-flexible-content .layout.-hover > .acf-fc-layout-controls .acf-icon.-plus,
|
1156 |
+
.acf-flexible-content .layout.-hover > .acf-fc-layout-controls .acf-icon.-minus,
|
1157 |
+
.acf-flexible-content .layout.-hover > .acf-fc-layout-controls .acf-icon.-duplicate {
|
1158 |
+
visibility: visible;
|
1159 |
+
}
|
1160 |
+
|
1161 |
+
.acf-flexible-content .layout > .acf-fc-layout-controls .acf-icon.disabled{
|
1162 |
+
color: #ccc;
|
1163 |
+
cursor: initial;
|
1164 |
+
}
|
1165 |
+
|
1166 |
+
.acf-flexible-content .layout > .acf-fc-layout-controls .acf-icon.disabled:hover{
|
1167 |
+
color: #ccc;
|
1168 |
+
background: #F5F5F5;
|
1169 |
+
}
|
1170 |
+
|
1171 |
+
.acf-flexible-content[data-acfe-flexible-lock="1"] .layout .acf-fc-layout-handle{
|
1172 |
+
cursor:initial;
|
1173 |
+
}
|
1174 |
+
|
1175 |
+
|
1176 |
+
/*
|
1177 |
+
* ACFE: Title Edit
|
1178 |
+
*/
|
1179 |
+
.acf-field-acfe-flexible-layout-title{
|
1180 |
+
display:none;
|
1181 |
+
}
|
1182 |
+
|
1183 |
+
input.acfe-flexible-control-title{
|
1184 |
+
border:none;
|
1185 |
+
box-shadow:none !important;
|
1186 |
+
outline:none !important;
|
1187 |
+
border-radius:0;
|
1188 |
+
border-bottom:1px solid transparent !important;
|
1189 |
+
font-weight:600;
|
1190 |
+
width:auto !important;
|
1191 |
+
padding:0 !important;
|
1192 |
+
display:none;
|
1193 |
+
min-height:20px;
|
1194 |
+
vertical-align: unset;
|
1195 |
+
background:none;
|
1196 |
+
}
|
1197 |
+
|
1198 |
+
.layout > .acf-fc-layout-handle .acfe-layout-title{
|
1199 |
+
cursor:text;
|
1200 |
+
position:relative;
|
1201 |
+
}
|
1202 |
+
|
1203 |
+
.layout:not(.acfe-flexible-title-edition) > .acf-fc-layout-handle .acfe-layout-title:hover{
|
1204 |
+
background:#f4f4f4;
|
1205 |
+
}
|
1206 |
+
|
1207 |
+
.layout.acfe-flexible-title-edition > .acf-fc-layout-handle .acfe-layout-title input.acfe-flexible-control-title{
|
1208 |
+
display:inline-block;
|
1209 |
+
border-bottom:1px solid #ddd !important;
|
1210 |
+
}
|
1211 |
+
|
1212 |
+
.layout.acfe-flexible-title-edition > .acf-fc-layout-handle .acfe-layout-title .acfe-layout-title-text{
|
1213 |
+
display:none;
|
1214 |
+
}
|
1215 |
+
|
1216 |
+
/*
|
1217 |
+
* ACFE: Toggle
|
1218 |
+
*/
|
1219 |
+
.layout.acfe-flexible-layout-hidden > .acf-fc-layout-handle,
|
1220 |
+
.layout.acfe-flexible-layout-hidden > .acf-fc-layout-controls,
|
1221 |
+
.layout.acfe-flexible-layout-hidden > .acfe-fc-placeholder,
|
1222 |
+
.layout.acfe-flexible-layout-hidden > .acf-fields{
|
1223 |
+
filter: alpha(opacity=50);
|
1224 |
+
opacity: 0.5;
|
1225 |
+
}
|
1226 |
+
/*
|
1227 |
+
* Flexible Edit: Hide Collapse
|
1228 |
+
*/
|
1229 |
+
.acf-field-flexible-content[data-acfe-flexible-modal-edition="1"] > .acf-input > .acf-flexible-content > .values > .layout > .acf-fc-layout-controls > a.-collapse{
|
1230 |
+
display:none;
|
1231 |
+
}
|
1232 |
+
|
1233 |
+
/*
|
1234 |
+
* ACFE Modal Body
|
1235 |
+
*/
|
1236 |
+
body.acfe-modal-opened{
|
1237 |
+
overflow:hidden;
|
1238 |
+
}
|
1239 |
+
|
1240 |
+
/*
|
1241 |
+
* ACFE Modal Overlay
|
1242 |
+
*/
|
1243 |
+
.acfe-modal-overlay{
|
1244 |
+
background:rgba(0,0,0,.7);
|
1245 |
+
position:fixed;
|
1246 |
+
top:0;
|
1247 |
+
left:0;
|
1248 |
+
right:0;
|
1249 |
+
bottom:0;
|
1250 |
+
height:100%;
|
1251 |
+
width:100%;
|
1252 |
+
z-index:100000;
|
1253 |
+
}
|
1254 |
+
|
1255 |
+
/*
|
1256 |
+
* ACFE Modal
|
1257 |
+
*/
|
1258 |
+
.acfe-modal{
|
1259 |
+
display:none;
|
1260 |
+
transition: all 0.3s ease-in-out;
|
1261 |
+
}
|
1262 |
+
|
1263 |
+
.acfe-modal.-open{
|
1264 |
+
position:fixed;
|
1265 |
+
z-index:100001;
|
1266 |
+
height:100%;
|
1267 |
+
width:100%;
|
1268 |
+
top:0;
|
1269 |
+
left:0;
|
1270 |
+
bottom:0;
|
1271 |
+
right:0;
|
1272 |
+
-webkit-font-smoothing: subpixel-antialiased;
|
1273 |
+
display: flex;
|
1274 |
+
flex-direction: column;
|
1275 |
+
justify-content: center;
|
1276 |
+
align-items: center;
|
1277 |
+
|
1278 |
+
pointer-events:none;
|
1279 |
+
}
|
1280 |
+
|
1281 |
+
/*
|
1282 |
+
* ACFE Modal: Wrapper
|
1283 |
+
*/
|
1284 |
+
.acfe-modal.-open > .acfe-modal-wrapper{
|
1285 |
+
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.7);
|
1286 |
+
display: flex;
|
1287 |
+
flex-direction: column;
|
1288 |
+
|
1289 |
+
width: calc(100vw - 60px);
|
1290 |
+
max-width:1100px;
|
1291 |
+
max-height: calc(100vh - 60px);
|
1292 |
+
position:relative;
|
1293 |
+
}
|
1294 |
+
|
1295 |
+
.acfe-modal.-open.acfe-modal-sub > .acfe-modal-wrapper > .acfe-modal-wrapper-overlay{
|
1296 |
+
position:absolute;
|
1297 |
+
z-index:10;
|
1298 |
+
background:rgba(0,0,0,0.7);
|
1299 |
+
height:100%;
|
1300 |
+
width:100%;
|
1301 |
+
pointer-events:none;
|
1302 |
+
}
|
1303 |
+
|
1304 |
+
/*
|
1305 |
+
* ACFE Modal: Sizes
|
1306 |
+
*/
|
1307 |
+
.acfe-modal.-open.-small > .acfe-modal-wrapper{
|
1308 |
+
max-width:450px;
|
1309 |
+
}
|
1310 |
+
|
1311 |
+
.acfe-modal.-open.-medium > .acfe-modal-wrapper{
|
1312 |
+
max-width:700px;
|
1313 |
+
}
|
1314 |
+
|
1315 |
+
.acfe-modal.-open.-large > .acfe-modal-wrapper{
|
1316 |
+
max-width:1100px;
|
1317 |
+
}
|
1318 |
+
|
1319 |
+
.acfe-modal.-open.-xlarge > .acfe-modal-wrapper{
|
1320 |
+
max-width:1400px;
|
1321 |
+
}
|
1322 |
+
|
1323 |
+
.acfe-modal.-open.-full > .acfe-modal-wrapper{
|
1324 |
+
max-width:100%;
|
1325 |
+
flex: 1;
|
1326 |
+
}
|
1327 |
+
|
1328 |
+
/*
|
1329 |
+
* ACFE Modal Full: Fix left fields background
|
1330 |
+
*/
|
1331 |
+
.acfe-modal.-open.-full > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields.-left {
|
1332 |
+
height:100%;
|
1333 |
+
}
|
1334 |
+
|
1335 |
+
.acfe-modal.-open.-full > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields.-left:before {
|
1336 |
+
content: "";
|
1337 |
+
display: block;
|
1338 |
+
position: absolute;
|
1339 |
+
z-index: 0;
|
1340 |
+
background: #F9F9F9;
|
1341 |
+
border-color: #E1E1E1;
|
1342 |
+
border-style: solid;
|
1343 |
+
border-width: 0 1px 0 0;
|
1344 |
+
top: 0;
|
1345 |
+
bottom: 0;
|
1346 |
+
left: 0;
|
1347 |
+
width: 20%;
|
1348 |
+
}
|
1349 |
+
|
1350 |
+
/*
|
1351 |
+
* ACFE Modal Full: Fix Layout Settings background
|
1352 |
+
*/
|
1353 |
+
.acfe-modal.-settings.-open.-full > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields,
|
1354 |
+
.acfe-modal.-settings.-open.-full > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields > .acf-field-clone,
|
1355 |
+
.acfe-modal.-settings.-open.-full > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields > .acf-field-clone > .acf-input,
|
1356 |
+
.acfe-modal.-settings.-open.-full > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields > .acf-field-clone > .acf-input > .acf-clone-fields.acf-fields.-left{
|
1357 |
+
height:100%;
|
1358 |
+
}
|
1359 |
+
|
1360 |
+
.acfe-modal.-settings.-open.-full > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields > .acf-field-clone{
|
1361 |
+
padding:0;
|
1362 |
+
}
|
1363 |
+
|
1364 |
+
.acfe-modal.-settings.-open.-full > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields > .acf-field-clone > .acf-input{
|
1365 |
+
margin:0;
|
1366 |
+
}
|
1367 |
+
|
1368 |
+
.acfe-modal.-settings.-open.-full > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields > .acf-field-clone > .acf-input > .acf-clone-fields.acf-fields.-left:before {
|
1369 |
+
content: "";
|
1370 |
+
display: block;
|
1371 |
+
position: absolute;
|
1372 |
+
z-index: 0;
|
1373 |
+
background: #F9F9F9;
|
1374 |
+
border-color: #E1E1E1;
|
1375 |
+
border-style: solid;
|
1376 |
+
border-width: 0 1px 0 0;
|
1377 |
+
top: 0;
|
1378 |
+
bottom: 0;
|
1379 |
+
left: 0;
|
1380 |
+
width: 20%;
|
1381 |
+
}
|
1382 |
+
|
1383 |
+
/*
|
1384 |
+
* ACFE Modal Title
|
1385 |
+
*/
|
1386 |
+
.acfe-modal.-open >.acfe-modal-title,
|
1387 |
+
.acfe-modal.-open .acfe-modal-title *{
|
1388 |
+
box-sizing:border-box;
|
1389 |
+
}
|
1390 |
+
|
1391 |
+
.acfe-modal.-open .acfe-modal-title{
|
1392 |
+
display:block;
|
1393 |
+
height: 50px;
|
1394 |
+
line-height: 50px;
|
1395 |
+
font-size: 22px;
|
1396 |
+
color: #23282d;
|
1397 |
+
border-bottom: 1px solid #ddd;
|
1398 |
+
text-overflow: ellipsis;
|
1399 |
+
background: #fcfcfc;
|
1400 |
+
padding: 0 0 0 16px;
|
1401 |
+
position:relative;
|
1402 |
+
text-align:left;
|
1403 |
+
pointer-events: auto;
|
1404 |
+
}
|
1405 |
+
|
1406 |
+
.acfe-modal.-open.acfe-modal-sub > .acfe-modal-wrapper > .acfe-modal-title{
|
1407 |
+
pointer-events: none;
|
1408 |
+
}
|
1409 |
+
|
1410 |
+
.acfe-modal.-open .acfe-modal-title > span.title{
|
1411 |
+
line-height: 50px;
|
1412 |
+
color: #23282d;
|
1413 |
+
font-weight: 600;
|
1414 |
+
}
|
1415 |
+
|
1416 |
+
.acfe-modal.-open .acfe-modal-title > span.title .acf-fc-layout-order{
|
1417 |
+
width: 30px;
|
1418 |
+
height: 30px;
|
1419 |
+
border-radius: 30px;
|
1420 |
+
display: inline-block;
|
1421 |
+
text-align: center;
|
1422 |
+
line-height: 30px;
|
1423 |
+
margin: 0 2px 0 0;
|
1424 |
+
background: #F1F1F1;
|
1425 |
+
font-size: 14px;
|
1426 |
+
color: #666;
|
1427 |
+
vertical-align: 2px;
|
1428 |
+
}
|
1429 |
+
|
1430 |
+
.acfe-modal.-open .acfe-modal-title > button.close{
|
1431 |
+
height: 50px;
|
1432 |
+
width: 50px;
|
1433 |
+
color: #666;
|
1434 |
+
border:0;
|
1435 |
+
border-left: 0;
|
1436 |
+
margin: 0;
|
1437 |
+
padding:0;
|
1438 |
+
border-radius: 0;
|
1439 |
+
position: absolute;
|
1440 |
+
top:0;
|
1441 |
+
right:0;
|
1442 |
+
transition: color .1s ease-in-out, background .1s ease-in-out;
|
1443 |
+
background:none;
|
1444 |
+
cursor:pointer;
|
1445 |
+
margin: 0;
|
1446 |
+
}
|
1447 |
+
|
1448 |
+
.acfe-modal.-open .acfe-modal-title > button.close:hover{
|
1449 |
+
color: #00a0d2;
|
1450 |
+
}
|
1451 |
+
|
1452 |
+
.acfe-modal.-open .acfe-modal-title > button.close:before{
|
1453 |
+
height: 50px;
|
1454 |
+
width: 50px;
|
1455 |
+
line-height: 50px !important;
|
1456 |
+
font: normal 20px/1 dashicons;
|
1457 |
+
content: "\f158";
|
1458 |
+
margin: 0;
|
1459 |
+
padding:0;
|
1460 |
+
}
|
1461 |
+
|
1462 |
+
/*
|
1463 |
+
* ACFE Modal Content
|
1464 |
+
*/
|
1465 |
+
.acfe-modal.-open .acfe-modal-content{
|
1466 |
+
height:100%;
|
1467 |
+
background:#fff;
|
1468 |
+
display:block;
|
1469 |
+
position:relative;
|
1470 |
+
pointer-events: auto;
|
1471 |
+
overflow:auto;
|
1472 |
+
}
|
1473 |
+
|
1474 |
+
.acfe-modal.-open.-iframe .acfe-modal-content{
|
1475 |
+
overflow:hidden;
|
1476 |
+
}
|
1477 |
+
|
1478 |
+
.acfe-modal.-open.acfe-modal-sub > .acfe-modal-wrapper > .acfe-modal-content{
|
1479 |
+
pointer-events: none;
|
1480 |
+
}
|
1481 |
+
|
1482 |
+
/*
|
1483 |
+
* ACFE Modal Content: Tabs
|
1484 |
+
*/
|
1485 |
+
.acfe-modal.-open .acfe-modal-content .nav-tab-wrapper{
|
1486 |
+
padding:0;
|
1487 |
+
margin:0;
|
1488 |
+
border-bottom:1px solid #ddd;
|
1489 |
+
}
|
1490 |
+
|
1491 |
+
.acfe-modal.-open .acfe-modal-content .nav-tab-wrapper a{
|
1492 |
+
margin:0;
|
1493 |
+
border-left:0;
|
1494 |
+
border-top:0;
|
1495 |
+
border-bottom:0;
|
1496 |
+
background:#fff;
|
1497 |
+
transition:color .1s ease-in-out, background .1s ease-in-out;
|
1498 |
+
padding:7px 15px;
|
1499 |
+
border-color:#ddd;
|
1500 |
+
}
|
1501 |
+
|
1502 |
+
.acfe-modal.-open .acfe-modal-content .nav-tab-wrapper a span.dashicons-menu{
|
1503 |
+
line-height:27px;
|
1504 |
+
}
|
1505 |
+
|
1506 |
+
.acfe-modal.-open > .acfe-modal-content .nav-tab-wrapper a:hover{
|
1507 |
+
background:#f9f9f9;
|
1508 |
+
color:#23282d;
|
1509 |
+
}
|
1510 |
+
|
1511 |
+
.acfe-modal.-open .acfe-modal-content .nav-tab-wrapper a.nav-tab-active,
|
1512 |
+
.acfe-modal.-open .acfe-modal-content .nav-tab-wrapper a.nav-tab-active:hover{
|
1513 |
+
background:#fcfcfc;
|
1514 |
+
color:#23282d;
|
1515 |
+
}
|
1516 |
+
|
1517 |
+
.acfe-modal.-open .acfe-modal-content .nav-tab:focus,
|
1518 |
+
.acfe-modal.-open .acfe-modal-content .nav-tab:focus:active {
|
1519 |
+
border-bottom: 0;
|
1520 |
+
box-shadow: none;
|
1521 |
+
outline:0;
|
1522 |
+
}
|
1523 |
+
|
1524 |
+
/*
|
1525 |
+
* ACFE Modal Content: Flex
|
1526 |
+
*/
|
1527 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flex-container,
|
1528 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flex-container *{
|
1529 |
+
box-sizing:border-box;
|
1530 |
+
}
|
1531 |
+
|
1532 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flex-container{
|
1533 |
+
width: 100%;
|
1534 |
+
padding: 14px;
|
1535 |
+
margin-right: auto;
|
1536 |
+
margin-left: auto;
|
1537 |
+
}
|
1538 |
+
|
1539 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flexible-categories ~ .acfe-flex-container{
|
1540 |
+
overflow:auto;
|
1541 |
+
height:calc(100% - 39px);
|
1542 |
+
}
|
1543 |
+
|
1544 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul{
|
1545 |
+
margin: 0;
|
1546 |
+
margin-right: -7px;
|
1547 |
+
margin-left: -7px;
|
1548 |
+
display: flex;
|
1549 |
+
flex-wrap: wrap;
|
1550 |
+
}
|
1551 |
+
|
1552 |
+
.acfe-modal.-open >.acfe-modal-content .acfe-flex-container ul:after{
|
1553 |
+
content:"";
|
1554 |
+
clear:both;
|
1555 |
+
display:table;
|
1556 |
+
}
|
1557 |
+
|
1558 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li{
|
1559 |
+
position: relative;
|
1560 |
+
width: 100%;
|
1561 |
+
padding-right: 7px;
|
1562 |
+
padding-left: 7px;
|
1563 |
+
padding-bottom: 14px;
|
1564 |
+
margin:0;
|
1565 |
+
flex: 0 0 25%;
|
1566 |
+
max-width: 25%;
|
1567 |
+
}
|
1568 |
+
|
1569 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a{
|
1570 |
+
border:1px solid #ddd;
|
1571 |
+
background:#F9F9F9;
|
1572 |
+
padding:15px;
|
1573 |
+
color:#333;
|
1574 |
+
display:block;
|
1575 |
+
text-decoration:none;
|
1576 |
+
}
|
1577 |
+
|
1578 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a:hover{
|
1579 |
+
background:#007cba;
|
1580 |
+
color:#fff;
|
1581 |
+
}
|
1582 |
+
|
1583 |
+
body:not(.acf-admin-5-3) .acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a:hover{
|
1584 |
+
background:#0073aa;
|
1585 |
+
}
|
1586 |
+
|
1587 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a span{
|
1588 |
+
display:block;
|
1589 |
+
font-size:16px;
|
1590 |
+
text-align:center;
|
1591 |
+
font-weight:600;
|
1592 |
+
}
|
1593 |
+
|
1594 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a span.no-thumbnail{
|
1595 |
+
text-align:left;
|
1596 |
+
}
|
1597 |
+
|
1598 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a.disabled{
|
1599 |
+
pointer-events:none;
|
1600 |
+
opacity:0.67;
|
1601 |
+
}
|
1602 |
+
|
1603 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a.disabled:hover{
|
1604 |
+
cursor:default;
|
1605 |
+
}
|
1606 |
+
|
1607 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a.disabled:focus{
|
1608 |
+
box-shadow:none;
|
1609 |
+
outline:none;
|
1610 |
+
}
|
1611 |
+
|
1612 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-1 ul li{
|
1613 |
+
flex: 0 0 100%;
|
1614 |
+
max-width: 100%;
|
1615 |
+
}
|
1616 |
+
|
1617 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-2 ul li{
|
1618 |
+
flex: 0 0 50%;
|
1619 |
+
max-width: 50%;
|
1620 |
+
}
|
1621 |
+
|
1622 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-3 ul li{
|
1623 |
+
flex: 0 0 33.333333%;
|
1624 |
+
max-width: 33.333333%;
|
1625 |
+
}
|
1626 |
+
|
1627 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-4 ul li{
|
1628 |
+
flex: 0 0 25%;
|
1629 |
+
max-width: 25%;
|
1630 |
+
}
|
1631 |
+
|
1632 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-5 ul li{
|
1633 |
+
flex: 0 0 20%;
|
1634 |
+
max-width: 20%;
|
1635 |
+
}
|
1636 |
+
|
1637 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-6 ul li{
|
1638 |
+
flex: 0 0 16.66%;
|
1639 |
+
max-width: 16.66%;
|
1640 |
+
}
|
1641 |
+
|
1642 |
+
@media only screen and (max-width:960px){
|
1643 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li{
|
1644 |
+
flex: 0 0 50% !important;
|
1645 |
+
max-width: 50% !important;
|
1646 |
+
}
|
1647 |
+
|
1648 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-1 ul li{
|
1649 |
+
flex: 0 0 100% !important;
|
1650 |
+
max-width: 100% !important;
|
1651 |
+
}
|
1652 |
+
|
1653 |
+
.acfe-modal.-open .acfe-modal-content ul li a{
|
1654 |
+
padding:7px;
|
1655 |
+
}
|
1656 |
+
}
|
1657 |
+
|
1658 |
+
@media only screen and (max-width:720px){
|
1659 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li{
|
1660 |
+
flex: 0 0 100% !important;
|
1661 |
+
max-width: 100% !important;
|
1662 |
+
}
|
1663 |
+
|
1664 |
+
.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-1 ul li{
|
1665 |
+
flex: 0 0 100% !important;
|
1666 |
+
max-width: 100% !important;
|
1667 |
+
}
|
1668 |
+
}
|
1669 |
+
|
1670 |
+
/*
|
1671 |
+
* ACFE Modal footer
|
1672 |
+
*/
|
1673 |
+
.acfe-modal.-open .acfe-modal-footer,
|
1674 |
+
.acfe-modal.-open .acfe-modal-footer *{
|
1675 |
+
box-sizing:border-box;
|
1676 |
+
}
|
1677 |
+
|
1678 |
+
.acfe-modal.-open .acfe-modal-footer{
|
1679 |
+
display:block;
|
1680 |
+
height: 50px;
|
1681 |
+
line-height: 50px;
|
1682 |
+
color: #23282d;
|
1683 |
+
background: #fcfcfc;
|
1684 |
+
padding: 0 16px;
|
1685 |
+
position:relative;
|
1686 |
+
text-align:right;
|
1687 |
+
border-top: 1px solid #ddd;
|
1688 |
+
pointer-events: auto;
|
1689 |
+
}
|
1690 |
+
|
1691 |
+
.acfe-modal.-open.acfe-modal-sub > .acfe-modal-wrapper > .acfe-modal-footer{
|
1692 |
+
pointer-events: none;
|
1693 |
+
}
|
1694 |
+
|
1695 |
+
.acfe-modal.-open .acfe-modal-footer > button{
|
1696 |
+
vertical-align: baseline;
|
1697 |
+
}
|
1698 |
+
|
1699 |
+
/*
|
1700 |
+
* ACFE Modal: Gutenberg Fix
|
1701 |
+
*/
|
1702 |
+
body.block-editor-page .edit-post-layout .acfe-modal.-open{
|
1703 |
+
justify-content: start;
|
1704 |
+
align-items: start;
|
1705 |
+
}
|
1706 |
+
|
1707 |
+
body.block-editor-page .edit-post-layout .acfe-modal.-open > .acfe-modal-wrapper{
|
1708 |
+
margin-top: 88px;
|
1709 |
+
height: 100%;
|
1710 |
+
width: 100%;
|
1711 |
+
max-height: calc(100vh - 88px);
|
1712 |
+
}
|
1713 |
+
|
1714 |
+
body.block-editor-page .edit-post-layout .acfe-modal.-open > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields.-left {
|
1715 |
+
height:100%;
|
1716 |
+
}
|
1717 |
+
|
1718 |
+
body.block-editor-page .edit-post-layout .acfe-modal.-open > .acfe-modal-wrapper > .acfe-modal-content > .acf-fields.-left:before {
|
1719 |
+
content: "";
|
1720 |
+
display: block;
|
1721 |
+
position: absolute;
|
1722 |
+
z-index: 0;
|
1723 |
+
background: #F9F9F9;
|
1724 |
+
border-color: #E1E1E1;
|
1725 |
+
border-style: solid;
|
1726 |
+
border-width: 0 1px 0 0;
|
1727 |
+
top: 0;
|
1728 |
+
bottom: 0;
|
1729 |
+
left: 0;
|
1730 |
+
width: 20%;
|
1731 |
+
}
|
1732 |
+
|
1733 |
+
@media only screen and (max-width: 1080px) {
|
1734 |
+
body.block-editor-page .edit-post-layout .acfe-modal.-open > .acfe-modal-wrapper{
|
1735 |
+
margin-top: 88px;
|
1736 |
+
}
|
1737 |
+
}
|
1738 |
+
|
1739 |
+
body.block-editor-page .edit-post-layout .acfe-modal.-open > .acfe-modal-wrapper{
|
1740 |
+
max-width: calc(100vw - 160px);
|
1741 |
+
margin-left: 160px;
|
1742 |
+
}
|
1743 |
+
|
1744 |
+
body.block-editor-page .edit-post-layout.is-sidebar-opened .acfe-modal.-open > .acfe-modal-wrapper{
|
1745 |
+
max-width: calc(100vw - 440px);
|
1746 |
+
}
|
1747 |
+
|
1748 |
+
|
1749 |
+
body.block-editor-page.folded .edit-post-layout .acfe-modal.-open > .acfe-modal-wrapper{
|
1750 |
+
max-width: calc(100vw - 36px);
|
1751 |
+
margin-left:36px;
|
1752 |
+
}
|
1753 |
+
|
1754 |
+
@media only screen and (max-width: 960px) {
|
1755 |
+
body.block-editor-page.auto-fold .edit-post-layout .acfe-modal.-open > .acfe-modal-wrapper{
|
1756 |
+
max-width: calc(100vw - 36px);
|
1757 |
+
margin-left:36px;
|
1758 |
+
}
|
1759 |
+
}
|
1760 |
+
|
1761 |
+
@media only screen and (max-width: 782px) {
|
1762 |
+
body.block-editor-page.auto-fold .edit-post-layout .acfe-modal.-open > .acfe-modal-wrapper{
|
1763 |
+
max-width: 100vw;
|
1764 |
+
margin-left:0;
|
1765 |
+
margin-top: 100px;
|
1766 |
+
}
|
1767 |
+
}
|
1768 |
+
|
1769 |
+
body.block-editor-page.folded .edit-post-layout.is-sidebar-opened .acfe-modal.-open > .acfe-modal-wrapper{
|
1770 |
+
max-width: calc(100vw - 316px);
|
1771 |
+
}
|
1772 |
+
|
1773 |
+
@media (min-width: 600px){
|
1774 |
+
body.block-editor-page.acfe-modal-opened .edit-post-layout__content {
|
1775 |
+
overflow-y: hidden;
|
1776 |
+
}
|
1777 |
+
}
|
1778 |
+
|
1779 |
+
body.block-editor-page .acfe-modal-overlay{
|
1780 |
+
display:none;
|
1781 |
+
}
|
1782 |
+
|
1783 |
+
/*
|
1784 |
+
* ACFE Modal: Attachment Single Fix
|
1785 |
+
*/
|
1786 |
+
body.wp-admin.upload-php.acfe-modal-opened > div:not([style*="display: none;"]) > .media-modal.wp-core-ui:not(.acf-media-modal):before{
|
1787 |
+
content:"";
|
1788 |
+
display:block;
|
1789 |
+
position:absolute;
|
1790 |
+
background:rgba(0,0,0,.7);
|
1791 |
+
top:0;
|
1792 |
+
left:0;
|
1793 |
+
width:100%;
|
1794 |
+
height:100%;
|
1795 |
+
z-index:10000;
|
1796 |
+
}
|
1797 |
+
/*
|
1798 |
+
* ACF Field: Repeater Lock
|
1799 |
+
*/
|
1800 |
+
.acf-field-repeater[data-acfe-repeater-lock="1"] > .acf-input > .acf-repeater > .acf-table > tbody > .acf-row > .acf-row-handle{
|
1801 |
+
cursor:initial;
|
1802 |
+
}
|
1803 |
+
|
1804 |
+
/*
|
1805 |
+
* ACF Field: Repeater Block Fix (Add spacing)
|
1806 |
+
*/
|
1807 |
+
.acf-repeater.-row > table,
|
1808 |
+
.acf-repeater.-block > table{
|
1809 |
+
border-collapse: separate;
|
1810 |
+
border-spacing: 0 15px;
|
1811 |
+
background: none;
|
1812 |
+
border: 0;
|
1813 |
+
margin-top: -15px;
|
1814 |
+
margin-bottom: -7px;
|
1815 |
+
}
|
1816 |
+
|
1817 |
+
.acf-repeater.-row > table > *,
|
1818 |
+
.acf-repeater.-block > table > *{
|
1819 |
+
border-collapse: collapse;
|
1820 |
+
border-spacing: 0;
|
1821 |
+
}
|
1822 |
+
|
1823 |
+
.acf-repeater.-row > table > tbody > tr > td,
|
1824 |
+
.acf-repeater.-block > table > tbody > tr > td{
|
1825 |
+
border-top: 1px solid #ccd0d4 !important;
|
1826 |
+
border-bottom: 1px solid #ccd0d4 !important;
|
1827 |
+
}
|
1828 |
+
|
1829 |
+
.acf-repeater.-row > table > tbody > tr > td:first-of-type,
|
1830 |
+
.acf-repeater.-block > table > tbody > tr > td:first-of-type{
|
1831 |
+
border-left: 1px solid #ccd0d4 !important;
|
1832 |
+
}
|
1833 |
+
|
1834 |
+
.acf-repeater.-row > table > tbody > tr > td:last-of-type,
|
1835 |
+
.acf-repeater.-block > table > tbody > tr > td:last-of-type{
|
1836 |
+
border-right: 1px solid #ccd0d4 !important;
|
1837 |
+
}
|
1838 |
+
|
1839 |
+
body:not(.acf-admin-5-3) .acf-repeater.-row > table > tbody > tr > td,
|
1840 |
+
body:not(.acf-admin-5-3) .acf-repeater.-block > table > tbody > tr > td{
|
1841 |
+
border-top: 1px solid #E1E1E1;
|
1842 |
+
border-bottom: 1px solid #E1E1E1;
|
1843 |
+
}
|
1844 |
+
|
1845 |
+
body:not(.acf-admin-5-3) .acf-repeater.-row > table > tbody > tr > td:first-of-type,
|
1846 |
+
body:not(.acf-admin-5-3) .acf-repeater.-block > table > tbody > tr > td:first-of-type{
|
1847 |
+
border-left: 1px solid #E1E1E1;
|
1848 |
+
}
|
1849 |
+
|
1850 |
+
body:not(.acf-admin-5-3) .acf-repeater.-row > table > tbody > tr > td:last-of-type,
|
1851 |
+
body:not(.acf-admin-5-3) .acf-repeater.-block > table > tbody > tr > td:last-of-type{
|
1852 |
+
border-right: 1px solid #E1E1E1;
|
1853 |
+
}
|
1854 |
+
|
1855 |
+
/*
|
1856 |
+
* ACF Field: Repeater Table Fix (Remove headings when empty)
|
1857 |
+
*/
|
1858 |
+
.acf-repeater.-table.-empty > .acf-table{
|
1859 |
+
display:none;
|
1860 |
+
}
|
1861 |
+
|
1862 |
+
/*
|
1863 |
+
* ACF Field: Repeater Add Row
|
1864 |
+
*/
|
1865 |
+
.acf-field-repeater > .acf-input > .acf-repeater > .acfe-repeater-stylised-button{
|
1866 |
+
padding: 40px 20px;
|
1867 |
+
border: #ccc dashed 2px;
|
1868 |
+
text-align: center;
|
1869 |
+
}
|
1870 |
+
|
1871 |
+
.acf-field-repeater > .acf-input > .acf-repeater > .acfe-repeater-stylised-button > .acf-actions{
|
1872 |
+
text-align: center;
|
1873 |
+
}
|
1874 |
+
|
1875 |
+
.acf-field-flexible-content > .acf-input > .acf-repeater .acf-actions .acf-button .dashicons{
|
1876 |
+
width: auto;
|
1877 |
+
height: auto;
|
1878 |
+
vertical-align: text-top;
|
1879 |
}
|
assets/acf-extended.js
CHANGED
@@ -506,4 +506,3379 @@
|
|
506 |
|
507 |
});
|
508 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
509 |
})(jQuery);
|
506 |
|
507 |
});
|
508 |
|
509 |
+
})(jQuery);
|
510 |
+
(function($){
|
511 |
+
|
512 |
+
if(typeof acf === 'undefined')
|
513 |
+
return;
|
514 |
+
|
515 |
+
/*
|
516 |
+
* Init
|
517 |
+
*/
|
518 |
+
var flexible = acf.getFieldType('flexible_content');
|
519 |
+
var model = flexible.prototype;
|
520 |
+
|
521 |
+
/*
|
522 |
+
* Drag & Drop
|
523 |
+
*/
|
524 |
+
model.addSortable = function( self ){
|
525 |
+
|
526 |
+
// bail early if max 1 row
|
527 |
+
if( this.get('max') == 1 ) {
|
528 |
+
return;
|
529 |
+
}
|
530 |
+
|
531 |
+
// add sortable
|
532 |
+
this.$layoutsWrap().sortable({
|
533 |
+
items: ' > .layout',
|
534 |
+
handle: '> .acf-fc-layout-handle',
|
535 |
+
forceHelperSize: false, // Changed to false
|
536 |
+
forcePlaceholderSize: true,
|
537 |
+
tolerance: "pointer", // Changed to pointer
|
538 |
+
scroll: true,
|
539 |
+
stop: function(event, ui) {
|
540 |
+
self.render();
|
541 |
+
},
|
542 |
+
update: function(event, ui) {
|
543 |
+
self.$input().trigger('change');
|
544 |
+
}
|
545 |
+
});
|
546 |
+
|
547 |
+
};
|
548 |
+
|
549 |
+
/*
|
550 |
+
* Actions
|
551 |
+
*/
|
552 |
+
model.acfeOneClick = function(e, $el){
|
553 |
+
|
554 |
+
// Get Flexible
|
555 |
+
var flexible = this;
|
556 |
+
|
557 |
+
// Vars
|
558 |
+
var $clones = flexible.$clones();
|
559 |
+
var $layout_name = $($clones[0]).data('layout');
|
560 |
+
|
561 |
+
// Source
|
562 |
+
var $layout_source = null;
|
563 |
+
if($el.hasClass('acf-icon'))
|
564 |
+
$layout_source = $el.closest('.layout');
|
565 |
+
|
566 |
+
// Add
|
567 |
+
var $layout_added = flexible.add({
|
568 |
+
layout: $layout_name,
|
569 |
+
before: $layout_source
|
570 |
+
});
|
571 |
+
|
572 |
+
// Hide native tooltip
|
573 |
+
if($('.acf-fc-popup').length)
|
574 |
+
$('.acf-fc-popup').hide();
|
575 |
+
|
576 |
+
};
|
577 |
+
|
578 |
+
model.acfeLayoutInit = function($layout){
|
579 |
+
|
580 |
+
// Get Flexible
|
581 |
+
var flexible = this;
|
582 |
+
|
583 |
+
// Vars
|
584 |
+
var $controls = $layout.find('> .acf-fc-layout-controls');
|
585 |
+
var $handle = $layout.find('> .acf-fc-layout-handle');
|
586 |
+
|
587 |
+
// Placeholder
|
588 |
+
var $placeholder = $layout.find('> .acfe-fc-placeholder');
|
589 |
+
|
590 |
+
// Placeholder: Show
|
591 |
+
$placeholder.removeClass('acf-hidden');
|
592 |
+
|
593 |
+
// If no modal edition & opened: Hide Placeholder
|
594 |
+
if(!flexible.has('acfeFlexibleModalEdition') && !flexible.isLayoutClosed($layout)){
|
595 |
+
|
596 |
+
$placeholder.addClass('acf-hidden');
|
597 |
+
|
598 |
+
}
|
599 |
+
|
600 |
+
// Flexible has Preview
|
601 |
+
if(flexible.isLayoutClosed($layout) && flexible.has('acfeFlexiblePreview') && !$placeholder.hasClass('-loading')){
|
602 |
+
|
603 |
+
$placeholder.addClass('acfe-fc-preview -loading').find('> .acfe-flexible-placeholder').prepend('<span class="spinner"></span>');
|
604 |
+
$placeholder.find('> .acfe-fc-overlay').addClass('-hover');
|
605 |
+
|
606 |
+
// vars
|
607 |
+
var $input = $layout.children('input');
|
608 |
+
var prefix = $input.attr('name').replace('[acf_fc_layout]', '');
|
609 |
+
|
610 |
+
// ajax data
|
611 |
+
var ajaxData = {
|
612 |
+
action: 'acfe/flexible/layout_preview',
|
613 |
+
field_key: flexible.get('key'),
|
614 |
+
i: $layout.index(),
|
615 |
+
layout: $layout.data('layout'),
|
616 |
+
value: acf.serialize($layout, prefix)
|
617 |
+
};
|
618 |
+
|
619 |
+
acf.doAction('acfe/fields/flexible_content/before_preview', flexible.$el, $layout, ajaxData);
|
620 |
+
acf.doAction('acfe/fields/flexible_content/before_preview/name=' + flexible.get('name'), flexible.$el, $layout, ajaxData);
|
621 |
+
acf.doAction('acfe/fields/flexible_content/before_preview/key=' + flexible.get('key'), flexible.$el, $layout, ajaxData);
|
622 |
+
acf.doAction('acfe/fields/flexible_content/before_preview/name=' + flexible.get('name') + '&layout=' + $layout.data('layout'), flexible.$el, $layout, ajaxData);
|
623 |
+
acf.doAction('acfe/fields/flexible_content/before_preview/key=' + flexible.get('key') + '&layout=' + $layout.data('layout'), flexible.$el, $layout, ajaxData);
|
624 |
+
|
625 |
+
// ajax
|
626 |
+
$.ajax({
|
627 |
+
url: acf.get('ajaxurl'),
|
628 |
+
data: acf.prepareForAjax(ajaxData),
|
629 |
+
dataType: 'html',
|
630 |
+
type: 'post',
|
631 |
+
success: function(response){
|
632 |
+
|
633 |
+
if(response){
|
634 |
+
|
635 |
+
$placeholder.find('> .acfe-flexible-placeholder').html(response);
|
636 |
+
|
637 |
+
}else{
|
638 |
+
|
639 |
+
$placeholder.removeClass('acfe-fc-preview');
|
640 |
+
|
641 |
+
}
|
642 |
+
|
643 |
+
acf.doAction('acfe/fields/flexible_content/preview', response, flexible.$el, $layout, ajaxData);
|
644 |
+
acf.doAction('acfe/fields/flexible_content/preview/name=' + flexible.get('name'), response, flexible.$el, $layout, ajaxData);
|
645 |
+
acf.doAction('acfe/fields/flexible_content/preview/key=' + flexible.get('key'), response, flexible.$el, $layout, ajaxData);
|
646 |
+
acf.doAction('acfe/fields/flexible_content/preview/name=' + flexible.get('name') + '&layout=' + $layout.data('layout'), response, flexible.$el, $layout, ajaxData);
|
647 |
+
acf.doAction('acfe/fields/flexible_content/preview/key=' + flexible.get('key') + '&layout=' + $layout.data('layout'), response, flexible.$el, $layout, ajaxData);
|
648 |
+
|
649 |
+
},
|
650 |
+
complete: function(){
|
651 |
+
|
652 |
+
$placeholder.find('> .acfe-fc-overlay').removeClass('-hover');
|
653 |
+
$placeholder.removeClass('-loading').find('> .acfe-flexible-placeholder > .spinner').remove();
|
654 |
+
|
655 |
+
}
|
656 |
+
});
|
657 |
+
|
658 |
+
}
|
659 |
+
|
660 |
+
};
|
661 |
+
|
662 |
+
/*
|
663 |
+
* WYSIWYG
|
664 |
+
*/
|
665 |
+
var wysiwyg = acf.getFieldType('wysiwyg').prototype;
|
666 |
+
wysiwyg.initialize = function(){
|
667 |
+
|
668 |
+
// initializeEditor if no delay
|
669 |
+
if( !this.has('id') && !this.$control().hasClass('delay') ) {
|
670 |
+
this.initializeEditor();
|
671 |
+
}
|
672 |
+
|
673 |
+
};
|
674 |
+
|
675 |
+
var acfeFlexibleDelayInit = function(editor){
|
676 |
+
|
677 |
+
if(editor.has('id') || !editor.$el.is(':visible') || acfe.isFilterEnabled('acfeForceOpen'))
|
678 |
+
return;
|
679 |
+
|
680 |
+
var $wrap = editor.$control();
|
681 |
+
|
682 |
+
if($wrap.hasClass('delay')){
|
683 |
+
|
684 |
+
$wrap.removeClass('delay');
|
685 |
+
$wrap.find('.acf-editor-toolbar').remove();
|
686 |
+
|
687 |
+
// initialize
|
688 |
+
editor.initializeEditor();
|
689 |
+
|
690 |
+
}
|
691 |
+
|
692 |
+
};
|
693 |
+
|
694 |
+
acf.addAction('show_field/type=wysiwyg', acfeFlexibleDelayInit);
|
695 |
+
acf.addAction('ready_field/type=wysiwyg', acfeFlexibleDelayInit);
|
696 |
+
|
697 |
+
/*
|
698 |
+
* Spawn
|
699 |
+
*/
|
700 |
+
acf.addAction('new_field/type=flexible_content', function(flexible){
|
701 |
+
|
702 |
+
// Vars
|
703 |
+
var $clones = flexible.$clones();
|
704 |
+
var $layouts = flexible.$layouts();
|
705 |
+
|
706 |
+
// Merge
|
707 |
+
var $all_layouts = $.merge($layouts, $clones);
|
708 |
+
|
709 |
+
// Do Actions
|
710 |
+
$layouts.each(function(){
|
711 |
+
|
712 |
+
var $layout = $(this);
|
713 |
+
var $name = $layout.data('layout');
|
714 |
+
|
715 |
+
acf.doAction('acfe/flexible/layouts', $layout, flexible);
|
716 |
+
acf.doAction('acfe/flexible/layout/name=' + $name, $layout, flexible);
|
717 |
+
|
718 |
+
});
|
719 |
+
|
720 |
+
// ACFE: 1 layout available - OneClick
|
721 |
+
if($clones.length === 1){
|
722 |
+
|
723 |
+
// Remove native ACF Tooltip action
|
724 |
+
flexible.removeEvents({'click [data-name="add-layout"]': 'onClickAdd'});
|
725 |
+
|
726 |
+
// Add ACF Extended Modal action
|
727 |
+
flexible.addEvents({'click [data-name="add-layout"]': 'acfeOneClick'});
|
728 |
+
|
729 |
+
}
|
730 |
+
|
731 |
+
flexible.addEvents({'click .acfe-fc-placeholder': 'onClickCollapse'});
|
732 |
+
|
733 |
+
flexible.addEvents({'click .acfe-flexible-opened-actions > a': 'onClickCollapse'});
|
734 |
+
|
735 |
+
// Flexible: Ajax
|
736 |
+
if(flexible.has('acfeFlexibleAjax')){
|
737 |
+
|
738 |
+
flexible.add = function(args){
|
739 |
+
|
740 |
+
// Get Flexible
|
741 |
+
var flexible = this;
|
742 |
+
|
743 |
+
// defaults
|
744 |
+
args = acf.parseArgs(args, {
|
745 |
+
layout: '',
|
746 |
+
before: false
|
747 |
+
});
|
748 |
+
|
749 |
+
// validate
|
750 |
+
if( !this.allowAdd() ) {
|
751 |
+
return false;
|
752 |
+
}
|
753 |
+
|
754 |
+
// ajax
|
755 |
+
$.ajax({
|
756 |
+
url: acf.get('ajaxurl'),
|
757 |
+
data: acf.prepareForAjax({
|
758 |
+
action: 'acfe/flexible/models',
|
759 |
+
field_key: this.get('key'),
|
760 |
+
layout: args.layout,
|
761 |
+
}),
|
762 |
+
dataType: 'html',
|
763 |
+
type: 'post',
|
764 |
+
beforeSend: function(){
|
765 |
+
$('body').addClass('-loading');
|
766 |
+
},
|
767 |
+
success: function(html){
|
768 |
+
if(html){
|
769 |
+
|
770 |
+
var $layout = $(html);
|
771 |
+
var uniqid = acf.uniqid();
|
772 |
+
|
773 |
+
var search = 'acf[' + flexible.get('key') + '][acfcloneindex]';
|
774 |
+
var replace = flexible.$control().find('> input[type=hidden]').attr('name') + '[' + uniqid + ']';
|
775 |
+
|
776 |
+
// add row
|
777 |
+
var $el = acf.duplicate({
|
778 |
+
target: $layout,
|
779 |
+
search: search,
|
780 |
+
replace: replace,
|
781 |
+
append: flexible.proxy(function( $el, $el2 ){
|
782 |
+
|
783 |
+
// append
|
784 |
+
if( args.before ) {
|
785 |
+
args.before.before( $el2 );
|
786 |
+
} else {
|
787 |
+
flexible.$layoutsWrap().append( $el2 );
|
788 |
+
}
|
789 |
+
|
790 |
+
// enable
|
791 |
+
acf.enable( $el2, flexible.cid );
|
792 |
+
|
793 |
+
// render
|
794 |
+
flexible.render();
|
795 |
+
})
|
796 |
+
});
|
797 |
+
|
798 |
+
// Fix data-id
|
799 |
+
$el.attr('data-id', uniqid);
|
800 |
+
|
801 |
+
// trigger change for validation errors
|
802 |
+
flexible.$input().trigger('change');
|
803 |
+
|
804 |
+
// return
|
805 |
+
return $el;
|
806 |
+
|
807 |
+
}
|
808 |
+
},
|
809 |
+
'complete': function(){
|
810 |
+
$('body').removeClass('-loading');
|
811 |
+
}
|
812 |
+
});
|
813 |
+
|
814 |
+
};
|
815 |
+
|
816 |
+
}
|
817 |
+
|
818 |
+
});
|
819 |
+
|
820 |
+
acf.addAction('acfe/flexible/layouts', function($layout, flexible){
|
821 |
+
|
822 |
+
// Layout Closed
|
823 |
+
if(flexible.isLayoutClosed($layout)){
|
824 |
+
|
825 |
+
// Placeholder
|
826 |
+
$layout.find('> .acfe-fc-placeholder').removeClass('acf-hidden');
|
827 |
+
|
828 |
+
if(flexible.has('acfeFlexibleOpen')){
|
829 |
+
|
830 |
+
acfe.enableFilter('acfeForceOpen');
|
831 |
+
|
832 |
+
flexible.openLayout($layout);
|
833 |
+
|
834 |
+
acfe.disableFilter('acfeForceOpen');
|
835 |
+
|
836 |
+
}
|
837 |
+
|
838 |
+
}
|
839 |
+
|
840 |
+
});
|
841 |
+
|
842 |
+
acf.addAction('show', function($layout, type){
|
843 |
+
|
844 |
+
if(type !== 'collapse' || !$layout.is('.layout'))
|
845 |
+
return;
|
846 |
+
|
847 |
+
var flexible = acf.getInstance($layout.closest('.acf-field-flexible-content'));
|
848 |
+
|
849 |
+
// Hide Placeholder
|
850 |
+
if(!flexible.has('acfeFlexibleModalEdition')){
|
851 |
+
|
852 |
+
// Placeholder
|
853 |
+
$layout.find('> .acfe-fc-placeholder').addClass('acf-hidden');
|
854 |
+
|
855 |
+
}
|
856 |
+
|
857 |
+
});
|
858 |
+
|
859 |
+
acf.addAction('hide', function($layout, type){
|
860 |
+
|
861 |
+
if(type !== 'collapse' || !$layout.is('.layout') || $layout.is('.acf-clone'))
|
862 |
+
return;
|
863 |
+
|
864 |
+
// Get Flexible
|
865 |
+
var flexible = acf.getInstance($layout.closest('.acf-field-flexible-content'));
|
866 |
+
|
867 |
+
// Remove Ajax Title
|
868 |
+
if(flexible.has('acfeFlexibleRemoveAjaxTitle')){
|
869 |
+
|
870 |
+
flexible.renderLayout = function($layout){};
|
871 |
+
|
872 |
+
}
|
873 |
+
|
874 |
+
// Preview Ajax
|
875 |
+
flexible.acfeLayoutInit($layout);
|
876 |
+
|
877 |
+
});
|
878 |
+
|
879 |
+
acf.addAction('append', function($el){
|
880 |
+
|
881 |
+
// Bail early if layout is not layout
|
882 |
+
if(!$el.is('.layout'))
|
883 |
+
return;
|
884 |
+
|
885 |
+
// Get Flexible
|
886 |
+
var flexible = acf.getInstance($el.closest('.acf-field-flexible-content'));
|
887 |
+
|
888 |
+
// Open Layout
|
889 |
+
if(!$el.is('.acfe-layout-duplicated')){
|
890 |
+
|
891 |
+
// Modal Edition: Open
|
892 |
+
if(flexible.has('acfeFlexibleModalEdition')){
|
893 |
+
|
894 |
+
$el.find('> [data-action="acfe-flexible-modal-edit"]:first').trigger('click');
|
895 |
+
|
896 |
+
}
|
897 |
+
|
898 |
+
// Normal Edition: Open
|
899 |
+
else{
|
900 |
+
|
901 |
+
flexible.openLayout($el);
|
902 |
+
|
903 |
+
}
|
904 |
+
|
905 |
+
}
|
906 |
+
|
907 |
+
flexible.acfeLayoutInit($el);
|
908 |
+
|
909 |
+
var $modal = flexible.$el.closest('.acfe-modal.-open');
|
910 |
+
|
911 |
+
if($modal.length){
|
912 |
+
|
913 |
+
// Scroll to new layout
|
914 |
+
$modal.find('> .acfe-modal-wrapper > .acfe-modal-content').animate({
|
915 |
+
scrollTop: parseInt($el.offset().top) - 200
|
916 |
+
}, 200);
|
917 |
+
|
918 |
+
}else{
|
919 |
+
|
920 |
+
var acfVersion = parseFloat(acf.get('acf_version'));
|
921 |
+
|
922 |
+
if(acfVersion < 5.9){
|
923 |
+
|
924 |
+
// Scroll to new layout
|
925 |
+
$('html, body').animate({
|
926 |
+
scrollTop: parseInt($el.offset().top) - 200
|
927 |
+
}, 200);
|
928 |
+
|
929 |
+
}
|
930 |
+
|
931 |
+
}
|
932 |
+
|
933 |
+
});
|
934 |
+
|
935 |
+
/*
|
936 |
+
* Field Error
|
937 |
+
*/
|
938 |
+
acf.addAction('invalid_field', function(field){
|
939 |
+
|
940 |
+
field.$el.parents('.layout').addClass('acfe-flexible-modal-edit-error');
|
941 |
+
|
942 |
+
});
|
943 |
+
|
944 |
+
/*
|
945 |
+
* Field Valid
|
946 |
+
*/
|
947 |
+
acf.addAction('valid_field', function(field){
|
948 |
+
|
949 |
+
field.$el.parents('.layout').each(function(){
|
950 |
+
|
951 |
+
var $layout = $(this);
|
952 |
+
|
953 |
+
if(!$layout.find('.acf-error').length)
|
954 |
+
$layout.removeClass('acfe-flexible-modal-edit-error');
|
955 |
+
|
956 |
+
});
|
957 |
+
|
958 |
+
});
|
959 |
+
|
960 |
+
})(jQuery);
|
961 |
+
(function($){
|
962 |
+
|
963 |
+
if(typeof acf === 'undefined')
|
964 |
+
return;
|
965 |
+
|
966 |
+
/*
|
967 |
+
* Init
|
968 |
+
*/
|
969 |
+
var flexible = acf.getFieldType('flexible_content');
|
970 |
+
var model = flexible.prototype;
|
971 |
+
|
972 |
+
/*
|
973 |
+
* Actions
|
974 |
+
*/
|
975 |
+
model.events['click .acf-fc-layout-handle'] = 'acfeEditLayoutTitleToggleHandle';
|
976 |
+
model.acfeEditLayoutTitleToggleHandle = function(e, $el){
|
977 |
+
|
978 |
+
var flexible = this;
|
979 |
+
|
980 |
+
// Title Edition
|
981 |
+
if(!flexible.has('acfeFlexibleTitleEdition'))
|
982 |
+
return;
|
983 |
+
|
984 |
+
// Vars
|
985 |
+
var $layout = $el.closest('.layout');
|
986 |
+
|
987 |
+
if($layout.hasClass('acfe-flexible-title-edition')){
|
988 |
+
|
989 |
+
$layout.find('> .acf-fc-layout-handle > .acfe-layout-title > input.acfe-flexible-control-title').trigger('blur');
|
990 |
+
|
991 |
+
}
|
992 |
+
|
993 |
+
}
|
994 |
+
|
995 |
+
model.events['click .acfe-layout-title-text'] = 'acfeEditLayoutTitle';
|
996 |
+
model.acfeEditLayoutTitle = function(e, $el){
|
997 |
+
|
998 |
+
// Get Flexible
|
999 |
+
var flexible = this;
|
1000 |
+
|
1001 |
+
// Title Edition
|
1002 |
+
if(!flexible.has('acfeFlexibleTitleEdition'))
|
1003 |
+
return;
|
1004 |
+
|
1005 |
+
// Stop propagation
|
1006 |
+
e.stopPropagation();
|
1007 |
+
|
1008 |
+
// Toggle
|
1009 |
+
flexible.acfeEditLayoutTitleToggle(e, $el);
|
1010 |
+
|
1011 |
+
}
|
1012 |
+
|
1013 |
+
model.events['blur input.acfe-flexible-control-title'] = 'acfeEditLayoutTitleToggle';
|
1014 |
+
model.acfeEditLayoutTitleToggle = function(e, $el){
|
1015 |
+
|
1016 |
+
var flexible = this;
|
1017 |
+
|
1018 |
+
// Vars
|
1019 |
+
var $layout = $el.closest('.layout');
|
1020 |
+
var $handle = $layout.find('> .acf-fc-layout-handle');
|
1021 |
+
var $title = $handle.find('.acfe-layout-title');
|
1022 |
+
|
1023 |
+
if($layout.hasClass('acfe-flexible-title-edition')){
|
1024 |
+
|
1025 |
+
var $input = $title.find('> input[data-acfe-flexible-control-title-input]');
|
1026 |
+
|
1027 |
+
if($input.val() === '')
|
1028 |
+
$input.val($input.attr('placeholder')).trigger('input');
|
1029 |
+
|
1030 |
+
$layout.removeClass('acfe-flexible-title-edition');
|
1031 |
+
|
1032 |
+
$input.insertAfter($handle);
|
1033 |
+
|
1034 |
+
}
|
1035 |
+
|
1036 |
+
else{
|
1037 |
+
|
1038 |
+
var $input = $layout.find('> input[data-acfe-flexible-control-title-input]');
|
1039 |
+
|
1040 |
+
var $input = $input.appendTo($title);
|
1041 |
+
|
1042 |
+
$layout.addClass('acfe-flexible-title-edition');
|
1043 |
+
$input.focus().attr('size', $input.val().length);
|
1044 |
+
|
1045 |
+
}
|
1046 |
+
|
1047 |
+
}
|
1048 |
+
|
1049 |
+
// Layout: Edit Title
|
1050 |
+
model.events['click input.acfe-flexible-control-title'] = 'acfeEditLayoutTitlePropagation';
|
1051 |
+
model.acfeEditLayoutTitlePropagation = function(e, $el){
|
1052 |
+
|
1053 |
+
e.stopPropagation();
|
1054 |
+
|
1055 |
+
}
|
1056 |
+
|
1057 |
+
// Layout: Edit Title Input
|
1058 |
+
model.events['input [data-acfe-flexible-control-title-input]'] = 'acfeEditLayoutTitleInput';
|
1059 |
+
model.acfeEditLayoutTitleInput = function(e, $el){
|
1060 |
+
|
1061 |
+
// Vars
|
1062 |
+
var $layout = $el.closest('.layout');
|
1063 |
+
var $title = $layout.find('> .acf-fc-layout-handle .acfe-layout-title .acfe-layout-title-text');
|
1064 |
+
|
1065 |
+
var val = $el.val();
|
1066 |
+
|
1067 |
+
$el.attr('size', val.length);
|
1068 |
+
|
1069 |
+
$title.html(val);
|
1070 |
+
|
1071 |
+
}
|
1072 |
+
|
1073 |
+
// Layout: Edit Title Input Enter
|
1074 |
+
model.events['keypress [data-acfe-flexible-control-title-input]'] = 'acfeEditLayoutTitleInputEnter';
|
1075 |
+
model.acfeEditLayoutTitleInputEnter = function(e, $el){
|
1076 |
+
|
1077 |
+
// Enter Key
|
1078 |
+
if(e.keyCode !== 13)
|
1079 |
+
return;
|
1080 |
+
|
1081 |
+
e.preventDefault();
|
1082 |
+
$el.blur();
|
1083 |
+
|
1084 |
+
}
|
1085 |
+
|
1086 |
+
// Layout: Settings
|
1087 |
+
model.events['click [data-acfe-flexible-settings]'] = 'acfeLayoutSettings';
|
1088 |
+
model.acfeLayoutSettings = function(e, $el){
|
1089 |
+
|
1090 |
+
// Get Flexible
|
1091 |
+
var flexible = this;
|
1092 |
+
|
1093 |
+
// Vars
|
1094 |
+
var $layout = $el.closest('.layout');
|
1095 |
+
|
1096 |
+
// Modal data
|
1097 |
+
var $modal = $layout.find('> .acfe-modal.-settings');
|
1098 |
+
var $handle = $layout.find('> .acf-fc-layout-handle');
|
1099 |
+
|
1100 |
+
var $layout_order = $handle.find('> .acf-fc-layout-order').outerHTML();
|
1101 |
+
var $layout_title = $handle.find('.acfe-layout-title-text').text();
|
1102 |
+
|
1103 |
+
// Open modal
|
1104 |
+
acfe.modal.open($modal, {
|
1105 |
+
title: $layout_order + ' ' + $layout_title,
|
1106 |
+
footer: acf.__('Close'),
|
1107 |
+
onOpen: function(){
|
1108 |
+
|
1109 |
+
},
|
1110 |
+
onClose: function(){
|
1111 |
+
|
1112 |
+
if(flexible.has('acfeFlexiblePreview')){
|
1113 |
+
|
1114 |
+
flexible.closeLayout($layout);
|
1115 |
+
|
1116 |
+
}
|
1117 |
+
|
1118 |
+
}
|
1119 |
+
});
|
1120 |
+
|
1121 |
+
}
|
1122 |
+
|
1123 |
+
/*
|
1124 |
+
* Layout: Toggle Action
|
1125 |
+
*/
|
1126 |
+
model.events['click [data-acfe-flexible-control-toggle]'] = 'acfeLayoutToggle';
|
1127 |
+
model.acfeLayoutToggle = function(e, $el){
|
1128 |
+
|
1129 |
+
// Get Flexible
|
1130 |
+
var flexible = this;
|
1131 |
+
|
1132 |
+
// Vars
|
1133 |
+
var $layout = $el.closest('.layout');
|
1134 |
+
|
1135 |
+
var $field = $layout.find('> .acfe-flexible-layout-toggle');
|
1136 |
+
|
1137 |
+
if(!$field.length)
|
1138 |
+
return;
|
1139 |
+
|
1140 |
+
if($field.val() === '1'){
|
1141 |
+
|
1142 |
+
$layout.removeClass('acfe-flexible-layout-hidden');
|
1143 |
+
$field.val('');
|
1144 |
+
|
1145 |
+
}else{
|
1146 |
+
|
1147 |
+
$layout.addClass('acfe-flexible-layout-hidden');
|
1148 |
+
$field.val('1');
|
1149 |
+
|
1150 |
+
}
|
1151 |
+
|
1152 |
+
}
|
1153 |
+
|
1154 |
+
/*
|
1155 |
+
* Layout: Toggle Spawn
|
1156 |
+
*/
|
1157 |
+
acf.addAction('acfe/flexible/layouts', function($layout, flexible){
|
1158 |
+
|
1159 |
+
if(!flexible.has('acfeFlexibleToggle'))
|
1160 |
+
return;
|
1161 |
+
|
1162 |
+
// Layout Closed
|
1163 |
+
var $field = $layout.find('> .acfe-flexible-layout-toggle');
|
1164 |
+
|
1165 |
+
if(!$field.length)
|
1166 |
+
return;
|
1167 |
+
|
1168 |
+
if($field.val() === '1'){
|
1169 |
+
|
1170 |
+
$layout.addClass('acfe-flexible-layout-hidden');
|
1171 |
+
|
1172 |
+
}else{
|
1173 |
+
|
1174 |
+
$layout.removeClass('acfe-flexible-layout-hidden');
|
1175 |
+
|
1176 |
+
}
|
1177 |
+
|
1178 |
+
});
|
1179 |
+
|
1180 |
+
// Layout: Clone
|
1181 |
+
model.events['click [data-acfe-flexible-control-clone]'] = 'acfeCloneLayout';
|
1182 |
+
model.acfeCloneLayout = function(e, $el){
|
1183 |
+
|
1184 |
+
// Get Flexible
|
1185 |
+
var flexible = this;
|
1186 |
+
|
1187 |
+
// Vars
|
1188 |
+
var $layout = $el.closest('.layout');
|
1189 |
+
var layout_name = $layout.data('layout');
|
1190 |
+
|
1191 |
+
// Popup min/max
|
1192 |
+
var $popup = $(flexible.$popup().html());
|
1193 |
+
var $layouts = flexible.$layouts();
|
1194 |
+
|
1195 |
+
var countLayouts = function(name){
|
1196 |
+
return $layouts.filter(function(){
|
1197 |
+
return $(this).data('layout') === name;
|
1198 |
+
}).length;
|
1199 |
+
};
|
1200 |
+
|
1201 |
+
// vars
|
1202 |
+
var $a = $popup.find('[data-layout="' + layout_name + '"]');
|
1203 |
+
var min = $a.data('min') || 0;
|
1204 |
+
var max = $a.data('max') || 0;
|
1205 |
+
var count = countLayouts(layout_name);
|
1206 |
+
|
1207 |
+
// max
|
1208 |
+
if(max && count >= max){
|
1209 |
+
|
1210 |
+
$el.addClass('disabled');
|
1211 |
+
return false;
|
1212 |
+
|
1213 |
+
}else{
|
1214 |
+
|
1215 |
+
$el.removeClass('disabled');
|
1216 |
+
|
1217 |
+
}
|
1218 |
+
|
1219 |
+
// Fix inputs
|
1220 |
+
flexible.acfeFixInputs($layout);
|
1221 |
+
|
1222 |
+
var $_layout = $layout.clone();
|
1223 |
+
|
1224 |
+
// Clean Layout
|
1225 |
+
flexible.acfeCleanLayouts($_layout);
|
1226 |
+
|
1227 |
+
var parent = $el.closest('.acf-flexible-content').find('> input[type=hidden]').attr('name');
|
1228 |
+
|
1229 |
+
// Clone
|
1230 |
+
var $layout_added = flexible.acfeDuplicate({
|
1231 |
+
layout: $_layout,
|
1232 |
+
before: $layout,
|
1233 |
+
parent: parent
|
1234 |
+
});
|
1235 |
+
|
1236 |
+
}
|
1237 |
+
|
1238 |
+
// Layout: Copy
|
1239 |
+
model.events['click [data-acfe-flexible-control-copy]'] = 'acfeCopyLayout';
|
1240 |
+
model.acfeCopyLayout = function(e, $el){
|
1241 |
+
|
1242 |
+
// Get Flexible
|
1243 |
+
var flexible = this;
|
1244 |
+
|
1245 |
+
// Vars
|
1246 |
+
var $layout = $el.closest('.layout').clone();
|
1247 |
+
var source = flexible.$control().find('> input[type=hidden]').attr('name');
|
1248 |
+
|
1249 |
+
// Fix inputs
|
1250 |
+
flexible.acfeFixInputs($layout);
|
1251 |
+
|
1252 |
+
// Clean layout
|
1253 |
+
flexible.acfeCleanLayouts($layout);
|
1254 |
+
|
1255 |
+
// Get layout data
|
1256 |
+
var data = JSON.stringify({
|
1257 |
+
source: source,
|
1258 |
+
layouts: $layout[0].outerHTML
|
1259 |
+
});
|
1260 |
+
|
1261 |
+
// Append Temp Input
|
1262 |
+
var $input = $('<input type="text" style="clip:rect(0,0,0,0);clip-path:rect(0,0,0,0);position:absolute;" value="" />').appendTo($('body'));
|
1263 |
+
$input.attr('value', data).select();
|
1264 |
+
|
1265 |
+
// Command: Copy
|
1266 |
+
if(document.execCommand('copy'))
|
1267 |
+
alert('Layout has been transferred to your clipboard');
|
1268 |
+
|
1269 |
+
// Prompt
|
1270 |
+
else
|
1271 |
+
prompt('Copy the following layout data to your clipboard', data);
|
1272 |
+
|
1273 |
+
// Remove the temp input
|
1274 |
+
$input.remove();
|
1275 |
+
|
1276 |
+
}
|
1277 |
+
|
1278 |
+
// Flexible: Copy Layouts
|
1279 |
+
model.acfeCopyLayouts = function(){
|
1280 |
+
|
1281 |
+
// Get Flexible
|
1282 |
+
var flexible = this;
|
1283 |
+
|
1284 |
+
// Get layouts
|
1285 |
+
var $layouts = flexible.$layoutsWrap().clone();
|
1286 |
+
var source = flexible.$control().find('> input[type=hidden]').attr('name');
|
1287 |
+
|
1288 |
+
// Fix inputs
|
1289 |
+
flexible.acfeFixInputs($layouts);
|
1290 |
+
|
1291 |
+
// Clean layout
|
1292 |
+
flexible.acfeCleanLayouts($layouts);
|
1293 |
+
|
1294 |
+
// Get layouts data
|
1295 |
+
var data = JSON.stringify({
|
1296 |
+
source: source,
|
1297 |
+
layouts: $layouts.html()
|
1298 |
+
});
|
1299 |
+
|
1300 |
+
// Append Temp Input
|
1301 |
+
var $input = $('<input type="text" style="clip:rect(0,0,0,0);clip-path:rect(0,0,0,0);position:absolute;" value="" />').appendTo(flexible.$el);
|
1302 |
+
$input.attr('value', data).select();
|
1303 |
+
|
1304 |
+
// Command: Copy
|
1305 |
+
if(document.execCommand('copy'))
|
1306 |
+
alert('Layouts have been transferred to your clipboard');
|
1307 |
+
|
1308 |
+
// Prompt
|
1309 |
+
else
|
1310 |
+
prompt('Copy the following layouts data to your clipboard', data);
|
1311 |
+
|
1312 |
+
$input.remove();
|
1313 |
+
|
1314 |
+
}
|
1315 |
+
|
1316 |
+
// Flexible: Paste Layouts
|
1317 |
+
model.acfePasteLayouts = function(){
|
1318 |
+
|
1319 |
+
// Get Flexible
|
1320 |
+
var flexible = this;
|
1321 |
+
|
1322 |
+
var paste = prompt('Paste layouts data in the following field');
|
1323 |
+
|
1324 |
+
// No input
|
1325 |
+
if(paste == null || paste === '')
|
1326 |
+
return;
|
1327 |
+
|
1328 |
+
try{
|
1329 |
+
|
1330 |
+
// Paste HTML
|
1331 |
+
var data = JSON.parse(paste);
|
1332 |
+
var source = data.source;
|
1333 |
+
var $html = $(data.layouts);
|
1334 |
+
|
1335 |
+
// Parsed layouts
|
1336 |
+
var $html_layouts = $html.closest('[data-layout]');
|
1337 |
+
|
1338 |
+
if(!$html_layouts.length)
|
1339 |
+
return alert('No layouts data available');
|
1340 |
+
|
1341 |
+
// Popup min/max
|
1342 |
+
var $popup = $(flexible.$popup().html());
|
1343 |
+
var $layouts = flexible.$layouts();
|
1344 |
+
|
1345 |
+
var countLayouts = function(name){
|
1346 |
+
return $layouts.filter(function(){
|
1347 |
+
return $(this).data('layout') === name;
|
1348 |
+
}).length;
|
1349 |
+
};
|
1350 |
+
|
1351 |
+
// init
|
1352 |
+
var validated_layouts = [];
|
1353 |
+
|
1354 |
+
// Each first level layouts
|
1355 |
+
$html_layouts.each(function(){
|
1356 |
+
|
1357 |
+
var $this = $(this);
|
1358 |
+
var layout_name = $this.data('layout');
|
1359 |
+
|
1360 |
+
// vars
|
1361 |
+
var $a = $popup.find('[data-layout="' + layout_name + '"]');
|
1362 |
+
var min = $a.data('min') || 0;
|
1363 |
+
var max = $a.data('max') || 0;
|
1364 |
+
var count = countLayouts(layout_name);
|
1365 |
+
|
1366 |
+
// max
|
1367 |
+
if(max && count >= max)
|
1368 |
+
return;
|
1369 |
+
|
1370 |
+
// Validate layout against available layouts
|
1371 |
+
var get_clone_layout = flexible.$clone($this.attr('data-layout'));
|
1372 |
+
|
1373 |
+
// Layout is invalid
|
1374 |
+
if(!get_clone_layout.length)
|
1375 |
+
return;
|
1376 |
+
|
1377 |
+
// Add validated layout
|
1378 |
+
validated_layouts.push($this);
|
1379 |
+
|
1380 |
+
});
|
1381 |
+
|
1382 |
+
// Nothing to add
|
1383 |
+
if(!validated_layouts.length)
|
1384 |
+
return alert('No layouts could be pasted');
|
1385 |
+
|
1386 |
+
// Add layouts
|
1387 |
+
$.each(validated_layouts, function(){
|
1388 |
+
|
1389 |
+
var $layout = $(this);
|
1390 |
+
var search = source + '[' + $layout.attr('data-id') + ']';
|
1391 |
+
var target = flexible.$control().find('> input[type=hidden]').attr('name');
|
1392 |
+
|
1393 |
+
flexible.acfeDuplicate({
|
1394 |
+
layout: $layout,
|
1395 |
+
before: false,
|
1396 |
+
search: search,
|
1397 |
+
parent: target
|
1398 |
+
});
|
1399 |
+
|
1400 |
+
});
|
1401 |
+
|
1402 |
+
}catch(e){
|
1403 |
+
|
1404 |
+
console.log(e);
|
1405 |
+
alert('Invalid data');
|
1406 |
+
|
1407 |
+
}
|
1408 |
+
|
1409 |
+
}
|
1410 |
+
|
1411 |
+
// Flexible: Dropdown
|
1412 |
+
model.events['click [data-name="acfe-flexible-control-button"]'] = 'acfeControl';
|
1413 |
+
model.acfeControl = function(e, $el){
|
1414 |
+
|
1415 |
+
// Get Flexible
|
1416 |
+
var flexible = this;
|
1417 |
+
|
1418 |
+
// Vars
|
1419 |
+
var $dropdown = $el.next('.tmpl-acfe-flexible-control-popup').html();
|
1420 |
+
|
1421 |
+
// Init Popup
|
1422 |
+
var Popup = acf.models.TooltipConfirm.extend({
|
1423 |
+
render: function(){
|
1424 |
+
this.html(this.get('text'));
|
1425 |
+
this.$el.addClass('acf-fc-popup');
|
1426 |
+
}
|
1427 |
+
});
|
1428 |
+
|
1429 |
+
// New Popup
|
1430 |
+
var popup = new Popup({
|
1431 |
+
target: $el,
|
1432 |
+
targetConfirm: false,
|
1433 |
+
text: $dropdown,
|
1434 |
+
context: flexible,
|
1435 |
+
confirm: function(e, $el){
|
1436 |
+
|
1437 |
+
if($el.attr('data-acfe-flexible-control-action') === 'paste')
|
1438 |
+
flexible.acfePasteLayouts();
|
1439 |
+
|
1440 |
+
else if($el.attr('data-acfe-flexible-control-action') === 'copy')
|
1441 |
+
flexible.acfeCopyLayouts();
|
1442 |
+
|
1443 |
+
}
|
1444 |
+
});
|
1445 |
+
|
1446 |
+
popup.on('click', 'a', 'onConfirm');
|
1447 |
+
|
1448 |
+
}
|
1449 |
+
|
1450 |
+
// Flexible: Duplicate
|
1451 |
+
model.acfeDuplicate = function(args){
|
1452 |
+
|
1453 |
+
// Arguments
|
1454 |
+
args = acf.parseArgs(args, {
|
1455 |
+
layout: '',
|
1456 |
+
before: false,
|
1457 |
+
parent: false,
|
1458 |
+
search: '',
|
1459 |
+
replace: '',
|
1460 |
+
});
|
1461 |
+
|
1462 |
+
// Validate
|
1463 |
+
if(!this.allowAdd())
|
1464 |
+
return false;
|
1465 |
+
|
1466 |
+
var uniqid = acf.uniqid();
|
1467 |
+
|
1468 |
+
if(args.parent){
|
1469 |
+
|
1470 |
+
if(!args.search){
|
1471 |
+
|
1472 |
+
args.search = args.parent + '[' + args.layout.attr('data-id') + ']';
|
1473 |
+
|
1474 |
+
}
|
1475 |
+
|
1476 |
+
args.replace = args.parent + '[' + uniqid + ']';
|
1477 |
+
|
1478 |
+
}
|
1479 |
+
|
1480 |
+
var duplicate_args = {
|
1481 |
+
target: args.layout,
|
1482 |
+
search: args.search,
|
1483 |
+
replace: args.replace,
|
1484 |
+
append: this.proxy(function($el, $el2){
|
1485 |
+
|
1486 |
+
// Add class to duplicated layout
|
1487 |
+
$el2.addClass('acfe-layout-duplicated');
|
1488 |
+
|
1489 |
+
// Reset UniqID
|
1490 |
+
$el2.attr('data-id', uniqid);
|
1491 |
+
|
1492 |
+
// append before
|
1493 |
+
if(args.before){
|
1494 |
+
|
1495 |
+
// Fix clone: Use after() instead of native before()
|
1496 |
+
args.before.after($el2);
|
1497 |
+
|
1498 |
+
}
|
1499 |
+
|
1500 |
+
// append end
|
1501 |
+
else{
|
1502 |
+
|
1503 |
+
this.$layoutsWrap().append($el2);
|
1504 |
+
|
1505 |
+
}
|
1506 |
+
|
1507 |
+
// enable
|
1508 |
+
acf.enable($el2, this.cid);
|
1509 |
+
|
1510 |
+
// render
|
1511 |
+
this.render();
|
1512 |
+
|
1513 |
+
})
|
1514 |
+
}
|
1515 |
+
|
1516 |
+
var acfVersion = parseFloat(acf.get('acf_version'));
|
1517 |
+
|
1518 |
+
if(acfVersion < 5.9){
|
1519 |
+
|
1520 |
+
// Add row
|
1521 |
+
var $el = acf.duplicate(duplicate_args);
|
1522 |
+
|
1523 |
+
// Hotfix for ACF Pro 5.9
|
1524 |
+
}else{
|
1525 |
+
|
1526 |
+
// Add row
|
1527 |
+
var $el = model.acfeNewAcfDuplicate(duplicate_args);
|
1528 |
+
|
1529 |
+
}
|
1530 |
+
|
1531 |
+
// trigger change for validation errors
|
1532 |
+
this.$input().trigger('change');
|
1533 |
+
|
1534 |
+
// Fix tabs conditionally hidden
|
1535 |
+
var tabs = acf.getFields({
|
1536 |
+
type: 'tab',
|
1537 |
+
parent: $el,
|
1538 |
+
});
|
1539 |
+
|
1540 |
+
if(tabs.length){
|
1541 |
+
|
1542 |
+
$.each(tabs, function(){
|
1543 |
+
|
1544 |
+
if(this.$el.hasClass('acf-hidden')){
|
1545 |
+
|
1546 |
+
this.tab.$el.addClass('acf-hidden');
|
1547 |
+
|
1548 |
+
}
|
1549 |
+
|
1550 |
+
});
|
1551 |
+
|
1552 |
+
}
|
1553 |
+
|
1554 |
+
|
1555 |
+
// return
|
1556 |
+
return $el;
|
1557 |
+
|
1558 |
+
}
|
1559 |
+
|
1560 |
+
/*
|
1561 |
+
* Based on acf.duplicate (5.9)
|
1562 |
+
*
|
1563 |
+
* doAction('duplicate) has been commented out
|
1564 |
+
* This fix an issue with the WYSIWYG editor field during copy/paste since ACF 5.9
|
1565 |
+
*/
|
1566 |
+
model.acfeNewAcfDuplicate = function( args ){
|
1567 |
+
|
1568 |
+
// allow jQuery
|
1569 |
+
if( args instanceof jQuery ) {
|
1570 |
+
args = {
|
1571 |
+
target: args
|
1572 |
+
};
|
1573 |
+
}
|
1574 |
+
|
1575 |
+
// defaults
|
1576 |
+
args = acf.parseArgs(args, {
|
1577 |
+
target: false,
|
1578 |
+
search: '',
|
1579 |
+
replace: '',
|
1580 |
+
rename: true,
|
1581 |
+
before: function( $el ){},
|
1582 |
+
after: function( $el, $el2 ){},
|
1583 |
+
append: function( $el, $el2 ){
|
1584 |
+
$el.after( $el2 );
|
1585 |
+
}
|
1586 |
+
});
|
1587 |
+
|
1588 |
+
// compatibility
|
1589 |
+
args.target = args.target || args.$el;
|
1590 |
+
|
1591 |
+
// vars
|
1592 |
+
var $el = args.target;
|
1593 |
+
|
1594 |
+
// search
|
1595 |
+
args.search = args.search || $el.attr('data-id');
|
1596 |
+
args.replace = args.replace || acf.uniqid();
|
1597 |
+
|
1598 |
+
// before
|
1599 |
+
// - allow acf to modify DOM
|
1600 |
+
// - fixes bug where select field option is not selected
|
1601 |
+
args.before( $el );
|
1602 |
+
acf.doAction('before_duplicate', $el);
|
1603 |
+
|
1604 |
+
// clone
|
1605 |
+
var $el2 = $el.clone();
|
1606 |
+
|
1607 |
+
// rename
|
1608 |
+
if( args.rename ) {
|
1609 |
+
acf.rename({
|
1610 |
+
target: $el2,
|
1611 |
+
search: args.search,
|
1612 |
+
replace: args.replace,
|
1613 |
+
replacer: ( typeof args.rename === 'function' ? args.rename : null )
|
1614 |
+
});
|
1615 |
+
}
|
1616 |
+
|
1617 |
+
// remove classes
|
1618 |
+
$el2.removeClass('acf-clone');
|
1619 |
+
$el2.find('.ui-sortable').removeClass('ui-sortable');
|
1620 |
+
|
1621 |
+
// after
|
1622 |
+
// - allow acf to modify DOM
|
1623 |
+
args.after( $el, $el2 );
|
1624 |
+
acf.doAction('after_duplicate', $el, $el2 );
|
1625 |
+
|
1626 |
+
// append
|
1627 |
+
args.append( $el, $el2 );
|
1628 |
+
|
1629 |
+
/**
|
1630 |
+
* Fires after an element has been duplicated and appended to the DOM.
|
1631 |
+
*
|
1632 |
+
* @date 30/10/19
|
1633 |
+
* @since 5.8.7
|
1634 |
+
*
|
1635 |
+
* @param jQuery $el The original element.
|
1636 |
+
* @param jQuery $el2 The duplicated element.
|
1637 |
+
*/
|
1638 |
+
//acf.doAction('duplicate', $el, $el2 );
|
1639 |
+
|
1640 |
+
// append
|
1641 |
+
acf.doAction('append', $el2);
|
1642 |
+
|
1643 |
+
// return
|
1644 |
+
return $el2;
|
1645 |
+
};
|
1646 |
+
|
1647 |
+
// Flexible: Fix Inputs
|
1648 |
+
model.acfeFixInputs = function($layout){
|
1649 |
+
|
1650 |
+
$layout.find('input').each(function(){
|
1651 |
+
|
1652 |
+
$(this).attr('value', this.value);
|
1653 |
+
|
1654 |
+
});
|
1655 |
+
|
1656 |
+
$layout.find('textarea').each(function(){
|
1657 |
+
|
1658 |
+
$(this).html(this.value);
|
1659 |
+
|
1660 |
+
});
|
1661 |
+
|
1662 |
+
$layout.find('input:radio,input:checkbox').each(function() {
|
1663 |
+
|
1664 |
+
if(this.checked)
|
1665 |
+
$(this).attr('checked', 'checked');
|
1666 |
+
|
1667 |
+
else
|
1668 |
+
$(this).attr('checked', false);
|
1669 |
+
|
1670 |
+
});
|
1671 |
+
|
1672 |
+
$layout.find('option').each(function(){
|
1673 |
+
|
1674 |
+
if(this.selected)
|
1675 |
+
$(this).attr('selected', 'selected');
|
1676 |
+
|
1677 |
+
else
|
1678 |
+
$(this).attr('selected', false);
|
1679 |
+
|
1680 |
+
});
|
1681 |
+
|
1682 |
+
}
|
1683 |
+
|
1684 |
+
// Flexible: Clean Layout
|
1685 |
+
model.acfeCleanLayouts = function($layout){
|
1686 |
+
|
1687 |
+
// Clean WP Editor
|
1688 |
+
$layout.find('.acf-editor-wrap').each(function(){
|
1689 |
+
|
1690 |
+
var $input = $(this);
|
1691 |
+
|
1692 |
+
$input.find('.wp-editor-container div').remove();
|
1693 |
+
$input.find('.wp-editor-container textarea').css('display', '');
|
1694 |
+
|
1695 |
+
});
|
1696 |
+
|
1697 |
+
// Clean Date
|
1698 |
+
$layout.find('.acf-date-picker').each(function(){
|
1699 |
+
|
1700 |
+
var $input = $(this);
|
1701 |
+
|
1702 |
+
$input.find('input.input').removeClass('hasDatepicker').removeAttr('id');
|
1703 |
+
|
1704 |
+
});
|
1705 |
+
|
1706 |
+
// Clean Time
|
1707 |
+
$layout.find('.acf-time-picker').each(function(){
|
1708 |
+
|
1709 |
+
var $input = $(this);
|
1710 |
+
|
1711 |
+
$input.find('input.input').removeClass('hasDatepicker').removeAttr('id');
|
1712 |
+
|
1713 |
+
});
|
1714 |
+
|
1715 |
+
// Clean DateTime
|
1716 |
+
$layout.find('.acf-date-time-picker').each(function(){
|
1717 |
+
|
1718 |
+
var $input = $(this);
|
1719 |
+
|
1720 |
+
$input.find('input.input').removeClass('hasDatepicker').removeAttr('id');
|
1721 |
+
|
1722 |
+
});
|
1723 |
+
|
1724 |
+
// Clean Code Editor
|
1725 |
+
$layout.find('.acfe-field-code-editor').each(function(){
|
1726 |
+
|
1727 |
+
var $input = $(this);
|
1728 |
+
|
1729 |
+
$input.find('.CodeMirror').remove();
|
1730 |
+
|
1731 |
+
});
|
1732 |
+
|
1733 |
+
// Clean Color Picker
|
1734 |
+
$layout.find('.acf-color-picker').each(function(){
|
1735 |
+
|
1736 |
+
var $input = $(this);
|
1737 |
+
|
1738 |
+
var $color_picker = $input.find('> input');
|
1739 |
+
var $color_picker_proxy = $input.find('.wp-picker-container input.wp-color-picker').clone();
|
1740 |
+
|
1741 |
+
$color_picker.after($color_picker_proxy);
|
1742 |
+
|
1743 |
+
$input.find('.wp-picker-container').remove();
|
1744 |
+
|
1745 |
+
});
|
1746 |
+
|
1747 |
+
// Clean Post Object
|
1748 |
+
$layout.find('.acf-field-post-object').each(function(){
|
1749 |
+
|
1750 |
+
var $input = $(this);
|
1751 |
+
|
1752 |
+
$input.find('> .acf-input span').remove();
|
1753 |
+
|
1754 |
+
$input.find('> .acf-input select').removeAttr('tabindex aria-hidden').removeClass();
|
1755 |
+
|
1756 |
+
});
|
1757 |
+
|
1758 |
+
// Clean Page Link
|
1759 |
+
$layout.find('.acf-field-page-link').each(function(){
|
1760 |
+
|
1761 |
+
var $input = $(this);
|
1762 |
+
|
1763 |
+
$input.find('> .acf-input span').remove();
|
1764 |
+
|
1765 |
+
$input.find('> .acf-input select').removeAttr('tabindex aria-hidden').removeClass();
|
1766 |
+
|
1767 |
+
});
|
1768 |
+
|
1769 |
+
// Clean Select2
|
1770 |
+
$layout.find('.acf-field-select').each(function(){
|
1771 |
+
|
1772 |
+
var $input = $(this);
|
1773 |
+
|
1774 |
+
$input.find('> .acf-input span').remove();
|
1775 |
+
|
1776 |
+
$input.find('> .acf-input select').removeAttr('tabindex aria-hidden').removeClass();
|
1777 |
+
|
1778 |
+
});
|
1779 |
+
|
1780 |
+
// Clean FontAwesome
|
1781 |
+
$layout.find('.acf-field-font-awesome').each(function(){
|
1782 |
+
|
1783 |
+
var $input = $(this);
|
1784 |
+
|
1785 |
+
$input.find('> .acf-input span').remove();
|
1786 |
+
|
1787 |
+
$input.find('> .acf-input select').removeAttr('tabindex aria-hidden');
|
1788 |
+
|
1789 |
+
});
|
1790 |
+
|
1791 |
+
|
1792 |
+
// Clean Tab
|
1793 |
+
$layout.find('.acf-tab-wrap').each(function(){
|
1794 |
+
|
1795 |
+
var $wrap = $(this);
|
1796 |
+
|
1797 |
+
var $content = $wrap.closest('.acf-fields');
|
1798 |
+
|
1799 |
+
var tabs = [];
|
1800 |
+
$.each($wrap.find('li a'), function(){
|
1801 |
+
|
1802 |
+
tabs.push($(this));
|
1803 |
+
|
1804 |
+
});
|
1805 |
+
|
1806 |
+
$content.find('> .acf-field-tab').each(function(){
|
1807 |
+
|
1808 |
+
$current_tab = $(this);
|
1809 |
+
|
1810 |
+
$.each(tabs, function(){
|
1811 |
+
|
1812 |
+
var $this = $(this);
|
1813 |
+
|
1814 |
+
if($this.attr('data-key') !== $current_tab.attr('data-key'))
|
1815 |
+
return;
|
1816 |
+
|
1817 |
+
$current_tab.find('> .acf-input').append($this);
|
1818 |
+
|
1819 |
+
});
|
1820 |
+
|
1821 |
+
});
|
1822 |
+
|
1823 |
+
$wrap.remove();
|
1824 |
+
|
1825 |
+
});
|
1826 |
+
|
1827 |
+
// Clean Accordion
|
1828 |
+
$layout.find('.acf-field-accordion').each(function(){
|
1829 |
+
|
1830 |
+
var $input = $(this);
|
1831 |
+
|
1832 |
+
$input.find('> .acf-accordion-title > .acf-accordion-icon').remove();
|
1833 |
+
|
1834 |
+
// Append virtual endpoint after each accordion
|
1835 |
+
$input.after('<div class="acf-field acf-field-accordion" data-type="accordion"><div class="acf-input"><div class="acf-fields" data-endpoint="1"></div></div></div>');
|
1836 |
+
|
1837 |
+
});
|
1838 |
+
|
1839 |
+
}
|
1840 |
+
|
1841 |
+
/*
|
1842 |
+
* Spawn
|
1843 |
+
*/
|
1844 |
+
acf.addAction('new_field/type=flexible_content', function(flexible){
|
1845 |
+
|
1846 |
+
// ACFE: Lock
|
1847 |
+
if(flexible.has('acfeFlexibleLock')){
|
1848 |
+
|
1849 |
+
flexible.removeEvents({'mouseover': 'onHover'});
|
1850 |
+
|
1851 |
+
}
|
1852 |
+
|
1853 |
+
});
|
1854 |
+
|
1855 |
+
})(jQuery);
|
1856 |
+
(function($){
|
1857 |
+
|
1858 |
+
if(typeof acf === 'undefined')
|
1859 |
+
return;
|
1860 |
+
|
1861 |
+
/*
|
1862 |
+
* Init
|
1863 |
+
*/
|
1864 |
+
var flexible = acf.getFieldType('flexible_content');
|
1865 |
+
var model = flexible.prototype;
|
1866 |
+
|
1867 |
+
/*
|
1868 |
+
* Actions
|
1869 |
+
*/
|
1870 |
+
model.acfeModalSelect = function(e, $el){
|
1871 |
+
|
1872 |
+
// Get Flexible
|
1873 |
+
var flexible = this;
|
1874 |
+
|
1875 |
+
// Validate
|
1876 |
+
if(!flexible.validateAdd())
|
1877 |
+
return false;
|
1878 |
+
|
1879 |
+
// Layout
|
1880 |
+
var $layout_source = null;
|
1881 |
+
|
1882 |
+
if($el.hasClass('acf-icon'))
|
1883 |
+
$layout_source = $el.closest('.layout');
|
1884 |
+
|
1885 |
+
// Get Available Layouts
|
1886 |
+
var layouts = flexible.getPopupHTML();
|
1887 |
+
|
1888 |
+
// Init Categories
|
1889 |
+
var categories = {
|
1890 |
+
array: [],
|
1891 |
+
html: ''
|
1892 |
+
};
|
1893 |
+
|
1894 |
+
function SearchArray(element, array){
|
1895 |
+
|
1896 |
+
var len = array.length,
|
1897 |
+
str = element.toString().toLowerCase();
|
1898 |
+
|
1899 |
+
for(var i = 0; i < len; i++){
|
1900 |
+
if(array[i].toLowerCase() === str){
|
1901 |
+
return i;
|
1902 |
+
}
|
1903 |
+
}
|
1904 |
+
|
1905 |
+
return -1;
|
1906 |
+
|
1907 |
+
}
|
1908 |
+
|
1909 |
+
// Get Categories
|
1910 |
+
$(layouts).find('li a span').each(function(){
|
1911 |
+
|
1912 |
+
var $link = $(this);
|
1913 |
+
|
1914 |
+
if(!$link.data('acfe-flexible-category'))
|
1915 |
+
return true;
|
1916 |
+
|
1917 |
+
var category = $link.data('acfe-flexible-category');
|
1918 |
+
|
1919 |
+
$.each(category, function(i, c){
|
1920 |
+
|
1921 |
+
if(SearchArray(c, categories.array) !== -1)
|
1922 |
+
return true;
|
1923 |
+
|
1924 |
+
categories.array.push(c);
|
1925 |
+
|
1926 |
+
});
|
1927 |
+
|
1928 |
+
});
|
1929 |
+
|
1930 |
+
// Categories HTML
|
1931 |
+
if(categories.array.length){
|
1932 |
+
|
1933 |
+
categories.array.sort();
|
1934 |
+
|
1935 |
+
categories.html += '<h2 class="acfe-flexible-categories nav-tab-wrapper">';
|
1936 |
+
|
1937 |
+
categories.html += '<a href="#" data-acfe-flexible-category="acfe-all" class="nav-tab nav-tab-active"><span class="dashicons dashicons-menu"></span></a>';
|
1938 |
+
|
1939 |
+
$(categories.array).each(function(k, category){
|
1940 |
+
|
1941 |
+
categories.html += '<a href="#" data-acfe-flexible-category="' + category + '" class="nav-tab">' + category + '</a>';
|
1942 |
+
|
1943 |
+
});
|
1944 |
+
|
1945 |
+
categories.html += '</h2>';
|
1946 |
+
|
1947 |
+
}
|
1948 |
+
|
1949 |
+
// Modal Title
|
1950 |
+
var $modal_title = 'Add Row';
|
1951 |
+
|
1952 |
+
if(flexible.has('acfeFlexibleModalTitle'))
|
1953 |
+
$modal_title = flexible.get('acfeFlexibleModalTitle');
|
1954 |
+
|
1955 |
+
// Create Modal
|
1956 |
+
var $modal = $('' +
|
1957 |
+
'<div class="acfe-modal">' +
|
1958 |
+
|
1959 |
+
categories.html +
|
1960 |
+
'<div class="acfe-flex-container">' +
|
1961 |
+
layouts +
|
1962 |
+
'</div>' +
|
1963 |
+
|
1964 |
+
'</div>'
|
1965 |
+
|
1966 |
+
).appendTo('body');
|
1967 |
+
|
1968 |
+
// Open Modal
|
1969 |
+
var $modal = acfe.modal.open($modal, {
|
1970 |
+
title: $modal_title,
|
1971 |
+
size: 'full',
|
1972 |
+
destroy: true
|
1973 |
+
});
|
1974 |
+
|
1975 |
+
// Modal: Columns
|
1976 |
+
if(flexible.has('acfeFlexibleModalCol'))
|
1977 |
+
$modal.find('.acfe-modal-content .acfe-flex-container').addClass('acfe-col-' + flexible.get('acfeFlexibleModalCol'));
|
1978 |
+
|
1979 |
+
// Modal: ACF autofocus fix
|
1980 |
+
$modal.find('li:first-of-type a').blur();
|
1981 |
+
|
1982 |
+
// count layouts
|
1983 |
+
var $layouts = flexible.$layouts();
|
1984 |
+
var countLayouts = function(name){
|
1985 |
+
|
1986 |
+
return $layouts.filter(function(){
|
1987 |
+
return $(this).data('layout') === name;
|
1988 |
+
}).length;
|
1989 |
+
|
1990 |
+
};
|
1991 |
+
|
1992 |
+
$modal.find('a[data-layout]').each(function(){
|
1993 |
+
|
1994 |
+
// vars
|
1995 |
+
var $a = $(this);
|
1996 |
+
var min = $a.data('min') || 0;
|
1997 |
+
var max = $a.data('max') || 0;
|
1998 |
+
var name = $a.data('layout') || '';
|
1999 |
+
var count = countLayouts( name );
|
2000 |
+
|
2001 |
+
// max
|
2002 |
+
if(max && count >= max){
|
2003 |
+
$a.addClass('disabled');
|
2004 |
+
return;
|
2005 |
+
}
|
2006 |
+
|
2007 |
+
// min
|
2008 |
+
if(min && count < min){
|
2009 |
+
|
2010 |
+
// vars
|
2011 |
+
var required = min - count;
|
2012 |
+
var title = acf.__('{required} {label} {identifier} required (min {min})');
|
2013 |
+
var identifier = acf._n('layout', 'layouts', required);
|
2014 |
+
|
2015 |
+
// translate
|
2016 |
+
title = title.replace('{required}', required);
|
2017 |
+
title = title.replace('{label}', name); // 5.5.0
|
2018 |
+
title = title.replace('{identifier}', identifier);
|
2019 |
+
title = title.replace('{min}', min);
|
2020 |
+
|
2021 |
+
// badge
|
2022 |
+
$a.append('<span class="badge" title="' + title + '">' + required + '</span>');
|
2023 |
+
|
2024 |
+
}
|
2025 |
+
|
2026 |
+
});
|
2027 |
+
|
2028 |
+
// Modal: Click Categories
|
2029 |
+
$modal.find('.acfe-flexible-categories a').click(function(e){
|
2030 |
+
|
2031 |
+
e.preventDefault();
|
2032 |
+
|
2033 |
+
var $link = $(this);
|
2034 |
+
|
2035 |
+
$link.closest('.acfe-flexible-categories').find('a').removeClass('nav-tab-active');
|
2036 |
+
$link.addClass('nav-tab-active');
|
2037 |
+
|
2038 |
+
var selected_category = $link.data('acfe-flexible-category');
|
2039 |
+
|
2040 |
+
$modal.find('a[data-layout] span').each(function(){
|
2041 |
+
|
2042 |
+
// Get span
|
2043 |
+
var $span = $(this);
|
2044 |
+
|
2045 |
+
// Show All
|
2046 |
+
$span.closest('li').show();
|
2047 |
+
|
2048 |
+
var category = $span.data('acfe-flexible-category');
|
2049 |
+
|
2050 |
+
// Specific category
|
2051 |
+
if(selected_category !== 'acfe-all'){
|
2052 |
+
|
2053 |
+
// Hide All
|
2054 |
+
$span.closest('li').hide();
|
2055 |
+
|
2056 |
+
$.each(category, function(i, c){
|
2057 |
+
|
2058 |
+
if(selected_category.toLowerCase() === c.toLowerCase()){
|
2059 |
+
|
2060 |
+
$span.closest('li').show();
|
2061 |
+
|
2062 |
+
return false;
|
2063 |
+
|
2064 |
+
}
|
2065 |
+
|
2066 |
+
});
|
2067 |
+
|
2068 |
+
}
|
2069 |
+
|
2070 |
+
});
|
2071 |
+
|
2072 |
+
});
|
2073 |
+
|
2074 |
+
// Modal: Click Add Layout
|
2075 |
+
$modal.on('click', 'a[data-layout]', function(e){
|
2076 |
+
|
2077 |
+
e.preventDefault();
|
2078 |
+
|
2079 |
+
// Close modal
|
2080 |
+
acfe.modal.close(true);
|
2081 |
+
|
2082 |
+
// Add layout
|
2083 |
+
var $layout_added = flexible.add({
|
2084 |
+
layout: $(this).data('layout'),
|
2085 |
+
before: $layout_source
|
2086 |
+
});
|
2087 |
+
|
2088 |
+
});
|
2089 |
+
|
2090 |
+
}
|
2091 |
+
|
2092 |
+
/*
|
2093 |
+
* Spawn
|
2094 |
+
*/
|
2095 |
+
acf.addAction('new_field/type=flexible_content', function(flexible){
|
2096 |
+
|
2097 |
+
if(!flexible.has('acfeFlexibleModal'))
|
2098 |
+
return;
|
2099 |
+
|
2100 |
+
// Vars
|
2101 |
+
var $clones = flexible.$clones();
|
2102 |
+
|
2103 |
+
if($clones.length <= 1)
|
2104 |
+
return;
|
2105 |
+
|
2106 |
+
// Remove native ACF Tooltip action
|
2107 |
+
flexible.removeEvents({'click [data-name="add-layout"]': 'onClickAdd'});
|
2108 |
+
|
2109 |
+
// Add ACF Extended Modal action
|
2110 |
+
flexible.addEvents({'click [data-name="add-layout"]': 'acfeModalSelect'});
|
2111 |
+
|
2112 |
+
});
|
2113 |
+
|
2114 |
+
})(jQuery);
|
2115 |
+
(function($){
|
2116 |
+
|
2117 |
+
if(typeof acf === 'undefined')
|
2118 |
+
return;
|
2119 |
+
|
2120 |
+
/*
|
2121 |
+
* Init
|
2122 |
+
*/
|
2123 |
+
var flexible = acf.getFieldType('flexible_content');
|
2124 |
+
var model = flexible.prototype;
|
2125 |
+
|
2126 |
+
/*
|
2127 |
+
* Actions
|
2128 |
+
*/
|
2129 |
+
model.events['click [data-action="acfe-flexible-modal-edit"]'] = 'acfeModalEdit';
|
2130 |
+
model.acfeModalEdit = function(e, $el){
|
2131 |
+
|
2132 |
+
var flexible = this;
|
2133 |
+
|
2134 |
+
// Layout
|
2135 |
+
var $layout = $el.closest('.layout');
|
2136 |
+
|
2137 |
+
// Modal data
|
2138 |
+
var $modal = $layout.find('> .acfe-modal.-fields');
|
2139 |
+
var $handle = $layout.find('> .acf-fc-layout-handle');
|
2140 |
+
|
2141 |
+
var $layout_order = $handle.find('> .acf-fc-layout-order').outerHTML();
|
2142 |
+
var $layout_title = $handle.find('.acfe-layout-title-text').text();
|
2143 |
+
|
2144 |
+
var close = false;
|
2145 |
+
if(flexible.has('acfeFlexibleCloseButton')){
|
2146 |
+
|
2147 |
+
close = acf.__('Close');
|
2148 |
+
|
2149 |
+
}
|
2150 |
+
|
2151 |
+
// Open modal
|
2152 |
+
acfe.modal.open($modal, {
|
2153 |
+
title: $layout_order + ' ' + $layout_title,
|
2154 |
+
footer: close,
|
2155 |
+
onOpen: function(){
|
2156 |
+
|
2157 |
+
flexible.openLayout($layout);
|
2158 |
+
|
2159 |
+
},
|
2160 |
+
onClose: function(){
|
2161 |
+
|
2162 |
+
flexible.closeLayout($layout);
|
2163 |
+
|
2164 |
+
}
|
2165 |
+
});
|
2166 |
+
|
2167 |
+
};
|
2168 |
+
|
2169 |
+
/*
|
2170 |
+
* Spawn
|
2171 |
+
*/
|
2172 |
+
acf.addAction('new_field/type=flexible_content', function(flexible){
|
2173 |
+
|
2174 |
+
if(flexible.has('acfeFlexibleModalEdition') && (flexible.has('acfeFlexiblePlaceholder') || flexible.has('acfeFlexiblePreview'))){
|
2175 |
+
|
2176 |
+
// Remove Collapse Action
|
2177 |
+
flexible.removeEvents({'click [data-name="collapse-layout"]': 'onClickCollapse'});
|
2178 |
+
|
2179 |
+
// Remove placeholder Collapse Action
|
2180 |
+
flexible.removeEvents({'click .acfe-fc-placeholder': 'onClickCollapse'});
|
2181 |
+
|
2182 |
+
}
|
2183 |
+
|
2184 |
+
});
|
2185 |
+
|
2186 |
+
})(jQuery);
|
2187 |
+
function acfe_recaptcha(){
|
2188 |
+
|
2189 |
+
(function($){
|
2190 |
+
|
2191 |
+
if(typeof acf === 'undefined')
|
2192 |
+
return;
|
2193 |
+
|
2194 |
+
/**
|
2195 |
+
* Field: reCaptcha (render)
|
2196 |
+
*/
|
2197 |
+
$.each(acf.getFields({type: 'acfe_recaptcha'}), function(i, field){
|
2198 |
+
|
2199 |
+
field.render();
|
2200 |
+
|
2201 |
+
});
|
2202 |
+
|
2203 |
+
})(jQuery);
|
2204 |
+
|
2205 |
+
}
|
2206 |
+
|
2207 |
+
(function($){
|
2208 |
+
|
2209 |
+
if(typeof acf === 'undefined')
|
2210 |
+
return;
|
2211 |
+
|
2212 |
+
/**
|
2213 |
+
* Field: reCaptcha
|
2214 |
+
*/
|
2215 |
+
var reCaptcha = acf.Field.extend({
|
2216 |
+
|
2217 |
+
type: 'acfe_recaptcha',
|
2218 |
+
|
2219 |
+
actions: {
|
2220 |
+
'validation_failure' : 'validationFailure'
|
2221 |
+
},
|
2222 |
+
|
2223 |
+
$control: function(){
|
2224 |
+
return this.$('.acfe-field-recaptcha');
|
2225 |
+
},
|
2226 |
+
|
2227 |
+
$input: function(){
|
2228 |
+
return this.$('input[type="hidden"]');
|
2229 |
+
},
|
2230 |
+
|
2231 |
+
$selector: function(){
|
2232 |
+
return this.$control().find('> div');
|
2233 |
+
},
|
2234 |
+
|
2235 |
+
selector: function(){
|
2236 |
+
return this.$selector()[0];
|
2237 |
+
},
|
2238 |
+
|
2239 |
+
version: function(){
|
2240 |
+
return this.get('version');
|
2241 |
+
},
|
2242 |
+
|
2243 |
+
render: function(){
|
2244 |
+
|
2245 |
+
var field = this;
|
2246 |
+
|
2247 |
+
if(this.version() === 'v2'){
|
2248 |
+
|
2249 |
+
this.recaptcha = grecaptcha.render(field.selector(), {
|
2250 |
+
'sitekey': field.$control().data('site-key'),
|
2251 |
+
'theme': field.$control().data('theme'),
|
2252 |
+
'size': field.$control().data('size'),
|
2253 |
+
|
2254 |
+
|
2255 |
+
'callback': function(response){
|
2256 |
+
|
2257 |
+
field.$input().val(response).change();
|
2258 |
+
field.$input().closest('.acf-input').find('> .acf-notice.-error').hide();
|
2259 |
+
|
2260 |
+
},
|
2261 |
+
|
2262 |
+
'error-callback': function(){
|
2263 |
+
|
2264 |
+
field.$input().val('error').change();
|
2265 |
+
|
2266 |
+
},
|
2267 |
+
|
2268 |
+
'expired-callback': function(){
|
2269 |
+
|
2270 |
+
field.$input().val('expired').change();
|
2271 |
+
|
2272 |
+
}
|
2273 |
+
});
|
2274 |
+
|
2275 |
+
}
|
2276 |
+
|
2277 |
+
else if(this.version() === 'v3'){
|
2278 |
+
|
2279 |
+
grecaptcha.ready(function(){
|
2280 |
+
grecaptcha.execute(field.$control().data('site-key'), {action: 'homepage'}).then(function(response){
|
2281 |
+
|
2282 |
+
field.$input().val(response).change();
|
2283 |
+
field.$input().closest('.acf-input').find('> .acf-notice.-error').hide();
|
2284 |
+
|
2285 |
+
});
|
2286 |
+
});
|
2287 |
+
|
2288 |
+
}
|
2289 |
+
|
2290 |
+
},
|
2291 |
+
|
2292 |
+
validationFailure: function($form){
|
2293 |
+
|
2294 |
+
if(this.version() === 'v2'){
|
2295 |
+
|
2296 |
+
grecaptcha.reset(this.recaptcha);
|
2297 |
+
|
2298 |
+
}
|
2299 |
+
|
2300 |
+
}
|
2301 |
+
|
2302 |
+
});
|
2303 |
+
|
2304 |
+
acf.registerFieldType(reCaptcha);
|
2305 |
+
|
2306 |
+
/**
|
2307 |
+
* Field: Code Editor
|
2308 |
+
*/
|
2309 |
+
var CodeEditor = acf.Field.extend({
|
2310 |
+
|
2311 |
+
wait: 'ready',
|
2312 |
+
|
2313 |
+
type: 'acfe_code_editor',
|
2314 |
+
|
2315 |
+
events: {
|
2316 |
+
'showField': 'onShow',
|
2317 |
+
},
|
2318 |
+
|
2319 |
+
$control: function(){
|
2320 |
+
|
2321 |
+
return this.$el.find('> .acf-input > .acf-input-wrap');
|
2322 |
+
|
2323 |
+
},
|
2324 |
+
|
2325 |
+
$input: function(){
|
2326 |
+
|
2327 |
+
return this.$el.find('> .acf-input > .acf-input-wrap > textarea');
|
2328 |
+
|
2329 |
+
},
|
2330 |
+
|
2331 |
+
input: function(){
|
2332 |
+
|
2333 |
+
return this.$input()[0];
|
2334 |
+
|
2335 |
+
},
|
2336 |
+
|
2337 |
+
rows: function(){
|
2338 |
+
|
2339 |
+
return this.$input().attr('rows');
|
2340 |
+
|
2341 |
+
},
|
2342 |
+
|
2343 |
+
initialize: function(){
|
2344 |
+
|
2345 |
+
this.rows = this.$control().data('rows');
|
2346 |
+
this.max_rows = this.$control().data('max-rows');
|
2347 |
+
|
2348 |
+
this.mode = this.$control().data('mode');
|
2349 |
+
this.lines = this.$control().data('lines');
|
2350 |
+
this.indentUnit = this.$control().data('indent-unit');
|
2351 |
+
|
2352 |
+
var codeEditor = [];
|
2353 |
+
|
2354 |
+
// Default WP settings
|
2355 |
+
var wpCodeMirror = wp.codeEditor.defaultSettings.codemirror;
|
2356 |
+
|
2357 |
+
// Field settings
|
2358 |
+
var CodeMirror = {
|
2359 |
+
lineNumbers: this.lines,
|
2360 |
+
lineWrapping: true,
|
2361 |
+
styleActiveLine: false,
|
2362 |
+
continueComments: true,
|
2363 |
+
indentUnit: this.indentUnit,
|
2364 |
+
tabSize: 1,
|
2365 |
+
indentWithTabs: true,
|
2366 |
+
mode: this.mode,
|
2367 |
+
extraKeys: {
|
2368 |
+
Tab: function(cm){
|
2369 |
+
cm.execCommand("indentMore")
|
2370 |
+
},
|
2371 |
+
"Shift-Tab": function(cm){
|
2372 |
+
cm.execCommand("indentLess")
|
2373 |
+
},
|
2374 |
+
},
|
2375 |
+
};
|
2376 |
+
|
2377 |
+
// Merge settings
|
2378 |
+
var codeMirror = jQuery.extend(wpCodeMirror, CodeMirror);
|
2379 |
+
|
2380 |
+
// Push CodeMirror settings to codemirror property
|
2381 |
+
codeEditor.codemirror = codeMirror;
|
2382 |
+
|
2383 |
+
// Init WP Code Editor
|
2384 |
+
this.editor = wp.codeEditor.initialize(this.input(), codeEditor);
|
2385 |
+
|
2386 |
+
if(this.rows || this.max_rows){
|
2387 |
+
|
2388 |
+
if(this.rows){
|
2389 |
+
|
2390 |
+
this.editor.codemirror.getScrollerElement().style.minHeight = this.rows * 18.5 + 'px';
|
2391 |
+
|
2392 |
+
}
|
2393 |
+
|
2394 |
+
if(this.max_rows){
|
2395 |
+
|
2396 |
+
this.editor.codemirror.getScrollerElement().style.maxHeight = this.max_rows * 18.5 + 'px';
|
2397 |
+
|
2398 |
+
}
|
2399 |
+
|
2400 |
+
this.editor.codemirror.refresh();
|
2401 |
+
|
2402 |
+
}
|
2403 |
+
|
2404 |
+
field = this;
|
2405 |
+
|
2406 |
+
this.editor.codemirror.on('change', function(){
|
2407 |
+
|
2408 |
+
field.editor.codemirror.save();
|
2409 |
+
field.$input().change();
|
2410 |
+
|
2411 |
+
});
|
2412 |
+
|
2413 |
+
},
|
2414 |
+
|
2415 |
+
onShow: function(){
|
2416 |
+
|
2417 |
+
if(this.editor.codemirror){
|
2418 |
+
|
2419 |
+
this.editor.codemirror.refresh();
|
2420 |
+
|
2421 |
+
}
|
2422 |
+
|
2423 |
+
},
|
2424 |
+
|
2425 |
+
});
|
2426 |
+
|
2427 |
+
acf.registerFieldType(CodeEditor);
|
2428 |
+
|
2429 |
+
acf.registerConditionForFieldType('equalTo', 'acfe_code_editor');
|
2430 |
+
acf.registerConditionForFieldType('notEqualTo', 'acfe_code_editor');
|
2431 |
+
acf.registerConditionForFieldType('patternMatch', 'acfe_code_editor');
|
2432 |
+
acf.registerConditionForFieldType('contains', 'acfe_code_editor');
|
2433 |
+
acf.registerConditionForFieldType('hasValue', 'acfe_code_editor');
|
2434 |
+
acf.registerConditionForFieldType('hasNoValue', 'acfe_code_editor');
|
2435 |
+
|
2436 |
+
/**
|
2437 |
+
* Field Group Admin: Code Editor
|
2438 |
+
* Fix duplicate action
|
2439 |
+
*/
|
2440 |
+
acf.addAction('append_field_object', function(field){
|
2441 |
+
|
2442 |
+
if(field.get('type') !== 'acfe_code_editor')
|
2443 |
+
return;
|
2444 |
+
|
2445 |
+
field.$setting('default_value').find('> .acf-input > .acf-input-wrap > .CodeMirror:last').remove();
|
2446 |
+
field.$setting('placeholder').find('> .acf-input > .acf-input-wrap > .CodeMirror:last').remove();
|
2447 |
+
|
2448 |
+
});
|
2449 |
+
|
2450 |
+
/*
|
2451 |
+
var preCodeMirror = new acf.Model({
|
2452 |
+
codemirror: false,
|
2453 |
+
data: {
|
2454 |
+
type: 'pre',
|
2455 |
+
mode: 'htmlmixed',
|
2456 |
+
codemirror: false,
|
2457 |
+
},
|
2458 |
+
actions: {
|
2459 |
+
'new_field': 'new_field',
|
2460 |
+
},
|
2461 |
+
new_field: function(field){
|
2462 |
+
|
2463 |
+
var self = this;
|
2464 |
+
|
2465 |
+
field.$('pre[data-codemirror]:visible, code[data-codemirror]:visible').each(function(){
|
2466 |
+
|
2467 |
+
self.setup(this);
|
2468 |
+
|
2469 |
+
});
|
2470 |
+
|
2471 |
+
},
|
2472 |
+
setup: function(el){
|
2473 |
+
|
2474 |
+
this.$el = $(el);
|
2475 |
+
|
2476 |
+
this.set('type', this.$el.prop('tagName').toLowerCase());
|
2477 |
+
this.set('mode', this.$el.attr('data-codemirror'));
|
2478 |
+
|
2479 |
+
if(this.get('mode') === 'php'){
|
2480 |
+
|
2481 |
+
this.set('mode', 'application/x-httpd-php');
|
2482 |
+
|
2483 |
+
}else if(this.get('mode') === 'php-plain'){
|
2484 |
+
|
2485 |
+
this.set('mode', 'text/x-php');
|
2486 |
+
|
2487 |
+
}else if(this.get('mode') === 'html'){
|
2488 |
+
|
2489 |
+
this.set('mode', 'text/html');
|
2490 |
+
|
2491 |
+
}else if(this.get('mode') === 'javascript'){
|
2492 |
+
|
2493 |
+
this.set('mode', 'javascript');
|
2494 |
+
|
2495 |
+
}else if(this.get('mode') === 'css'){
|
2496 |
+
|
2497 |
+
this.set('mode', 'css');
|
2498 |
+
|
2499 |
+
}
|
2500 |
+
|
2501 |
+
this.render();
|
2502 |
+
|
2503 |
+
this.getClosestField();
|
2504 |
+
|
2505 |
+
},
|
2506 |
+
initialize: function(){
|
2507 |
+
// ...
|
2508 |
+
},
|
2509 |
+
render: function(){
|
2510 |
+
|
2511 |
+
var $code = this.$el.html();
|
2512 |
+
var $div = $('<div class="' + this.get('type') + '-codemirror" />').insertAfter(this.$el);
|
2513 |
+
var $unescaped = this.$el.html($code).text();
|
2514 |
+
|
2515 |
+
this.codemirror = wp.CodeMirror($div[0], {
|
2516 |
+
value: $unescaped,
|
2517 |
+
mode: this.get('mode'),
|
2518 |
+
lineNumbers: false,
|
2519 |
+
lineWrapping: false,
|
2520 |
+
styleActiveLine: false,
|
2521 |
+
continueComments: true,
|
2522 |
+
indentUnit: 4,
|
2523 |
+
tabSize: 1,
|
2524 |
+
readOnly: true,
|
2525 |
+
});
|
2526 |
+
|
2527 |
+
this.$el.remove();
|
2528 |
+
|
2529 |
+
},
|
2530 |
+
refresh: function(){
|
2531 |
+
|
2532 |
+
if(this.codemirror)
|
2533 |
+
this.codemirror.refresh();
|
2534 |
+
|
2535 |
+
},
|
2536 |
+
getClosestField: function(){
|
2537 |
+
|
2538 |
+
var self = this;
|
2539 |
+
|
2540 |
+
field = acf.getClosestField(this.$el);
|
2541 |
+
|
2542 |
+
if(field){
|
2543 |
+
|
2544 |
+
field.on('showField', function(){
|
2545 |
+
|
2546 |
+
self.refresh();
|
2547 |
+
|
2548 |
+
});
|
2549 |
+
|
2550 |
+
}
|
2551 |
+
|
2552 |
+
}
|
2553 |
+
|
2554 |
+
});
|
2555 |
+
*/
|
2556 |
+
|
2557 |
+
/**
|
2558 |
+
* Field: Textarea
|
2559 |
+
*/
|
2560 |
+
var Textarea = acf.Field.extend({
|
2561 |
+
|
2562 |
+
type: 'textarea',
|
2563 |
+
|
2564 |
+
events: {
|
2565 |
+
'keydown textarea': 'onInput',
|
2566 |
+
},
|
2567 |
+
|
2568 |
+
onInput: function(e, $el){
|
2569 |
+
|
2570 |
+
if(!this.has('acfeTextareaCode'))
|
2571 |
+
return;
|
2572 |
+
|
2573 |
+
if(e.keyCode !== 9)
|
2574 |
+
return;
|
2575 |
+
|
2576 |
+
e.preventDefault();
|
2577 |
+
|
2578 |
+
var input = this.$el.find('textarea')[0];
|
2579 |
+
|
2580 |
+
var s = input.selectionStart;
|
2581 |
+
|
2582 |
+
this.$el.find('textarea').val(function(i, v){
|
2583 |
+
|
2584 |
+
return v.substring(0, s) + " " + v.substring(input.selectionEnd)
|
2585 |
+
|
2586 |
+
});
|
2587 |
+
|
2588 |
+
input.selectionEnd = s + 4;
|
2589 |
+
|
2590 |
+
},
|
2591 |
+
|
2592 |
+
});
|
2593 |
+
|
2594 |
+
acf.registerFieldType(Textarea);
|
2595 |
+
|
2596 |
+
/**
|
2597 |
+
* Field: Slug
|
2598 |
+
*/
|
2599 |
+
var ACFE_Slug = acf.Field.extend({
|
2600 |
+
|
2601 |
+
type: 'acfe_slug',
|
2602 |
+
|
2603 |
+
events: {
|
2604 |
+
'input input': 'onInput',
|
2605 |
+
'focusout input': 'onFocusOut',
|
2606 |
+
},
|
2607 |
+
|
2608 |
+
onInput: function(e, $el){
|
2609 |
+
|
2610 |
+
$el.val($el.val().toLowerCase()
|
2611 |
+
.replace(/\s+/g, '-') // Replace spaces with -
|
2612 |
+
.replace(/[^\w\-]+/g, '') // Remove all non-word chars
|
2613 |
+
.replace(/\-\-+/g, '-') // Replace multiple - with single -
|
2614 |
+
.replace(/\_\_+/g, '_') // Replace multiple _ with single _
|
2615 |
+
.replace(/^-+/, '')); // Trim - from start of text
|
2616 |
+
|
2617 |
+
},
|
2618 |
+
|
2619 |
+
onFocusOut: function(e, $el){
|
2620 |
+
|
2621 |
+
$el.val($el.val().toLowerCase()
|
2622 |
+
.replace(/-+$/, '') // Trim - from end of text
|
2623 |
+
.replace(/_+$/, '')); // Trim _ from end of text
|
2624 |
+
|
2625 |
+
},
|
2626 |
+
|
2627 |
+
});
|
2628 |
+
|
2629 |
+
acf.registerFieldType(ACFE_Slug);
|
2630 |
+
|
2631 |
+
acf.registerConditionForFieldType('equalTo', 'acfe_slug');
|
2632 |
+
acf.registerConditionForFieldType('notEqualTo', 'acfe_slug');
|
2633 |
+
acf.registerConditionForFieldType('patternMatch', 'acfe_slug');
|
2634 |
+
acf.registerConditionForFieldType('contains', 'acfe_slug');
|
2635 |
+
acf.registerConditionForFieldType('hasValue', 'acfe_slug');
|
2636 |
+
acf.registerConditionForFieldType('hasNoValue', 'acfe_slug');
|
2637 |
+
|
2638 |
+
/**
|
2639 |
+
* Field: Button
|
2640 |
+
*/
|
2641 |
+
var ACFE_Button = acf.Field.extend({
|
2642 |
+
|
2643 |
+
type: 'acfe_button',
|
2644 |
+
|
2645 |
+
events: {
|
2646 |
+
'click input': 'onClick',
|
2647 |
+
'click button': 'onClick',
|
2648 |
+
},
|
2649 |
+
|
2650 |
+
$input: function(){
|
2651 |
+
|
2652 |
+
if(this.$('input').length){
|
2653 |
+
|
2654 |
+
return this.$('input');
|
2655 |
+
|
2656 |
+
}else if(this.$('button').length){
|
2657 |
+
|
2658 |
+
return this.$('button');
|
2659 |
+
|
2660 |
+
}
|
2661 |
+
|
2662 |
+
},
|
2663 |
+
|
2664 |
+
initialize: function(){
|
2665 |
+
|
2666 |
+
// vars
|
2667 |
+
var $button = this.$input();
|
2668 |
+
|
2669 |
+
// inherit data
|
2670 |
+
this.inherit($button);
|
2671 |
+
|
2672 |
+
},
|
2673 |
+
|
2674 |
+
onClick: function(e, $el){
|
2675 |
+
|
2676 |
+
if(this.get('ajax')){
|
2677 |
+
|
2678 |
+
e.preventDefault();
|
2679 |
+
|
2680 |
+
// serialize form data
|
2681 |
+
var data = {
|
2682 |
+
action: 'acfe/fields/button',
|
2683 |
+
field_name: this.get('name'),
|
2684 |
+
field_key: this.get('key')
|
2685 |
+
};
|
2686 |
+
|
2687 |
+
// Deprecated
|
2688 |
+
acf.doAction('acfe/fields/button/before_ajax', this.$el, data);
|
2689 |
+
|
2690 |
+
// Actions
|
2691 |
+
acf.doAction('acfe/fields/button/before', this.$el, data);
|
2692 |
+
acf.doAction('acfe/fields/button/before/key=' + this.get('key'), this.$el, data);
|
2693 |
+
acf.doAction('acfe/fields/button/before/name=' + this.get('name'), this.$el, data);
|
2694 |
+
|
2695 |
+
// ajax
|
2696 |
+
$.ajax({
|
2697 |
+
url: acf.get('ajaxurl'),
|
2698 |
+
data: acf.prepareForAjax(data),
|
2699 |
+
type: 'post',
|
2700 |
+
dataType: 'json',
|
2701 |
+
context: this,
|
2702 |
+
|
2703 |
+
// Success
|
2704 |
+
success: function(response){
|
2705 |
+
|
2706 |
+
// Deprecated
|
2707 |
+
acf.doAction('acfe/fields/button/ajax_success', response, this.$el, data);
|
2708 |
+
|
2709 |
+
// Actions
|
2710 |
+
acf.doAction('acfe/fields/button/success', response, this.$el, data);
|
2711 |
+
acf.doAction('acfe/fields/button/success/key=' + this.get('key'), response, this.$el, data);
|
2712 |
+
acf.doAction('acfe/fields/button/success/name=' + this.get('name'), response, this.$el, data);
|
2713 |
+
|
2714 |
+
},
|
2715 |
+
|
2716 |
+
// Complete
|
2717 |
+
complete: function(xhr){
|
2718 |
+
|
2719 |
+
var response = xhr.responseText;
|
2720 |
+
|
2721 |
+
// Actions
|
2722 |
+
acf.doAction('acfe/fields/button/complete', response, this.$el, data);
|
2723 |
+
acf.doAction('acfe/fields/button/complete/key=' + this.get('key'), response, this.$el, data);
|
2724 |
+
acf.doAction('acfe/fields/button/complete/name=' + this.get('name'), response, this.$el, data);
|
2725 |
+
|
2726 |
+
}
|
2727 |
+
|
2728 |
+
|
2729 |
+
});
|
2730 |
+
|
2731 |
+
}
|
2732 |
+
|
2733 |
+
}
|
2734 |
+
|
2735 |
+
});
|
2736 |
+
|
2737 |
+
acf.registerFieldType(ACFE_Button);
|
2738 |
+
|
2739 |
+
/**
|
2740 |
+
* Field: Advanced Link
|
2741 |
+
*/
|
2742 |
+
var ACFE_Advanced_Link = acf.Field.extend({
|
2743 |
+
|
2744 |
+
type: 'acfe_advanced_link',
|
2745 |
+
|
2746 |
+
events: {
|
2747 |
+
'click a[data-name="add"]': 'onClickEdit',
|
2748 |
+
'click a[data-name="edit"]': 'onClickEdit',
|
2749 |
+
'click a[data-name="remove"]': 'onClickRemove',
|
2750 |
+
},
|
2751 |
+
|
2752 |
+
$control: function(){
|
2753 |
+
return this.$('.acf-link');
|
2754 |
+
},
|
2755 |
+
|
2756 |
+
initialize: function(){
|
2757 |
+
// ...
|
2758 |
+
},
|
2759 |
+
|
2760 |
+
getValue: function(){
|
2761 |
+
|
2762 |
+
// return
|
2763 |
+
var data = {
|
2764 |
+
type: this.$('.input-type :checked').val(),
|
2765 |
+
title: this.$('.input-title').val(),
|
2766 |
+
url: this.$('.input-url').val(),
|
2767 |
+
post: this.$('.input-post :selected').text(),
|
2768 |
+
term: this.$('.input-term :selected').text(),
|
2769 |
+
target: this.$('.input-target').is(':checked')
|
2770 |
+
};
|
2771 |
+
|
2772 |
+
if(data.type === 'post'){
|
2773 |
+
|
2774 |
+
data.url = data.post;
|
2775 |
+
|
2776 |
+
}else if(data.type === 'term'){
|
2777 |
+
|
2778 |
+
data.url = data.term;
|
2779 |
+
|
2780 |
+
}
|
2781 |
+
|
2782 |
+
return data;
|
2783 |
+
|
2784 |
+
},
|
2785 |
+
|
2786 |
+
setValue: function( val ){
|
2787 |
+
|
2788 |
+
// default
|
2789 |
+
val = acf.parseArgs(val, {
|
2790 |
+
remove: false,
|
2791 |
+
title: '',
|
2792 |
+
url: '',
|
2793 |
+
target: false
|
2794 |
+
});
|
2795 |
+
|
2796 |
+
// vars
|
2797 |
+
var $div = this.$control();
|
2798 |
+
|
2799 |
+
// remove class
|
2800 |
+
$div.removeClass('-value -external');
|
2801 |
+
|
2802 |
+
// add class
|
2803 |
+
if(val.url)
|
2804 |
+
$div.addClass('-value');
|
2805 |
+
|
2806 |
+
if(val.target)
|
2807 |
+
$div.addClass('-external');
|
2808 |
+
|
2809 |
+
// update text
|
2810 |
+
this.$('.link-title').html( val.title );
|
2811 |
+
this.$('.link-url').attr('href', val.url).html( val.url );
|
2812 |
+
|
2813 |
+
// remove inputs data
|
2814 |
+
if(val.remove){
|
2815 |
+
|
2816 |
+
this.$('.input-type :checked').prop('checked', false);
|
2817 |
+
this.$('.input-type [value="url"]').prop('checked', true).trigger('change');
|
2818 |
+
this.$('.input-title').val('');
|
2819 |
+
this.$('.input-target').prop('checked', false);
|
2820 |
+
this.$('.input-url').val('').trigger('change');
|
2821 |
+
this.$('.input-post').val('').trigger('change');
|
2822 |
+
this.$('.input-term').val('').trigger('change');
|
2823 |
+
|
2824 |
+
}
|
2825 |
+
|
2826 |
+
},
|
2827 |
+
|
2828 |
+
onClickEdit: function(e, $el){
|
2829 |
+
|
2830 |
+
var $modal = $el.closest('.acf-input').find('.acfe-modal');
|
2831 |
+
|
2832 |
+
var title = $modal.attr('data-modal-title');
|
2833 |
+
|
2834 |
+
var model = this;
|
2835 |
+
|
2836 |
+
acfe.modal.open($modal, {
|
2837 |
+
title: title,
|
2838 |
+
size: 'medium',
|
2839 |
+
footer: acf.__('Close'),
|
2840 |
+
onClose: function(){
|
2841 |
+
model.onChange();
|
2842 |
+
}
|
2843 |
+
});
|
2844 |
+
|
2845 |
+
},
|
2846 |
+
|
2847 |
+
onClickRemove: function( e, $el ){
|
2848 |
+
|
2849 |
+
this.setValue({
|
2850 |
+
remove: true
|
2851 |
+
});
|
2852 |
+
|
2853 |
+
},
|
2854 |
+
|
2855 |
+
onChange: function( e, $el ){
|
2856 |
+
|
2857 |
+
// get the changed value
|
2858 |
+
var val = this.getValue();
|
2859 |
+
|
2860 |
+
// update inputs
|
2861 |
+
this.setValue(val);
|
2862 |
+
|
2863 |
+
},
|
2864 |
+
|
2865 |
+
});
|
2866 |
+
|
2867 |
+
acf.registerFieldType(ACFE_Advanced_Link);
|
2868 |
+
|
2869 |
+
/**
|
2870 |
+
* Field: Advanced Link - Post Object Ajax
|
2871 |
+
*/
|
2872 |
+
acf.addFilter('select2_ajax_data/type=post_object', function(ajaxData, data, $el, field, select){
|
2873 |
+
|
2874 |
+
if(field.get('key') !== 'post')
|
2875 |
+
return ajaxData;
|
2876 |
+
|
2877 |
+
var advanced_link = acf.getInstance($el.closest('.acf-field-acfe-advanced-link'));
|
2878 |
+
|
2879 |
+
if(advanced_link){
|
2880 |
+
|
2881 |
+
ajaxData.field_key = advanced_link.get('key');
|
2882 |
+
|
2883 |
+
}
|
2884 |
+
|
2885 |
+
return ajaxData;
|
2886 |
+
|
2887 |
+
});
|
2888 |
+
|
2889 |
+
/*
|
2890 |
+
* Field: Advanced Link - Error
|
2891 |
+
*/
|
2892 |
+
acf.addAction('invalid_field', function(field){
|
2893 |
+
|
2894 |
+
var $advanced_link = field.$el.closest('.acf-field-acfe-advanced-link').not('.acf-error');
|
2895 |
+
|
2896 |
+
if($advanced_link.length){
|
2897 |
+
|
2898 |
+
var advanced_link_field = acf.getInstance($advanced_link);
|
2899 |
+
|
2900 |
+
advanced_link_field.showError(field.notice.get('text'));
|
2901 |
+
|
2902 |
+
}
|
2903 |
+
|
2904 |
+
});
|
2905 |
+
|
2906 |
+
/**
|
2907 |
+
* Field: Group
|
2908 |
+
*/
|
2909 |
+
var Group = acf.Field.extend({
|
2910 |
+
|
2911 |
+
type: 'group',
|
2912 |
+
|
2913 |
+
events: {
|
2914 |
+
'click [data-name="edit"]': 'onClick',
|
2915 |
+
},
|
2916 |
+
|
2917 |
+
initialize: function(){
|
2918 |
+
|
2919 |
+
if(this.has('acfeGroupModal')){
|
2920 |
+
|
2921 |
+
var edit = this.get('acfeGroupModalButton');
|
2922 |
+
|
2923 |
+
this.$el.find('> .acf-input > .acf-fields, > .acf-input > .acf-table').wrapAll('<div class="acfe-modal"><div class="acfe-modal-wrapper"><div class="acfe-modal-content"></div></div></div>');
|
2924 |
+
this.$el.find('> .acf-input').append('<a data-name="edit" class="acf-button button" href="#">' + edit + '</a>');
|
2925 |
+
|
2926 |
+
}
|
2927 |
+
|
2928 |
+
},
|
2929 |
+
|
2930 |
+
onClick: function(e, $el){
|
2931 |
+
|
2932 |
+
var title = this.$el.find('> .acf-label').text().trim();
|
2933 |
+
var $modal = this.$el.find('> .acf-input > .acfe-modal');
|
2934 |
+
|
2935 |
+
// Title
|
2936 |
+
if(!title.length){
|
2937 |
+
|
2938 |
+
title = this.get('acfeGroupModalButton');
|
2939 |
+
|
2940 |
+
}
|
2941 |
+
|
2942 |
+
// Close
|
2943 |
+
var close = false;
|
2944 |
+
|
2945 |
+
if(this.has('acfeGroupModalClose')){
|
2946 |
+
|
2947 |
+
close = acf.__('Close');
|
2948 |
+
|
2949 |
+
}
|
2950 |
+
|
2951 |
+
// Size
|
2952 |
+
var size = 'large';
|
2953 |
+
|
2954 |
+
if(this.has('acfeGroupModalSize')){
|
2955 |
+
|
2956 |
+
size = this.get('acfeGroupModalSize');
|
2957 |
+
|
2958 |
+
}
|
2959 |
+
|
2960 |
+
// Open modal
|
2961 |
+
acfe.modal.open($modal, {
|
2962 |
+
title: title,
|
2963 |
+
size: size,
|
2964 |
+
footer: close
|
2965 |
+
});
|
2966 |
+
|
2967 |
+
},
|
2968 |
+
|
2969 |
+
});
|
2970 |
+
|
2971 |
+
acf.registerFieldType(Group);
|
2972 |
+
|
2973 |
+
/**
|
2974 |
+
* Field: Clone
|
2975 |
+
*/
|
2976 |
+
var Clone = acf.Field.extend({
|
2977 |
+
|
2978 |
+
type: 'clone',
|
2979 |
+
|
2980 |
+
events: {
|
2981 |
+
'click [data-name="edit"]': 'onClick',
|
2982 |
+
},
|
2983 |
+
|
2984 |
+
initialize: function(){
|
2985 |
+
|
2986 |
+
if(this.has('acfeCloneModal')){
|
2987 |
+
|
2988 |
+
var edit = this.get('acfeCloneModalButton');
|
2989 |
+
|
2990 |
+
this.$el.find('> .acf-input > .acf-fields, > .acf-input > .acf-table').wrapAll('<div class="acfe-modal"><div class="acfe-modal-wrapper"><div class="acfe-modal-content"></div></div></div>');
|
2991 |
+
this.$el.find('> .acf-input').append('<a data-name="edit" class="acf-button button" href="#">' + edit + '</a>');
|
2992 |
+
|
2993 |
+
}
|
2994 |
+
|
2995 |
+
},
|
2996 |
+
|
2997 |
+
onClick: function(e, $el){
|
2998 |
+
|
2999 |
+
var title = this.$el.find('> .acf-label').text().trim();
|
3000 |
+
var $modal = this.$el.find('> .acf-input > .acfe-modal');
|
3001 |
+
|
3002 |
+
|
3003 |
+
// Title
|
3004 |
+
if(!title.length){
|
3005 |
+
|
3006 |
+
title = this.get('acfeCloneModalButton');
|
3007 |
+
|
3008 |
+
}
|
3009 |
+
|
3010 |
+
// Close
|
3011 |
+
var close = false;
|
3012 |
+
|
3013 |
+
if(this.has('acfeCloneModalClose')){
|
3014 |
+
|
3015 |
+
close = acf.__('Close');
|
3016 |
+
|
3017 |
+
}
|
3018 |
+
|
3019 |
+
// Size
|
3020 |
+
var size = 'large';
|
3021 |
+
|
3022 |
+
if(this.has('acfeCloneModalSize')){
|
3023 |
+
|
3024 |
+
size = this.get('acfeCloneModalSize');
|
3025 |
+
|
3026 |
+
}
|
3027 |
+
|
3028 |
+
// Open modal
|
3029 |
+
acfe.modal.open($modal, {
|
3030 |
+
title: title,
|
3031 |
+
size: size,
|
3032 |
+
footer: close
|
3033 |
+
});
|
3034 |
+
|
3035 |
+
},
|
3036 |
+
|
3037 |
+
});
|
3038 |
+
|
3039 |
+
acf.registerFieldType(Clone);
|
3040 |
+
|
3041 |
+
/**
|
3042 |
+
* Field: Column
|
3043 |
+
*/
|
3044 |
+
var Column = acf.Field.extend({
|
3045 |
+
|
3046 |
+
wait: 'new_field',
|
3047 |
+
|
3048 |
+
type: 'acfe_column',
|
3049 |
+
|
3050 |
+
$control: function(){
|
3051 |
+
return this.$('.acf-fields:first');
|
3052 |
+
},
|
3053 |
+
|
3054 |
+
initialize: function(){
|
3055 |
+
|
3056 |
+
if(this.$el.is('td')){
|
3057 |
+
|
3058 |
+
var $table = this.$el.closest('.acf-table').find('th[data-type="acfe_column"]').remove();
|
3059 |
+
this.remove();
|
3060 |
+
|
3061 |
+
}
|
3062 |
+
|
3063 |
+
if(this.get('endpoint')){
|
3064 |
+
|
3065 |
+
this.$el.find('> .acf-label').remove();
|
3066 |
+
this.$el.find('> .acf-input').remove();
|
3067 |
+
|
3068 |
+
return;
|
3069 |
+
|
3070 |
+
}
|
3071 |
+
|
3072 |
+
var $field = this.$el;
|
3073 |
+
var $label = this.$el.find('> .acf-label');
|
3074 |
+
var $input = this.$inputWrap();
|
3075 |
+
var $wrap = this.$control();
|
3076 |
+
|
3077 |
+
$label.remove();
|
3078 |
+
|
3079 |
+
var $parent = $field.parent();
|
3080 |
+
$wrap.addClass($parent.hasClass('-left') ? '-left' : '');
|
3081 |
+
$wrap.addClass($parent.hasClass('-clear') ? '-clear' : '');
|
3082 |
+
|
3083 |
+
$wrap.append($field.nextUntil('.acf-field-acfe-column', '.acf-field'));
|
3084 |
+
|
3085 |
+
}
|
3086 |
+
|
3087 |
+
});
|
3088 |
+
|
3089 |
+
acf.registerFieldType(Column);
|
3090 |
+
|
3091 |
+
/**
|
3092 |
+
* Field: Taxonomy Terms - Ajax
|
3093 |
+
*/
|
3094 |
+
acf.addFilter('select2_ajax_data/action=acfe/fields/taxonomy_terms/allow_query', function(ajaxData, data, $el, field, select){
|
3095 |
+
|
3096 |
+
// Taxonomies
|
3097 |
+
var $taxonomies = $el.closest('.acf-field-settings').find('> .acf-field-setting-taxonomy > .acf-input > select > option:selected');
|
3098 |
+
|
3099 |
+
var tax = [];
|
3100 |
+
|
3101 |
+
$taxonomies.each(function(){
|
3102 |
+
tax.push($(this).val());
|
3103 |
+
});
|
3104 |
+
|
3105 |
+
ajaxData.taxonomies = tax;
|
3106 |
+
|
3107 |
+
// Terms level
|
3108 |
+
var $level = $el.closest('.acf-field-settings').find('> .acf-field-setting-allow_terms > .acf-input input[type="number"]');
|
3109 |
+
|
3110 |
+
ajaxData.level = $level.val();
|
3111 |
+
|
3112 |
+
return ajaxData;
|
3113 |
+
|
3114 |
+
});
|
3115 |
+
|
3116 |
+
/**
|
3117 |
+
* Fields: Select2 - Placeholder
|
3118 |
+
*/
|
3119 |
+
acf.addAction('select2_init', function($select, options, data, field, instance){
|
3120 |
+
|
3121 |
+
// Search Placeholder
|
3122 |
+
if(field.get('acfeSearchPlaceholder')){
|
3123 |
+
|
3124 |
+
var search_placeholder = field.get('acfeSearchPlaceholder');
|
3125 |
+
|
3126 |
+
$select.on('select2:open', function(e){
|
3127 |
+
|
3128 |
+
if(field.get('multiple')){
|
3129 |
+
|
3130 |
+
if(!$select.val()){
|
3131 |
+
|
3132 |
+
field.$('.select2-search__field').attr('placeholder', search_placeholder);
|
3133 |
+
|
3134 |
+
}
|
3135 |
+
|
3136 |
+
}else{
|
3137 |
+
|
3138 |
+
$('.select2-search.select2-search--dropdown > .select2-search__field').attr('placeholder', search_placeholder);
|
3139 |
+
|
3140 |
+
}
|
3141 |
+
|
3142 |
+
});
|
3143 |
+
|
3144 |
+
if(field.get('multiple')){
|
3145 |
+
|
3146 |
+
$select.on('select2:close', function(e){
|
3147 |
+
|
3148 |
+
if(!$select.val()){
|
3149 |
+
|
3150 |
+
field.$('.select2-search__field').attr('placeholder', field.get('placeholder'));
|
3151 |
+
|
3152 |
+
}
|
3153 |
+
|
3154 |
+
});
|
3155 |
+
|
3156 |
+
}
|
3157 |
+
|
3158 |
+
}
|
3159 |
+
|
3160 |
+
});
|
3161 |
+
|
3162 |
+
/**
|
3163 |
+
* Fields: Select2 - Allow Custom
|
3164 |
+
*/
|
3165 |
+
acf.addFilter('select2_args', function(options, $select, fieldData, field, instance){
|
3166 |
+
|
3167 |
+
if(field.get('acfeAllowCustom')){
|
3168 |
+
|
3169 |
+
options.tags = true;
|
3170 |
+
|
3171 |
+
options.createTag = function(params){
|
3172 |
+
|
3173 |
+
var term = $.trim(params.term);
|
3174 |
+
|
3175 |
+
if(term === '')
|
3176 |
+
return null;
|
3177 |
+
|
3178 |
+
var optionsMatch = false;
|
3179 |
+
|
3180 |
+
this.$element.find('option').each(function(){
|
3181 |
+
|
3182 |
+
if(this.value.toLowerCase() === term.toLowerCase()){
|
3183 |
+
optionsMatch = true;
|
3184 |
+
}
|
3185 |
+
|
3186 |
+
});
|
3187 |
+
|
3188 |
+
if(optionsMatch)
|
3189 |
+
return null;
|
3190 |
+
|
3191 |
+
return {
|
3192 |
+
id: term,
|
3193 |
+
text: term
|
3194 |
+
};
|
3195 |
+
|
3196 |
+
};
|
3197 |
+
|
3198 |
+
|
3199 |
+
options.insertTag = function(data, tag){
|
3200 |
+
|
3201 |
+
var found = false;
|
3202 |
+
|
3203 |
+
$.each(data, function(index, value){
|
3204 |
+
|
3205 |
+
if($.trim(tag.text).toUpperCase() === $.trim(value.text).toUpperCase()){
|
3206 |
+
|
3207 |
+
found = true;
|
3208 |
+
return false;
|
3209 |
+
|
3210 |
+
}
|
3211 |
+
|
3212 |
+
});
|
3213 |
+
|
3214 |
+
if(!found)
|
3215 |
+
data.unshift(tag);
|
3216 |
+
|
3217 |
+
};
|
3218 |
+
|
3219 |
+
options.templateSelection = function(state){
|
3220 |
+
|
3221 |
+
if(!state.id){
|
3222 |
+
return state.text;
|
3223 |
+
}
|
3224 |
+
|
3225 |
+
var text = state.text;
|
3226 |
+
|
3227 |
+
var match_field = /{field:(.*)}/g;
|
3228 |
+
var match_fields = /{fields}/g;
|
3229 |
+
var match_get_field = /{get_field:(.*)}/g;
|
3230 |
+
var match_query_var = /{query_var:(.*)}/g;
|
3231 |
+
var match_request = /{request:(.*)}/g;
|
3232 |
+
var match_current = /{current:(.*)}/g;
|
3233 |
+
|
3234 |
+
text = text.replace(match_field, "<code style='font-size:12px;padding:3px;vertical-align: 1px;line-height: 12px;'>{field:$1}</code>");
|
3235 |
+
text = text.replace(match_fields, "<code style='font-size:12px;padding:3px;vertical-align: 1px;line-height: 12px;'>{fields}</code>");
|
3236 |
+
text = text.replace(match_current, "<code style='font-size:12px;padding:3px;vertical-align: 1px;line-height: 12px;'>{current:$1}</code>");
|
3237 |
+
text = text.replace(match_get_field, "<code style='font-size:12px;padding:3px;vertical-align: 1px;line-height: 12px;'>{get_field:$1}</code>");
|
3238 |
+
text = text.replace(match_query_var, "<code style='font-size:12px;padding:3px;vertical-align: 1px;line-height: 12px;'>{query_var:$1}</code>");
|
3239 |
+
text = text.replace(match_request, "<code style='font-size:12px;padding:3px;vertical-align: 1px;line-height: 12px;'>{request:$1}</code>");
|
3240 |
+
|
3241 |
+
|
3242 |
+
return text;
|
3243 |
+
|
3244 |
+
};
|
3245 |
+
|
3246 |
+
options.templateResult = function(state){
|
3247 |
+
|
3248 |
+
if(!state.id){
|
3249 |
+
return state.text;
|
3250 |
+
}
|
3251 |
+
|
3252 |
+
var text = state.text;
|
3253 |
+
|
3254 |
+
var match_field = /{field:(.*?)}/g;
|
3255 |
+
var match_fields = /{fields}/g;
|
3256 |
+
var match_get_field = /{get_field:(.*?)}/g;
|
3257 |
+
var match_query_var = /{query_var:(.*?)}/g;
|
3258 |
+
var match_request = /{request:(.*?)}/g;
|
3259 |
+
var match_current = /{current:(.*?)}/g;
|
3260 |
+
|
3261 |
+
text = text.replace(match_field, "<code style='font-size:12px;'>{field:$1}</code>");
|
3262 |
+
text = text.replace(match_fields, "<code style='font-size:12px;'>{fields}</code>");
|
3263 |
+
text = text.replace(match_get_field, "<code style='font-size:12px;'>{get_field:$1}</code>");
|
3264 |
+
text = text.replace(match_query_var, "<code style='font-size:12px;'>{query_var:$1}</code>");
|
3265 |
+
text = text.replace(match_request, "<code style='font-size:12px;'>{request:$1}</code>");
|
3266 |
+
text = text.replace(match_current, "<code style='font-size:12px;'>{current:$1}</code>");
|
3267 |
+
|
3268 |
+
return text;
|
3269 |
+
|
3270 |
+
};
|
3271 |
+
|
3272 |
+
}
|
3273 |
+
|
3274 |
+
return options;
|
3275 |
+
|
3276 |
+
});
|
3277 |
+
|
3278 |
+
/**
|
3279 |
+
* Fields: Select2 - Args Variations
|
3280 |
+
*/
|
3281 |
+
acf.addFilter('select2_args', function(options, $select, data, field, instance){
|
3282 |
+
|
3283 |
+
options = acf.applyFilters('select2_args/type=' + field.get('type'), options, $select, data, field, instance);
|
3284 |
+
options = acf.applyFilters('select2_args/name=' + field.get('name'), options, $select, data, field, instance);
|
3285 |
+
options = acf.applyFilters('select2_args/key=' + field.get('key'), options, $select, data, field, instance);
|
3286 |
+
|
3287 |
+
return options;
|
3288 |
+
|
3289 |
+
});
|
3290 |
+
|
3291 |
+
/**
|
3292 |
+
* Fields: Select2 - Init Variations
|
3293 |
+
*/
|
3294 |
+
acf.addAction('select2_init', function($select, options, data, field, instance){
|
3295 |
+
|
3296 |
+
acf.doAction('select2_init/type=' + field.get('type'), $select, options, data, field, instance);
|
3297 |
+
acf.doAction('select2_init/name=' + field.get('name'), $select, options, data, field, instance);
|
3298 |
+
acf.doAction('select2_init/key=' + field.get('key'), $select, options, data, field, instance);
|
3299 |
+
|
3300 |
+
});
|
3301 |
+
|
3302 |
+
/**
|
3303 |
+
* Fields: Select2 - Ajax Data Variations
|
3304 |
+
*/
|
3305 |
+
acf.addFilter('select2_ajax_data', function(ajaxData, data, $el, field, instance){
|
3306 |
+
|
3307 |
+
ajaxData = acf.applyFilters('select2_ajax_data/type=' + field.get('type'), ajaxData, data, $el, field, instance);
|
3308 |
+
ajaxData = acf.applyFilters('select2_ajax_data/name=' + field.get('name'), ajaxData, data, $el, field, instance);
|
3309 |
+
ajaxData = acf.applyFilters('select2_ajax_data/key=' + field.get('key'), ajaxData, data, $el, field, instance);
|
3310 |
+
|
3311 |
+
if(ajaxData.action){
|
3312 |
+
|
3313 |
+
ajaxData = acf.applyFilters('select2_ajax_data/action=' + ajaxData.action, ajaxData, data, $el, field, instance);
|
3314 |
+
|
3315 |
+
}
|
3316 |
+
|
3317 |
+
return ajaxData;
|
3318 |
+
|
3319 |
+
});
|
3320 |
+
|
3321 |
+
/**
|
3322 |
+
* Field Conditions: Datepicker
|
3323 |
+
*/
|
3324 |
+
acf.registerConditionForFieldType('equalTo', 'date_picker');
|
3325 |
+
acf.registerConditionForFieldType('notEqualTo', 'date_picker');
|
3326 |
+
acf.registerConditionForFieldType('patternMatch', 'date_picker');
|
3327 |
+
acf.registerConditionForFieldType('contains', 'date_picker');
|
3328 |
+
acf.registerConditionForFieldType('greaterThan', 'date_picker');
|
3329 |
+
acf.registerConditionForFieldType('lessThan', 'date_picker');
|
3330 |
+
|
3331 |
+
/**
|
3332 |
+
* Field Conditions: Taxonomy
|
3333 |
+
*/
|
3334 |
+
acf.registerConditionForFieldType('equalTo', 'taxonomy');
|
3335 |
+
acf.registerConditionForFieldType('notEqualTo', 'taxonomy');
|
3336 |
+
acf.registerConditionForFieldType('patternMatch', 'taxonomy');
|
3337 |
+
acf.registerConditionForFieldType('contains', 'taxonomy');
|
3338 |
+
acf.registerConditionForFieldType('hasValue', 'taxonomy');
|
3339 |
+
acf.registerConditionForFieldType('hasNoValue', 'taxonomy');
|
3340 |
+
|
3341 |
+
/**
|
3342 |
+
* Field Conditions: Forms
|
3343 |
+
*/
|
3344 |
+
acf.registerConditionForFieldType('equalTo', 'acfe_forms');
|
3345 |
+
acf.registerConditionForFieldType('notEqualTo', 'acfe_forms');
|
3346 |
+
acf.registerConditionForFieldType('patternMatch', 'acfe_forms');
|
3347 |
+
acf.registerConditionForFieldType('contains', 'acfe_forms');
|
3348 |
+
acf.registerConditionForFieldType('hasValue', 'acfe_forms');
|
3349 |
+
acf.registerConditionForFieldType('hasNoValue', 'acfe_forms');
|
3350 |
+
|
3351 |
+
/**
|
3352 |
+
* Field Conditions: Post Status
|
3353 |
+
*/
|
3354 |
+
acf.registerConditionForFieldType('equalTo', 'acfe_post_statuses');
|
3355 |
+
acf.registerConditionForFieldType('notEqualTo', 'acfe_post_statuses');
|
3356 |
+
acf.registerConditionForFieldType('patternMatch', 'acfe_post_statuses');
|
3357 |
+
acf.registerConditionForFieldType('contains', 'acfe_post_statuses');
|
3358 |
+
acf.registerConditionForFieldType('hasValue', 'acfe_post_statuses');
|
3359 |
+
acf.registerConditionForFieldType('hasNoValue', 'acfe_post_statuses');
|
3360 |
+
|
3361 |
+
/**
|
3362 |
+
* Field Conditions: Post Types
|
3363 |
+
*/
|
3364 |
+
acf.registerConditionForFieldType('equalTo', 'acfe_post_types');
|
3365 |
+
acf.registerConditionForFieldType('notEqualTo', 'acfe_post_types');
|
3366 |
+
acf.registerConditionForFieldType('patternMatch', 'acfe_post_types');
|
3367 |
+
acf.registerConditionForFieldType('contains', 'acfe_post_types');
|
3368 |
+
acf.registerConditionForFieldType('hasValue', 'acfe_post_types');
|
3369 |
+
acf.registerConditionForFieldType('hasNoValue', 'acfe_post_types');
|
3370 |
+
|
3371 |
+
/**
|
3372 |
+
* Field Conditions: Taxonomies
|
3373 |
+
*/
|
3374 |
+
acf.registerConditionForFieldType('equalTo', 'acfe_taxonomies');
|
3375 |
+
acf.registerConditionForFieldType('notEqualTo', 'acfe_taxonomies');
|
3376 |
+
acf.registerConditionForFieldType('patternMatch', 'acfe_taxonomies');
|
3377 |
+
acf.registerConditionForFieldType('contains', 'acfe_taxonomies');
|
3378 |
+
acf.registerConditionForFieldType('hasValue', 'acfe_taxonomies');
|
3379 |
+
acf.registerConditionForFieldType('hasNoValue', 'acfe_taxonomies');
|
3380 |
+
|
3381 |
+
/**
|
3382 |
+
* Field Conditions: Taxonomy Terms
|
3383 |
+
*/
|
3384 |
+
acf.registerConditionForFieldType('equalTo', 'acfe_taxonomy_terms');
|
3385 |
+
acf.registerConditionForFieldType('notEqualTo', 'acfe_taxonomy_terms');
|
3386 |
+
acf.registerConditionForFieldType('patternMatch', 'acfe_taxonomy_terms');
|
3387 |
+
acf.registerConditionForFieldType('contains', 'acfe_taxonomy_terms');
|
3388 |
+
acf.registerConditionForFieldType('hasValue', 'acfe_taxonomy_terms');
|
3389 |
+
acf.registerConditionForFieldType('hasNoValue', 'acfe_taxonomy_terms');
|
3390 |
+
|
3391 |
+
/**
|
3392 |
+
* Field Conditions: User Roles
|
3393 |
+
*/
|
3394 |
+
acf.registerConditionForFieldType('equalTo', 'acfe_user_roles');
|
3395 |
+
acf.registerConditionForFieldType('notEqualTo', 'acfe_user_roles');
|
3396 |
+
acf.registerConditionForFieldType('patternMatch', 'acfe_user_roles');
|
3397 |
+
acf.registerConditionForFieldType('contains', 'acfe_user_roles');
|
3398 |
+
acf.registerConditionForFieldType('hasValue', 'acfe_user_roles');
|
3399 |
+
acf.registerConditionForFieldType('hasNoValue', 'acfe_user_roles');
|
3400 |
+
|
3401 |
+
/**
|
3402 |
+
* Module: Author
|
3403 |
+
*/
|
3404 |
+
acf.add_action('new_field/name=acfe_author', function(field){
|
3405 |
+
|
3406 |
+
field.on('change', function(e){
|
3407 |
+
|
3408 |
+
e.stopPropagation();
|
3409 |
+
|
3410 |
+
});
|
3411 |
+
|
3412 |
+
});
|
3413 |
+
|
3414 |
+
/**
|
3415 |
+
* Module: Dynamic Forms - Fields Mapping
|
3416 |
+
*/
|
3417 |
+
var acfe_form_map_fields = function(field){
|
3418 |
+
|
3419 |
+
var name = field.get('name');
|
3420 |
+
var $layout = field.$el.closest('.layout');
|
3421 |
+
var $message = $layout.find('> .acf-fields > .acf-field[data-name="' + name + '_message"] > .acf-input');
|
3422 |
+
|
3423 |
+
var selected = field.$input().find('option:selected').text();
|
3424 |
+
|
3425 |
+
if(selected.length){
|
3426 |
+
$message.html(selected);
|
3427 |
+
}
|
3428 |
+
|
3429 |
+
field.$input().on('change', function(){
|
3430 |
+
|
3431 |
+
// Message
|
3432 |
+
var text = $(this).find('option:selected').text();
|
3433 |
+
|
3434 |
+
$message.html(text);
|
3435 |
+
|
3436 |
+
});
|
3437 |
+
|
3438 |
+
};
|
3439 |
+
|
3440 |
+
acf.addAction('new_field/name=acfe_form_post_map_target', acfe_form_map_fields);
|
3441 |
+
acf.addAction('new_field/name=acfe_form_post_map_post_type', acfe_form_map_fields);
|
3442 |
+
acf.addAction('new_field/name=acfe_form_post_map_post_status', acfe_form_map_fields);
|
3443 |
+
acf.addAction('new_field/name=acfe_form_post_map_post_title', acfe_form_map_fields);
|
3444 |
+
acf.addAction('new_field/name=acfe_form_post_map_post_name', acfe_form_map_fields);
|
3445 |
+
acf.addAction('new_field/name=acfe_form_post_map_post_content', acfe_form_map_fields);
|
3446 |
+
acf.addAction('new_field/name=acfe_form_post_map_post_author', acfe_form_map_fields);
|
3447 |
+
acf.addAction('new_field/name=acfe_form_post_map_post_parent', acfe_form_map_fields);
|
3448 |
+
acf.addAction('new_field/name=acfe_form_post_map_post_terms', acfe_form_map_fields);
|
3449 |
+
|
3450 |
+
acf.addAction('new_field/name=acfe_form_user_map_email', acfe_form_map_fields);
|
3451 |
+
acf.addAction('new_field/name=acfe_form_user_map_username', acfe_form_map_fields);
|
3452 |
+
acf.addAction('new_field/name=acfe_form_user_map_password', acfe_form_map_fields);
|
3453 |
+
acf.addAction('new_field/name=acfe_form_user_map_first_name', acfe_form_map_fields);
|
3454 |
+
acf.addAction('new_field/name=acfe_form_user_map_last_name', acfe_form_map_fields);
|
3455 |
+
acf.addAction('new_field/name=acfe_form_user_map_nickname', acfe_form_map_fields);
|
3456 |
+
acf.addAction('new_field/name=acfe_form_user_map_display_name', acfe_form_map_fields);
|
3457 |
+
acf.addAction('new_field/name=acfe_form_user_map_website', acfe_form_map_fields);
|
3458 |
+
acf.addAction('new_field/name=acfe_form_user_map_description', acfe_form_map_fields);
|
3459 |
+
acf.addAction('new_field/name=acfe_form_user_map_role', acfe_form_map_fields);
|
3460 |
+
|
3461 |
+
acf.addAction('new_field/name=acfe_form_term_map_name', acfe_form_map_fields);
|
3462 |
+
acf.addAction('new_field/name=acfe_form_term_map_slug', acfe_form_map_fields);
|
3463 |
+
acf.addAction('new_field/name=acfe_form_term_map_taxonomy', acfe_form_map_fields);
|
3464 |
+
acf.addAction('new_field/name=acfe_form_term_map_parent', acfe_form_map_fields);
|
3465 |
+
acf.addAction('new_field/name=acfe_form_term_map_description', acfe_form_map_fields);
|
3466 |
+
|
3467 |
+
/**
|
3468 |
+
* Module: Dynamic Forms (actions)
|
3469 |
+
*/
|
3470 |
+
acf.addAction('new_field/name=acfe_form_actions', function(field){
|
3471 |
+
|
3472 |
+
var $tab = $('a[data-key=field_acfe_form_tab_actions]');
|
3473 |
+
|
3474 |
+
var $layouts = field.$layouts();
|
3475 |
+
|
3476 |
+
$tab.html('Actions <span class="acfe-tab-badge">' + $layouts.length + '</span>');
|
3477 |
+
|
3478 |
+
field.on('change', function(){
|
3479 |
+
|
3480 |
+
var $layouts = field.$layouts();
|
3481 |
+
|
3482 |
+
$tab.html('Actions <span class="acfe-tab-badge">' + $layouts.length + '</span>');
|
3483 |
+
|
3484 |
+
});
|
3485 |
+
|
3486 |
+
field.on('click', '[data-name="add-layout"]', function(e){
|
3487 |
+
|
3488 |
+
$('body').find('.acf-fc-popup').addClass('acfe-fc-popup-grey');
|
3489 |
+
|
3490 |
+
});
|
3491 |
+
|
3492 |
+
});
|
3493 |
+
|
3494 |
+
var acfe_tab_forget_tab_preference = function(field){
|
3495 |
+
|
3496 |
+
var $tabs = field.findTabs();
|
3497 |
+
var tabs = acf.getInstances($tabs);
|
3498 |
+
var key = field.get('key');
|
3499 |
+
|
3500 |
+
if(tabs.length){
|
3501 |
+
|
3502 |
+
var preference = acf.getPreference('this.tabs');
|
3503 |
+
|
3504 |
+
if(!preference)
|
3505 |
+
return;
|
3506 |
+
|
3507 |
+
$.each(tabs, function(){
|
3508 |
+
|
3509 |
+
var group = this;
|
3510 |
+
var groupIndex = group.get('index');
|
3511 |
+
|
3512 |
+
if(group.data.key === key){
|
3513 |
+
preference[groupIndex] = 0;
|
3514 |
+
}
|
3515 |
+
|
3516 |
+
});
|
3517 |
+
|
3518 |
+
// update
|
3519 |
+
acf.setPreference('this.tabs', preference);
|
3520 |
+
|
3521 |
+
}
|
3522 |
+
|
3523 |
+
};
|
3524 |
+
|
3525 |
+
acf.addAction('prepare_field/key=field_acfe_form_custom_action_tab_action', acfe_tab_forget_tab_preference);
|
3526 |
+
acf.addAction('prepare_field/key=field_acfe_form_email_tab_action', acfe_tab_forget_tab_preference);
|
3527 |
+
acf.addAction('prepare_field/key=field_acfe_form_post_tab_action', acfe_tab_forget_tab_preference);
|
3528 |
+
acf.addAction('prepare_field/key=field_acfe_form_term_tab_action', acfe_tab_forget_tab_preference);
|
3529 |
+
acf.addAction('prepare_field/key=field_acfe_form_user_tab_action', acfe_tab_forget_tab_preference);
|
3530 |
+
|
3531 |
+
acf.addAction('prepare_field/key=field_acfe_dpt_tab_general', acfe_tab_forget_tab_preference);
|
3532 |
+
acf.addAction('prepare_field/key=field_acfe_dt_tab_general', acfe_tab_forget_tab_preference);
|
3533 |
+
|
3534 |
+
acf.addAction('show_postbox', function(postbox){
|
3535 |
+
postbox.$el.removeClass('acfe-postbox-left acfe-postbox-top');
|
3536 |
+
});
|
3537 |
+
|
3538 |
+
// Allow conditions to work within wrapped div
|
3539 |
+
acf.newCondition = function( rule, conditions ){
|
3540 |
+
|
3541 |
+
// currently setting up conditions for fieldX, this field is the 'target'
|
3542 |
+
var target = conditions.get('field');
|
3543 |
+
|
3544 |
+
// use the 'target' to find the 'trigger' field.
|
3545 |
+
// - this field is used to setup the conditional logic events
|
3546 |
+
var field = target.getField( rule.field );
|
3547 |
+
|
3548 |
+
// ACF Extended: Check in all form if targeted field not found
|
3549 |
+
if( target && !field ) {
|
3550 |
+
|
3551 |
+
field = acf.getField( rule.field );
|
3552 |
+
|
3553 |
+
}
|
3554 |
+
|
3555 |
+
// bail ealry if no target or no field (possible if field doesn't exist due to HTML error)
|
3556 |
+
if( !target || !field ) {
|
3557 |
+
return false;
|
3558 |
+
}
|
3559 |
+
|
3560 |
+
// vars
|
3561 |
+
var args = {
|
3562 |
+
rule: rule,
|
3563 |
+
target: target,
|
3564 |
+
conditions: conditions,
|
3565 |
+
field: field
|
3566 |
+
};
|
3567 |
+
|
3568 |
+
// vars
|
3569 |
+
var fieldType = field.get('type');
|
3570 |
+
var operator = rule.operator;
|
3571 |
+
|
3572 |
+
// get avaibale conditions
|
3573 |
+
var conditionTypes = acf.getConditionTypes({
|
3574 |
+
fieldType: fieldType,
|
3575 |
+
operator: operator,
|
3576 |
+
});
|
3577 |
+
|
3578 |
+
// instantiate
|
3579 |
+
var model = conditionTypes[0] || acf.Condition;
|
3580 |
+
|
3581 |
+
// instantiate
|
3582 |
+
var condition = new model( args );
|
3583 |
+
|
3584 |
+
// return
|
3585 |
+
return condition;
|
3586 |
+
|
3587 |
+
};
|
3588 |
+
|
3589 |
+
/**
|
3590 |
+
* Field: Checkbox
|
3591 |
+
*/
|
3592 |
+
acf.addAction('new_field/type=checkbox', function(field){
|
3593 |
+
|
3594 |
+
if(!field.has('acfeLabels'))
|
3595 |
+
return;
|
3596 |
+
|
3597 |
+
$.each(field.get('acfeLabels'), function(group, key){
|
3598 |
+
|
3599 |
+
field.$control().find('input[type=checkbox][value="' + key + '"]').closest('ul').before('<strong>' + group + '</strong>');
|
3600 |
+
|
3601 |
+
});
|
3602 |
+
|
3603 |
+
});
|
3604 |
+
|
3605 |
+
/**
|
3606 |
+
* Field: Radio
|
3607 |
+
*/
|
3608 |
+
acf.addAction('new_field/type=radio', function(field){
|
3609 |
+
|
3610 |
+
if(!field.has('acfeLabels'))
|
3611 |
+
return;
|
3612 |
+
|
3613 |
+
$.each(field.get('acfeLabels'), function(group, key){
|
3614 |
+
|
3615 |
+
field.$control().find('input[type=radio][value="' + key + '"]').closest('li').addClass('parent').prepend('<strong>' + group + '</strong>');
|
3616 |
+
|
3617 |
+
});
|
3618 |
+
|
3619 |
+
if(field.$control().hasClass('acf-hl')){
|
3620 |
+
|
3621 |
+
field.$control().find('li.parent').each(function(){
|
3622 |
+
|
3623 |
+
$(this).nextUntil('li.parent').addBack().wrapAll('<li><ul></ul></li>');
|
3624 |
+
|
3625 |
+
});
|
3626 |
+
|
3627 |
+
}
|
3628 |
+
|
3629 |
+
});
|
3630 |
+
|
3631 |
+
})(jQuery);
|
3632 |
+
(function($){
|
3633 |
+
|
3634 |
+
if(typeof acf === 'undefined')
|
3635 |
+
return;
|
3636 |
+
|
3637 |
+
acf.addAction('prepare', function(){
|
3638 |
+
|
3639 |
+
if(acf.get('is_admin'))
|
3640 |
+
return;
|
3641 |
+
|
3642 |
+
// Fix Image/File WP Media upload
|
3643 |
+
if(acf.isset(window, 'wp', 'media', 'view', 'settings', 'post')){
|
3644 |
+
|
3645 |
+
// Unset Post ID
|
3646 |
+
wp.media.view.settings.post = false;
|
3647 |
+
|
3648 |
+
}
|
3649 |
+
|
3650 |
+
if($('.acfe-form[data-hide-unload="1"]').length){
|
3651 |
+
|
3652 |
+
acf.unload.disable();
|
3653 |
+
|
3654 |
+
}
|
3655 |
+
|
3656 |
+
if($('.acfe-form-success').length){
|
3657 |
+
|
3658 |
+
if(window.history.replaceState){
|
3659 |
+
window.history.replaceState(null, null, window.location.href);
|
3660 |
+
}
|
3661 |
+
|
3662 |
+
$('.acfe-form-success').each(function(){
|
3663 |
+
|
3664 |
+
var form_name = $(this).data('form-name');
|
3665 |
+
var form_id = $(this).data('form-id');
|
3666 |
+
|
3667 |
+
acf.doAction('acfe/form/submit/success');
|
3668 |
+
acf.doAction('acfe/form/submit/success/id=' + form_id);
|
3669 |
+
acf.doAction('acfe/form/submit/success/name=' + form_name);
|
3670 |
+
|
3671 |
+
});
|
3672 |
+
|
3673 |
+
}
|
3674 |
+
|
3675 |
+
});
|
3676 |
+
|
3677 |
+
// Datepicker: Add field class
|
3678 |
+
acf.addAction('new_field/type=date_picker', function(field){
|
3679 |
+
|
3680 |
+
if(acf.get('is_admin'))
|
3681 |
+
return;
|
3682 |
+
|
3683 |
+
var $form = field.$el.closest('.acfe-form');
|
3684 |
+
|
3685 |
+
if(!$form.length)
|
3686 |
+
return;
|
3687 |
+
|
3688 |
+
var field_class = $form.data('fields-class');
|
3689 |
+
|
3690 |
+
if(field_class)
|
3691 |
+
field.$inputText().addClass(field_class);
|
3692 |
+
|
3693 |
+
});
|
3694 |
+
|
3695 |
+
// Google Maps: Add field class
|
3696 |
+
acf.addAction('new_field/type=google_map', function(field){
|
3697 |
+
|
3698 |
+
if(acf.get('is_admin'))
|
3699 |
+
return;
|
3700 |
+
|
3701 |
+
var $form = field.$el.closest('.acfe-form');
|
3702 |
+
|
3703 |
+
if(!$form.length)
|
3704 |
+
return;
|
3705 |
+
|
3706 |
+
var field_class = $form.data('fields-class');
|
3707 |
+
|
3708 |
+
if(field_class)
|
3709 |
+
field.$search().addClass(field_class);
|
3710 |
+
|
3711 |
+
});
|
3712 |
+
|
3713 |
+
// Error: Move error
|
3714 |
+
acf.addAction('invalid_field', function(field){
|
3715 |
+
|
3716 |
+
if(acf.get('is_admin'))
|
3717 |
+
return;
|
3718 |
+
|
3719 |
+
var $form = field.$el.closest('.acfe-form');
|
3720 |
+
|
3721 |
+
if(!$form.length)
|
3722 |
+
return;
|
3723 |
+
|
3724 |
+
var errors_position = $form.data('errors-position');
|
3725 |
+
var errors_class = $form.data('errors-class');
|
3726 |
+
|
3727 |
+
// Class
|
3728 |
+
if(errors_class && errors_class.length){
|
3729 |
+
|
3730 |
+
field.$el.find('.acf-notice.-error').addClass(errors_class);
|
3731 |
+
|
3732 |
+
}
|
3733 |
+
|
3734 |
+
// Move below
|
3735 |
+
if(errors_position && errors_position === 'below'){
|
3736 |
+
|
3737 |
+
if(field.$control().length){
|
3738 |
+
|
3739 |
+
field.$el.find('.acf-notice.-error').insertAfter(field.$control());
|
3740 |
+
|
3741 |
+
}else if(field.$input().length){
|
3742 |
+
|
3743 |
+
field.$el.find('.acf-notice.-error').insertAfter(field.$input());
|
3744 |
+
|
3745 |
+
}
|
3746 |
+
|
3747 |
+
var $selector = false;
|
3748 |
+
|
3749 |
+
if(field.$control().length){
|
3750 |
+
|
3751 |
+
$selector = field.$control();
|
3752 |
+
|
3753 |
+
}else if(field.$input().length){
|
3754 |
+
|
3755 |
+
$selector = field.$input();
|
3756 |
+
|
3757 |
+
}
|
3758 |
+
|
3759 |
+
if($selector)
|
3760 |
+
field.$el.find('.acf-notice.-error').insertAfter($selector);
|
3761 |
+
|
3762 |
+
}
|
3763 |
+
|
3764 |
+
// Group errors
|
3765 |
+
else if(errors_position && errors_position === 'group'){
|
3766 |
+
|
3767 |
+
var label = field.$el.find('.acf-label label').text().trim();
|
3768 |
+
var placeholder = field.$el.find('.acf-input-wrap [placeholder!=""]').attr('placeholder');
|
3769 |
+
var message = field.$el.find('.acf-notice.-error').text().trim();
|
3770 |
+
|
3771 |
+
field.$el.find('.acf-notice.-error').remove();
|
3772 |
+
|
3773 |
+
// Try label
|
3774 |
+
if(label && label.length && label !== '*'){
|
3775 |
+
|
3776 |
+
message = label + ': ' + message;
|
3777 |
+
|
3778 |
+
}
|
3779 |
+
|
3780 |
+
// Try placeholder
|
3781 |
+
else if(placeholder && placeholder.length && placeholder !== ''){
|
3782 |
+
|
3783 |
+
message = placeholder + ': ' + message;
|
3784 |
+
|
3785 |
+
}
|
3786 |
+
|
3787 |
+
// If everything fails, use field name
|
3788 |
+
else{
|
3789 |
+
|
3790 |
+
message = field.get('name') + ': ' + message;
|
3791 |
+
|
3792 |
+
}
|
3793 |
+
|
3794 |
+
var $form_error = $form.find('> .acfe-form-error')
|
3795 |
+
|
3796 |
+
if(!$form_error.length)
|
3797 |
+
$form_error = $('<div class="acf-notice -error acf-error-message acfe-form-error" />').prependTo($form);
|
3798 |
+
|
3799 |
+
$form_error.append('<p>' + message + '</p>');
|
3800 |
+
|
3801 |
+
}
|
3802 |
+
|
3803 |
+
// Hide errors
|
3804 |
+
else if(errors_position && errors_position === 'hide'){
|
3805 |
+
|
3806 |
+
field.$el.find('.acf-notice.-error').remove();
|
3807 |
+
|
3808 |
+
}
|
3809 |
+
|
3810 |
+
});
|
3811 |
+
|
3812 |
+
// Remove error message on validation
|
3813 |
+
acf.addAction('validation_begin', function($form){
|
3814 |
+
|
3815 |
+
if(acf.get('is_admin'))
|
3816 |
+
return;
|
3817 |
+
|
3818 |
+
if(typeof $form === 'undefined')
|
3819 |
+
return;
|
3820 |
+
|
3821 |
+
$form.find('.acf-error-message').remove();
|
3822 |
+
|
3823 |
+
});
|
3824 |
+
|
3825 |
+
})(jQuery);
|
3826 |
+
(function($){
|
3827 |
+
|
3828 |
+
if(typeof acf === 'undefined')
|
3829 |
+
return;
|
3830 |
+
|
3831 |
+
/*
|
3832 |
+
* Init
|
3833 |
+
*/
|
3834 |
+
var repeater = acf.getFieldType('repeater');
|
3835 |
+
var model = repeater.prototype;
|
3836 |
+
|
3837 |
+
// Repeater: Lock Layouts
|
3838 |
+
model.acfeOnHover = function(){
|
3839 |
+
|
3840 |
+
var repeater = this;
|
3841 |
+
|
3842 |
+
// remove event
|
3843 |
+
repeater.off('mouseover');
|
3844 |
+
|
3845 |
+
}
|
3846 |
+
|
3847 |
+
/*
|
3848 |
+
* Spawn
|
3849 |
+
*/
|
3850 |
+
acf.addAction('new_field/type=repeater', function(repeater){
|
3851 |
+
|
3852 |
+
// ACFE: Lock
|
3853 |
+
if(repeater.has('acfeRepeaterLock')){
|
3854 |
+
|
3855 |
+
repeater.removeEvents({'mouseover': 'onHover'});
|
3856 |
+
|
3857 |
+
repeater.addEvents({'mouseover': 'acfeOnHover'});
|
3858 |
+
|
3859 |
+
}
|
3860 |
+
|
3861 |
+
// ACFE: Remove Actions
|
3862 |
+
if(repeater.has('acfeRepeaterRemoveActions')){
|
3863 |
+
|
3864 |
+
repeater.$actions().remove();
|
3865 |
+
|
3866 |
+
repeater.$el.find('thead:first > tr > th.acf-row-handle:last').remove();
|
3867 |
+
repeater.$rows().find('> .acf-row-handle:last').remove();
|
3868 |
+
|
3869 |
+
repeater.$control().find('> .acfe-repeater-stylised-button').remove();
|
3870 |
+
|
3871 |
+
|
3872 |
+
}
|
3873 |
+
|
3874 |
+
// ACFE: Stylised button
|
3875 |
+
if(repeater.has('acfeRepeaterStylisedButton')){
|
3876 |
+
|
3877 |
+
repeater.$button().removeClass('button-primary');
|
3878 |
+
repeater.$actions().wrap('<div class="acfe-repeater-stylised-button" />');
|
3879 |
+
|
3880 |
+
}
|
3881 |
+
|
3882 |
+
});
|
3883 |
+
|
3884 |
})(jQuery);
|
assets/acf-extended.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
body.-loading *{cursor:wait!important}.acf-field .acf-label label{font-weight:600!important}.acf-field p.description{word-break:break-word}.acf-fields.-left>.acf-field>.acf-label{min-height:1px}.acf-field.acfe-no-label>.acf-label{margin:0}.acf-field.acfe-no-label>.acf-label>label{display:none}.acf-field.acfe-no-label>.acf-label>p.description{margin-bottom:10px}.acfe-field-tooltip{float:right;font-size:16px;color:#999}.acf-field-acfe-hidden{display:none}.acf-field-textarea[data-acfe-textarea-code="1"]>.acf-input>textarea{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:1em}.acf-field-acfe-code-editor>.acf-input>.acf-input-wrap>.CodeMirror-wrap{height:auto}.acf-field-acfe-code-editor>.acf-input>.acf-input-wrap>.CodeMirror-wrap.cm-s-default{border:1px solid #7e8993;border-radius:4px}.acf-field-acfe-code-editor>.acf-input>.acf-input-wrap>.CodeMirror-wrap.cm-s-default .CodeMirror-gutters{border-right:1px solid #7e8993}body:not(.acf-admin-5-3) .acf-field-acfe-code-editor>.acf-input>.acf-input-wrap>.CodeMirror-wrap.cm-s-default{border-color:#dfdfdf}.acf-field-acfe-code-editor>.acf-input>.acf-input-wrap>.CodeMirror-wrap.cm-s-default .CodeMirror-activeline-background{background:#f9f9f9}.acf-field-acfe-code-editor>.acf-input>.acf-input-wrap>.CodeMirror-wrap.cm-s-default .CodeMirror-selected{background:#f0f0f0!important}.acf-field-acfe-code-editor>.acf-input>.acf-input-wrap>.CodeMirror-wrap.cm-s-default .CodeMirror-gutters{background:#f9f9f9}.acf-field-acfe-code-editor>td.acf-input{max-width:1px}.acf-accordion{z-index:initial}.acf-fields>.acf-field-group.acfe-field-group-layout-block.acfe-seamless-style:not([data-acfe-group-modal="1"])>.acf-input,.acf-fields>.acf-field-group.acfe-field-group-layout-row.acfe-seamless-style:not([data-acfe-group-modal="1"])>.acf-input{margin-left:-12px;margin-right:-12px;margin-bottom:-15px}.acf-fields>.acf-field-group.acfe-field-group-layout-block.acfe-seamless-style.acfe-no-label:not([data-acfe-group-modal="1"])>.acf-input,.acf-fields>.acf-field-group.acfe-field-group-layout-row.acfe-seamless-style.acfe-no-label:not([data-acfe-group-modal="1"])>.acf-input{margin-top:-15px}.acf-fields>.acf-field-group.acfe-field-group-layout-block.acfe-seamless-style.acfe-no-label:not([data-acfe-group-modal="1"])>.acf-label>p.description,.acf-fields>.acf-field-group.acfe-field-group-layout-row.acfe-seamless-style.acfe-no-label:not([data-acfe-group-modal="1"])>.acf-label>p.description{margin-bottom:15px}.acf-fields>.acf-field-group.acfe-field-group-layout-row.acfe-seamless-style.acfe-no-label>.acf-input>.acf-fields{border-width:0}.acf-fields>.acf-field-group.acfe-field-group-layout-row.acfe-seamless-style>.acf-input>.acf-fields{border-left-width:0;border-right-width:0;border-bottom-width:0}.acf-fields>.acf-field-group.acfe-field-group-layout-block.acfe-seamless-style>.acf-input>.acf-fields{border-width:0}.acf-fields.-left>.acf-field-group.acfe-field-group-layout-row.acfe-seamless-style>.acf-input{margin:0}.acf-fields.-left>.acf-field-group.acfe-field-group-layout-row.acfe-seamless-style>.acf-input>.acf-fields{border-width:1px}.acf-fields.-left>.acf-field-group.acfe-field-group-layout-block.acfe-seamless-style:not([data-acfe-group-modal="1"])>.acf-input,.acf-fields.-left>.acf-field-group.acfe-field-group-layout-table.acfe-seamless-style:not([data-acfe-group-modal="1"])>.acf-input{padding:0;padding-left:1px;margin-top:-15px;margin-bottom:-15px;margin-left:0;margin-right:0}.acf-fields.-left>.acf-field-group.acfe-field-group-layout-block.acfe-seamless-style>.acf-input>.acf-fields,.acf-fields.-left>.acf-field-group.acfe-field-group-layout-table.acfe-seamless-style>.acf-input>.acf-table{border-width:0}.acf-fields>.acf-field-group[data-acfe-group-modal="1"]>.acf-input>.acfe-modal>.acfe-modal-wrapper>.acfe-modal-content>.acf-fields,.acf-fields>.acf-field-group[data-acfe-group-modal="1"]>.acf-input>.acfe-modal>.acfe-modal-wrapper>.acfe-modal-content>.acf-table{border-width:0}.acf-postbox.seamless>.acf-fields>.acf-field-group.acfe-field-group-layout-block.acfe-seamless-style>.acf-input,.acf-postbox.seamless>.acf-fields>.acf-field-group.acfe-field-group-layout-row.acfe-seamless-style>.acf-input,.acf-postbox.seamless>.acf-fields>.acf-field-group.acfe-field-group-layout-table.acfe-seamless-style>.acf-table{margin:0}.acf-postbox.seamless>.acf-fields>.acf-field-group.acfe-field-group-layout-block.acfe-seamless-style>.acf-input>.acf-fields,.acf-postbox.seamless>.acf-fields>.acf-field-group.acfe-field-group-layout-row.acfe-seamless-style>.acf-input>.acf-fields,.acf-postbox.seamless>.acf-fields>.acf-field-group.acfe-field-group-layout-table.acfe-seamless-style>.acf-input>.acf-table{border-width:1px}.acf-postbox.seamless>.acf-fields.-left>.acf-field-group.acfe-field-group-layout-block.acfe-seamless-style>.acf-input,.acf-postbox.seamless>.acf-fields.-left>.acf-field-group.acfe-field-group-layout-row.acfe-seamless-style>.acf-input,.acf-postbox.seamless>.acf-fields.-left>.acf-field-group.acfe-field-group-layout-table.acfe-seamless-style>.acf-input{padding:0 12px}.acf-fields>.acf-field-group[data-acfe-group-modal="1"]>.acf-input>.acf-fields,.acf-fields>.acf-field-group[data-acfe-group-modal="1"]>.acf-input>.acf-table{display:none}tr.acf-field.acf-field-group.acfe-seamless-style>td.acf-input>.acf-fields{border:0;margin-left:-10px;margin-right:-10px;margin-top:-15px;margin-bottom:-15px}tr.acf-field.acf-field-group.acfe-seamless-style.acfe-field-group-layout-table>td.acf-input{padding:0;margin-top:-15px;margin-bottom:-15px;margin-left:0;margin-right:0}tr.acf-field.acf-field-group.acfe-seamless-style.acfe-field-group-layout-table>td.acf-input>.acf-table{border-width:0}tr.acf-field.acf-field-group[data-acfe-group-modal="1"]>.acf-input>.acfe-modal>.acfe-modal-wrapper>.acfe-modal-content>.acf-fields,tr.acf-field.acf-field-group[data-acfe-group-modal="1"]>.acf-input>.acfe-modal>.acfe-modal-wrapper>.acfe-modal-content>.acf-table{border-width:0}.acf-fields>.acf-field-clone.acfe-field-clone-layout-block.acfe-seamless-style:not([data-acfe-clone-modal="1"])>.acf-input,.acf-fields>.acf-field-clone.acfe-field-clone-layout-row.acfe-seamless-style:not([data-acfe-clone-modal="1"])>.acf-input{margin-left:-12px;margin-right:-12px;margin-bottom:-15px}.acf-fields>.acf-field-clone.acfe-field-clone-layout-block.acfe-no-label.acfe-seamless-style:not([data-acfe-clone-modal="1"])>.acf-input,.acf-fields>.acf-field-clone.acfe-field-clone-layout-row.acfe-no-label.acfe-seamless-style:not([data-acfe-clone-modal="1"])>.acf-input{margin-top:-15px}.acf-fields>.acf-field-clone.acfe-field-clone-layout-block.acfe-seamless-style.acfe-no-label:not([data-acfe-clone-modal="1"])>.acf-label>p.description,.acf-fields>.acf-field-clone.acfe-field-clone-layout-row.acfe-seamless-style.acfe-no-label:not([data-acfe-clone-modal="1"])>.acf-label>p.description{margin-bottom:15px}.acf-fields>.acf-field-clone.acfe-field-clone-layout-row.acfe-no-label.acfe-seamless-style>.acf-input>.acf-fields{border-width:0}.acf-fields>.acf-field-clone.acfe-field-clone-layout-row.acfe-seamless-style>.acf-input>.acf-fields{border-left-width:0;border-right-width:0;border-bottom-width:0}.acf-fields>.acf-field-clone.acfe-field-clone-layout-block.acfe-seamless-style>.acf-input>.acf-fields{border-width:0}.acf-fields.-left>.acf-field-clone.acfe-field-clone-layout-row.acfe-seamless-style>.acf-input{margin:0}.acf-fields.-left>.acf-field-clone.acfe-field-clone-layout-row.acfe-seamless-style>.acf-input>.acf-fields{border-width:1px}.acf-fields.-left>.acf-field-clone.acfe-field-clone-layout-block.acfe-seamless-style:not([data-acfe-clone-modal="1"])>.acf-input,.acf-fields.-left>.acf-field-clone.acfe-field-clone-layout-table.acfe-seamless-style:not([data-acfe-clone-modal="1"])>.acf-input{padding:0;padding-left:1px;margin-top:-15px;margin-bottom:-15px;margin-left:0;margin-right:0}.acf-fields.-left>.acf-field-clone.acfe-field-clone-layout-block.acfe-seamless-style>.acf-input>.acf-fields,.acf-fields.-left>.acf-field-clone.acfe-field-clone-layout-table.acfe-seamless-style>.acf-input>.acf-table{border-width:0}.acf-fields>.acf-field-clone[data-acfe-clone-modal="1"]>.acf-input>.acfe-modal>.acfe-modal-wrapper>.acfe-modal-content>.acf-fields,.acf-fields>.acf-field-clone[data-acfe-clone-modal="1"]>.acf-input>.acfe-modal>.acfe-modal-wrapper>.acfe-modal-content>.acf-table{border-width:0}.acf-postbox.seamless>.acf-fields>.acf-field-clone.acfe-field-clone-layout-block.acfe-seamless-style>.acf-input,.acf-postbox.seamless>.acf-fields>.acf-field-clone.acfe-field-clone-layout-row.acfe-seamless-style>.acf-input,.acf-postbox.seamless>.acf-fields>.acf-field-clone.acfe-field-clone-layout-table.acfe-seamless-style>.acf-table{margin:0}.acf-postbox.seamless>.acf-fields>.acf-field-clone.acfe-field-clone-layout-block.acfe-seamless-style>.acf-input>.acf-fields,.acf-postbox.seamless>.acf-fields>.acf-field-clone.acfe-field-clone-layout-row.acfe-seamless-style>.acf-input>.acf-fields,.acf-postbox.seamless>.acf-fields>.acf-field-clone.acfe-field-clone-layout-table.acfe-seamless-style>.acf-input>.acf-table{border-width:1px}.acf-postbox.seamless>.acf-fields.-left>.acf-field-clone.acfe-field-clone-layout-block.acfe-seamless-style>.acf-input,.acf-postbox.seamless>.acf-fields.-left>.acf-field-clone.acfe-field-clone-layout-row.acfe-seamless-style>.acf-input,.acf-postbox.seamless>.acf-fields.-left>.acf-field-clone.acfe-field-clone-layout-table.acfe-seamless-style>.acf-input{padding:0 12px}tr.acf-field.acf-field-clone.acfe-seamless-style>td.acf-input>.acf-fields{border:0;margin-left:-10px;margin-right:-10px;margin-top:-15px;margin-bottom:-15px}tr.acf-field.acf-field-clone.acfe-seamless-style.acfe-field-clone-layout-table>td.acf-input{padding:0;margin-top:-15px;margin-bottom:-15px;margin-left:0;margin-right:0}tr.acf-field.acf-field-clone.acfe-seamless-style.acfe-field-clone-layout-table>td.acf-input>.acf-table{border-width:0}tr.acf-field.acf-field-clone[data-acfe-clone-modal="1"]>.acf-input>.acfe-modal>.acfe-modal-wrapper>.acfe-modal-content>.acf-fields,tr.acf-field.acf-field-clone[data-acfe-clone-modal="1"]>.acf-input>.acfe-modal>.acfe-modal-wrapper>.acfe-modal-content>.acf-table{border-width:0}.acfe-modal-content .acf-color-picker .wp-picker-holder{position:relative}.acf-field-checkbox .acf-input .acf-checkbox-list.acf-bl li+li>strong{margin-top:15px;display:inline-block}.acf-field-radio[data-acfe-labels] .acf-input .acf-radio-list.acf-hl li>strong{display:block}.acf-field-radio .acf-input .acf-radio-list.acf-bl li>strong{display:block}.acf-field-radio .acf-input .acf-radio-list.acf-bl li+li>strong{margin-top:15px}.acf-range-wrap input[type=number]{min-width:3.5em}.acf-link.-value .acfe-modal-footer .button{display:unset}.acf-editor-wrap iframe{min-height:60px}.acf-editor-wrap .mce-top-part::before{box-shadow:none}.acf-editor-wrap div.mce-statusbar{border:0}.acf-editor-wrap .mce-divider,.acf-editor-wrap .mce-path-item{color:#aaa}form.acfe-form.is-invalid[data-hide-error="1"]>.acf-error-message.-dismiss{display:none}form.acfe-form.is-valid[data-hide-revalidation="1"]>.acf-notice.-success{display:none}form.acfe-form.is-invalid[data-errors-position=below] .acf-field .acf-notice{margin:15px 0 0}.acf-fields>.acf-field.acf-field-acfe-column{float:left;clear:none;box-sizing:border-box;padding:0;border-top-width:0}.acf-fields.-left>.acf-field.acf-field-acfe-column{border-right:1px solid #eee}.acf-fields.-left>.acf-field.acf-field-acfe-column:before{content:"";display:block;position:initial;background:0 0;border:0;width:auto}.acf-fields.-left>.acf-field.acf-field-acfe-column>.acf-input{float:none;width:auto;margin:0;padding:0}.acf-fields>.acf-field.acf-field-acfe-column>.acf-input>.acf-fields>.acf-field{border-top-width:0}.acf-fields>.acf-field.acf-field-acfe-column[data-endpoint="1"]{clear:both;border-top:1px solid #eee;width:100%}.acf-fields>.acf-field.acf-field-acfe-column[data-columns="1/12"]{width:8.333333%}.acf-fields>.acf-field.acf-field-acfe-column[data-columns="2/12"]{width:16.66666%}.acf-fields>.acf-field.acf-field-acfe-column[data-columns="3/12"]{width:25%}.acf-fields>.acf-field.acf-field-acfe-column[data-columns="4/12"]{width:33.33333%}.acf-fields>.acf-field.acf-field-acfe-column[data-columns="5/12"]{width:41.66667%}.acf-fields>.acf-field.acf-field-acfe-column[data-columns="6/12"]{width:50%}.acf-fields>.acf-field.acf-field-acfe-column[data-columns="7/12"]{width:58.33333%}.acf-fields>.acf-field.acf-field-acfe-column[data-columns="8/12"]{width:66.66666%}.acf-fields>.acf-field.acf-field-acfe-column[data-columns="9/12"]{width:75%}.acf-fields>.acf-field.acf-field-acfe-column[data-columns="10/12"]{width:83.33333%}.acf-fields>.acf-field.acf-field-acfe-column[data-columns="11/12"]{width:91.66667%}.acf-fields>.acf-field.acf-field-acfe-column[data-columns="12/12"]{width:100%;border-right:0}@media only screen and (max-width:1024px){.acf-fields>.acf-field.acf-field-acfe-column[data-columns="1/12"],.acf-fields>.acf-field.acf-field-acfe-column[data-columns="10/12"],.acf-fields>.acf-field.acf-field-acfe-column[data-columns="11/12"],.acf-fields>.acf-field.acf-field-acfe-column[data-columns="2/12"],.acf-fields>.acf-field.acf-field-acfe-column[data-columns="3/12"],.acf-fields>.acf-field.acf-field-acfe-column[data-columns="4/12"],.acf-fields>.acf-field.acf-field-acfe-column[data-columns="5/12"],.acf-fields>.acf-field.acf-field-acfe-column[data-columns="7/12"],.acf-fields>.acf-field.acf-field-acfe-column[data-columns="8/12"],.acf-fields>.acf-field.acf-field-acfe-column[data-columns="9/12"]{width:50%}}@media only screen and (max-width:640px){.acf-fields>.acf-field.acf-field-acfe-column[data-columns="1/12"],.acf-fields>.acf-field.acf-field-acfe-column[data-columns="10/12"],.acf-fields>.acf-field.acf-field-acfe-column[data-columns="11/12"],.acf-fields>.acf-field.acf-field-acfe-column[data-columns="12/12"],.acf-fields>.acf-field.acf-field-acfe-column[data-columns="2/12"],.acf-fields>.acf-field.acf-field-acfe-column[data-columns="3/12"],.acf-fields>.acf-field.acf-field-acfe-column[data-columns="4/12"],.acf-fields>.acf-field.acf-field-acfe-column[data-columns="5/12"],.acf-fields>.acf-field.acf-field-acfe-column[data-columns="6/12"],.acf-fields>.acf-field.acf-field-acfe-column[data-columns="7/12"],.acf-fields>.acf-field.acf-field-acfe-column[data-columns="8/12"],.acf-fields>.acf-field.acf-field-acfe-column[data-columns="9/12"]{width:100%}}.acf-media-modal .screen-reader-text,.acf-media-modal .screen-reader-text span,.acf-media-modal .ui-helper-hidden-accessible{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.acf-ui-datepicker .ui-datepicker{padding:0;border-color:#7e8993!important;border-radius:4px;box-sizing:border-box;background:#fff}.acf-ui-datepicker select{font-size:14px;cursor:pointer;vertical-align:middle;line-height:2;color:#32373c;border-color:#7e8993;box-shadow:none;border-radius:3px;padding:0 24px 0 8px;min-height:30px;max-width:25rem;-webkit-appearance:none;background:#fff url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E') no-repeat right 5px top 55%;background-size:16px 16px}.acf-ui-datepicker .ui-datepicker table{font-size:13px;margin:0;margin-bottom:7px}.acf-ui-datepicker .ui-datepicker .ui-datepicker-header{border:none;background:#f9f9f9;color:#222;font-weight:400;border-radius:4px 4px 0}.acf-ui-datepicker .ui-datepicker .ui-datepicker-header .ui-state-hover{background:#f9f9f9;cursor:pointer;border-radius:0;border:0}.acf-ui-datepicker .ui-datepicker thead{background:#f9f9f9;color:#222}.acf-ui-datepicker .ui-datepicker .ui-datepicker-title{margin-top:.4em;margin-bottom:.3em;color:#222;font-size:14px}.acf-ui-datepicker .ui-datepicker .ui-datepicker-next,.acf-ui-datepicker .ui-datepicker .ui-datepicker-next-hover,.acf-ui-datepicker .ui-datepicker .ui-datepicker-prev,.acf-ui-datepicker .ui-datepicker .ui-datepicker-prev-hover{height:20px;width:20px;border:none;overflow:hidden;margin-top:15px;top:0}.acf-ui-datepicker .ui-datepicker .ui-datepicker-next-hover,.acf-ui-datepicker .ui-datepicker .ui-datepicker-prev-hover{background:0 0!important;color:#007cba!important}.acf-ui-datepicker .ui-datepicker .ui-datepicker-next{right:7px}.acf-ui-datepicker .ui-datepicker .ui-datepicker-prev{left:7px}.acf-ui-datepicker .ui-datepicker .ui-datepicker-next span,.acf-ui-datepicker .ui-datepicker .ui-datepicker-prev span{height:20px;width:20px;background:0 0;position:relative;margin:0;left:unset;top:unset;font-size:1px}.acf-ui-datepicker .ui-datepicker .ui-datepicker-next span:before,.acf-ui-datepicker .ui-datepicker .ui-datepicker-prev span:before{display:block;font-family:dashicons;line-height:1;font-weight:400;text-indent:0;font-style:normal;speak:none;text-decoration:inherit;text-transform:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:20px;height:20px;font-size:16px;vertical-align:top;text-align:center}.acf-ui-datepicker .ui-datepicker .ui-datepicker-next span:before{content:"\f345"}.acf-ui-datepicker .ui-datepicker .ui-datepicker-prev span:before{content:"\f341"}.acf-ui-datepicker .ui-datepicker .ui-datepicker-title select{margin:0 3px}.acf-ui-datepicker .ui-datepicker th{padding:.75em 0;color:#222;font-weight:400;border:none;border-bottom:1px solid #e1e1e1;background:#f9f9f9}.acf-ui-datepicker .ui-datepicker td{background:#fff;border:none;padding:0}.acf-ui-datepicker .ui-datepicker td .ui-state-default{background:0 0;border:none;text-align:center;padding:.5em;margin:0;font-weight:400;color:#333}.acf-ui-datepicker .ui-datepicker td .ui-state-active,.acf-ui-datepicker .ui-datepicker td .ui-state-hover{background:#007cba;color:#fff;box-shadow:none}.acf-ui-datepicker .ui-datepicker td.ui-state-disabled,.acf-ui-datepicker .ui-datepicker td.ui-state-disabled .ui-state-default{opacity:1;color:#999}.acf-ui-datepicker .ui-datepicker-today .ui-state-highlight{border:none!important;background:#eee!important;font-weight:400!important;color:#222!important}.acf-ui-datepicker .ui-state-highlight.ui-state-active,.acf-ui-datepicker .ui-state-highlight.ui-state-hover{border:none!important;background:#007cba!important;font-weight:400!important;color:#fff!important}.acf-ui-datepicker .ui-state-highlight.ui-state-hover.ui-state-active{background:#007cba!important}.acf-ui-datepicker .ui-timepicker-div{padding:10px 7px!important}.acf-ui-datepicker .ui-timepicker-div .ui-widget-header{background:0 0!important;border:0!important;display:none!important}.acf-ui-datepicker .ui-timepicker-div .ui-widget-header .ui-datepicker-title{font-size:13px!important;font-weight:600!important}.acf-ui-datepicker .ui-timepicker-div dl{margin:0;text-align:center!important}.acf-ui-datepicker .ui-timepicker-div .ui_tpicker_time_label{display:none!important}.acf-ui-datepicker .ui-timepicker-div select{background:#fff url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E') no-repeat right 5px top 55%!important;background-size:16px 16px!important;color:#32373c!important;border-color:#7e8993!important}.acf-ui-datepicker .ui-datepicker-buttonpane{border:0!important;padding:7px!important;margin:0!important;background:#f9f9f9!important;border-top:1px solid #e1e1e1!important;border-radius:0 0 4px 4px!important}.acf-ui-datepicker .ui-datepicker-buttonpane:after{content:'';display:block;clear:both}.acf-ui-datepicker .ui-datepicker-buttonpane button{display:inline-block;text-decoration:none;font-size:13px!important;line-height:2.15384615;min-height:30px;margin:0!important;padding:0 10px!important;cursor:pointer!important;border-width:1px!important;border-style:solid!important;-webkit-appearance:none;border-radius:3px;font-weight:400!important;white-space:nowrap;box-sizing:border-box;color:#0071a1!important;border-color:#0071a1!important;background:#f3f5f6!important;vertical-align:top;box-shadow:none!important;outline:0!important;opacity:unset!important;filter:unset!important}.acf-ui-datepicker .ui-datepicker-buttonpane button:hover{background:#f1f1f1!important;border-color:#016087!important;color:#016087!important}body .medium-editor-toolbar{z-index:999999!important}.acf-flexible-content>.values>.ui-sortable-placeholder{border-width:2px;border-color:#ccc}.acf-flexible-content .layout .acf-fc-layout-handle{color:#444;font-weight:600}.layout.acfe-flexible-modal-edit-error>.acf-fc-layout-handle{color:#f33b28}.layout.acfe-flexible-modal-edit-error>.acf-fc-layout-handle>.acf-fc-layout-order{background:#f33b28;color:#fff}.acf-field-flexible-content[data-acfe-flexible-modal-edition="1"]:not([data-acfe-flexible-placeholder="1"]):not([data-acfe-flexible-preview="1"])>.acf-input>.acf-flexible-content>.values>.layout>.acf-fc-layout-handle{border-bottom-width:0}.acf-field-flexible-content[data-acfe-flexible-placeholder="1"]>.acf-input>.acf-flexible-content>.values>.layout.-collapsed>.acf-fc-layout-handle,.acf-field-flexible-content[data-acfe-flexible-preview="1"]>.acf-input>.acf-flexible-content>.values>.layout.-collapsed>.acf-fc-layout-handle{border-bottom-width:1px}.acf-field-flexible-content[data-acfe-flexible-lock="1"]>.acf-input>.acf-flexible-content>.values>.layout>.acf-fc-layout-handle{cursor:initial}.acf-field-flexible-content[data-acfe-flexible-remove-collapse="1"]:not([data-acfe-flexible-lock="1"])>.acf-input>.acf-flexible-content>.values>.layout>.acf-fc-layout-handle{cursor:initial}.acf-fc-popup.top.acfe-fc-popup-grey:before{border-top-color:#e1e1e1}.acf-tooltip.bottom.acfe-fc-popup-grey:before{border-bottom-color:#e1e1e1}.acf-fc-popup.acfe-fc-popup-grey{background:#fcfcfc;border-radius:3px;color:#444;border:1px solid #e1e1e1;font-size:13px}.acf-tooltip.top.acfe-fc-popup-grey{margin-top:-16px}.acf-tooltip.bottom.acfe-fc-popup-grey{margin-bottom:-16px}.acf-fc-popup.acfe-fc-popup-grey a{color:#444}.acf-fc-popup.acfe-fc-popup-grey a:hover{color:#fff}.layout>.acfe-fc-placeholder{text-align:center;background:#f9f9f9;display:block;text-decoration:none;position:relative;cursor:pointer}.layout>.acfe-fc-placeholder:focus{border-color:#ccc;box-shadow:none}.layout>.acfe-fc-placeholder>.acfe-flexible-placeholder{height:110px;overflow:hidden;text-align:initial}.layout>.acfe-fc-placeholder>a{z-index:2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-color:#ccd0d4;color:#23282d;border-radius:100px;box-shadow:none;background:#fff;width:30px;min-height:30px;height:30px;padding:0;display:block}body:not(.acf-admin-5-3) .layout>.acfe-fc-placeholder>a{border-color:#999}.acfe-modal.-open.acfe-modal-sub>.acfe-modal-wrapper>.acfe-modal-content>.acf-fields>.acf-field-flexible-content>.acf-input>.acf-flexible-content>.values>.layout>.acfe-fc-placeholder>a{z-index:0}.layout>.acfe-fc-placeholder>a:active{transform:translate(-50%,-50%)}.layout>.acfe-fc-placeholder>a:focus{border-color:#ccc;box-shadow:none}.layout>.acfe-fc-placeholder>a span{width:29px;height:30px;vertical-align:top;line-height:28px;font-size:18px}body:not(.acf-admin-5-3) .layout>.acfe-fc-placeholder>a span{width:30px;height:30px}.layout>.acfe-fc-placeholder.acfe-fc-preview{background:0 0}.layout>.acfe-fc-placeholder.acfe-fc-preview>.acfe-flexible-placeholder{min-height:55px;height:auto}.layout>.acfe-fc-placeholder.acfe-fc-preview>a{display:none}.layout>.acfe-fc-placeholder.acfe-fc-preview:hover>a{display:block}.layout>.acfe-fc-placeholder.acfe-fc-preview.-loading{background:#f9f9f9;min-height:110px}.layout>.acfe-fc-placeholder.acfe-fc-preview.-loading>.acfe-flexible-placeholder>.spinner{visibility:visible;float:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;z-index:10000}.layout>.acfe-fc-placeholder .acfe-fc-overlay{position:absolute;width:100%;height:100%;padding:0;background-color:rgba(255,255,255,0);transition:background-color .2s linear}.layout>.acfe-fc-placeholder .acfe-fc-overlay.-hover,.layout>.acfe-fc-placeholder:hover .acfe-fc-overlay{background-color:rgba(255,255,255,.7);z-index:1}.layout>.acfe-fc-placeholder.acfe-fc-preview.-loading>a span{visibility:hidden}.layout>.acf-fields>.acfe-flexible-opened-actions,.layout>.acf-table>.acfe-flexible-opened-actions{background:#f9f9f9;border-top:1px solid #e1e1e1;padding:12px;text-align:right;clear:both}.acfe-flexible-layout-thumbnail{display:block;width:100%;height:9.8vw;background-color:#eee;background-size:cover;background-repeat:no-repeat;background-position:center;position:relative;margin-bottom:15px}.acfe-flexible-layout-thumbnail.acfe-flexible-layout-thumbnail-not-found:after{content:"\f180";font-family:dashicons;display:inline-block;line-height:1;font-weight:400;font-style:normal;speak:none;text-decoration:inherit;text-transform:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#ccc;font-size:110px}.acfe-col-2 .acfe-flexible-layout-thumbnail{height:20.5vw}.acfe-col-3 .acfe-flexible-layout-thumbnail{height:13.3vw}.acfe-col-5 .acfe-flexible-layout-thumbnail{height:7.65vw}.acfe-col-6 .acfe-flexible-layout-thumbnail{height:6.2vw}@media only screen and (max-width:960px){.acfe-flex-container .acfe-flexible-layout-thumbnail,.acfe-flexible-layout-thumbnail{height:18.4vw}}@media only screen and (max-width:720px){.acfe-flex-container .acfe-flexible-layout-thumbnail,.acfe-flexible-layout-thumbnail{height:37.2vw}}.acfe-flexible-layout-thumbnail.acfe-flexible-layout-thumbnail-no-modal{display:block;width:230px;height:103px;background-color:#1f2329}.acfe-flexible-layout-thumbnail.acfe-flexible-layout-thumbnail-no-modal.acfe-flexible-layout-thumbnail-not-found:after{color:#2f353e}.acf-field.acf-field-flexible-content[data-acfe-flexible-stylised-button="1"]>.acf-input>.acf-flexible-content:not(.empty)>.values{margin-bottom:15px}.acf-field.acf-field-flexible-content>.acf-input>.acf-flexible-content>.acfe-flexible-stylised-button{padding:40px 20px;border:#ccc dashed 2px;text-align:center}.acf-field.acf-field-flexible-content>.acf-input>.acf-flexible-content>.acfe-flexible-stylised-button>.acf-actions{text-align:center}.acf-field.acf-field-flexible-content>.acf-input>.acf-flexible-content .acf-actions .acf-button .dashicons{width:auto;height:auto;vertical-align:text-top}.acf-field.acf-field-flexible-content[data-acfe-flexible-hide-empty-message="1"]>.acf-input>.acf-flexible-content>.no-value-message{display:none}.acf-field.acf-field-flexible-content[data-acfe-flexible-hide-empty-message="1"]>.acf-input>.acf-flexible-content.-empty>.values{margin-bottom:0}.acf-flexible-content .layout .acf-icon.acfe-flexible-icon.dashicons:before{font-family:dashicons}.acf-flexible-content .layout .acf-icon.acfe-flexible-icon.dashicons{visibility:hidden}.acf-flexible-content .layout:hover>.acf-fc-layout-controls .acf-icon.acfe-flexible-icon.dashicons{visibility:visible}.acf-flexible-content .layout .acf-icon.acfe-flexible-icon.dashicons.dashicons-admin-generic{visibility:visible}.acf-flexible-content .layout .acf-icon.acfe-flexible-icon.dashicons.dashicons-admin-generic:before{margin-left:1px}.acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-duplicate,.acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-minus,.acf-flexible-content .layout.-hover .acf-fc-layout-controls .acf-icon.-plus,.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-duplicate,.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-minus,.acf-flexible-content .layout:hover .acf-fc-layout-controls .acf-icon.-plus{visibility:hidden}.acf-flexible-content .layout.-hover>.acf-fc-layout-controls .acf-icon.-duplicate,.acf-flexible-content .layout.-hover>.acf-fc-layout-controls .acf-icon.-minus,.acf-flexible-content .layout.-hover>.acf-fc-layout-controls .acf-icon.-plus,.acf-flexible-content .layout:hover>.acf-fc-layout-controls .acf-icon.-duplicate,.acf-flexible-content .layout:hover>.acf-fc-layout-controls .acf-icon.-minus,.acf-flexible-content .layout:hover>.acf-fc-layout-controls .acf-icon.-plus{visibility:visible}.acf-flexible-content .layout>.acf-fc-layout-controls .acf-icon.disabled{color:#ccc;cursor:initial}.acf-flexible-content .layout>.acf-fc-layout-controls .acf-icon.disabled:hover{color:#ccc;background:#f5f5f5}.acf-flexible-content[data-acfe-flexible-lock="1"] .layout .acf-fc-layout-handle{cursor:initial}.acf-field-acfe-flexible-layout-title{display:none}input.acfe-flexible-control-title{border:none;box-shadow:none!important;outline:0!important;border-radius:0;border-bottom:1px solid transparent!important;font-weight:600;width:auto!important;padding:0!important;display:none;min-height:20px;vertical-align:unset;background:0 0}.layout>.acf-fc-layout-handle .acfe-layout-title{cursor:text;position:relative}.layout:not(.acfe-flexible-title-edition)>.acf-fc-layout-handle .acfe-layout-title:hover{background:#f4f4f4}.layout.acfe-flexible-title-edition>.acf-fc-layout-handle .acfe-layout-title input.acfe-flexible-control-title{display:inline-block;border-bottom:1px solid #ddd!important}.layout.acfe-flexible-title-edition>.acf-fc-layout-handle .acfe-layout-title .acfe-layout-title-text{display:none}.layout.acfe-flexible-layout-hidden>.acf-fc-layout-controls,.layout.acfe-flexible-layout-hidden>.acf-fc-layout-handle,.layout.acfe-flexible-layout-hidden>.acf-fields,.layout.acfe-flexible-layout-hidden>.acfe-fc-placeholder{opacity:.5}.acf-field-flexible-content[data-acfe-flexible-modal-edition="1"]>.acf-input>.acf-flexible-content>.values>.layout>.acf-fc-layout-controls>a.-collapse{display:none}body.acfe-modal-opened{overflow:hidden}.acfe-modal-overlay{background:rgba(0,0,0,.7);position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:100000}.acfe-modal{display:none;transition:all .3s ease-in-out}.acfe-modal.-open{position:fixed;z-index:100001;height:100%;width:100%;top:0;left:0;bottom:0;right:0;-webkit-font-smoothing:subpixel-antialiased;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none}.acfe-modal.-open>.acfe-modal-wrapper{box-shadow:0 5px 15px rgba(0,0,0,.7);display:flex;flex-direction:column;width:calc(100vw - 60px);max-width:1100px;max-height:calc(100vh - 60px);position:relative}.acfe-modal.-open.acfe-modal-sub>.acfe-modal-wrapper>.acfe-modal-wrapper-overlay{position:absolute;z-index:10;background:rgba(0,0,0,.7);height:100%;width:100%;pointer-events:none}.acfe-modal.-open.-small>.acfe-modal-wrapper{max-width:450px}.acfe-modal.-open.-medium>.acfe-modal-wrapper{max-width:700px}.acfe-modal.-open.-large>.acfe-modal-wrapper{max-width:1100px}.acfe-modal.-open.-xlarge>.acfe-modal-wrapper{max-width:1400px}.acfe-modal.-open.-full>.acfe-modal-wrapper{max-width:100%;flex:1}.acfe-modal.-open.-full>.acfe-modal-wrapper>.acfe-modal-content>.acf-fields.-left{height:100%}.acfe-modal.-open.-full>.acfe-modal-wrapper>.acfe-modal-content>.acf-fields.-left:before{content:"";display:block;position:absolute;z-index:0;background:#f9f9f9;border-color:#e1e1e1;border-style:solid;border-width:0 1px 0 0;top:0;bottom:0;left:0;width:20%}.acfe-modal.-settings.-open.-full>.acfe-modal-wrapper>.acfe-modal-content>.acf-fields,.acfe-modal.-settings.-open.-full>.acfe-modal-wrapper>.acfe-modal-content>.acf-fields>.acf-field-clone,.acfe-modal.-settings.-open.-full>.acfe-modal-wrapper>.acfe-modal-content>.acf-fields>.acf-field-clone>.acf-input,.acfe-modal.-settings.-open.-full>.acfe-modal-wrapper>.acfe-modal-content>.acf-fields>.acf-field-clone>.acf-input>.acf-clone-fields.acf-fields.-left{height:100%}.acfe-modal.-settings.-open.-full>.acfe-modal-wrapper>.acfe-modal-content>.acf-fields>.acf-field-clone{padding:0}.acfe-modal.-settings.-open.-full>.acfe-modal-wrapper>.acfe-modal-content>.acf-fields>.acf-field-clone>.acf-input{margin:0}.acfe-modal.-settings.-open.-full>.acfe-modal-wrapper>.acfe-modal-content>.acf-fields>.acf-field-clone>.acf-input>.acf-clone-fields.acf-fields.-left:before{content:"";display:block;position:absolute;z-index:0;background:#f9f9f9;border-color:#e1e1e1;border-style:solid;border-width:0 1px 0 0;top:0;bottom:0;left:0;width:20%}.acfe-modal.-open .acfe-modal-title *,.acfe-modal.-open>.acfe-modal-title{box-sizing:border-box}.acfe-modal.-open .acfe-modal-title{display:block;height:50px;line-height:50px;font-size:22px;color:#23282d;border-bottom:1px solid #ddd;text-overflow:ellipsis;background:#fcfcfc;padding:0 0 0 16px;position:relative;text-align:left;pointer-events:auto}.acfe-modal.-open.acfe-modal-sub>.acfe-modal-wrapper>.acfe-modal-title{pointer-events:none}.acfe-modal.-open .acfe-modal-title>span.title{line-height:50px;color:#23282d;font-weight:600}.acfe-modal.-open .acfe-modal-title>span.title .acf-fc-layout-order{width:30px;height:30px;border-radius:30px;display:inline-block;text-align:center;line-height:30px;margin:0 2px 0 0;background:#f1f1f1;font-size:14px;color:#666;vertical-align:2px}.acfe-modal.-open .acfe-modal-title>button.close{height:50px;width:50px;color:#666;border:0;border-left:0;margin:0;padding:0;border-radius:0;position:absolute;top:0;right:0;transition:color .1s ease-in-out,background .1s ease-in-out;background:0 0;cursor:pointer;margin:0}.acfe-modal.-open .acfe-modal-title>button.close:hover{color:#00a0d2}.acfe-modal.-open .acfe-modal-title>button.close:before{height:50px;width:50px;line-height:50px!important;font:normal 20px/1 dashicons;content:"\f158";margin:0;padding:0}.acfe-modal.-open .acfe-modal-content{height:100%;background:#fff;display:block;position:relative;pointer-events:auto;overflow:auto}.acfe-modal.-open.-iframe .acfe-modal-content{overflow:hidden}.acfe-modal.-open.acfe-modal-sub>.acfe-modal-wrapper>.acfe-modal-content{pointer-events:none}.acfe-modal.-open .acfe-modal-content .nav-tab-wrapper{padding:0;margin:0;border-bottom:1px solid #ddd}.acfe-modal.-open .acfe-modal-content .nav-tab-wrapper a{margin:0;border-left:0;border-top:0;border-bottom:0;background:#fff;transition:color .1s ease-in-out,background .1s ease-in-out;padding:7px 15px;border-color:#ddd}.acfe-modal.-open .acfe-modal-content .nav-tab-wrapper a span.dashicons-menu{line-height:27px}.acfe-modal.-open>.acfe-modal-content .nav-tab-wrapper a:hover{background:#f9f9f9;color:#23282d}.acfe-modal.-open .acfe-modal-content .nav-tab-wrapper a.nav-tab-active,.acfe-modal.-open .acfe-modal-content .nav-tab-wrapper a.nav-tab-active:hover{background:#fcfcfc;color:#23282d}.acfe-modal.-open .acfe-modal-content .nav-tab:focus,.acfe-modal.-open .acfe-modal-content .nav-tab:focus:active{border-bottom:0;box-shadow:none;outline:0}.acfe-modal.-open .acfe-modal-content .acfe-flex-container,.acfe-modal.-open .acfe-modal-content .acfe-flex-container *{box-sizing:border-box}.acfe-modal.-open .acfe-modal-content .acfe-flex-container{width:100%;padding:14px;margin-right:auto;margin-left:auto}.acfe-modal.-open .acfe-modal-content .acfe-flexible-categories~.acfe-flex-container{overflow:auto;height:calc(100% - 39px)}.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul{margin:0;margin-right:-7px;margin-left:-7px;display:flex;flex-wrap:wrap}.acfe-modal.-open>.acfe-modal-content .acfe-flex-container ul:after{content:"";clear:both;display:table}.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li{position:relative;width:100%;padding-right:7px;padding-left:7px;padding-bottom:14px;margin:0;flex:0 0 25%;max-width:25%}.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a{border:1px solid #ddd;background:#f9f9f9;padding:15px;color:#333;display:block;text-decoration:none}.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a:hover{background:#007cba;color:#fff}body:not(.acf-admin-5-3) .acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a:hover{background:#0073aa}.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a span{display:block;font-size:16px;text-align:center;font-weight:600}.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a span.no-thumbnail{text-align:left}.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a.disabled{pointer-events:none;opacity:.67}.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a.disabled:hover{cursor:default}.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li a.disabled:focus{box-shadow:none;outline:0}.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-1 ul li{flex:0 0 100%;max-width:100%}.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-2 ul li{flex:0 0 50%;max-width:50%}.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-3 ul li{flex:0 0 33.333333%;max-width:33.333333%}.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-4 ul li{flex:0 0 25%;max-width:25%}.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-5 ul li{flex:0 0 20%;max-width:20%}.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-6 ul li{flex:0 0 16.66%;max-width:16.66%}@media only screen and (max-width:960px){.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li{flex:0 0 50%!important;max-width:50%!important}.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-1 ul li{flex:0 0 100%!important;max-width:100%!important}.acfe-modal.-open .acfe-modal-content ul li a{padding:7px}}@media only screen and (max-width:720px){.acfe-modal.-open .acfe-modal-content .acfe-flex-container ul li{flex:0 0 100%!important;max-width:100%!important}.acfe-modal.-open .acfe-modal-content .acfe-flex-container.acfe-col-1 ul li{flex:0 0 100%!important;max-width:100%!important}}.acfe-modal.-open .acfe-modal-footer,.acfe-modal.-open .acfe-modal-footer *{box-sizing:border-box}.acfe-modal.-open .acfe-modal-footer{display:block;height:50px;line-height:50px;color:#23282d;background:#fcfcfc;padding:0 16px;position:relative;text-align:right;border-top:1px solid #ddd;pointer-events:auto}.acfe-modal.-open.acfe-modal-sub>.acfe-modal-wrapper>.acfe-modal-footer{pointer-events:none}.acfe-modal.-open .acfe-modal-footer>button{vertical-align:baseline}body.block-editor-page .edit-post-layout .acfe-modal.-open{justify-content:start;align-items:start}body.block-editor-page .edit-post-layout .acfe-modal.-open>.acfe-modal-wrapper{margin-top:88px;height:100%;width:100%;max-height:calc(100vh - 88px)}body.block-editor-page .edit-post-layout .acfe-modal.-open>.acfe-modal-wrapper>.acfe-modal-content>.acf-fields.-left{height:100%}body.block-editor-page .edit-post-layout .acfe-modal.-open>.acfe-modal-wrapper>.acfe-modal-content>.acf-fields.-left:before{content:"";display:block;position:absolute;z-index:0;background:#f9f9f9;border-color:#e1e1e1;border-style:solid;border-width:0 1px 0 0;top:0;bottom:0;left:0;width:20%}@media only screen and (max-width:1080px){body.block-editor-page .edit-post-layout .acfe-modal.-open>.acfe-modal-wrapper{margin-top:88px}}body.block-editor-page .edit-post-layout .acfe-modal.-open>.acfe-modal-wrapper{max-width:calc(100vw - 160px);margin-left:160px}body.block-editor-page .edit-post-layout.is-sidebar-opened .acfe-modal.-open>.acfe-modal-wrapper{max-width:calc(100vw - 440px)}body.block-editor-page.folded .edit-post-layout .acfe-modal.-open>.acfe-modal-wrapper{max-width:calc(100vw - 36px);margin-left:36px}@media only screen and (max-width:960px){body.block-editor-page.auto-fold .edit-post-layout .acfe-modal.-open>.acfe-modal-wrapper{max-width:calc(100vw - 36px);margin-left:36px}}@media only screen and (max-width:782px){body.block-editor-page.auto-fold .edit-post-layout .acfe-modal.-open>.acfe-modal-wrapper{max-width:100vw;margin-left:0;margin-top:100px}}body.block-editor-page.folded .edit-post-layout.is-sidebar-opened .acfe-modal.-open>.acfe-modal-wrapper{max-width:calc(100vw - 316px)}@media (min-width:600px){body.block-editor-page.acfe-modal-opened .edit-post-layout__content{overflow-y:hidden}}body.block-editor-page .acfe-modal-overlay{display:none}body.wp-admin.upload-php.acfe-modal-opened>div:not([style*="display: none;"])>.media-modal.wp-core-ui:not(.acf-media-modal):before{content:"";display:block;position:absolute;background:rgba(0,0,0,.7);top:0;left:0;width:100%;height:100%;z-index:10000}.acf-field-repeater[data-acfe-repeater-lock="1"]>.acf-input>.acf-repeater>.acf-table>tbody>.acf-row>.acf-row-handle{cursor:initial}.acf-repeater.-block>table,.acf-repeater.-row>table{border-collapse:separate;border-spacing:0 15px;background:0 0;border:0;margin-top:-15px;margin-bottom:-7px}.acf-repeater.-block>table>*,.acf-repeater.-row>table>*{border-collapse:collapse;border-spacing:0}.acf-repeater.-block>table>tbody>tr>td,.acf-repeater.-row>table>tbody>tr>td{border-top:1px solid #ccd0d4!important;border-bottom:1px solid #ccd0d4!important}.acf-repeater.-block>table>tbody>tr>td:first-of-type,.acf-repeater.-row>table>tbody>tr>td:first-of-type{border-left:1px solid #ccd0d4!important}.acf-repeater.-block>table>tbody>tr>td:last-of-type,.acf-repeater.-row>table>tbody>tr>td:last-of-type{border-right:1px solid #ccd0d4!important}body:not(.acf-admin-5-3) .acf-repeater.-block>table>tbody>tr>td,body:not(.acf-admin-5-3) .acf-repeater.-row>table>tbody>tr>td{border-top:1px solid #e1e1e1;border-bottom:1px solid #e1e1e1}body:not(.acf-admin-5-3) .acf-repeater.-block>table>tbody>tr>td:first-of-type,body:not(.acf-admin-5-3) .acf-repeater.-row>table>tbody>tr>td:first-of-type{border-left:1px solid #e1e1e1}body:not(.acf-admin-5-3) .acf-repeater.-block>table>tbody>tr>td:last-of-type,body:not(.acf-admin-5-3) .acf-repeater.-row>table>tbody>tr>td:last-of-type{border-right:1px solid #e1e1e1}.acf-repeater.-table.-empty>.acf-table{display:none}.acf-field-repeater>.acf-input>.acf-repeater>.acfe-repeater-stylised-button{padding:40px 20px;border:#ccc dashed 2px;text-align:center}.acf-field-repeater>.acf-input>.acf-repeater>.acfe-repeater-stylised-button>.acf-actions{text-align:center}.acf-field-flexible-content>.acf-input>.acf-repeater .acf-actions .acf-button .dashicons{width:auto;height:auto;vertical-align:text-top}
|
assets/acf-extended.min.js
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
function acfe_recaptcha(){var e;e=jQuery,"undefined"!=typeof acf&&e.each(acf.getFields({type:"acfe_recaptcha"}),function(e,t){t.render()})}!function(f){var n,e;function r(){var e=f("#acfe-wp-custom-fields .acfe_dev_meta_count"),t=f("#acfe-acf-custom-fields .acfe_dev_meta_count");e.text(f("#acfe-wp-custom-fields tbody tr").length),t.text(f("#acfe-acf-custom-fields tbody tr").length)}"undefined"!=typeof acf&&(n={},(window.acfe=n).modal={modals:[],open:function(e,t){var a=this;t=acf.parseArgs(t,{title:"",footer:!1,size:!1,destroy:!1,onOpen:!1,onClose:!1}),a.args=t,e.addClass("-open"),t.size&&e.addClass("-"+t.size),e.find("> .acfe-modal-wrapper").length||e.wrapInner('<div class="acfe-modal-wrapper" />'),e.find("> .acfe-modal-wrapper > .acfe-modal-content").length||e.find("> .acfe-modal-wrapper").wrapInner('<div class="acfe-modal-content" />'),e.find("> .acfe-modal-wrapper").prepend('<div class="acfe-modal-wrapper-overlay"></div><div class="acfe-modal-title"><span class="title">'+t.title+'</span><button class="close"></button></div>'),e.find(".acfe-modal-title > .close").click(function(e){e.preventDefault(),a.close(t)}),t.footer&&(e.find("> .acfe-modal-wrapper").append('<div class="acfe-modal-footer"><button class="button button-primary">'+t.footer+"</button></div>"),e.find(".acfe-modal-footer > button").click(function(e){e.preventDefault(),a.close(t)})),n.modal.modals.push(e);var i,o=f("body");return o.hasClass("acfe-modal-opened")||(i=f('<div class="acfe-modal-overlay" />'),o.addClass("acfe-modal-opened").append(i),o.find(".acfe-modal-overlay").click(function(e){e.preventDefault(),a.close(a.args)}),f(window).keydown(function(e){27===e.keyCode&&f("body").hasClass("acfe-modal-opened")&&(e.preventDefault(),a.close(a.args))})),n.modal.multiple(),n.modal.onOpen(e,t),acf.doAction("acfe/modal/open",e,t),e},close:function(e){e=acf.parseArgs(e,{destroy:!1,onClose:!1});var t=n.modal.modals.pop();t.find(".acfe-modal-wrapper-overlay").remove(),t.find(".acfe-modal-title").remove(),t.find(".acfe-modal-footer").remove(),t.removeAttr("style"),t.removeClass("-open"),e.destroy&&t.remove(),n.modal.modals.length||(f(".acfe-modal-overlay").remove(),f("body").removeClass("acfe-modal-opened")),n.modal.multiple(),acf.doAction("acfe/modal/close",t,e),n.modal.onClose(t,e)},multiple:function(){var t=n.modal.modals.length-1;f.each(n.modal.modals,function(e){t!=e?f(this).addClass("acfe-modal-sub").css("margin-left",-500/(e+1)):f(this).removeClass("acfe-modal-sub").css("margin-left","")})},onOpen:function(e,t){t.onOpen&&t.onOpen instanceof Function&&t.onOpen(e)},onClose:function(e,t){t.onClose&&t.onClose instanceof Function&&t.onClose(e)}},n.filters=[],n.disableFilters=function(){n.filters=[]},n.enableFilter=function(e){-1===n.filters.indexOf(e)&&n.filters.push(e)},n.disableFilter=function(e){for(var t=n.filters.length;t--;)n.filters[t]===e&&n.filters.splice(t,1)},n.isFilterEnabled=function(e){return-1<n.filters.indexOf(e)},n.getFilters=function(){return n.filters},acf.addAction("ready_field",function(e){var t,a,i;e.has("acfeInstructionsTooltip")&&(t=e.$labelWrap().find("> label"),i=(a=e.$labelWrap().find("> .description")).html(),e=e.get("acfeInstructionsTooltip"),a.length&&(a.remove(),e=i),t.before('<span class="acfe-field-tooltip acf-js-tooltip dashicons dashicons-info" title="'+_.escape(e)+'"></span>'))}),acf.addAction("new_field/name=acfe_form_updated_message",e=function(e){var t=e.$el.find("> .acf-label > .description");e.$el.find("> .acf-input").append(t)}),acf.addAction("new_field/name=acfe_form_return",e),acf.addAction("new_field/name=acfe_form_custom_alias",e),acf.addAction("new_field/name=acfe_form_custom_query_var",e),acf.addAction("new_field/name=acfe_form_email_content",e),acf.addAction("new_field/name=acfe_form_post_save_target",e),acf.addAction("new_field/name=acfe_form_post_load_source",e),acf.addAction("new_field/name=acfe_form_term_save_target",e),acf.addAction("new_field/name=acfe_form_term_load_source",e),acf.addAction("new_field/name=acfe_form_user_save_target",e),acf.addAction("new_field/name=acfe_form_user_load_source",e),acf.addAction("new_field/name=acfe_form_email_files",function(e){e.$el.find("> .acf-input > .acf-repeater > .acf-actions > .acf-button").removeClass("button-primary")}),acf.addAction("new_field/name=acfe_form_email_files_static",function(e){e.$el.find("> .acf-input > .acf-repeater > .acf-actions > .acf-button").removeClass("button-primary")}),acf.addAction("prepare",function(){var n=f("#acfe-acf-custom-fields"),c=f("#acfe-wp-custom-fields"),l=f(".acfe_dev_bulk_actions");f("#acfe-wp-custom-fields .tablenav.bottom").insertAfter(c),f("#acfe-acf-custom-fields .tablenav.bottom").insertAfter(n),n.is(":visible")||c.is(":visible")||l.hide(),f("#acfe_bulk_deleta_meta_submit").click(function(e){e.preventDefault();var t,a,i=f(this),o=i.prevAll(".acfe_bulk_delete_meta_action").val(),e=i.prevAll(".acfe_bulk_delete_meta_type").val(),i=i.prevAll(".acfe_bulk_delete_meta_nonce").val();"delete"===o&&(t=[],a=[],f("#acfe-wp-custom-fields input.acfe_bulk_delete_meta:checked").each(function(){t.push(f(this).val()),a.push(f(this).closest("tr"))}),f("#acfe-acf-custom-fields input.acfe_bulk_delete_meta:checked").each(function(){t.push(f(this).val()),a.push(f(this).closest("tr"))}),t.length&&(i={action:"acfe/bulk_delete_meta",ids:t,type:e,_wpnonce:i},f.ajax({url:acf.get("ajaxurl"),data:i,type:"post",beforeSend:function(){f.each(a,function(){f(this).css({backgroundColor:"#faafaa"}).fadeOut(350,function(){f(this).remove()})}),setTimeout(function(){f("#acfe-wp-custom-fields tbody tr").length||c.remove(),f("#acfe-acf-custom-fields tbody tr").length||n.remove(),f("#acfe-wp-custom-fields tbody tr").length||f("#acfe-acf-custom-fields tbody tr").length||l.remove(),r()},351)},success:function(e){}})))}),f(".acfe_delete_meta").click(function(e){e.preventDefault();var t=f(this),a=t.closest("tr"),i=t.closest("tbody"),o=t.closest(".postbox"),e={action:"acfe/delete_meta",id:t.attr("data-meta-id"),key:t.attr("data-meta-key"),type:t.attr("data-type"),_wpnonce:t.attr("data-nonce")};f.ajax({url:acf.get("ajaxurl"),data:e,type:"post",beforeSend:function(){t.closest("tr").css({backgroundColor:"#faafaa"}).fadeOut(350,function(){f(this).remove()}),setTimeout(function(){i.find("tr").length||o.remove(),f("#acfe-wp-custom-fields tbody tr").length||f("#acfe-acf-custom-fields tbody tr").length||l.remove(),r()},351)},success:function(e){"1"!==e&&(a.css({backgroundColor:""}),a.show())}})}),f(".hide-postbox-tog").bind("click.postboxes",function(){var e=f(this),t=e.val();"acfe-wp-custom-fields"!==t&&"acfe-acf-custom-fields"!==t||(e.prop("checked")?l.is(":visible")||l.show():("acfe-wp-custom-fields"===t&&!n.is(":visible")||"acfe-acf-custom-fields"===t&&!c.is(":visible"))&&l.hide())})}))}(jQuery),function(c){var e;"undefined"!=typeof acf&&((e=acf.getFieldType("flexible_content").prototype).addSortable=function(a){1!=this.get("max")&&this.$layoutsWrap().sortable({items:" > .layout",handle:"> .acf-fc-layout-handle",forceHelperSize:!1,forcePlaceholderSize:!0,tolerance:"pointer",scroll:!0,stop:function(e,t){a.render()},update:function(e,t){a.$input().trigger("change")}})},e.acfeOneClick=function(e,t){var a=this.$clones(),i=c(a[0]).data("layout"),a=null;t.hasClass("acf-icon")&&(a=t.closest(".layout"));this.add({layout:i,before:a});c(".acf-fc-popup").length&&c(".acf-fc-popup").hide()},e.acfeLayoutInit=function(t){var e,a,i=this,o=(t.find("> .acf-fc-layout-controls"),t.find("> .acf-fc-layout-handle"),t.find("> .acfe-fc-placeholder"));o.removeClass("acf-hidden"),i.has("acfeFlexibleModalEdition")||i.isLayoutClosed(t)||o.addClass("acf-hidden"),i.isLayoutClosed(t)&&i.has("acfeFlexiblePreview")&&!o.hasClass("-loading")&&(o.addClass("acfe-fc-preview -loading").find("> .acfe-flexible-placeholder").prepend('<span class="spinner"></span>'),o.find("> .acfe-fc-overlay").addClass("-hover"),e=t.children("input").attr("name").replace("[acf_fc_layout]",""),a={action:"acfe/flexible/layout_preview",field_key:i.get("key"),i:t.index(),layout:t.data("layout"),value:acf.serialize(t,e)},acf.doAction("acfe/fields/flexible_content/before_preview",i.$el,t,a),acf.doAction("acfe/fields/flexible_content/before_preview/name="+i.get("name"),i.$el,t,a),acf.doAction("acfe/fields/flexible_content/before_preview/key="+i.get("key"),i.$el,t,a),acf.doAction("acfe/fields/flexible_content/before_preview/name="+i.get("name")+"&layout="+t.data("layout"),i.$el,t,a),acf.doAction("acfe/fields/flexible_content/before_preview/key="+i.get("key")+"&layout="+t.data("layout"),i.$el,t,a),c.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(a),dataType:"html",type:"post",success:function(e){e?o.find("> .acfe-flexible-placeholder").html(e):o.removeClass("acfe-fc-preview"),acf.doAction("acfe/fields/flexible_content/preview",e,i.$el,t,a),acf.doAction("acfe/fields/flexible_content/preview/name="+i.get("name"),e,i.$el,t,a),acf.doAction("acfe/fields/flexible_content/preview/key="+i.get("key"),e,i.$el,t,a),acf.doAction("acfe/fields/flexible_content/preview/name="+i.get("name")+"&layout="+t.data("layout"),e,i.$el,t,a),acf.doAction("acfe/fields/flexible_content/preview/key="+i.get("key")+"&layout="+t.data("layout"),e,i.$el,t,a)},complete:function(){o.find("> .acfe-fc-overlay").removeClass("-hover"),o.removeClass("-loading").find("> .acfe-flexible-placeholder > .spinner").remove()}}))},acf.getFieldType("wysiwyg").prototype.initialize=function(){this.has("id")||this.$control().hasClass("delay")||this.initializeEditor()},acf.addAction("show_field/type=wysiwyg",e=function(e){var t;e.has("id")||!e.$el.is(":visible")||acfe.isFilterEnabled("acfeForceOpen")||(t=e.$control()).hasClass("delay")&&(t.removeClass("delay"),t.find(".acf-editor-toolbar").remove(),e.initializeEditor())}),acf.addAction("ready_field/type=wysiwyg",e),acf.addAction("new_field/type=flexible_content",function(a){var e=a.$clones(),t=a.$layouts();c.merge(t,e);t.each(function(){var e=c(this),t=e.data("layout");acf.doAction("acfe/flexible/layouts",e,a),acf.doAction("acfe/flexible/layout/name="+t,e,a)}),1===e.length&&(a.removeEvents({'click [data-name="add-layout"]':"onClickAdd"}),a.addEvents({'click [data-name="add-layout"]':"acfeOneClick"})),a.addEvents({"click .acfe-fc-placeholder":"onClickCollapse"}),a.addEvents({"click .acfe-flexible-opened-actions > a":"onClickCollapse"}),a.has("acfeFlexibleAjax")&&(a.add=function(o){var n=this;if(o=acf.parseArgs(o,{layout:"",before:!1}),!this.allowAdd())return!1;c.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax({action:"acfe/flexible/models",field_key:this.get("key"),layout:o.layout}),dataType:"html",type:"post",beforeSend:function(){c("body").addClass("-loading")},success:function(e){if(e){var t=c(e),a=acf.uniqid(),i="acf["+n.get("key")+"][acfcloneindex]",e=n.$control().find("> input[type=hidden]").attr("name")+"["+a+"]",e=acf.duplicate({target:t,search:i,replace:e,append:n.proxy(function(e,t){o.before?o.before.before(t):n.$layoutsWrap().append(t),acf.enable(t,n.cid),n.render()})});return e.attr("data-id",a),n.$input().trigger("change"),e}},complete:function(){c("body").removeClass("-loading")}})})}),acf.addAction("acfe/flexible/layouts",function(e,t){t.isLayoutClosed(e)&&(e.find("> .acfe-fc-placeholder").removeClass("acf-hidden"),t.has("acfeFlexibleOpen")&&(acfe.enableFilter("acfeForceOpen"),t.openLayout(e),acfe.disableFilter("acfeForceOpen")))}),acf.addAction("show",function(e,t){"collapse"===t&&e.is(".layout")&&(acf.getInstance(e.closest(".acf-field-flexible-content")).has("acfeFlexibleModalEdition")||e.find("> .acfe-fc-placeholder").addClass("acf-hidden"))}),acf.addAction("hide",function(e,t){"collapse"===t&&e.is(".layout")&&!e.is(".acf-clone")&&((t=acf.getInstance(e.closest(".acf-field-flexible-content"))).has("acfeFlexibleRemoveAjaxTitle")&&(t.renderLayout=function(e){}),t.acfeLayoutInit(e))}),acf.addAction("append",function(e){var t;e.is(".layout")&&(t=acf.getInstance(e.closest(".acf-field-flexible-content")),e.is(".acfe-layout-duplicated")||(t.has("acfeFlexibleModalEdition")?e.find('> [data-action="acfe-flexible-modal-edit"]:first').trigger("click"):t.openLayout(e)),t.acfeLayoutInit(e),(t=t.$el.closest(".acfe-modal.-open")).length?t.find("> .acfe-modal-wrapper > .acfe-modal-content").animate({scrollTop:parseInt(e.offset().top)-200},200):parseFloat(acf.get("acf_version"))<5.9&&c("html, body").animate({scrollTop:parseInt(e.offset().top)-200},200))}),acf.addAction("invalid_field",function(e){e.$el.parents(".layout").addClass("acfe-flexible-modal-edit-error")}),acf.addAction("valid_field",function(e){e.$el.parents(".layout").each(function(){var e=c(this);e.find(".acf-error").length||e.removeClass("acfe-flexible-modal-edit-error")})}))}(jQuery),function(f){var o;"undefined"!=typeof acf&&((o=acf.getFieldType("flexible_content").prototype).events["click .acf-fc-layout-handle"]="acfeEditLayoutTitleToggleHandle",o.acfeEditLayoutTitleToggleHandle=function(e,t){!this.has("acfeFlexibleTitleEdition")||(t=t.closest(".layout")).hasClass("acfe-flexible-title-edition")&&t.find("> .acf-fc-layout-handle > .acfe-layout-title > input.acfe-flexible-control-title").trigger("blur")},o.events["click .acfe-layout-title-text"]="acfeEditLayoutTitle",o.acfeEditLayoutTitle=function(e,t){this.has("acfeFlexibleTitleEdition")&&(e.stopPropagation(),this.acfeEditLayoutTitleToggle(e,t))},o.events["blur input.acfe-flexible-control-title"]="acfeEditLayoutTitleToggle",o.acfeEditLayoutTitleToggle=function(e,t){var a,i=t.closest(".layout"),o=i.find("> .acf-fc-layout-handle"),t=o.find(".acfe-layout-title");i.hasClass("acfe-flexible-title-edition")?(""===(a=t.find("> input[data-acfe-flexible-control-title-input]")).val()&&a.val(a.attr("placeholder")).trigger("input"),i.removeClass("acfe-flexible-title-edition"),a.insertAfter(o)):(a=(a=i.find("> input[data-acfe-flexible-control-title-input]")).appendTo(t),i.addClass("acfe-flexible-title-edition"),a.focus().attr("size",a.val().length))},o.events["click input.acfe-flexible-control-title"]="acfeEditLayoutTitlePropagation",o.acfeEditLayoutTitlePropagation=function(e,t){e.stopPropagation()},o.events["input [data-acfe-flexible-control-title-input]"]="acfeEditLayoutTitleInput",o.acfeEditLayoutTitleInput=function(e,t){var a=t.closest(".layout").find("> .acf-fc-layout-handle .acfe-layout-title .acfe-layout-title-text"),i=t.val();t.attr("size",i.length),a.html(i)},o.events["keypress [data-acfe-flexible-control-title-input]"]="acfeEditLayoutTitleInputEnter",o.acfeEditLayoutTitleInputEnter=function(e,t){13===e.keyCode&&(e.preventDefault(),t.blur())},o.events["click [data-acfe-flexible-settings]"]="acfeLayoutSettings",o.acfeLayoutSettings=function(e,t){var a=this,i=t.closest(".layout"),o=i.find("> .acfe-modal.-settings"),n=i.find("> .acf-fc-layout-handle"),t=n.find("> .acf-fc-layout-order").outerHTML(),n=n.find(".acfe-layout-title-text").text();acfe.modal.open(o,{title:t+" "+n,footer:acf.__("Close"),onOpen:function(){},onClose:function(){a.has("acfeFlexiblePreview")&&a.closeLayout(i)}})},o.events["click [data-acfe-flexible-control-toggle]"]="acfeLayoutToggle",o.acfeLayoutToggle=function(e,t){var a=t.closest(".layout"),t=a.find("> .acfe-flexible-layout-toggle");t.length&&("1"===t.val()?(a.removeClass("acfe-flexible-layout-hidden"),t.val("")):(a.addClass("acfe-flexible-layout-hidden"),t.val("1")))},acf.addAction("acfe/flexible/layouts",function(e,t){!t.has("acfeFlexibleToggle")||(t=e.find("> .acfe-flexible-layout-toggle")).length&&("1"===t.val()?e.addClass("acfe-flexible-layout-hidden"):e.removeClass("acfe-flexible-layout-hidden"))}),o.events["click [data-acfe-flexible-control-clone]"]="acfeCloneLayout",o.acfeCloneLayout=function(e,t){var a,i=this,o=t.closest(".layout"),n=o.data("layout"),c=f(i.$popup().html()),l=i.$layouts(),c=c.find('[data-layout="'+n+'"]'),c=(c.data("min"),c.data("max")||0),n=(a=n,l.filter(function(){return f(this).data("layout")===a}).length);if(c&&c<=n)return t.addClass("disabled"),!1;t.removeClass("disabled"),i.acfeFixInputs(o);n=o.clone();i.acfeCleanLayouts(n);t=t.closest(".acf-flexible-content").find("> input[type=hidden]").attr("name"),i.acfeDuplicate({layout:n,before:o,parent:t})},o.events["click [data-acfe-flexible-control-copy]"]="acfeCopyLayout",o.acfeCopyLayout=function(e,t){var a=t.closest(".layout").clone(),t=this.$control().find("> input[type=hidden]").attr("name");this.acfeFixInputs(a),this.acfeCleanLayouts(a);t=JSON.stringify({source:t,layouts:a[0].outerHTML}),a=f('<input type="text" style="clip:rect(0,0,0,0);clip-path:rect(0,0,0,0);position:absolute;" value="" />').appendTo(f("body"));a.attr("value",t).select(),document.execCommand("copy")?alert("Layout has been transferred to your clipboard"):prompt("Copy the following layout data to your clipboard",t),a.remove()},o.acfeCopyLayouts=function(){var e=this,t=e.$layoutsWrap().clone(),a=e.$control().find("> input[type=hidden]").attr("name");e.acfeFixInputs(t),e.acfeCleanLayouts(t);t=JSON.stringify({source:a,layouts:t.html()}),e=f('<input type="text" style="clip:rect(0,0,0,0);clip-path:rect(0,0,0,0);position:absolute;" value="" />').appendTo(e.$el);e.attr("value",t).select(),document.execCommand("copy")?alert("Layouts have been transferred to your clipboard"):prompt("Copy the following layouts data to your clipboard",t),e.remove()},o.acfePasteLayouts=function(){var o=this,e=prompt("Paste layouts data in the following field");if(null!=e&&""!==e)try{var t=JSON.parse(e),i=t.source,t=f(t.layouts).closest("[data-layout]");if(!t.length)return alert("No layouts data available");var n=f(o.$popup().html()),c=o.$layouts(),l=[];if(t.each(function(){var e,t=f(this),a=t.data("layout"),i=n.find('[data-layout="'+a+'"]'),i=(i.data("min"),i.data("max")||0),a=(e=a,c.filter(function(){return f(this).data("layout")===e}).length);i&&i<=a||o.$clone(t.attr("data-layout")).length&&l.push(t)}),!l.length)return alert("No layouts could be pasted");f.each(l,function(){var e=f(this),t=i+"["+e.attr("data-id")+"]",a=o.$control().find("> input[type=hidden]").attr("name");o.acfeDuplicate({layout:e,before:!1,search:t,parent:a})})}catch(e){console.log(e),alert("Invalid data")}},o.events['click [data-name="acfe-flexible-control-button"]']="acfeControl",o.acfeControl=function(e,t){var a=this,i=t.next(".tmpl-acfe-flexible-control-popup").html();new(acf.models.TooltipConfirm.extend({render:function(){this.html(this.get("text")),this.$el.addClass("acf-fc-popup")}}))({target:t,targetConfirm:!1,text:i,context:a,confirm:function(e,t){"paste"===t.attr("data-acfe-flexible-control-action")?a.acfePasteLayouts():"copy"===t.attr("data-acfe-flexible-control-action")&&a.acfeCopyLayouts()}}).on("click","a","onConfirm")},o.acfeDuplicate=function(a){if(a=acf.parseArgs(a,{layout:"",before:!1,parent:!1,search:"",replace:""}),!this.allowAdd())return!1;var i=acf.uniqid();a.parent&&(a.search||(a.search=a.parent+"["+a.layout.attr("data-id")+"]"),a.replace=a.parent+"["+i+"]");var e,t={target:a.layout,search:a.search,replace:a.replace,append:this.proxy(function(e,t){t.addClass("acfe-layout-duplicated"),t.attr("data-id",i),a.before?a.before.after(t):this.$layoutsWrap().append(t),acf.enable(t,this.cid),this.render()})};e=parseFloat(acf.get("acf_version"))<5.9?acf.duplicate(t):o.acfeNewAcfDuplicate(t),this.$input().trigger("change");t=acf.getFields({type:"tab",parent:e});return t.length&&f.each(t,function(){this.$el.hasClass("acf-hidden")&&this.tab.$el.addClass("acf-hidden")}),e},o.acfeNewAcfDuplicate=function(e){e instanceof jQuery&&(e={target:e}),(e=acf.parseArgs(e,{target:!1,search:"",replace:"",rename:!0,before:function(e){},after:function(e,t){},append:function(e,t){e.after(t)}})).target=e.target||e.$el;var t=e.target;e.search=e.search||t.attr("data-id"),e.replace=e.replace||acf.uniqid(),e.before(t),acf.doAction("before_duplicate",t);var a=t.clone();return e.rename&&acf.rename({target:a,search:e.search,replace:e.replace,replacer:"function"==typeof e.rename?e.rename:null}),a.removeClass("acf-clone"),a.find(".ui-sortable").removeClass("ui-sortable"),e.after(t,a),acf.doAction("after_duplicate",t,a),e.append(t,a),acf.doAction("append",a),a},o.acfeFixInputs=function(e){e.find("input").each(function(){f(this).attr("value",this.value)}),e.find("textarea").each(function(){f(this).html(this.value)}),e.find("input:radio,input:checkbox").each(function(){this.checked?f(this).attr("checked","checked"):f(this).attr("checked",!1)}),e.find("option").each(function(){this.selected?f(this).attr("selected","selected"):f(this).attr("selected",!1)})},o.acfeCleanLayouts=function(e){e.find(".acf-editor-wrap").each(function(){var e=f(this);e.find(".wp-editor-container div").remove(),e.find(".wp-editor-container textarea").css("display","")}),e.find(".acf-date-picker").each(function(){f(this).find("input.input").removeClass("hasDatepicker").removeAttr("id")}),e.find(".acf-time-picker").each(function(){f(this).find("input.input").removeClass("hasDatepicker").removeAttr("id")}),e.find(".acf-date-time-picker").each(function(){f(this).find("input.input").removeClass("hasDatepicker").removeAttr("id")}),e.find(".acfe-field-code-editor").each(function(){f(this).find(".CodeMirror").remove()}),e.find(".acf-color-picker").each(function(){var e=f(this),t=e.find("> input"),a=e.find(".wp-picker-container input.wp-color-picker").clone();t.after(a),e.find(".wp-picker-container").remove()}),e.find(".acf-field-post-object").each(function(){var e=f(this);e.find("> .acf-input span").remove(),e.find("> .acf-input select").removeAttr("tabindex aria-hidden").removeClass()}),e.find(".acf-field-page-link").each(function(){var e=f(this);e.find("> .acf-input span").remove(),e.find("> .acf-input select").removeAttr("tabindex aria-hidden").removeClass()}),e.find(".acf-field-select").each(function(){var e=f(this);e.find("> .acf-input span").remove(),e.find("> .acf-input select").removeAttr("tabindex aria-hidden").removeClass()}),e.find(".acf-field-font-awesome").each(function(){var e=f(this);e.find("> .acf-input span").remove(),e.find("> .acf-input select").removeAttr("tabindex aria-hidden")}),e.find(".acf-tab-wrap").each(function(){var e=f(this),t=e.closest(".acf-fields"),a=[];f.each(e.find("li a"),function(){a.push(f(this))}),t.find("> .acf-field-tab").each(function(){$current_tab=f(this),f.each(a,function(){var e=f(this);e.attr("data-key")===$current_tab.attr("data-key")&&$current_tab.find("> .acf-input").append(e)})}),e.remove()}),e.find(".acf-field-accordion").each(function(){var e=f(this);e.find("> .acf-accordion-title > .acf-accordion-icon").remove(),e.after('<div class="acf-field acf-field-accordion" data-type="accordion"><div class="acf-input"><div class="acf-fields" data-endpoint="1"></div></div></div>')})},acf.addAction("new_field/type=flexible_content",function(e){e.has("acfeFlexibleLock")&&e.removeEvents({mouseover:"onHover"})}))}(jQuery),function(f){"undefined"!=typeof acf&&(acf.getFieldType("flexible_content").prototype.acfeModalSelect=function(e,t){var a=this;if(!a.validateAdd())return!1;var i=null;t.hasClass("acf-icon")&&(i=t.closest(".layout"));var o=a.getPopupHTML(),n={array:[],html:""};f(o).find("li a span").each(function(){var e=f(this);if(!e.data("acfe-flexible-category"))return!0;e=e.data("acfe-flexible-category");f.each(e,function(e,t){return-1!==function(e,t){for(var a=t.length,i=e.toString().toLowerCase(),o=0;o<a;o++)if(t[o].toLowerCase()===i)return o;return-1}(t,n.array)||void n.array.push(t)})}),n.array.length&&(n.array.sort(),n.html+='<h2 class="acfe-flexible-categories nav-tab-wrapper">',n.html+='<a href="#" data-acfe-flexible-category="acfe-all" class="nav-tab nav-tab-active"><span class="dashicons dashicons-menu"></span></a>',f(n.array).each(function(e,t){n.html+='<a href="#" data-acfe-flexible-category="'+t+'" class="nav-tab">'+t+"</a>"}),n.html+="</h2>");t="Add Row";a.has("acfeFlexibleModalTitle")&&(t=a.get("acfeFlexibleModalTitle"));var c=f('<div class="acfe-modal">'+n.html+'<div class="acfe-flex-container">'+o+"</div></div>").appendTo("body"),c=acfe.modal.open(c,{title:t,size:"full",destroy:!0});a.has("acfeFlexibleModalCol")&&c.find(".acfe-modal-content .acfe-flex-container").addClass("acfe-col-"+a.get("acfeFlexibleModalCol")),c.find("li:first-of-type a").blur();var l=a.$layouts();c.find("a[data-layout]").each(function(){var e,t,a=f(this),i=a.data("min")||0,o=a.data("max")||0,n=a.data("layout")||"",c=(e=n,l.filter(function(){return f(this).data("layout")===e}).length);o&&o<=c?a.addClass("disabled"):i&&c<i&&(t=i-c,o=acf.__("{required} {label} {identifier} required (min {min})"),c=acf._n("layout","layouts",t),o=(o=(o=(o=o.replace("{required}",t)).replace("{label}",n)).replace("{identifier}",c)).replace("{min}",i),a.append('<span class="badge" title="'+o+'">'+t+"</span>"))}),c.find(".acfe-flexible-categories a").click(function(e){e.preventDefault();e=f(this);e.closest(".acfe-flexible-categories").find("a").removeClass("nav-tab-active"),e.addClass("nav-tab-active");var i=e.data("acfe-flexible-category");c.find("a[data-layout] span").each(function(){var a=f(this);a.closest("li").show();var e=a.data("acfe-flexible-category");"acfe-all"!==i&&(a.closest("li").hide(),f.each(e,function(e,t){if(i.toLowerCase()===t.toLowerCase())return a.closest("li").show(),!1}))})}),c.on("click","a[data-layout]",function(e){e.preventDefault(),acfe.modal.close(!0);a.add({layout:f(this).data("layout"),before:i})})},acf.addAction("new_field/type=flexible_content",function(e){e.has("acfeFlexibleModal")&&(e.$clones().length<=1||(e.removeEvents({'click [data-name="add-layout"]':"onClickAdd"}),e.addEvents({'click [data-name="add-layout"]':"acfeModalSelect"})))}))}(jQuery),function(){var e;"undefined"!=typeof acf&&((e=acf.getFieldType("flexible_content").prototype).events['click [data-action="acfe-flexible-modal-edit"]']="acfeModalEdit",e.acfeModalEdit=function(e,t){var a=this,i=t.closest(".layout"),o=i.find("> .acfe-modal.-fields"),n=i.find("> .acf-fc-layout-handle"),c=n.find("> .acf-fc-layout-order").outerHTML(),t=n.find(".acfe-layout-title-text").text(),n=!1;a.has("acfeFlexibleCloseButton")&&(n=acf.__("Close")),acfe.modal.open(o,{title:c+" "+t,footer:n,onOpen:function(){a.openLayout(i)},onClose:function(){a.closeLayout(i)}})},acf.addAction("new_field/type=flexible_content",function(e){e.has("acfeFlexibleModalEdition")&&(e.has("acfeFlexiblePlaceholder")||e.has("acfeFlexiblePreview"))&&(e.removeEvents({'click [data-name="collapse-layout"]':"onClickCollapse"}),e.removeEvents({"click .acfe-fc-placeholder":"onClickCollapse"}))}))}(jQuery),function(l){var e;"undefined"!=typeof acf&&(e=acf.Field.extend({type:"acfe_recaptcha",actions:{validation_failure:"validationFailure"},$control:function(){return this.$(".acfe-field-recaptcha")},$input:function(){return this.$('input[type="hidden"]')},$selector:function(){return this.$control().find("> div")},selector:function(){return this.$selector()[0]},version:function(){return this.get("version")},render:function(){var t=this;"v2"===this.version()?this.recaptcha=grecaptcha.render(t.selector(),{sitekey:t.$control().data("site-key"),theme:t.$control().data("theme"),size:t.$control().data("size"),callback:function(e){t.$input().val(e).change(),t.$input().closest(".acf-input").find("> .acf-notice.-error").hide()},"error-callback":function(){t.$input().val("error").change()},"expired-callback":function(){t.$input().val("expired").change()}}):"v3"===this.version()&&grecaptcha.ready(function(){grecaptcha.execute(t.$control().data("site-key"),{action:"homepage"}).then(function(e){t.$input().val(e).change(),t.$input().closest(".acf-input").find("> .acf-notice.-error").hide()})})},validationFailure:function(e){"v2"===this.version()&&grecaptcha.reset(this.recaptcha)}}),acf.registerFieldType(e),e=acf.Field.extend({wait:"ready",type:"acfe_code_editor",events:{showField:"onShow"},$control:function(){return this.$el.find("> .acf-input > .acf-input-wrap")},$input:function(){return this.$el.find("> .acf-input > .acf-input-wrap > textarea")},input:function(){return this.$input()[0]},rows:function(){return this.$input().attr("rows")},initialize:function(){this.rows=this.$control().data("rows"),this.max_rows=this.$control().data("max-rows"),this.mode=this.$control().data("mode"),this.lines=this.$control().data("lines"),this.indentUnit=this.$control().data("indent-unit");var e=[],t=wp.codeEditor.defaultSettings.codemirror,a={lineNumbers:this.lines,lineWrapping:!0,styleActiveLine:!1,continueComments:!0,indentUnit:this.indentUnit,tabSize:1,indentWithTabs:!0,mode:this.mode,extraKeys:{Tab:function(e){e.execCommand("indentMore")},"Shift-Tab":function(e){e.execCommand("indentLess")}}},a=jQuery.extend(t,a);e.codemirror=a,this.editor=wp.codeEditor.initialize(this.input(),e),(this.rows||this.max_rows)&&(this.rows&&(this.editor.codemirror.getScrollerElement().style.minHeight=18.5*this.rows+"px"),this.max_rows&&(this.editor.codemirror.getScrollerElement().style.maxHeight=18.5*this.max_rows+"px"),this.editor.codemirror.refresh()),(field=this).editor.codemirror.on("change",function(){field.editor.codemirror.save(),field.$input().change()})},onShow:function(){this.editor.codemirror&&this.editor.codemirror.refresh()}}),acf.registerFieldType(e),acf.registerConditionForFieldType("equalTo","acfe_code_editor"),acf.registerConditionForFieldType("notEqualTo","acfe_code_editor"),acf.registerConditionForFieldType("patternMatch","acfe_code_editor"),acf.registerConditionForFieldType("contains","acfe_code_editor"),acf.registerConditionForFieldType("hasValue","acfe_code_editor"),acf.registerConditionForFieldType("hasNoValue","acfe_code_editor"),acf.addAction("append_field_object",function(e){"acfe_code_editor"===e.get("type")&&(e.$setting("default_value").find("> .acf-input > .acf-input-wrap > .CodeMirror:last").remove(),e.$setting("placeholder").find("> .acf-input > .acf-input-wrap > .CodeMirror:last").remove())}),e=acf.Field.extend({type:"textarea",events:{"keydown textarea":"onInput"},onInput:function(e,t){var a,i;this.has("acfeTextareaCode")&&9===e.keyCode&&(e.preventDefault(),a=this.$el.find("textarea")[0],i=a.selectionStart,this.$el.find("textarea").val(function(e,t){return t.substring(0,i)+" "+t.substring(a.selectionEnd)}),a.selectionEnd=i+4)}}),acf.registerFieldType(e),e=acf.Field.extend({type:"acfe_slug",events:{"input input":"onInput","focusout input":"onFocusOut"},onInput:function(e,t){t.val(t.val().toLowerCase().replace(/\s+/g,"-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-").replace(/\_\_+/g,"_").replace(/^-+/,""))},onFocusOut:function(e,t){t.val(t.val().toLowerCase().replace(/-+$/,"").replace(/_+$/,""))}}),acf.registerFieldType(e),acf.registerConditionForFieldType("equalTo","acfe_slug"),acf.registerConditionForFieldType("notEqualTo","acfe_slug"),acf.registerConditionForFieldType("patternMatch","acfe_slug"),acf.registerConditionForFieldType("contains","acfe_slug"),acf.registerConditionForFieldType("hasValue","acfe_slug"),acf.registerConditionForFieldType("hasNoValue","acfe_slug"),e=acf.Field.extend({type:"acfe_button",events:{"click input":"onClick","click button":"onClick"},$input:function(){return this.$("input").length?this.$("input"):this.$("button").length?this.$("button"):void 0},initialize:function(){var e=this.$input();this.inherit(e)},onClick:function(e,t){var a;this.get("ajax")&&(e.preventDefault(),a={action:"acfe/fields/button",field_name:this.get("name"),field_key:this.get("key")},acf.doAction("acfe/fields/button/before_ajax",this.$el,a),acf.doAction("acfe/fields/button/before",this.$el,a),acf.doAction("acfe/fields/button/before/key="+this.get("key"),this.$el,a),acf.doAction("acfe/fields/button/before/name="+this.get("name"),this.$el,a),l.ajax({url:acf.get("ajaxurl"),data:acf.prepareForAjax(a),type:"post",dataType:"json",context:this,success:function(e){acf.doAction("acfe/fields/button/ajax_success",e,this.$el,a),acf.doAction("acfe/fields/button/success",e,this.$el,a),acf.doAction("acfe/fields/button/success/key="+this.get("key"),e,this.$el,a),acf.doAction("acfe/fields/button/success/name="+this.get("name"),e,this.$el,a)},complete:function(e){e=e.responseText;acf.doAction("acfe/fields/button/complete",e,this.$el,a),acf.doAction("acfe/fields/button/complete/key="+this.get("key"),e,this.$el,a),acf.doAction("acfe/fields/button/complete/name="+this.get("name"),e,this.$el,a)}}))}}),acf.registerFieldType(e),e=acf.Field.extend({type:"acfe_advanced_link",events:{'click a[data-name="add"]':"onClickEdit",'click a[data-name="edit"]':"onClickEdit",'click a[data-name="remove"]':"onClickRemove"},$control:function(){return this.$(".acf-link")},initialize:function(){},getValue:function(){var e={type:this.$(".input-type :checked").val(),title:this.$(".input-title").val(),url:this.$(".input-url").val(),post:this.$(".input-post :selected").text(),term:this.$(".input-term :selected").text(),target:this.$(".input-target").is(":checked")};return"post"===e.type?e.url=e.post:"term"===e.type&&(e.url=e.term),e},setValue:function(e){e=acf.parseArgs(e,{remove:!1,title:"",url:"",target:!1});var t=this.$control();t.removeClass("-value -external"),e.url&&t.addClass("-value"),e.target&&t.addClass("-external"),this.$(".link-title").html(e.title),this.$(".link-url").attr("href",e.url).html(e.url),e.remove&&(this.$(".input-type :checked").prop("checked",!1),this.$('.input-type [value="url"]').prop("checked",!0).trigger("change"),this.$(".input-title").val(""),this.$(".input-target").prop("checked",!1),this.$(".input-url").val("").trigger("change"),this.$(".input-post").val("").trigger("change"),this.$(".input-term").val("").trigger("change"))},onClickEdit:function(e,t){var a=t.closest(".acf-input").find(".acfe-modal"),t=a.attr("data-modal-title"),i=this;acfe.modal.open(a,{title:t,size:"medium",footer:acf.__("Close"),onClose:function(){i.onChange()}})},onClickRemove:function(e,t){this.setValue({remove:!0})},onChange:function(e,t){var a=this.getValue();this.setValue(a)}}),acf.registerFieldType(e),acf.addFilter("select2_ajax_data/type=post_object",function(e,t,a,i,o){if("post"!==i.get("key"))return e;a=acf.getInstance(a.closest(".acf-field-acfe-advanced-link"));return a&&(e.field_key=a.get("key")),e}),acf.addAction("invalid_field",function(e){var t=e.$el.closest(".acf-field-acfe-advanced-link").not(".acf-error");t.length&&acf.getInstance(t).showError(e.notice.get("text"))}),e=acf.Field.extend({type:"group",events:{'click [data-name="edit"]':"onClick"},initialize:function(){var e;this.has("acfeGroupModal")&&(e=this.get("acfeGroupModalButton"),this.$el.find("> .acf-input > .acf-fields, > .acf-input > .acf-table").wrapAll('<div class="acfe-modal"><div class="acfe-modal-wrapper"><div class="acfe-modal-content"></div></div></div>'),this.$el.find("> .acf-input").append('<a data-name="edit" class="acf-button button" href="#">'+e+"</a>"))},onClick:function(e,t){var a=this.$el.find("> .acf-label").text().trim(),i=this.$el.find("> .acf-input > .acfe-modal");a.length||(a=this.get("acfeGroupModalButton"));var o=!1;this.has("acfeGroupModalClose")&&(o=acf.__("Close"));var n="large";this.has("acfeGroupModalSize")&&(n=this.get("acfeGroupModalSize")),acfe.modal.open(i,{title:a,size:n,footer:o})}}),acf.registerFieldType(e),e=acf.Field.extend({type:"clone",events:{'click [data-name="edit"]':"onClick"},initialize:function(){var e;this.has("acfeCloneModal")&&(e=this.get("acfeCloneModalButton"),this.$el.find("> .acf-input > .acf-fields, > .acf-input > .acf-table").wrapAll('<div class="acfe-modal"><div class="acfe-modal-wrapper"><div class="acfe-modal-content"></div></div></div>'),this.$el.find("> .acf-input").append('<a data-name="edit" class="acf-button button" href="#">'+e+"</a>"))},onClick:function(e,t){var a=this.$el.find("> .acf-label").text().trim(),i=this.$el.find("> .acf-input > .acfe-modal");a.length||(a=this.get("acfeCloneModalButton"));var o=!1;this.has("acfeCloneModalClose")&&(o=acf.__("Close"));var n="large";this.has("acfeCloneModalSize")&&(n=this.get("acfeCloneModalSize")),acfe.modal.open(i,{title:a,size:n,footer:o})}}),acf.registerFieldType(e),e=acf.Field.extend({wait:"new_field",type:"acfe_column",$control:function(){return this.$(".acf-fields:first")},initialize:function(){if(this.$el.is("td")&&(this.$el.closest(".acf-table").find('th[data-type="acfe_column"]').remove(),this.remove()),this.get("endpoint"))return this.$el.find("> .acf-label").remove(),void this.$el.find("> .acf-input").remove();var e=this.$el,t=this.$el.find("> .acf-label"),a=(this.$inputWrap(),this.$control());t.remove();t=e.parent();a.addClass(t.hasClass("-left")?"-left":""),a.addClass(t.hasClass("-clear")?"-clear":""),a.append(e.nextUntil(".acf-field-acfe-column",".acf-field"))}}),acf.registerFieldType(e),acf.addFilter("select2_ajax_data/action=acfe/fields/taxonomy_terms/allow_query",function(e,t,a,i,o){var n=a.closest(".acf-field-settings").find("> .acf-field-setting-taxonomy > .acf-input > select > option:selected"),c=[];n.each(function(){c.push(l(this).val())}),e.taxonomies=c;a=a.closest(".acf-field-settings").find('> .acf-field-setting-allow_terms > .acf-input input[type="number"]');return e.level=a.val(),e}),acf.addAction("select2_init",function(t,e,a,i,o){var n;i.get("acfeSearchPlaceholder")&&(n=i.get("acfeSearchPlaceholder"),t.on("select2:open",function(e){i.get("multiple")?t.val()||i.$(".select2-search__field").attr("placeholder",n):l(".select2-search.select2-search--dropdown > .select2-search__field").attr("placeholder",n)}),i.get("multiple")&&t.on("select2:close",function(e){t.val()||i.$(".select2-search__field").attr("placeholder",i.get("placeholder"))}))}),acf.addFilter("select2_args",function(e,t,a,i,o){return i.get("acfeAllowCustom")&&(e.tags=!0,e.createTag=function(e){var t=l.trim(e.term);if(""===t)return null;var a=!1;return this.$element.find("option").each(function(){this.value.toLowerCase()===t.toLowerCase()&&(a=!0)}),a?null:{id:t,text:t}},e.insertTag=function(e,a){var i=!1;l.each(e,function(e,t){if(l.trim(a.text).toUpperCase()===l.trim(t.text).toUpperCase())return!(i=!0)}),i||e.unshift(a)},e.templateSelection=function(e){if(!e.id)return e.text;e=e.text;return e=(e=(e=(e=(e=(e=e.replace(/{field:(.*)}/g,"<code style='font-size:12px;padding:3px;vertical-align: 1px;line-height: 12px;'>{field:$1}</code>")).replace(/{fields}/g,"<code style='font-size:12px;padding:3px;vertical-align: 1px;line-height: 12px;'>{fields}</code>")).replace(/{current:(.*)}/g,"<code style='font-size:12px;padding:3px;vertical-align: 1px;line-height: 12px;'>{current:$1}</code>")).replace(/{get_field:(.*)}/g,"<code style='font-size:12px;padding:3px;vertical-align: 1px;line-height: 12px;'>{get_field:$1}</code>")).replace(/{query_var:(.*)}/g,"<code style='font-size:12px;padding:3px;vertical-align: 1px;line-height: 12px;'>{query_var:$1}</code>")).replace(/{request:(.*)}/g,"<code style='font-size:12px;padding:3px;vertical-align: 1px;line-height: 12px;'>{request:$1}</code>")},e.templateResult=function(e){if(!e.id)return e.text;e=e.text;return e=(e=(e=(e=(e=(e=e.replace(/{field:(.*?)}/g,"<code style='font-size:12px;'>{field:$1}</code>")).replace(/{fields}/g,"<code style='font-size:12px;'>{fields}</code>")).replace(/{get_field:(.*?)}/g,"<code style='font-size:12px;'>{get_field:$1}</code>")).replace(/{query_var:(.*?)}/g,"<code style='font-size:12px;'>{query_var:$1}</code>")).replace(/{request:(.*?)}/g,"<code style='font-size:12px;'>{request:$1}</code>")).replace(/{current:(.*?)}/g,"<code style='font-size:12px;'>{current:$1}</code>")}),e}),acf.addFilter("select2_args",function(e,t,a,i,o){return e=acf.applyFilters("select2_args/type="+i.get("type"),e,t,a,i,o),e=acf.applyFilters("select2_args/name="+i.get("name"),e,t,a,i,o),e=acf.applyFilters("select2_args/key="+i.get("key"),e,t,a,i,o)}),acf.addAction("select2_init",function(e,t,a,i,o){acf.doAction("select2_init/type="+i.get("type"),e,t,a,i,o),acf.doAction("select2_init/name="+i.get("name"),e,t,a,i,o),acf.doAction("select2_init/key="+i.get("key"),e,t,a,i,o)}),acf.addFilter("select2_ajax_data",function(e,t,a,i,o){return e=acf.applyFilters("select2_ajax_data/type="+i.get("type"),e,t,a,i,o),e=acf.applyFilters("select2_ajax_data/name="+i.get("name"),e,t,a,i,o),(e=acf.applyFilters("select2_ajax_data/key="+i.get("key"),e,t,a,i,o)).action&&(e=acf.applyFilters("select2_ajax_data/action="+e.action,e,t,a,i,o)),e}),acf.registerConditionForFieldType("equalTo","date_picker"),acf.registerConditionForFieldType("notEqualTo","date_picker"),acf.registerConditionForFieldType("patternMatch","date_picker"),acf.registerConditionForFieldType("contains","date_picker"),acf.registerConditionForFieldType("greaterThan","date_picker"),acf.registerConditionForFieldType("lessThan","date_picker"),acf.registerConditionForFieldType("equalTo","taxonomy"),acf.registerConditionForFieldType("notEqualTo","taxonomy"),acf.registerConditionForFieldType("patternMatch","taxonomy"),acf.registerConditionForFieldType("contains","taxonomy"),acf.registerConditionForFieldType("hasValue","taxonomy"),acf.registerConditionForFieldType("hasNoValue","taxonomy"),acf.registerConditionForFieldType("equalTo","acfe_forms"),acf.registerConditionForFieldType("notEqualTo","acfe_forms"),acf.registerConditionForFieldType("patternMatch","acfe_forms"),acf.registerConditionForFieldType("contains","acfe_forms"),acf.registerConditionForFieldType("hasValue","acfe_forms"),acf.registerConditionForFieldType("hasNoValue","acfe_forms"),acf.registerConditionForFieldType("equalTo","acfe_post_statuses"),acf.registerConditionForFieldType("notEqualTo","acfe_post_statuses"),acf.registerConditionForFieldType("patternMatch","acfe_post_statuses"),acf.registerConditionForFieldType("contains","acfe_post_statuses"),acf.registerConditionForFieldType("hasValue","acfe_post_statuses"),acf.registerConditionForFieldType("hasNoValue","acfe_post_statuses"),acf.registerConditionForFieldType("equalTo","acfe_post_types"),acf.registerConditionForFieldType("notEqualTo","acfe_post_types"),acf.registerConditionForFieldType("patternMatch","acfe_post_types"),acf.registerConditionForFieldType("contains","acfe_post_types"),acf.registerConditionForFieldType("hasValue","acfe_post_types"),acf.registerConditionForFieldType("hasNoValue","acfe_post_types"),acf.registerConditionForFieldType("equalTo","acfe_taxonomies"),acf.registerConditionForFieldType("notEqualTo","acfe_taxonomies"),acf.registerConditionForFieldType("patternMatch","acfe_taxonomies"),acf.registerConditionForFieldType("contains","acfe_taxonomies"),acf.registerConditionForFieldType("hasValue","acfe_taxonomies"),acf.registerConditionForFieldType("hasNoValue","acfe_taxonomies"),acf.registerConditionForFieldType("equalTo","acfe_taxonomy_terms"),acf.registerConditionForFieldType("notEqualTo","acfe_taxonomy_terms"),acf.registerConditionForFieldType("patternMatch","acfe_taxonomy_terms"),acf.registerConditionForFieldType("contains","acfe_taxonomy_terms"),acf.registerConditionForFieldType("hasValue","acfe_taxonomy_terms"),acf.registerConditionForFieldType("hasNoValue","acfe_taxonomy_terms"),acf.registerConditionForFieldType("equalTo","acfe_user_roles"),acf.registerConditionForFieldType("notEqualTo","acfe_user_roles"),acf.registerConditionForFieldType("patternMatch","acfe_user_roles"),acf.registerConditionForFieldType("contains","acfe_user_roles"),acf.registerConditionForFieldType("hasValue","acfe_user_roles"),acf.registerConditionForFieldType("hasNoValue","acfe_user_roles"),acf.add_action("new_field/name=acfe_author",function(e){e.on("change",function(e){e.stopPropagation()})}),acf.addAction("new_field/name=acfe_form_post_map_target",e=function(e){var t=e.get("name"),a=e.$el.closest(".layout").find('> .acf-fields > .acf-field[data-name="'+t+'_message"] > .acf-input'),t=e.$input().find("option:selected").text();t.length&&a.html(t),e.$input().on("change",function(){var e=l(this).find("option:selected").text();a.html(e)})}),acf.addAction("new_field/name=acfe_form_post_map_post_type",e),acf.addAction("new_field/name=acfe_form_post_map_post_status",e),acf.addAction("new_field/name=acfe_form_post_map_post_title",e),acf.addAction("new_field/name=acfe_form_post_map_post_name",e),acf.addAction("new_field/name=acfe_form_post_map_post_content",e),acf.addAction("new_field/name=acfe_form_post_map_post_author",e),acf.addAction("new_field/name=acfe_form_post_map_post_parent",e),acf.addAction("new_field/name=acfe_form_post_map_post_terms",e),acf.addAction("new_field/name=acfe_form_user_map_email",e),acf.addAction("new_field/name=acfe_form_user_map_username",e),acf.addAction("new_field/name=acfe_form_user_map_password",e),acf.addAction("new_field/name=acfe_form_user_map_first_name",e),acf.addAction("new_field/name=acfe_form_user_map_last_name",e),acf.addAction("new_field/name=acfe_form_user_map_nickname",e),acf.addAction("new_field/name=acfe_form_user_map_display_name",e),acf.addAction("new_field/name=acfe_form_user_map_website",e),acf.addAction("new_field/name=acfe_form_user_map_description",e),acf.addAction("new_field/name=acfe_form_user_map_role",e),acf.addAction("new_field/name=acfe_form_term_map_name",e),acf.addAction("new_field/name=acfe_form_term_map_slug",e),acf.addAction("new_field/name=acfe_form_term_map_taxonomy",e),acf.addAction("new_field/name=acfe_form_term_map_parent",e),acf.addAction("new_field/name=acfe_form_term_map_description",e),acf.addAction("new_field/name=acfe_form_actions",function(t){var a=l("a[data-key=field_acfe_form_tab_actions]"),e=t.$layouts();a.html('Actions <span class="acfe-tab-badge">'+e.length+"</span>"),t.on("change",function(){var e=t.$layouts();a.html('Actions <span class="acfe-tab-badge">'+e.length+"</span>")}),t.on("click",'[data-name="add-layout"]',function(e){l("body").find(".acf-fc-popup").addClass("acfe-fc-popup-grey")})}),e=function(e){var t=e.findTabs(),t=acf.getInstances(t),a=e.get("key");if(t.length){var i=acf.getPreference("this.tabs");if(!i)return;l.each(t,function(){var e=this.get("index");this.data.key===a&&(i[e]=0)}),acf.setPreference("this.tabs",i)}},acf.addAction("prepare_field/key=field_acfe_form_custom_action_tab_action",e),acf.addAction("prepare_field/key=field_acfe_form_email_tab_action",e),acf.addAction("prepare_field/key=field_acfe_form_post_tab_action",e),acf.addAction("prepare_field/key=field_acfe_form_term_tab_action",e),acf.addAction("prepare_field/key=field_acfe_form_user_tab_action",e),acf.addAction("prepare_field/key=field_acfe_dpt_tab_general",e),acf.addAction("prepare_field/key=field_acfe_dt_tab_general",e),acf.addAction("show_postbox",function(e){e.$el.removeClass("acfe-postbox-left acfe-postbox-top")}),acf.newCondition=function(e,t){var a=t.get("field"),i=a.getField(e.field);if(a&&!i&&(i=acf.getField(e.field)),!a||!i)return!1;t={rule:e,target:a,conditions:t,field:i},i=i.get("type"),e=e.operator;return new(acf.getConditionTypes({fieldType:i,operator:e})[0]||acf.Condition)(t)},acf.addAction("new_field/type=checkbox",function(a){a.has("acfeLabels")&&l.each(a.get("acfeLabels"),function(e,t){a.$control().find('input[type=checkbox][value="'+t+'"]').closest("ul").before("<strong>"+e+"</strong>")})}),acf.addAction("new_field/type=radio",function(a){a.has("acfeLabels")&&(l.each(a.get("acfeLabels"),function(e,t){a.$control().find('input[type=radio][value="'+t+'"]').closest("li").addClass("parent").prepend("<strong>"+e+"</strong>")}),a.$control().hasClass("acf-hl")&&a.$control().find("li.parent").each(function(){l(this).nextUntil("li.parent").addBack().wrapAll("<li><ul></ul></li>")}))}))}(jQuery),function(c){"undefined"!=typeof acf&&(acf.addAction("prepare",function(){acf.get("is_admin")||(acf.isset(window,"wp","media","view","settings","post")&&(wp.media.view.settings.post=!1),c('.acfe-form[data-hide-unload="1"]').length&&acf.unload.disable(),c(".acfe-form-success").length&&(window.history.replaceState&&window.history.replaceState(null,null,window.location.href),c(".acfe-form-success").each(function(){var e=c(this).data("form-name"),t=c(this).data("form-id");acf.doAction("acfe/form/submit/success"),acf.doAction("acfe/form/submit/success/id="+t),acf.doAction("acfe/form/submit/success/name="+e)})))}),acf.addAction("new_field/type=date_picker",function(e){var t;acf.get("is_admin")||(!(t=e.$el.closest(".acfe-form")).length||(t=t.data("fields-class"))&&e.$inputText().addClass(t))}),acf.addAction("new_field/type=google_map",function(e){var t;acf.get("is_admin")||(!(t=e.$el.closest(".acfe-form")).length||(t=t.data("fields-class"))&&e.$search().addClass(t))}),acf.addAction("invalid_field",function(e){var t,a,i,o,n;acf.get("is_admin")||(t=e.$el.closest(".acfe-form")).length&&(a=t.data("errors-position"),(n=t.data("errors-class"))&&n.length&&e.$el.find(".acf-notice.-error").addClass(n),a&&"below"===a?(e.$control().length?e.$el.find(".acf-notice.-error").insertAfter(e.$control()):e.$input().length&&e.$el.find(".acf-notice.-error").insertAfter(e.$input()),o=!1,e.$control().length?o=e.$control():e.$input().length&&(o=e.$input()),o&&e.$el.find(".acf-notice.-error").insertAfter(o)):a&&"group"===a?(i=e.$el.find(".acf-label label").text().trim(),n=e.$el.find('.acf-input-wrap [placeholder!=""]').attr("placeholder"),o=e.$el.find(".acf-notice.-error").text().trim(),e.$el.find(".acf-notice.-error").remove(),o=i&&i.length&&"*"!==i?i+": "+o:n&&n.length&&""!==n?n+": "+o:e.get("name")+": "+o,(n=t.find("> .acfe-form-error")).length||(n=c('<div class="acf-notice -error acf-error-message acfe-form-error" />').prependTo(t)),n.append("<p>"+o+"</p>")):a&&"hide"===a&&e.$el.find(".acf-notice.-error").remove())}),acf.addAction("validation_begin",function(e){acf.get("is_admin")||void 0!==e&&e.find(".acf-error-message").remove()}))}(jQuery),jQuery,"undefined"!=typeof acf&&(acf.getFieldType("repeater").prototype.acfeOnHover=function(){this.off("mouseover")},acf.addAction("new_field/type=repeater",function(e){e.has("acfeRepeaterLock")&&(e.removeEvents({mouseover:"onHover"}),e.addEvents({mouseover:"acfeOnHover"})),e.has("acfeRepeaterRemoveActions")&&(e.$actions().remove(),e.$el.find("thead:first > tr > th.acf-row-handle:last").remove(),e.$rows().find("> .acf-row-handle:last").remove(),e.$control().find("> .acfe-repeater-stylised-button").remove()),e.has("acfeRepeaterStylisedButton")&&(e.$button().removeClass("button-primary"),e.$actions().wrap('<div class="acfe-repeater-stylised-button" />'))}));
|
includes/admin/options.class.php
CHANGED
@@ -1,277 +1,277 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if(!defined('ABSPATH'))
|
4 |
-
exit;
|
5 |
-
|
6 |
-
if(!class_exists('WP_List_Table'))
|
7 |
-
require_once(ABSPATH . 'wp-admin/includes/class-wp-list-table.php');
|
8 |
-
|
9 |
-
class ACFE_Admin_Options_List extends WP_List_Table{
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Constructor
|
13 |
-
*
|
14 |
-
*/
|
15 |
-
public function __construct(){
|
16 |
-
|
17 |
-
parent::__construct(array(
|
18 |
-
'singular' => __('Option', 'acfe'),
|
19 |
-
'plural' => __('Options', 'acfe'),
|
20 |
-
'ajax' => false
|
21 |
-
));
|
22 |
-
|
23 |
-
}
|
24 |
-
|
25 |
-
|
26 |
-
/**
|
27 |
-
* Retrieve data from the database
|
28 |
-
*
|
29 |
-
* @param int $per_page
|
30 |
-
* @param int $page_number
|
31 |
-
*
|
32 |
-
* @return mixed
|
33 |
-
*/
|
34 |
-
public static function get_options($per_page = 100, $page_number = 1, $search = ''){
|
35 |
-
|
36 |
-
global $wpdb;
|
37 |
-
|
38 |
-
$sql = "SELECT * FROM {$wpdb->options}";
|
39 |
-
|
40 |
-
if(!empty($search)){
|
41 |
-
|
42 |
-
$sql .= ' WHERE option_name LIKE \'%' . $search . '%\'';
|
43 |
-
|
44 |
-
}
|
45 |
-
|
46 |
-
if(empty($_REQUEST['orderby'])){
|
47 |
-
|
48 |
-
$sql .= ' ORDER BY option_id ASC';
|
49 |
-
|
50 |
-
}
|
51 |
-
|
52 |
-
else{
|
53 |
-
|
54 |
-
$sql .= ' ORDER BY ' . esc_sql($_REQUEST['orderby']);
|
55 |
-
$sql .= !empty($_REQUEST['order']) ? ' ' . esc_sql($_REQUEST['order']) : ' ASC';
|
56 |
-
|
57 |
-
}
|
58 |
-
|
59 |
-
if(empty($search)){
|
60 |
-
|
61 |
-
$sql .= " LIMIT $per_page";
|
62 |
-
$sql .= ' OFFSET ' . ($page_number - 1) * $per_page;
|
63 |
-
|
64 |
-
}
|
65 |
-
|
66 |
-
|
67 |
-
$result = $wpdb->get_results($sql, 'ARRAY_A');
|
68 |
-
|
69 |
-
return $result;
|
70 |
-
|
71 |
-
}
|
72 |
-
|
73 |
-
|
74 |
-
/**
|
75 |
-
* Returns the count of records in the database.
|
76 |
-
*
|
77 |
-
* @return null|string
|
78 |
-
*/
|
79 |
-
public static function record_count($search = ''){
|
80 |
-
|
81 |
-
global $wpdb;
|
82 |
-
|
83 |
-
$sql = "SELECT COUNT(*) FROM {$wpdb->options}";
|
84 |
-
|
85 |
-
if(!empty($search)){
|
86 |
-
|
87 |
-
$sql .= ' WHERE option_name LIKE \'%' . $search . '%\'';
|
88 |
-
|
89 |
-
}
|
90 |
-
|
91 |
-
return $wpdb->get_var($sql);
|
92 |
-
|
93 |
-
}
|
94 |
-
|
95 |
-
|
96 |
-
/** Text displayed when no data is available */
|
97 |
-
public function no_items(){
|
98 |
-
|
99 |
-
_e('No options avaliable.', 'acfe');
|
100 |
-
|
101 |
-
}
|
102 |
-
|
103 |
-
|
104 |
-
/**
|
105 |
-
* Render a column when no column specific method exist.
|
106 |
-
*
|
107 |
-
* @param array $item
|
108 |
-
* @param string $column_name
|
109 |
-
*
|
110 |
-
* @return mixed
|
111 |
-
*/
|
112 |
-
public function column_default($item, $column_name){
|
113 |
-
|
114 |
-
if($column_name === 'option_id'){
|
115 |
-
|
116 |
-
return $item['option_id'];
|
117 |
-
|
118 |
-
}
|
119 |
-
|
120 |
-
elseif($column_name === 'option_value'){
|
121 |
-
|
122 |
-
if(is_serialized($item['option_value']) || $item['option_value'] != strip_tags($item['option_value'])){
|
123 |
-
|
124 |
-
return '<pre style="max-height:200px; overflow:auto; white-space: pre;">' . print_r(maybe_unserialize($item['option_value']), true) . '</pre>';
|
125 |
-
|
126 |
-
}elseif(acfe_is_json($item['option_value'])){
|
127 |
-
|
128 |
-
return '<pre style="max-height:200px; overflow:auto; white-space: pre;">' . print_r(json_decode($item['option_value']), true) . '</pre>';
|
129 |
-
|
130 |
-
}
|
131 |
-
|
132 |
-
|
133 |
-
return $item['option_value'];
|
134 |
-
|
135 |
-
}
|
136 |
-
|
137 |
-
elseif($column_name === 'autoload'){
|
138 |
-
|
139 |
-
return $item['autoload'];
|
140 |
-
|
141 |
-
}else{
|
142 |
-
|
143 |
-
return print_r($item, true);
|
144 |
-
|
145 |
-
}
|
146 |
-
|
147 |
-
}
|
148 |
-
|
149 |
-
/**
|
150 |
-
* Render the bulk edit checkbox
|
151 |
-
*
|
152 |
-
* @param array $item
|
153 |
-
*
|
154 |
-
* @return string
|
155 |
-
*/
|
156 |
-
public function column_cb($item){
|
157 |
-
|
158 |
-
return sprintf(
|
159 |
-
'<input type="checkbox" name="bulk-delete[]" value="%s" />', $item['option_id']
|
160 |
-
);
|
161 |
-
|
162 |
-
}
|
163 |
-
|
164 |
-
|
165 |
-
/**
|
166 |
-
* Method for name column
|
167 |
-
*
|
168 |
-
* @param array $item an array of DB data
|
169 |
-
*
|
170 |
-
* @return string
|
171 |
-
*/
|
172 |
-
public function column_option_name($item){
|
173 |
-
|
174 |
-
$delete_nonce = wp_create_nonce('acfe_options_delete_option');
|
175 |
-
|
176 |
-
$title = '<strong>' . $item['option_name'] . '</strong>';
|
177 |
-
|
178 |
-
$actions = array(
|
179 |
-
'edit' => sprintf('<a href="?page=%s&action=edit&option=%s">' . __('Edit') . '</a>', esc_attr($_REQUEST['page']), absint($item['option_id'])),
|
180 |
-
'delete' => sprintf('<a href="?page=%s&action=delete&option=%s&_wpnonce=%s">' . __('Delete') . '</a>', esc_attr($_REQUEST['page']), absint($item['option_id']), $delete_nonce),
|
181 |
-
);
|
182 |
-
|
183 |
-
return $title . $this->row_actions($actions);
|
184 |
-
|
185 |
-
}
|
186 |
-
|
187 |
-
|
188 |
-
/**
|
189 |
-
* Associative array of columns
|
190 |
-
*
|
191 |
-
* @return array
|
192 |
-
*/
|
193 |
-
public function get_columns(){
|
194 |
-
|
195 |
-
$columns = array(
|
196 |
-
'cb' => '<input type="checkbox" />',
|
197 |
-
'option_id' => __('ID', 'acfe'),
|
198 |
-
'option_name' => __('Name', 'acfe'),
|
199 |
-
'option_value' => __('Value', 'acfe'),
|
200 |
-
'autoload' => __('Autoload', 'acfe'),
|
201 |
-
);
|
202 |
-
|
203 |
-
return $columns;
|
204 |
-
|
205 |
-
}
|
206 |
-
|
207 |
-
|
208 |
-
/**
|
209 |
-
* Columns to make sortable.
|
210 |
-
*
|
211 |
-
* @return array
|
212 |
-
*/
|
213 |
-
public function get_sortable_columns(){
|
214 |
-
|
215 |
-
$sortable_columns = array(
|
216 |
-
'option_id' => array('option_id', true),
|
217 |
-
'option_name' => array('option_name', true),
|
218 |
-
'option_value' => array('option_value', true),
|
219 |
-
'autoload' => array('autoload', true),
|
220 |
-
);
|
221 |
-
|
222 |
-
return $sortable_columns;
|
223 |
-
|
224 |
-
}
|
225 |
-
|
226 |
-
/**
|
227 |
-
* Returns an associative array containing the bulk action
|
228 |
-
*
|
229 |
-
* @return array
|
230 |
-
*/
|
231 |
-
public function get_bulk_actions(){
|
232 |
-
|
233 |
-
$actions = array(
|
234 |
-
'bulk-delete' => __('Delete')
|
235 |
-
);
|
236 |
-
|
237 |
-
return $actions;
|
238 |
-
|
239 |
-
}
|
240 |
-
|
241 |
-
|
242 |
-
/**
|
243 |
-
* Handles data query and filter, sorting, and pagination.
|
244 |
-
*/
|
245 |
-
public function prepare_items(){
|
246 |
-
|
247 |
-
// Get columns
|
248 |
-
$this->_column_headers = array($this->get_columns(), array(), $this->get_sortable_columns());
|
249 |
-
|
250 |
-
// Vars
|
251 |
-
$per_page = $this->get_items_per_page('options_per_page', 100);
|
252 |
-
$current_page = $this->get_pagenum();
|
253 |
-
|
254 |
-
// Search
|
255 |
-
$search = (isset( $_REQUEST['s'])) ? $_REQUEST['s'] : false;
|
256 |
-
|
257 |
-
// Get items
|
258 |
-
$this->items = self::get_options($per_page, $current_page, $search);
|
259 |
-
/*
|
260 |
-
foreach($this->items as &$item){
|
261 |
-
$item = json_encode($item);
|
262 |
-
}*/
|
263 |
-
|
264 |
-
// Get total
|
265 |
-
$total_items = self::record_count($search);
|
266 |
-
|
267 |
-
if(!empty($search))
|
268 |
-
$per_page = $total_items;
|
269 |
-
|
270 |
-
$this->set_pagination_args(array(
|
271 |
-
'total_items' => $total_items,
|
272 |
-
'per_page' => $per_page
|
273 |
-
));
|
274 |
-
|
275 |
-
}
|
276 |
-
|
277 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if(!defined('ABSPATH'))
|
4 |
+
exit;
|
5 |
+
|
6 |
+
if(!class_exists('WP_List_Table'))
|
7 |
+
require_once(ABSPATH . 'wp-admin/includes/class-wp-list-table.php');
|
8 |
+
|
9 |
+
class ACFE_Admin_Options_List extends WP_List_Table{
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Constructor
|
13 |
+
*
|
14 |
+
*/
|
15 |
+
public function __construct(){
|
16 |
+
|
17 |
+
parent::__construct(array(
|
18 |
+
'singular' => __('Option', 'acfe'),
|
19 |
+
'plural' => __('Options', 'acfe'),
|
20 |
+
'ajax' => false
|
21 |
+
));
|
22 |
+
|
23 |
+
}
|
24 |
+
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Retrieve data from the database
|
28 |
+
*
|
29 |
+
* @param int $per_page
|
30 |
+
* @param int $page_number
|
31 |
+
*
|
32 |
+
* @return mixed
|
33 |
+
*/
|
34 |
+
public static function get_options($per_page = 100, $page_number = 1, $search = ''){
|
35 |
+
|
36 |
+
global $wpdb;
|
37 |
+
|
38 |
+
$sql = "SELECT * FROM {$wpdb->options}";
|
39 |
+
|
40 |
+
if(!empty($search)){
|
41 |
+
|
42 |
+
$sql .= ' WHERE option_name LIKE \'%' . $search . '%\'';
|
43 |
+
|
44 |
+
}
|
45 |
+
|
46 |
+
if(empty($_REQUEST['orderby'])){
|
47 |
+
|
48 |
+
$sql .= ' ORDER BY option_id ASC';
|
49 |
+
|
50 |
+
}
|
51 |
+
|
52 |
+
else{
|
53 |
+
|
54 |
+
$sql .= ' ORDER BY ' . esc_sql($_REQUEST['orderby']);
|
55 |
+
$sql .= !empty($_REQUEST['order']) ? ' ' . esc_sql($_REQUEST['order']) : ' ASC';
|
56 |
+
|
57 |
+
}
|
58 |
+
|
59 |
+
if(empty($search)){
|
60 |
+
|
61 |
+
$sql .= " LIMIT $per_page";
|
62 |
+
$sql .= ' OFFSET ' . ($page_number - 1) * $per_page;
|
63 |
+
|
64 |
+
}
|
65 |
+
|
66 |
+
|
67 |
+
$result = $wpdb->get_results($sql, 'ARRAY_A');
|
68 |
+
|
69 |
+
return $result;
|
70 |
+
|
71 |
+
}
|
72 |
+
|
73 |
+
|
74 |
+
/**
|
75 |
+
* Returns the count of records in the database.
|
76 |
+
*
|
77 |
+
* @return null|string
|
78 |
+
*/
|
79 |
+
public static function record_count($search = ''){
|
80 |
+
|
81 |
+
global $wpdb;
|
82 |
+
|
83 |
+
$sql = "SELECT COUNT(*) FROM {$wpdb->options}";
|
84 |
+
|
85 |
+
if(!empty($search)){
|
86 |
+
|
87 |
+
$sql .= ' WHERE option_name LIKE \'%' . $search . '%\'';
|
88 |
+
|
89 |
+
}
|
90 |
+
|
91 |
+
return $wpdb->get_var($sql);
|
92 |
+
|
93 |
+
}
|
94 |
+
|
95 |
+
|
96 |
+
/** Text displayed when no data is available */
|
97 |
+
public function no_items(){
|
98 |
+
|
99 |
+
_e('No options avaliable.', 'acfe');
|
100 |
+
|
101 |
+
}
|
102 |
+
|
103 |
+
|
104 |
+
/**
|
105 |
+
* Render a column when no column specific method exist.
|
106 |
+
*
|
107 |
+
* @param array $item
|
108 |
+
* @param string $column_name
|
109 |
+
*
|
110 |
+
* @return mixed
|
111 |
+
*/
|
112 |
+
public function column_default($item, $column_name){
|
113 |
+
|
114 |
+
if($column_name === 'option_id'){
|
115 |
+
|
116 |
+
return $item['option_id'];
|
117 |
+
|
118 |
+
}
|
119 |
+
|
120 |
+
elseif($column_name === 'option_value'){
|
121 |
+
|
122 |
+
if(is_serialized($item['option_value']) || $item['option_value'] != strip_tags($item['option_value'])){
|
123 |
+
|
124 |
+
return '<pre style="max-height:200px; overflow:auto; white-space: pre;">' . print_r(maybe_unserialize($item['option_value']), true) . '</pre>';
|
125 |
+
|
126 |
+
}elseif(acfe_is_json($item['option_value'])){
|
127 |
+
|
128 |
+
return '<pre style="max-height:200px; overflow:auto; white-space: pre;">' . print_r(json_decode($item['option_value']), true) . '</pre>';
|
129 |
+
|
130 |
+
}
|
131 |
+
|
132 |
+
|
133 |
+
return $item['option_value'];
|
134 |
+
|
135 |
+
}
|
136 |
+
|
137 |
+
elseif($column_name === 'autoload'){
|
138 |
+
|
139 |
+
return $item['autoload'];
|
140 |
+
|
141 |
+
}else{
|
142 |
+
|
143 |
+
return print_r($item, true);
|
144 |
+
|
145 |
+
}
|
146 |
+
|
147 |
+
}
|
148 |
+
|
149 |
+
/**
|
150 |
+
* Render the bulk edit checkbox
|
151 |
+
*
|
152 |
+
* @param array $item
|
153 |
+
*
|
154 |
+
* @return string
|
155 |
+
*/
|
156 |
+
public function column_cb($item){
|
157 |
+
|
158 |
+
return sprintf(
|
159 |
+
'<input type="checkbox" name="bulk-delete[]" value="%s" />', $item['option_id']
|
160 |
+
);
|
161 |
+
|
162 |
+
}
|
163 |
+
|
164 |
+
|
165 |
+
/**
|
166 |
+
* Method for name column
|
167 |
+
*
|
168 |
+
* @param array $item an array of DB data
|
169 |
+
*
|
170 |
+
* @return string
|
171 |
+
*/
|
172 |
+
public function column_option_name($item){
|
173 |
+
|
174 |
+
$delete_nonce = wp_create_nonce('acfe_options_delete_option');
|
175 |
+
|
176 |
+
$title = '<strong>' . $item['option_name'] . '</strong>';
|
177 |
+
|
178 |
+
$actions = array(
|
179 |
+
'edit' => sprintf('<a href="?page=%s&action=edit&option=%s">' . __('Edit') . '</a>', esc_attr($_REQUEST['page']), absint($item['option_id'])),
|
180 |
+
'delete' => sprintf('<a href="?page=%s&action=delete&option=%s&_wpnonce=%s">' . __('Delete') . '</a>', esc_attr($_REQUEST['page']), absint($item['option_id']), $delete_nonce),
|
181 |
+
);
|
182 |
+
|
183 |
+
return $title . $this->row_actions($actions);
|
184 |
+
|
185 |
+
}
|
186 |
+
|
187 |
+
|
188 |
+
/**
|
189 |
+
* Associative array of columns
|
190 |
+
*
|
191 |
+
* @return array
|
192 |
+
*/
|
193 |
+
public function get_columns(){
|
194 |
+
|
195 |
+
$columns = array(
|
196 |
+
'cb' => '<input type="checkbox" />',
|
197 |
+
'option_id' => __('ID', 'acfe'),
|
198 |
+
'option_name' => __('Name', 'acfe'),
|
199 |
+
'option_value' => __('Value', 'acfe'),
|
200 |
+
'autoload' => __('Autoload', 'acfe'),
|
201 |
+
);
|
202 |
+
|
203 |
+
return $columns;
|
204 |
+
|
205 |
+
}
|
206 |
+
|
207 |
+
|
208 |
+
/**
|
209 |
+
* Columns to make sortable.
|
210 |
+
*
|
211 |
+
* @return array
|
212 |
+
*/
|
213 |
+
public function get_sortable_columns(){
|
214 |
+
|
215 |
+
$sortable_columns = array(
|
216 |
+
'option_id' => array('option_id', true),
|
217 |
+
'option_name' => array('option_name', true),
|
218 |
+
'option_value' => array('option_value', true),
|
219 |
+
'autoload' => array('autoload', true),
|
220 |
+
);
|
221 |
+
|
222 |
+
return $sortable_columns;
|
223 |
+
|
224 |
+
}
|
225 |
+
|
226 |
+
/**
|
227 |
+
* Returns an associative array containing the bulk action
|
228 |
+
*
|
229 |
+
* @return array
|
230 |
+
*/
|
231 |
+
public function get_bulk_actions(){
|
232 |
+
|
233 |
+
$actions = array(
|
234 |
+
'bulk-delete' => __('Delete')
|
235 |
+
);
|
236 |
+
|
237 |
+
return $actions;
|
238 |
+
|
239 |
+
}
|
240 |
+
|
241 |
+
|
242 |
+
/**
|
243 |
+
* Handles data query and filter, sorting, and pagination.
|
244 |
+
*/
|
245 |
+
public function prepare_items(){
|
246 |
+
|
247 |
+
// Get columns
|
248 |
+
$this->_column_headers = array($this->get_columns(), array(), $this->get_sortable_columns());
|
249 |
+
|
250 |
+
// Vars
|
251 |
+
$per_page = $this->get_items_per_page('options_per_page', 100);
|
252 |
+
$current_page = $this->get_pagenum();
|
253 |
+
|
254 |
+
// Search
|
255 |
+
$search = (isset( $_REQUEST['s'])) ? $_REQUEST['s'] : false;
|
256 |
+
|
257 |
+
// Get items
|
258 |
+
$this->items = self::get_options($per_page, $current_page, $search);
|
259 |
+
/*
|
260 |
+
foreach($this->items as &$item){
|
261 |
+
$item = json_encode($item);
|
262 |
+
}*/
|
263 |
+
|
264 |
+
// Get total
|
265 |
+
$total_items = self::record_count($search);
|
266 |
+
|
267 |
+
if(!empty($search))
|
268 |
+
$per_page = $total_items;
|
269 |
+
|
270 |
+
$this->set_pagination_args(array(
|
271 |
+
'total_items' => $total_items,
|
272 |
+
'per_page' => $per_page
|
273 |
+
));
|
274 |
+
|
275 |
+
}
|
276 |
+
|
277 |
}
|
includes/admin/options.php
CHANGED
@@ -1,579 +1,579 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if(!defined('ABSPATH'))
|
4 |
-
exit;
|
5 |
-
|
6 |
-
// Check setting
|
7 |
-
if(!acf_get_setting('acfe/modules/options'))
|
8 |
-
return;
|
9 |
-
|
10 |
-
/**
|
11 |
-
* Options WP List Table
|
12 |
-
*
|
13 |
-
*/
|
14 |
-
require_once(ACFE_PATH . 'includes/admin/options.class.php');
|
15 |
-
|
16 |
-
/**
|
17 |
-
* Options Menu
|
18 |
-
*
|
19 |
-
*/
|
20 |
-
add_action('admin_menu', 'acfe_options_menu');
|
21 |
-
function acfe_options_menu(){
|
22 |
-
|
23 |
-
$hook = add_submenu_page(
|
24 |
-
'options-general.php',
|
25 |
-
__('Options'),
|
26 |
-
__('Options'),
|
27 |
-
acf_get_setting('capability'),
|
28 |
-
'acfe-options'
|
29 |
-
);
|
30 |
-
|
31 |
-
}
|
32 |
-
|
33 |
-
/**
|
34 |
-
* Options Screen
|
35 |
-
*
|
36 |
-
*/
|
37 |
-
add_filter('set-screen-option', 'acfe_options_screen', 10, 3);
|
38 |
-
function acfe_options_screen($status, $option, $value){
|
39 |
-
|
40 |
-
return $value;
|
41 |
-
|
42 |
-
}
|
43 |
-
|
44 |
-
/**
|
45 |
-
* Options Enqueue
|
46 |
-
*
|
47 |
-
*/
|
48 |
-
add_action('admin_print_scripts-settings_page_acfe-options', 'acfe_options_enqueue');
|
49 |
-
function acfe_options_enqueue(){
|
50 |
-
|
51 |
-
wp_enqueue_style('acf-input');
|
52 |
-
wp_enqueue_script('acf-input');
|
53 |
-
wp_enqueue_style('acf-extended', plugins_url('assets/acf-extended.css', ACFE_FILE), false, null);
|
54 |
-
|
55 |
-
}
|
56 |
-
|
57 |
-
/**
|
58 |
-
* Options Load
|
59 |
-
*
|
60 |
-
*/
|
61 |
-
add_action('load-settings_page_acfe-options', 'acfe_options_load');
|
62 |
-
function acfe_options_load(){
|
63 |
-
|
64 |
-
// Messages
|
65 |
-
if(isset($_REQUEST['message']) && !empty($_REQUEST['message']))
|
66 |
-
do_action('acfe/options/load/message=' . $_REQUEST['message']);
|
67 |
-
|
68 |
-
// Default Action
|
69 |
-
$action = 'list';
|
70 |
-
|
71 |
-
// Request Action
|
72 |
-
if(isset($_REQUEST['action']) && !empty($_REQUEST['action']) && $_REQUEST['action'] != '-1')
|
73 |
-
$action = $_REQUEST['action'];
|
74 |
-
|
75 |
-
// Request Action2
|
76 |
-
elseif(isset($_REQUEST['action2']) && !empty($_REQUEST['action2']) && $_REQUEST['action2'] != '-1')
|
77 |
-
$action = $_REQUEST['action2'];
|
78 |
-
|
79 |
-
// Do Action: Specific
|
80 |
-
do_action('acfe/options/load/action=' . $action, $action);
|
81 |
-
|
82 |
-
// Do Action
|
83 |
-
do_action('acfe/options/load', $action);
|
84 |
-
|
85 |
-
}
|
86 |
-
|
87 |
-
/**
|
88 |
-
* Options HTML
|
89 |
-
*
|
90 |
-
*/
|
91 |
-
add_action('settings_page_acfe-options', 'acfe_options_html');
|
92 |
-
function acfe_options_html(){
|
93 |
-
|
94 |
-
// Default Action
|
95 |
-
$action = 'list';
|
96 |
-
|
97 |
-
// Request Action
|
98 |
-
if(isset($_REQUEST['action']) && !empty($_REQUEST['action']) && $_REQUEST['action'] != '-1')
|
99 |
-
$action = $_REQUEST['action'];
|
100 |
-
|
101 |
-
// Do Action: Specific
|
102 |
-
do_action('acfe/options/html/action=' . $action, $action);
|
103 |
-
|
104 |
-
// Do Action
|
105 |
-
do_action('acfe/options/html', $action);
|
106 |
-
|
107 |
-
}
|
108 |
-
|
109 |
-
/**
|
110 |
-
* Options List: Load
|
111 |
-
*
|
112 |
-
*/
|
113 |
-
add_action('acfe/options/load/action=list', 'acfe_options_load_list');
|
114 |
-
function acfe_options_load_list(){
|
115 |
-
|
116 |
-
add_screen_option('per_page', array(
|
117 |
-
'label' => 'Options',
|
118 |
-
'default' => 100,
|
119 |
-
'option' => 'options_per_page'
|
120 |
-
));
|
121 |
-
|
122 |
-
}
|
123 |
-
|
124 |
-
/**
|
125 |
-
* Options List: HTML
|
126 |
-
*
|
127 |
-
*/
|
128 |
-
add_filter('acfe/options/html/action=list', 'acfe_options_html_list');
|
129 |
-
function acfe_options_html_list(){
|
130 |
-
|
131 |
-
acf_get_view(ACFE_PATH . '/includes/admin/views/html-options-list.php');
|
132 |
-
|
133 |
-
}
|
134 |
-
|
135 |
-
/**
|
136 |
-
* Options Delete: Load
|
137 |
-
*
|
138 |
-
*/
|
139 |
-
add_action('acfe/options/load/action=delete', 'acfe_options_load_delete');
|
140 |
-
function acfe_options_load_delete(){
|
141 |
-
|
142 |
-
$nonce = esc_attr($_REQUEST['_wpnonce']);
|
143 |
-
|
144 |
-
if(!wp_verify_nonce($nonce, 'acfe_options_delete_option'))
|
145 |
-
wp_die('Cheatin’, huh?');
|
146 |
-
|
147 |
-
acfe_options_delete_option(absint($_GET['option']));
|
148 |
-
|
149 |
-
wp_redirect(sprintf('?page=%s&message=deleted', esc_attr($_REQUEST['page'])));
|
150 |
-
exit;
|
151 |
-
|
152 |
-
}
|
153 |
-
|
154 |
-
/**
|
155 |
-
* Options Delete: Message
|
156 |
-
*
|
157 |
-
*/
|
158 |
-
add_action('acfe/options/load/message=deleted', 'acfe_options_load_delete_message');
|
159 |
-
function acfe_options_load_delete_message(){
|
160 |
-
|
161 |
-
acf_add_admin_notice(__('Option has been deleted'), 'success');
|
162 |
-
|
163 |
-
}
|
164 |
-
|
165 |
-
/**
|
166 |
-
* Options Bulk Delete: Load
|
167 |
-
*
|
168 |
-
*/
|
169 |
-
add_action('acfe/options/load/action=bulk-delete', 'acfe_options_load_bulk_delete');
|
170 |
-
function acfe_options_load_bulk_delete(){
|
171 |
-
|
172 |
-
$nonce = esc_attr($_REQUEST['_wpnonce']);
|
173 |
-
|
174 |
-
if(!wp_verify_nonce($nonce, 'bulk-options'))
|
175 |
-
wp_die('Cheatin’, huh?');
|
176 |
-
|
177 |
-
$delete_ids = esc_sql($_REQUEST['bulk-delete']);
|
178 |
-
|
179 |
-
foreach($delete_ids as $id){
|
180 |
-
|
181 |
-
acfe_options_delete_option($id);
|
182 |
-
|
183 |
-
}
|
184 |
-
|
185 |
-
wp_redirect(sprintf('?page=%s&message=bulk-deleted', esc_attr($_REQUEST['page'])));
|
186 |
-
exit;
|
187 |
-
|
188 |
-
}
|
189 |
-
|
190 |
-
/**
|
191 |
-
* Options Bulk Delete: Message
|
192 |
-
*
|
193 |
-
*/
|
194 |
-
add_action('acfe/options/load/message=bulk-deleted', 'acfe_options_load_bulk_delete_message');
|
195 |
-
function acfe_options_load_bulk_delete_message(){
|
196 |
-
|
197 |
-
acf_add_admin_notice(__('Options have been deleted'), 'success');
|
198 |
-
|
199 |
-
}
|
200 |
-
|
201 |
-
/**
|
202 |
-
* Options Delete: Function
|
203 |
-
*
|
204 |
-
*/
|
205 |
-
function acfe_options_delete_option($id){
|
206 |
-
|
207 |
-
global $wpdb;
|
208 |
-
|
209 |
-
$wpdb->delete(
|
210 |
-
"{$wpdb->options}",
|
211 |
-
array('option_id' => $id),
|
212 |
-
array('%d')
|
213 |
-
);
|
214 |
-
|
215 |
-
}
|
216 |
-
|
217 |
-
/**
|
218 |
-
* Options Edit: Load
|
219 |
-
*
|
220 |
-
*/
|
221 |
-
add_action('acfe/options/load/action=edit', 'acfe_options_load_edit');
|
222 |
-
add_action('acfe/options/load/action=add', 'acfe_options_load_edit');
|
223 |
-
function acfe_options_load_edit($action){
|
224 |
-
|
225 |
-
// Nonce
|
226 |
-
if(acf_verify_nonce('acfe-options-edit')){
|
227 |
-
|
228 |
-
// Save data
|
229 |
-
if(acf_validate_save_post(true)){
|
230 |
-
|
231 |
-
acf_save_post('acfe_options_edit');
|
232 |
-
|
233 |
-
$redirect = add_query_arg(array('message' => 'updated'));
|
234 |
-
|
235 |
-
if($action === 'add')
|
236 |
-
$redirect = sprintf('?page=%s&message=added', esc_attr($_REQUEST['page']));
|
237 |
-
|
238 |
-
wp_redirect($redirect);
|
239 |
-
exit;
|
240 |
-
|
241 |
-
}
|
242 |
-
|
243 |
-
}
|
244 |
-
|
245 |
-
// Load acf scripts
|
246 |
-
acf_enqueue_scripts();
|
247 |
-
|
248 |
-
// Actions
|
249 |
-
add_action('acf/input/admin_head', 'acfe_options_edit_metabox');
|
250 |
-
|
251 |
-
// Add columns support
|
252 |
-
add_screen_option('layout_columns', array(
|
253 |
-
'max' => 2,
|
254 |
-
'default' => 2
|
255 |
-
));
|
256 |
-
|
257 |
-
}
|
258 |
-
|
259 |
-
/**
|
260 |
-
* Options Edit: HTML
|
261 |
-
*
|
262 |
-
*/
|
263 |
-
add_filter('acfe/options/html/action=edit', 'acfe_options_html_edit');
|
264 |
-
add_filter('acfe/options/html/action=add', 'acfe_options_html_edit');
|
265 |
-
function acfe_options_html_edit(){
|
266 |
-
|
267 |
-
acf_get_view(ACFE_PATH . '/includes/admin/views/html-options-edit.php');
|
268 |
-
|
269 |
-
}
|
270 |
-
|
271 |
-
/**
|
272 |
-
* Options Edit: Metabox
|
273 |
-
*
|
274 |
-
*/
|
275 |
-
function acfe_options_edit_metabox(){
|
276 |
-
|
277 |
-
$option = array(
|
278 |
-
'option_id' => 0,
|
279 |
-
'option_name' => '',
|
280 |
-
'option_value' => '',
|
281 |
-
'autoload' => 'no',
|
282 |
-
);
|
283 |
-
|
284 |
-
if(isset($_REQUEST['option']) && !empty($_REQUEST['option'])){
|
285 |
-
|
286 |
-
$option_id = absint($_REQUEST['option']);
|
287 |
-
|
288 |
-
global $wpdb;
|
289 |
-
|
290 |
-
$get_option = $wpdb->get_row("SELECT * FROM {$wpdb->options} WHERE option_id = '$option_id'", 'ARRAY_A');
|
291 |
-
if(!empty($get_option))
|
292 |
-
$option = $get_option;
|
293 |
-
|
294 |
-
}
|
295 |
-
|
296 |
-
$field_group = array(
|
297 |
-
'ID' => 0,
|
298 |
-
'key' => 'group_acfe_options_edit',
|
299 |
-
'style' => 'default',
|
300 |
-
'label_placement' => 'left',
|
301 |
-
'instruction_placement' => 'label',
|
302 |
-
'fields' => array()
|
303 |
-
);
|
304 |
-
|
305 |
-
$fields = array();
|
306 |
-
|
307 |
-
$fields[] = array(
|
308 |
-
'label' => __('Name'),
|
309 |
-
'key' => 'field_acfe_options_edit_name',
|
310 |
-
'name' => 'field_acfe_options_edit_name',
|
311 |
-
'type' => 'text',
|
312 |
-
'prefix' => 'acf',
|
313 |
-
'instructions' => '',
|
314 |
-
'required' => true,
|
315 |
-
'conditional_logic' => false,
|
316 |
-
'default_value' => '',
|
317 |
-
'placeholder' => '',
|
318 |
-
'prepend' => '',
|
319 |
-
'append' => '',
|
320 |
-
'maxlength' => '',
|
321 |
-
'value' => $option['option_name'],
|
322 |
-
'wrapper' => array(
|
323 |
-
'width' => '',
|
324 |
-
'class' => '',
|
325 |
-
'id' => '',
|
326 |
-
),
|
327 |
-
);
|
328 |
-
|
329 |
-
// Serialized || HTML
|
330 |
-
if(is_serialized($option['option_value']) || $option['option_value'] != strip_tags($option['option_value'])){
|
331 |
-
|
332 |
-
$type = 'serialized';
|
333 |
-
$instructions = 'Use this <a href="https://duzun.me/playground/serialize" target="_blank">online tool</a> to unserialize/seriliaze data.';
|
334 |
-
|
335 |
-
if($option['option_value'] != strip_tags($option['option_value'])){
|
336 |
-
|
337 |
-
$type = 'HTML';
|
338 |
-
$instructions = '';
|
339 |
-
|
340 |
-
}
|
341 |
-
|
342 |
-
$fields[] = array(
|
343 |
-
'label' => __('Value <code style="font-size:11px;float:right; line-height:1.2; margin-top:1px;">' . $type . '</code>'),
|
344 |
-
'key' => 'field_acfe_options_edit_value',
|
345 |
-
'name' => 'field_acfe_options_edit_value',
|
346 |
-
'type' => 'textarea',
|
347 |
-
'prefix' => 'acf',
|
348 |
-
'instructions' => $instructions,
|
349 |
-
'required' => false,
|
350 |
-
'conditional_logic' => false,
|
351 |
-
'default_value' => '',
|
352 |
-
'placeholder' => '',
|
353 |
-
'prepend' => '',
|
354 |
-
'append' => '',
|
355 |
-
'maxlength' => '',
|
356 |
-
'value' => $option['option_value'],
|
357 |
-
'class' => 'code',
|
358 |
-
'wrapper' => array(
|
359 |
-
'width' => '',
|
360 |
-
'class' => '',
|
361 |
-
'id' => '',
|
362 |
-
),
|
363 |
-
);
|
364 |
-
|
365 |
-
}
|
366 |
-
|
367 |
-
// Serialized || HTML
|
368 |
-
elseif(acfe_is_json($option['option_value'])){
|
369 |
-
|
370 |
-
$type = 'json';
|
371 |
-
$instructions = 'Use this <a href="http://solutions.weblite.ca/php2json/" target="_blank">online tool</a> to decode/encode json.';
|
372 |
-
|
373 |
-
$fields[] = array(
|
374 |
-
'label' => __('Value <code style="font-size:11px;float:right; line-height:1.2; margin-top:1px;">' . $type . '</code>'),
|
375 |
-
'key' => 'field_acfe_options_edit_value',
|
376 |
-
'name' => 'field_acfe_options_edit_value',
|
377 |
-
'type' => 'textarea',
|
378 |
-
'prefix' => 'acf',
|
379 |
-
'instructions' => $instructions,
|
380 |
-
'required' => false,
|
381 |
-
'conditional_logic' => false,
|
382 |
-
'default_value' => '',
|
383 |
-
'placeholder' => '',
|
384 |
-
'prepend' => '',
|
385 |
-
'append' => '',
|
386 |
-
'maxlength' => '',
|
387 |
-
'value' => $option['option_value'],
|
388 |
-
'class' => 'code',
|
389 |
-
'wrapper' => array(
|
390 |
-
'width' => '',
|
391 |
-
'class' => '',
|
392 |
-
'id' => '',
|
393 |
-
),
|
394 |
-
);
|
395 |
-
|
396 |
-
}
|
397 |
-
|
398 |
-
// String
|
399 |
-
else{
|
400 |
-
|
401 |
-
$type = '';
|
402 |
-
if(!empty($option['option_value']))
|
403 |
-
$type = '<code style="font-size:11px;float:right; line-height:1.2; margin-top:1px;">string</code>';
|
404 |
-
|
405 |
-
$fields[] = array(
|
406 |
-
'label' => __('Value ' . $type),
|
407 |
-
'key' => 'field_acfe_options_edit_value',
|
408 |
-
'name' => 'field_acfe_options_edit_value',
|
409 |
-
'type' => 'textarea',
|
410 |
-
'prefix' => 'acf',
|
411 |
-
'instructions' => '',
|
412 |
-
'required' => false,
|
413 |
-
'conditional_logic' => false,
|
414 |
-
'default_value' => '',
|
415 |
-
'placeholder' => '',
|
416 |
-
'prepend' => '',
|
417 |
-
'append' => '',
|
418 |
-
'maxlength' => '',
|
419 |
-
'value' => $option['option_value'],
|
420 |
-
'wrapper' => array(
|
421 |
-
'width' => '',
|
422 |
-
'class' => '',
|
423 |
-
'id' => '',
|
424 |
-
),
|
425 |
-
);
|
426 |
-
|
427 |
-
}
|
428 |
-
|
429 |
-
$fields[] = array(
|
430 |
-
'label' => __('Autoload'),
|
431 |
-
'key' => 'field_acfe_options_edit_autoload',
|
432 |
-
'name' => 'field_acfe_options_edit_autoload',
|
433 |
-
'type' => 'select',
|
434 |
-
'prefix' => 'acf',
|
435 |
-
'instructions' => '',
|
436 |
-
'required' => true,
|
437 |
-
'conditional_logic' => false,
|
438 |
-
'default_value' => '',
|
439 |
-
'placeholder' => '',
|
440 |
-
'prepend' => '',
|
441 |
-
'append' => '',
|
442 |
-
'maxlength' => '',
|
443 |
-
'value' => $option['autoload'],
|
444 |
-
'choices' => array(
|
445 |
-
'no' => __('No'),
|
446 |
-
'yes' => __('Yes'),
|
447 |
-
),
|
448 |
-
'wrapper' => array(
|
449 |
-
'width' => '',
|
450 |
-
'class' => '',
|
451 |
-
'id' => '',
|
452 |
-
),
|
453 |
-
);
|
454 |
-
|
455 |
-
$field_group['fields'] = $fields;
|
456 |
-
|
457 |
-
$metabox_submit_title = __('Submit','acf');
|
458 |
-
$metabox_main_title = __('Add Option');
|
459 |
-
|
460 |
-
if(!empty($option['option_id'])){
|
461 |
-
|
462 |
-
$metabox_submit_title = __('Edit','acf');
|
463 |
-
$metabox_main_title = __('Edit Option');
|
464 |
-
|
465 |
-
}
|
466 |
-
|
467 |
-
// Submit Metabox
|
468 |
-
add_meta_box('submitdiv', $metabox_submit_title, function($post, $args) use($option){
|
469 |
-
|
470 |
-
$delete_nonce = wp_create_nonce('acfe_options_delete_option');
|
471 |
-
|
472 |
-
?>
|
473 |
-
<div id="major-publishing-actions">
|
474 |
-
|
475 |
-
<?php if(!empty($option['option_id'])){ ?>
|
476 |
-
|
477 |
-
<div id="delete-action">
|
478 |
-
<a class="submitdelete deletion" style="color:#a00;" href="<?php echo sprintf('?page=%s&action=%s&option=%s&_wpnonce=%s', esc_attr($_REQUEST['page']), 'delete', $option['option_id'], $delete_nonce); ?>"><?php _e('Delete'); ?></a>
|
479 |
-
</div>
|
480 |
-
|
481 |
-
<?php } ?>
|
482 |
-
|
483 |
-
<div id="publishing-action">
|
484 |
-
<span class="spinner"></span>
|
485 |
-
<input type="submit" accesskey="p" value="<?php _e('Update'); ?>" class="button button-primary button-large" id="publish" name="publish">
|
486 |
-
</div>
|
487 |
-
|
488 |
-
<div class="clear"></div>
|
489 |
-
|
490 |
-
</div>
|
491 |
-
<?php
|
492 |
-
}, 'acf_options_page', 'side', 'high');
|
493 |
-
|
494 |
-
// Main Metabox
|
495 |
-
add_meta_box('acf-group_acfe_options_edit', $metabox_main_title, function($post, $args){
|
496 |
-
|
497 |
-
// extract args
|
498 |
-
extract($args); // all variables from the add_meta_box function
|
499 |
-
extract($args); // all variables from the args argument
|
500 |
-
|
501 |
-
// vars
|
502 |
-
$o = array(
|
503 |
-
'id' => $id,
|
504 |
-
'key' => $field_group['key'],
|
505 |
-
'style' => $field_group['style'],
|
506 |
-
'label' => $field_group['label_placement'],
|
507 |
-
'editLink' => '',
|
508 |
-
'editTitle' => __('Edit field group', 'acf'),
|
509 |
-
'visibility' => true
|
510 |
-
);
|
511 |
-
|
512 |
-
// load fields
|
513 |
-
$fields = $field_group['fields'];
|
514 |
-
|
515 |
-
// render
|
516 |
-
acf_render_fields($fields, 'acfe-options-edit', 'div', $field_group['instruction_placement']);
|
517 |
-
|
518 |
-
?>
|
519 |
-
<script type="text/javascript">
|
520 |
-
if(typeof acf !== 'undefined'){
|
521 |
-
|
522 |
-
acf.newPostbox(<?php echo json_encode($o); ?>);
|
523 |
-
|
524 |
-
}
|
525 |
-
</script>
|
526 |
-
<?php
|
527 |
-
|
528 |
-
}, 'acf_options_page', 'normal', 'high', array('field_group' => $field_group));
|
529 |
-
|
530 |
-
}
|
531 |
-
|
532 |
-
/**
|
533 |
-
* Options Edit: Save
|
534 |
-
*
|
535 |
-
*/
|
536 |
-
add_action('acf/save_post', 'acfe_options_edit_save_post', 5);
|
537 |
-
function acfe_options_edit_save_post($post_id){
|
538 |
-
|
539 |
-
// Validate
|
540 |
-
if($post_id !== 'acfe_options_edit')
|
541 |
-
return;
|
542 |
-
|
543 |
-
// Vars
|
544 |
-
$option_name = wp_unslash($_POST['acf']['field_acfe_options_edit_name']);
|
545 |
-
$option_value = wp_unslash($_POST['acf']['field_acfe_options_edit_value']);
|
546 |
-
$autoload = $_POST['acf']['field_acfe_options_edit_autoload'];
|
547 |
-
|
548 |
-
// Value serialized?
|
549 |
-
$option_value = maybe_unserialize($option_value);
|
550 |
-
|
551 |
-
// Update
|
552 |
-
update_option($option_name, $option_value, $autoload);
|
553 |
-
|
554 |
-
// Flush ACF
|
555 |
-
$_POST['acf'] = array();
|
556 |
-
|
557 |
-
}
|
558 |
-
|
559 |
-
/**
|
560 |
-
* Options Edit: Message
|
561 |
-
*
|
562 |
-
*/
|
563 |
-
add_action('acfe/options/load/message=updated', 'acfe_options_load_edit_message');
|
564 |
-
function acfe_options_load_edit_message(){
|
565 |
-
|
566 |
-
acf_add_admin_notice(__('Option has been updated'), 'success');
|
567 |
-
|
568 |
-
}
|
569 |
-
|
570 |
-
/**
|
571 |
-
* Options Add: Message
|
572 |
-
*
|
573 |
-
*/
|
574 |
-
add_action('acfe/options/load/message=added', 'acfe_options_load_add_message');
|
575 |
-
function acfe_options_load_add_message(){
|
576 |
-
|
577 |
-
acf_add_admin_notice(__('Option has been added'), 'success');
|
578 |
-
|
579 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if(!defined('ABSPATH'))
|
4 |
+
exit;
|
5 |
+
|
6 |
+
// Check setting
|
7 |
+
if(!acf_get_setting('acfe/modules/options'))
|
8 |
+
return;
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Options WP List Table
|
12 |
+
*
|
13 |
+
*/
|
14 |
+
require_once(ACFE_PATH . 'includes/admin/options.class.php');
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Options Menu
|
18 |
+
*
|
19 |
+
*/
|
20 |
+
add_action('admin_menu', 'acfe_options_menu');
|
21 |
+
function acfe_options_menu(){
|
22 |
+
|
23 |
+
$hook = add_submenu_page(
|
24 |
+
'options-general.php',
|
25 |
+
__('Options'),
|
26 |
+
__('Options'),
|
27 |
+
acf_get_setting('capability'),
|
28 |
+
'acfe-options'
|
29 |
+
);
|
30 |
+
|
31 |
+
}
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Options Screen
|
35 |
+
*
|
36 |
+
*/
|
37 |
+
add_filter('set-screen-option', 'acfe_options_screen', 10, 3);
|
38 |
+
function acfe_options_screen($status, $option, $value){
|
39 |
+
|
40 |
+
return $value;
|
41 |
+
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Options Enqueue
|
46 |
+
*
|
47 |
+
*/
|
48 |
+
add_action('admin_print_scripts-settings_page_acfe-options', 'acfe_options_enqueue');
|
49 |
+
function acfe_options_enqueue(){
|
50 |
+
|
51 |
+
wp_enqueue_style('acf-input');
|
52 |
+
wp_enqueue_script('acf-input');
|
53 |
+
wp_enqueue_style('acf-extended', plugins_url('assets/acf-extended.css', ACFE_FILE), false, null);
|
54 |
+
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* Options Load
|
59 |
+
*
|
60 |
+
*/
|
61 |
+
add_action('load-settings_page_acfe-options', 'acfe_options_load');
|
62 |
+
function acfe_options_load(){
|
63 |
+
|
64 |
+
// Messages
|
65 |
+
if(isset($_REQUEST['message']) && !empty($_REQUEST['message']))
|
66 |
+
do_action('acfe/options/load/message=' . $_REQUEST['message']);
|
67 |
+
|
68 |
+
// Default Action
|
69 |
+
$action = 'list';
|
70 |
+
|
71 |
+
// Request Action
|
72 |
+
if(isset($_REQUEST['action']) && !empty($_REQUEST['action']) && $_REQUEST['action'] != '-1')
|
73 |
+
$action = $_REQUEST['action'];
|
74 |
+
|
75 |
+
// Request Action2
|
76 |
+
elseif(isset($_REQUEST['action2']) && !empty($_REQUEST['action2']) && $_REQUEST['action2'] != '-1')
|
77 |
+
$action = $_REQUEST['action2'];
|
78 |
+
|
79 |
+
// Do Action: Specific
|
80 |
+
do_action('acfe/options/load/action=' . $action, $action);
|
81 |
+
|
82 |
+
// Do Action
|
83 |
+
do_action('acfe/options/load', $action);
|
84 |
+
|
85 |
+
}
|
86 |
+
|
87 |
+
/**
|
88 |
+
* Options HTML
|
89 |
+
*
|
90 |
+
*/
|
91 |
+
add_action('settings_page_acfe-options', 'acfe_options_html');
|
92 |
+
function acfe_options_html(){
|
93 |
+
|
94 |
+
// Default Action
|
95 |
+
$action = 'list';
|
96 |
+
|
97 |
+
// Request Action
|
98 |
+
if(isset($_REQUEST['action']) && !empty($_REQUEST['action']) && $_REQUEST['action'] != '-1')
|
99 |
+
$action = $_REQUEST['action'];
|
100 |
+
|
101 |
+
// Do Action: Specific
|
102 |
+
do_action('acfe/options/html/action=' . $action, $action);
|
103 |
+
|
104 |
+
// Do Action
|
105 |
+
do_action('acfe/options/html', $action);
|
106 |
+
|
107 |
+
}
|
108 |
+
|
109 |
+
/**
|
110 |
+
* Options List: Load
|
111 |
+
*
|
112 |
+
*/
|
113 |
+
add_action('acfe/options/load/action=list', 'acfe_options_load_list');
|
114 |
+
function acfe_options_load_list(){
|
115 |
+
|
116 |
+
add_screen_option('per_page', array(
|
117 |
+
'label' => 'Options',
|
118 |
+
'default' => 100,
|
119 |
+
'option' => 'options_per_page'
|
120 |
+
));
|
121 |
+
|
122 |
+
}
|
123 |
+
|
124 |
+
/**
|
125 |
+
* Options List: HTML
|
126 |
+
*
|
127 |
+
*/
|
128 |
+
add_filter('acfe/options/html/action=list', 'acfe_options_html_list');
|
129 |
+
function acfe_options_html_list(){
|
130 |
+
|
131 |
+
acf_get_view(ACFE_PATH . '/includes/admin/views/html-options-list.php');
|
132 |
+
|
133 |
+
}
|
134 |
+
|
135 |
+
/**
|
136 |
+
* Options Delete: Load
|
137 |
+
*
|
138 |
+
*/
|
139 |
+
add_action('acfe/options/load/action=delete', 'acfe_options_load_delete');
|
140 |
+
function acfe_options_load_delete(){
|
141 |
+
|
142 |
+
$nonce = esc_attr($_REQUEST['_wpnonce']);
|
143 |
+
|
144 |
+
if(!wp_verify_nonce($nonce, 'acfe_options_delete_option'))
|
145 |
+
wp_die('Cheatin’, huh?');
|
146 |
+
|
147 |
+
acfe_options_delete_option(absint($_GET['option']));
|
148 |
+
|
149 |
+
wp_redirect(sprintf('?page=%s&message=deleted', esc_attr($_REQUEST['page'])));
|
150 |
+
exit;
|
151 |
+
|
152 |
+
}
|
153 |
+
|
154 |
+
/**
|
155 |
+
* Options Delete: Message
|
156 |
+
*
|
157 |
+
*/
|
158 |
+
add_action('acfe/options/load/message=deleted', 'acfe_options_load_delete_message');
|
159 |
+
function acfe_options_load_delete_message(){
|
160 |
+
|
161 |
+
acf_add_admin_notice(__('Option has been deleted'), 'success');
|
162 |
+
|
163 |
+
}
|
164 |
+
|
165 |
+
/**
|
166 |
+
* Options Bulk Delete: Load
|
167 |
+
*
|
168 |
+
*/
|
169 |
+
add_action('acfe/options/load/action=bulk-delete', 'acfe_options_load_bulk_delete');
|
170 |
+
function acfe_options_load_bulk_delete(){
|
171 |
+
|
172 |
+
$nonce = esc_attr($_REQUEST['_wpnonce']);
|
173 |
+
|
174 |
+
if(!wp_verify_nonce($nonce, 'bulk-options'))
|
175 |
+
wp_die('Cheatin’, huh?');
|
176 |
+
|
177 |
+
$delete_ids = esc_sql($_REQUEST['bulk-delete']);
|
178 |
+
|
179 |
+
foreach($delete_ids as $id){
|
180 |
+
|
181 |
+
acfe_options_delete_option($id);
|
182 |
+
|
183 |
+
}
|
184 |
+
|
185 |
+
wp_redirect(sprintf('?page=%s&message=bulk-deleted', esc_attr($_REQUEST['page'])));
|
186 |
+
exit;
|
187 |
+
|
188 |
+
}
|
189 |
+
|
190 |
+
/**
|
191 |
+
* Options Bulk Delete: Message
|
192 |
+
*
|
193 |
+
*/
|
194 |
+
add_action('acfe/options/load/message=bulk-deleted', 'acfe_options_load_bulk_delete_message');
|
195 |
+
function acfe_options_load_bulk_delete_message(){
|
196 |
+
|
197 |
+
acf_add_admin_notice(__('Options have been deleted'), 'success');
|
198 |
+
|
199 |
+
}
|
200 |
+
|
201 |
+
/**
|
202 |
+
* Options Delete: Function
|
203 |
+
*
|
204 |
+
*/
|
205 |
+
function acfe_options_delete_option($id){
|
206 |
+
|
207 |
+
global $wpdb;
|
208 |
+
|
209 |
+
$wpdb->delete(
|
210 |
+
"{$wpdb->options}",
|
211 |
+
array('option_id' => $id),
|
212 |
+
array('%d')
|
213 |
+
);
|
214 |
+
|
215 |
+
}
|
216 |
+
|
217 |
+
/**
|
218 |
+
* Options Edit: Load
|
219 |
+
*
|
220 |
+
*/
|
221 |
+
add_action('acfe/options/load/action=edit', 'acfe_options_load_edit');
|
222 |
+
add_action('acfe/options/load/action=add', 'acfe_options_load_edit');
|
223 |
+
function acfe_options_load_edit($action){
|
224 |
+
|
225 |
+
// Nonce
|
226 |
+
if(acf_verify_nonce('acfe-options-edit')){
|
227 |
+
|
228 |
+
// Save data
|
229 |
+
if(acf_validate_save_post(true)){
|
230 |
+
|
231 |
+
acf_save_post('acfe_options_edit');
|
232 |
+
|
233 |
+
$redirect = add_query_arg(array('message' => 'updated'));
|
234 |
+
|
235 |
+
if($action === 'add')
|
236 |
+
$redirect = sprintf('?page=%s&message=added', esc_attr($_REQUEST['page']));
|
237 |
+
|
238 |
+
wp_redirect($redirect);
|
239 |
+
exit;
|
240 |
+
|
241 |
+
}
|
242 |
+
|
243 |
+
}
|
244 |
+
|
245 |
+
// Load acf scripts
|
246 |
+
acf_enqueue_scripts();
|
247 |
+
|
248 |
+
// Actions
|
249 |
+
add_action('acf/input/admin_head', 'acfe_options_edit_metabox');
|
250 |
+
|
251 |
+
// Add columns support
|
252 |
+
add_screen_option('layout_columns', array(
|
253 |
+
'max' => 2,
|
254 |
+
'default' => 2
|
255 |
+
));
|
256 |
+
|
257 |
+
}
|
258 |
+
|
259 |
+
/**
|
260 |
+
* Options Edit: HTML
|
261 |
+
*
|
262 |
+
*/
|
263 |
+
add_filter('acfe/options/html/action=edit', 'acfe_options_html_edit');
|
264 |
+
add_filter('acfe/options/html/action=add', 'acfe_options_html_edit');
|
265 |
+
function acfe_options_html_edit(){
|
266 |
+
|
267 |
+
acf_get_view(ACFE_PATH . '/includes/admin/views/html-options-edit.php');
|
268 |
+
|
269 |
+
}
|
270 |
+
|
271 |
+
/**
|
272 |
+
* Options Edit: Metabox
|
273 |
+
*
|
274 |
+
*/
|
275 |
+
function acfe_options_edit_metabox(){
|
276 |
+
|
277 |
+
$option = array(
|
278 |
+
'option_id' => 0,
|
279 |
+
'option_name' => '',
|
280 |
+
'option_value' => '',
|
281 |
+
'autoload' => 'no',
|
282 |
+
);
|
283 |
+
|
284 |
+
if(isset($_REQUEST['option']) && !empty($_REQUEST['option'])){
|
285 |
+
|
286 |
+
$option_id = absint($_REQUEST['option']);
|
287 |
+
|
288 |
+
global $wpdb;
|
289 |
+
|
290 |
+
$get_option = $wpdb->get_row("SELECT * FROM {$wpdb->options} WHERE option_id = '$option_id'", 'ARRAY_A');
|
291 |
+
if(!empty($get_option))
|
292 |
+
$option = $get_option;
|
293 |
+
|
294 |
+
}
|
295 |
+
|
296 |
+
$field_group = array(
|
297 |
+
'ID' => 0,
|
298 |
+
'key' => 'group_acfe_options_edit',
|
299 |
+
'style' => 'default',
|
300 |
+
'label_placement' => 'left',
|
301 |
+
'instruction_placement' => 'label',
|
302 |
+
'fields' => array()
|
303 |
+
);
|
304 |
+
|
305 |
+
$fields = array();
|
306 |
+
|
307 |
+
$fields[] = array(
|
308 |
+
'label' => __('Name'),
|
309 |
+
'key' => 'field_acfe_options_edit_name',
|
310 |
+
'name' => 'field_acfe_options_edit_name',
|
311 |
+
'type' => 'text',
|
312 |
+
'prefix' => 'acf',
|
313 |
+
'instructions' => '',
|
314 |
+
'required' => true,
|
315 |
+
'conditional_logic' => false,
|
316 |
+
'default_value' => '',
|
317 |
+
'placeholder' => '',
|
318 |
+
'prepend' => '',
|
319 |
+
'append' => '',
|
320 |
+
'maxlength' => '',
|
321 |
+
'value' => $option['option_name'],
|
322 |
+
'wrapper' => array(
|
323 |
+
'width' => '',
|
324 |
+
'class' => '',
|
325 |
+
'id' => '',
|
326 |
+
),
|
327 |
+
);
|
328 |
+
|
329 |
+
// Serialized || HTML
|
330 |
+
if(is_serialized($option['option_value']) || $option['option_value'] != strip_tags($option['option_value'])){
|
331 |
+
|
332 |
+
$type = 'serialized';
|
333 |
+
$instructions = 'Use this <a href="https://duzun.me/playground/serialize" target="_blank">online tool</a> to unserialize/seriliaze data.';
|
334 |
+
|
335 |
+
if($option['option_value'] != strip_tags($option['option_value'])){
|
336 |
+
|
337 |
+
$type = 'HTML';
|
338 |
+
$instructions = '';
|
339 |
+
|
340 |
+
}
|
341 |
+
|
342 |
+
$fields[] = array(
|
343 |
+
'label' => __('Value <code style="font-size:11px;float:right; line-height:1.2; margin-top:1px;">' . $type . '</code>'),
|
344 |
+
'key' => 'field_acfe_options_edit_value',
|
345 |
+
'name' => 'field_acfe_options_edit_value',
|
346 |
+
'type' => 'textarea',
|
347 |
+
'prefix' => 'acf',
|
348 |
+
'instructions' => $instructions,
|
349 |
+
'required' => false,
|
350 |
+
'conditional_logic' => false,
|
351 |
+
'default_value' => '',
|
352 |
+
'placeholder' => '',
|
353 |
+
'prepend' => '',
|
354 |
+
'append' => '',
|
355 |
+
'maxlength' => '',
|
356 |
+
'value' => $option['option_value'],
|
357 |
+
'class' => 'code',
|
358 |
+
'wrapper' => array(
|
359 |
+
'width' => '',
|
360 |
+
'class' => '',
|
361 |
+
'id' => '',
|
362 |
+
),
|
363 |
+
);
|
364 |
+
|
365 |
+
}
|
366 |
+
|
367 |
+
// Serialized || HTML
|
368 |
+
elseif(acfe_is_json($option['option_value'])){
|
369 |
+
|
370 |
+
$type = 'json';
|
371 |
+
$instructions = 'Use this <a href="http://solutions.weblite.ca/php2json/" target="_blank">online tool</a> to decode/encode json.';
|
372 |
+
|
373 |
+
$fields[] = array(
|
374 |
+
'label' => __('Value <code style="font-size:11px;float:right; line-height:1.2; margin-top:1px;">' . $type . '</code>'),
|
375 |
+
'key' => 'field_acfe_options_edit_value',
|
376 |
+
'name' => 'field_acfe_options_edit_value',
|
377 |
+
'type' => 'textarea',
|
378 |
+
'prefix' => 'acf',
|
379 |
+
'instructions' => $instructions,
|
380 |
+
'required' => false,
|
381 |
+
'conditional_logic' => false,
|
382 |
+
'default_value' => '',
|
383 |
+
'placeholder' => '',
|
384 |
+
'prepend' => '',
|
385 |
+
'append' => '',
|
386 |
+
'maxlength' => '',
|
387 |
+
'value' => $option['option_value'],
|
388 |
+
'class' => 'code',
|
389 |
+
'wrapper' => array(
|
390 |
+
'width' => '',
|
391 |
+
'class' => '',
|
392 |
+
'id' => '',
|
393 |
+
),
|
394 |
+
);
|
395 |
+
|
396 |
+
}
|
397 |
+
|
398 |
+
// String
|
399 |
+
else{
|
400 |
+
|
401 |
+
$type = '';
|
402 |
+
if(!empty($option['option_value']))
|
403 |
+
$type = '<code style="font-size:11px;float:right; line-height:1.2; margin-top:1px;">string</code>';
|
404 |
+
|
405 |
+
$fields[] = array(
|
406 |
+
'label' => __('Value ' . $type),
|
407 |
+
'key' => 'field_acfe_options_edit_value',
|
408 |
+
'name' => 'field_acfe_options_edit_value',
|
409 |
+
'type' => 'textarea',
|
410 |
+
'prefix' => 'acf',
|
411 |
+
'instructions' => '',
|
412 |
+
'required' => false,
|
413 |
+
'conditional_logic' => false,
|
414 |
+
'default_value' => '',
|
415 |
+
'placeholder' => '',
|
416 |
+
'prepend' => '',
|
417 |
+
'append' => '',
|
418 |
+
'maxlength' => '',
|
419 |
+
'value' => $option['option_value'],
|
420 |
+
'wrapper' => array(
|
421 |
+
'width' => '',
|
422 |
+
'class' => '',
|
423 |
+
'id' => '',
|
424 |
+
),
|
425 |
+
);
|
426 |
+
|
427 |
+
}
|
428 |
+
|
429 |
+
$fields[] = array(
|
430 |
+
'label' => __('Autoload'),
|
431 |
+
'key' => 'field_acfe_options_edit_autoload',
|
432 |
+
'name' => 'field_acfe_options_edit_autoload',
|
433 |
+
'type' => 'select',
|
434 |
+
'prefix' => 'acf',
|
435 |
+
'instructions' => '',
|
436 |
+
'required' => true,
|
437 |
+
'conditional_logic' => false,
|
438 |
+
'default_value' => '',
|
439 |
+
'placeholder' => '',
|
440 |
+
'prepend' => '',
|
441 |
+
'append' => '',
|
442 |
+
'maxlength' => '',
|
443 |
+
'value' => $option['autoload'],
|
444 |
+
'choices' => array(
|
445 |
+
'no' => __('No'),
|
446 |
+
'yes' => __('Yes'),
|
447 |
+
),
|
448 |
+
'wrapper' => array(
|
449 |
+
'width' => '',
|
450 |
+
'class' => '',
|
451 |
+
'id' => '',
|
452 |
+
),
|
453 |
+
);
|
454 |
+
|
455 |
+
$field_group['fields'] = $fields;
|
456 |
+
|
457 |
+
$metabox_submit_title = __('Submit','acf');
|
458 |
+
$metabox_main_title = __('Add Option');
|
459 |
+
|
460 |
+
if(!empty($option['option_id'])){
|
461 |
+
|
462 |
+
$metabox_submit_title = __('Edit','acf');
|
463 |
+
$metabox_main_title = __('Edit Option');
|
464 |
+
|
465 |
+
}
|
466 |
+
|
467 |
+
// Submit Metabox
|
468 |
+
add_meta_box('submitdiv', $metabox_submit_title, function($post, $args) use($option){
|
469 |
+
|
470 |
+
$delete_nonce = wp_create_nonce('acfe_options_delete_option');
|
471 |
+
|
472 |
+
?>
|
473 |
+
<div id="major-publishing-actions">
|
474 |
+
|
475 |
+
<?php if(!empty($option['option_id'])){ ?>
|
476 |
+
|
477 |
+
<div id="delete-action">
|
478 |
+
<a class="submitdelete deletion" style="color:#a00;" href="<?php echo sprintf('?page=%s&action=%s&option=%s&_wpnonce=%s', esc_attr($_REQUEST['page']), 'delete', $option['option_id'], $delete_nonce); ?>"><?php _e('Delete'); ?></a>
|
479 |
+
</div>
|
480 |
+
|
481 |
+
<?php } ?>
|
482 |
+
|
483 |
+
<div id="publishing-action">
|
484 |
+
<span class="spinner"></span>
|
485 |
+
<input type="submit" accesskey="p" value="<?php _e('Update'); ?>" class="button button-primary button-large" id="publish" name="publish">
|
486 |
+
</div>
|
487 |
+
|
488 |
+
<div class="clear"></div>
|
489 |
+
|
490 |
+
</div>
|
491 |
+
<?php
|
492 |
+
}, 'acf_options_page', 'side', 'high');
|
493 |
+
|
494 |
+
// Main Metabox
|
495 |
+
add_meta_box('acf-group_acfe_options_edit', $metabox_main_title, function($post, $args){
|
496 |
+
|
497 |
+
// extract args
|
498 |
+
extract($args); // all variables from the add_meta_box function
|
499 |
+
extract($args); // all variables from the args argument
|
500 |
+
|
501 |
+
// vars
|
502 |
+
$o = array(
|
503 |
+
'id' => $id,
|
504 |
+
'key' => $field_group['key'],
|
505 |
+
'style' => $field_group['style'],
|
506 |
+
'label' => $field_group['label_placement'],
|
507 |
+
'editLink' => '',
|
508 |
+
'editTitle' => __('Edit field group', 'acf'),
|
509 |
+
'visibility' => true
|
510 |
+
);
|
511 |
+
|
512 |
+
// load fields
|
513 |
+
$fields = $field_group['fields'];
|
514 |
+
|
515 |
+
// render
|
516 |
+
acf_render_fields($fields, 'acfe-options-edit', 'div', $field_group['instruction_placement']);
|
517 |
+
|
518 |
+
?>
|
519 |
+
<script type="text/javascript">
|
520 |
+
if(typeof acf !== 'undefined'){
|
521 |
+
|
522 |
+
acf.newPostbox(<?php echo json_encode($o); ?>);
|
523 |
+
|
524 |
+
}
|
525 |
+
</script>
|
526 |
+
<?php
|
527 |
+
|
528 |
+
}, 'acf_options_page', 'normal', 'high', array('field_group' => $field_group));
|
529 |
+
|
530 |
+
}
|
531 |
+
|
532 |
+
/**
|
533 |
+
* Options Edit: Save
|
534 |
+
*
|
535 |
+
*/
|
536 |
+
add_action('acf/save_post', 'acfe_options_edit_save_post', 5);
|
537 |
+
function acfe_options_edit_save_post($post_id){
|
538 |
+
|
539 |
+
// Validate
|
540 |
+
if($post_id !== 'acfe_options_edit')
|
541 |
+
return;
|
542 |
+
|
543 |
+
// Vars
|
544 |
+
$option_name = wp_unslash($_POST['acf']['field_acfe_options_edit_name']);
|
545 |
+
$option_value = wp_unslash($_POST['acf']['field_acfe_options_edit_value']);
|
546 |
+
$autoload = $_POST['acf']['field_acfe_options_edit_autoload'];
|
547 |
+
|
548 |
+
// Value serialized?
|
549 |
+
$option_value = maybe_unserialize($option_value);
|
550 |
+
|
551 |
+
// Update
|
552 |
+
update_option($option_name, $option_value, $autoload);
|
553 |
+
|
554 |
+
// Flush ACF
|
555 |
+
$_POST['acf'] = array();
|
556 |
+
|
557 |
+
}
|
558 |
+
|
559 |
+
/**
|
560 |
+
* Options Edit: Message
|
561 |
+
*
|
562 |
+
*/
|
563 |
+
add_action('acfe/options/load/message=updated', 'acfe_options_load_edit_message');
|
564 |
+
function acfe_options_load_edit_message(){
|
565 |
+
|
566 |
+
acf_add_admin_notice(__('Option has been updated'), 'success');
|
567 |
+
|
568 |
+
}
|
569 |
+
|
570 |
+
/**
|
571 |
+
* Options Add: Message
|
572 |
+
*
|
573 |
+
*/
|
574 |
+
add_action('acfe/options/load/message=added', 'acfe_options_load_add_message');
|
575 |
+
function acfe_options_load_add_message(){
|
576 |
+
|
577 |
+
acf_add_admin_notice(__('Option has been added'), 'success');
|
578 |
+
|
579 |
}
|
includes/admin/plugins.php
CHANGED
@@ -1,42 +1,42 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if(!defined('ABSPATH'))
|
4 |
-
exit;
|
5 |
-
|
6 |
-
/**
|
7 |
-
* Admin: Plugins Tab
|
8 |
-
*/
|
9 |
-
add_filter('install_plugins_tabs', 'acfe_admin_plugins_tabs');
|
10 |
-
function acfe_admin_plugins_tabs($tabs){
|
11 |
-
|
12 |
-
$tabs['acf'] = __('Advanced Custom Fields');
|
13 |
-
|
14 |
-
return $tabs;
|
15 |
-
|
16 |
-
}
|
17 |
-
|
18 |
-
/**
|
19 |
-
* Admin: Plugins Args
|
20 |
-
*/
|
21 |
-
add_filter('install_plugins_table_api_args_acf', 'acfe_admin_plugins_args');
|
22 |
-
function acfe_admin_plugins_args($args){
|
23 |
-
|
24 |
-
global $paged;
|
25 |
-
|
26 |
-
$args['search'] = 'acf';
|
27 |
-
$args['page'] = $paged;
|
28 |
-
$args['per_page'] = 12;
|
29 |
-
|
30 |
-
return $args;
|
31 |
-
|
32 |
-
}
|
33 |
-
|
34 |
-
/**
|
35 |
-
* Admin: Plugins HTML
|
36 |
-
*/
|
37 |
-
add_action('install_plugins_acf', 'acfe_admin_plugins_html');
|
38 |
-
function acfe_admin_plugins_html(){
|
39 |
-
|
40 |
-
display_plugins_table();
|
41 |
-
|
42 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if(!defined('ABSPATH'))
|
4 |
+
exit;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Admin: Plugins Tab
|
8 |
+
*/
|
9 |
+
add_filter('install_plugins_tabs', 'acfe_admin_plugins_tabs');
|
10 |
+
function acfe_admin_plugins_tabs($tabs){
|
11 |
+
|
12 |
+
$tabs['acf'] = __('Advanced Custom Fields');
|
13 |
+
|
14 |
+
return $tabs;
|
15 |
+
|
16 |
+
}
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Admin: Plugins Args
|
20 |
+
*/
|
21 |
+
add_filter('install_plugins_table_api_args_acf', 'acfe_admin_plugins_args');
|
22 |
+
function acfe_admin_plugins_args($args){
|
23 |
+
|
24 |
+
global $paged;
|
25 |
+
|
26 |
+
$args['search'] = 'acf';
|
27 |
+
$args['page'] = $paged;
|
28 |
+
$args['per_page'] = 12;
|
29 |
+
|
30 |
+
return $args;
|
31 |
+
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Admin: Plugins HTML
|
36 |
+
*/
|
37 |
+
add_action('install_plugins_acf', 'acfe_admin_plugins_html');
|
38 |
+
function acfe_admin_plugins_html(){
|
39 |
+
|
40 |
+
display_plugins_table();
|
41 |
+
|
42 |
}
|
includes/admin/tools/fg-local.php
CHANGED
@@ -1,333 +1,333 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if(!defined('ABSPATH'))
|
4 |
-
exit;
|
5 |
-
|
6 |
-
if(!class_exists('ACFE_Admin_Tool_FG_Local_Export')):
|
7 |
-
|
8 |
-
class ACFE_Admin_Tool_FG_Local extends ACF_Admin_Tool{
|
9 |
-
|
10 |
-
function initialize(){
|
11 |
-
|
12 |
-
// vars
|
13 |
-
$this->title = __('Export Local Field Groups');
|
14 |
-
$this->name = 'acfe-fg-local';
|
15 |
-
$this->icon = 'dashicons-upload';
|
16 |
-
|
17 |
-
}
|
18 |
-
|
19 |
-
function load(){
|
20 |
-
|
21 |
-
if($ids = acf_maybe_get_GET('acfe-fg-local-sync')){
|
22 |
-
|
23 |
-
$ids = explode(' ', $ids);
|
24 |
-
|
25 |
-
// Count number of imported field groups.
|
26 |
-
$total = count($ids);
|
27 |
-
|
28 |
-
// Generate text.
|
29 |
-
$text = sprintf( _n( 'Imported 1 field group', 'Imported %s field groups', $total, 'acf' ), $total );
|
30 |
-
|
31 |
-
// Add links to text.
|
32 |
-
$links = array();
|
33 |
-
foreach( $ids as $id ) {
|
34 |
-
$links[] = '<a href="' . get_edit_post_link( $id ) . '">' . get_the_title( $id ) . '</a>';
|
35 |
-
}
|
36 |
-
$text .= ' ' . implode( ', ', $links );
|
37 |
-
|
38 |
-
// Add notice
|
39 |
-
acf_add_admin_notice($text, 'success');
|
40 |
-
|
41 |
-
}
|
42 |
-
|
43 |
-
if($this->is_active()){
|
44 |
-
|
45 |
-
$array = $this->get_selected();
|
46 |
-
$keys = $this->get_selected_keys();
|
47 |
-
$action = $this->get_action();
|
48 |
-
|
49 |
-
// validate
|
50 |
-
if($array === false)
|
51 |
-
return acf_add_admin_notice(__('No field group selected'), 'warning');
|
52 |
-
|
53 |
-
// Json
|
54 |
-
if($action === 'json'){
|
55 |
-
|
56 |
-
// Slugs
|
57 |
-
$slugs = implode('-', $keys);
|
58 |
-
|
59 |
-
// Date
|
60 |
-
$date = date('Y-m-d');
|
61 |
-
|
62 |
-
// file
|
63 |
-
$file_name = 'acfe-export-local-' . $slugs . '-' . $date . '.json';
|
64 |
-
|
65 |
-
// headers
|
66 |
-
header("Content-Description: File Transfer");
|
67 |
-
header("Content-Disposition: attachment; filename={$file_name}");
|
68 |
-
header("Content-Type: application/json; charset=utf-8");
|
69 |
-
|
70 |
-
// return
|
71 |
-
echo acf_json_encode($array);
|
72 |
-
die;
|
73 |
-
|
74 |
-
}
|
75 |
-
|
76 |
-
// Sync
|
77 |
-
elseif($action === 'sync'){
|
78 |
-
|
79 |
-
// Force array
|
80 |
-
$array = acf_array($array);
|
81 |
-
|
82 |
-
// Remeber imported field group ids.
|
83 |
-
$ids = array();
|
84 |
-
|
85 |
-
// Loop over json
|
86 |
-
foreach($array as $field_group){
|
87 |
-
|
88 |
-
// Search database for existing field group.
|
89 |
-
$post = acf_get_field_group_post($field_group['key']);
|
90 |
-
|
91 |
-
if($post)
|
92 |
-
$field_group['ID'] = $post->ID;
|
93 |
-
|
94 |
-
// Import field group.
|
95 |
-
$field_group = acf_import_field_group($field_group);
|
96 |
-
|
97 |
-
// append message
|
98 |
-
$ids[] = $field_group['ID'];
|
99 |
-
|
100 |
-
}
|
101 |
-
|
102 |
-
// url
|
103 |
-
$url = add_query_arg('acfe-fg-local-sync', implode('+', $ids), acf_get_admin_tools_url());
|
104 |
-
|
105 |
-
// redirect
|
106 |
-
wp_redirect($url);
|
107 |
-
exit;
|
108 |
-
|
109 |
-
}
|
110 |
-
|
111 |
-
}
|
112 |
-
|
113 |
-
}
|
114 |
-
|
115 |
-
function html(){
|
116 |
-
|
117 |
-
if($this->is_active()){
|
118 |
-
|
119 |
-
$array = $this->get_selected();
|
120 |
-
$action = $this->get_action();
|
121 |
-
|
122 |
-
?>
|
123 |
-
<div class="acf-postbox-columns">
|
124 |
-
<div class="acf-postbox-main">
|
125 |
-
|
126 |
-
<?php
|
127 |
-
// prevent default translation and fake __() within string
|
128 |
-
acf_update_setting('l10n_var_export', true);
|
129 |
-
|
130 |
-
// vars
|
131 |
-
$json = $array;
|
132 |
-
|
133 |
-
$str_replace = array(
|
134 |
-
" " => "\t",
|
135 |
-
"'!!__(!!\'" => "__('",
|
136 |
-
"!!\', !!\'" => "', '",
|
137 |
-
"!!\')!!'" => "')",
|
138 |
-
"array (" => "array("
|
139 |
-
);
|
140 |
-
|
141 |
-
$preg_replace = array(
|
142 |
-
'/([\t\r\n]+?)array/' => 'array',
|
143 |
-
'/[0-9]+ => array/' => 'array'
|
144 |
-
);
|
145 |
-
|
146 |
-
|
147 |
-
?>
|
148 |
-
<p><?php _e("The following code can be used to register a local version of the selected field group(s). A local field group can provide many benefits such as faster load times, version control & dynamic fields/settings. Simply copy and paste the following code to your theme's functions.php file or include it within an external file.", 'acf'); ?></p>
|
149 |
-
|
150 |
-
<div id="acf-admin-tool-export">
|
151 |
-
|
152 |
-
<textarea id="acf-export-textarea" readonly="true"><?php
|
153 |
-
|
154 |
-
echo "if( function_exists('acf_add_local_field_group') ):" . "\r\n" . "\r\n";
|
155 |
-
|
156 |
-
foreach( $json as $field_group ) {
|
157 |
-
|
158 |
-
// code
|
159 |
-
$code = var_export($field_group, true);
|
160 |
-
|
161 |
-
|
162 |
-
// change double spaces to tabs
|
163 |
-
$code = str_replace( array_keys($str_replace), array_values($str_replace), $code );
|
164 |
-
|
165 |
-
|
166 |
-
// correctly formats "=> array("
|
167 |
-
$code = preg_replace( array_keys($preg_replace), array_values($preg_replace), $code );
|
168 |
-
|
169 |
-
|
170 |
-
// esc_textarea
|
171 |
-
$code = esc_textarea( $code );
|
172 |
-
|
173 |
-
|
174 |
-
// echo
|
175 |
-
echo "acf_add_local_field_group({$code});" . "\r\n" . "\r\n";
|
176 |
-
|
177 |
-
}
|
178 |
-
|
179 |
-
echo "endif;";
|
180 |
-
|
181 |
-
?></textarea>
|
182 |
-
|
183 |
-
</div>
|
184 |
-
|
185 |
-
<p class="acf-submit">
|
186 |
-
<a class="button" id="acf-export-copy"><?php _e( 'Copy to clipboard', 'acf' ); ?></a>
|
187 |
-
</p>
|
188 |
-
<script type="text/javascript">
|
189 |
-
(function($){
|
190 |
-
|
191 |
-
// vars
|
192 |
-
var $a = $('#acf-export-copy');
|
193 |
-
var $textarea = $('#acf-export-textarea');
|
194 |
-
|
195 |
-
|
196 |
-
// remove $a if 'copy' is not supported
|
197 |
-
if( !document.queryCommandSupported('copy') ) {
|
198 |
-
return $a.remove();
|
199 |
-
}
|
200 |
-
|
201 |
-
|
202 |
-
// event
|
203 |
-
$a.on('click', function( e ){
|
204 |
-
|
205 |
-
// prevent default
|
206 |
-
e.preventDefault();
|
207 |
-
|
208 |
-
|
209 |
-
// select
|
210 |
-
$textarea.get(0).select();
|
211 |
-
|
212 |
-
|
213 |
-
// try
|
214 |
-
try {
|
215 |
-
|
216 |
-
// copy
|
217 |
-
var copy = document.execCommand('copy');
|
218 |
-
if( !copy ) return;
|
219 |
-
|
220 |
-
|
221 |
-
// tooltip
|
222 |
-
acf.newTooltip({
|
223 |
-
text: "<?php _e('Copied', 'acf' ); ?>",
|
224 |
-
timeout: 250,
|
225 |
-
target: $(this),
|
226 |
-
});
|
227 |
-
|
228 |
-
} catch (err) {
|
229 |
-
|
230 |
-
// do nothing
|
231 |
-
|
232 |
-
}
|
233 |
-
|
234 |
-
});
|
235 |
-
|
236 |
-
})(jQuery);
|
237 |
-
</script>
|
238 |
-
</div>
|
239 |
-
</div>
|
240 |
-
<?php
|
241 |
-
|
242 |
-
}
|
243 |
-
|
244 |
-
}
|
245 |
-
|
246 |
-
function get_selected(){
|
247 |
-
|
248 |
-
// vars
|
249 |
-
$selected = $this->get_selected_keys();
|
250 |
-
|
251 |
-
if(!$selected)
|
252 |
-
return false;
|
253 |
-
|
254 |
-
// Return
|
255 |
-
$array = array();
|
256 |
-
|
257 |
-
// Enable filters
|
258 |
-
acf_enable_filters();
|
259 |
-
|
260 |
-
// Disable fitler: clone
|
261 |
-
acf_disable_filter('clone');
|
262 |
-
|
263 |
-
// Get desync PHP Field Groups
|
264 |
-
$desync_php_field_groups = acfe_get_desync_php_field_groups();
|
265 |
-
|
266 |
-
foreach($desync_php_field_groups as $file_key => $file_path){
|
267 |
-
|
268 |
-
require_once($file_path);
|
269 |
-
|
270 |
-
}
|
271 |
-
|
272 |
-
foreach($selected as $field_group_key){
|
273 |
-
|
274 |
-
$field_group = acf_get_field_group($field_group_key);
|
275 |
-
|
276 |
-
// validate field group
|
277 |
-
if(empty($field_group))
|
278 |
-
continue;
|
279 |
-
|
280 |
-
// load fields
|
281 |
-
$field_group['fields'] = acf_get_fields($field_group);
|
282 |
-
|
283 |
-
// prepare for export
|
284 |
-
$field_group = acf_prepare_field_group_for_export($field_group);
|
285 |
-
|
286 |
-
$array[] = $field_group;
|
287 |
-
|
288 |
-
}
|
289 |
-
|
290 |
-
// return
|
291 |
-
return $array;
|
292 |
-
|
293 |
-
}
|
294 |
-
|
295 |
-
function get_selected_keys(){
|
296 |
-
|
297 |
-
// check $_POST
|
298 |
-
if($keys = acf_maybe_get_POST('keys'))
|
299 |
-
return (array) $keys;
|
300 |
-
|
301 |
-
// check $_GET
|
302 |
-
if($keys = acf_maybe_get_GET('keys')){
|
303 |
-
|
304 |
-
$keys = str_replace(' ', '+', $keys);
|
305 |
-
return explode('+', $keys);
|
306 |
-
|
307 |
-
}
|
308 |
-
|
309 |
-
// return
|
310 |
-
return false;
|
311 |
-
|
312 |
-
}
|
313 |
-
|
314 |
-
function get_action(){
|
315 |
-
|
316 |
-
// check $_POST
|
317 |
-
if($action = acf_maybe_get_POST('action'))
|
318 |
-
return $action;
|
319 |
-
|
320 |
-
// check $_GET
|
321 |
-
if($action = acf_maybe_get_GET('action'))
|
322 |
-
return $action;
|
323 |
-
|
324 |
-
// return
|
325 |
-
return 'json';
|
326 |
-
|
327 |
-
}
|
328 |
-
|
329 |
-
}
|
330 |
-
|
331 |
-
acf_register_admin_tool('ACFE_Admin_Tool_FG_Local');
|
332 |
-
|
333 |
endif;
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if(!defined('ABSPATH'))
|
4 |
+
exit;
|
5 |
+
|
6 |
+
if(!class_exists('ACFE_Admin_Tool_FG_Local_Export')):
|
7 |
+
|
8 |
+
class ACFE_Admin_Tool_FG_Local extends ACF_Admin_Tool{
|
9 |
+
|
10 |
+
function initialize(){
|
11 |
+
|
12 |
+
// vars
|
13 |
+
$this->title = __('Export Local Field Groups');
|
14 |
+
$this->name = 'acfe-fg-local';
|
15 |
+
$this->icon = 'dashicons-upload';
|
16 |
+
|
17 |
+
}
|
18 |
+
|
19 |
+
function load(){
|
20 |
+
|
21 |
+
if($ids = acf_maybe_get_GET('acfe-fg-local-sync')){
|
22 |
+
|
23 |
+
$ids = explode(' ', $ids);
|
24 |
+
|
25 |
+
// Count number of imported field groups.
|
26 |
+
$total = count($ids);
|
27 |
+
|
28 |
+
// Generate text.
|
29 |
+
$text = sprintf( _n( 'Imported 1 field group', 'Imported %s field groups', $total, 'acf' ), $total );
|
30 |
+
|
31 |
+
// Add links to text.
|
32 |
+
$links = array();
|
33 |
+
foreach( $ids as $id ) {
|
34 |
+
$links[] = '<a href="' . get_edit_post_link( $id ) . '">' . get_the_title( $id ) . '</a>';
|
35 |
+
}
|
36 |
+
$text .= ' ' . implode( ', ', $links );
|
37 |
+
|
38 |
+
// Add notice
|
39 |
+
acf_add_admin_notice($text, 'success');
|
40 |
+
|
41 |
+
}
|
42 |
+
|
43 |
+
if($this->is_active()){
|
44 |
+
|
45 |
+
$array = $this->get_selected();
|
46 |
+
$keys = $this->get_selected_keys();
|
47 |
+
$action = $this->get_action();
|
48 |
+
|
49 |
+
// validate
|
50 |
+
if($array === false)
|
51 |
+
return acf_add_admin_notice(__('No field group selected'), 'warning');
|
52 |
+
|
53 |
+
// Json
|
54 |
+
if($action === 'json'){
|
55 |
+
|
56 |
+
// Slugs
|
57 |
+
$slugs = implode('-', $keys);
|
58 |
+
|
59 |
+
// Date
|
60 |
+
$date = date('Y-m-d');
|
61 |
+
|
62 |
+
// file
|
63 |
+
$file_name = 'acfe-export-local-' . $slugs . '-' . $date . '.json';
|
64 |
+
|
65 |
+
// headers
|
66 |
+
header("Content-Description: File Transfer");
|
67 |
+
header("Content-Disposition: attachment; filename={$file_name}");
|
68 |
+
header("Content-Type: application/json; charset=utf-8");
|
69 |
+
|
70 |
+
// return
|
71 |
+
echo acf_json_encode($array);
|
72 |
+
die;
|
73 |
+
|
74 |
+
}
|
75 |
+
|
76 |
+
// Sync
|
77 |
+
elseif($action === 'sync'){
|
78 |
+
|
79 |
+
// Force array
|
80 |
+
$array = acf_array($array);
|
81 |
+
|
82 |
+
// Remeber imported field group ids.
|
83 |
+
$ids = array();
|
84 |
+
|
85 |
+
// Loop over json
|
86 |
+
foreach($array as $field_group){
|
87 |
+
|
88 |
+
// Search database for existing field group.
|
89 |
+
$post = acf_get_field_group_post($field_group['key']);
|
90 |
+
|
91 |
+
if($post)
|
92 |
+
$field_group['ID'] = $post->ID;
|
93 |
+
|
94 |
+
// Import field group.
|
95 |
+
$field_group = acf_import_field_group($field_group);
|
96 |
+
|
97 |
+
// append message
|
98 |
+
$ids[] = $field_group['ID'];
|
99 |
+
|
100 |
+
}
|
101 |
+
|
102 |
+
// url
|
103 |
+
$url = add_query_arg('acfe-fg-local-sync', implode('+', $ids), acf_get_admin_tools_url());
|
104 |
+
|
105 |
+
// redirect
|
106 |
+
wp_redirect($url);
|
107 |
+
exit;
|
108 |
+
|
109 |
+
}
|
110 |
+
|
111 |
+
}
|
112 |
+
|
113 |
+
}
|
114 |
+
|
115 |
+
function html(){
|
116 |
+
|
117 |
+
if($this->is_active()){
|
118 |
+
|
119 |
+
$array = $this->get_selected();
|
120 |
+
$action = $this->get_action();
|
121 |
+
|
122 |
+
?>
|
123 |
+
<div class="acf-postbox-columns">
|
124 |
+
<div class="acf-postbox-main">
|
125 |
+
|
126 |
+
<?php
|
127 |
+
// prevent default translation and fake __() within string
|
128 |
+
acf_update_setting('l10n_var_export', true);
|
129 |
+
|
130 |
+
// vars
|
131 |
+
$json = $array;
|
132 |
+
|
133 |
+
$str_replace = array(
|
134 |
+
" " => "\t",
|
135 |
+
"'!!__(!!\'" => "__('",
|
136 |
+
"!!\', !!\'" => "', '",
|
137 |
+
"!!\')!!'" => "')",
|
138 |
+
"array (" => "array("
|
139 |
+
);
|
140 |
+
|
141 |
+
$preg_replace = array(
|
142 |
+
'/([\t\r\n]+?)array/' => 'array',
|
143 |
+
'/[0-9]+ => array/' => 'array'
|
144 |
+
);
|
145 |
+
|
146 |
+
|
147 |
+
?>
|
148 |
+
<p><?php _e("The following code can be used to register a local version of the selected field group(s). A local field group can provide many benefits such as faster load times, version control & dynamic fields/settings. Simply copy and paste the following code to your theme's functions.php file or include it within an external file.", 'acf'); ?></p>
|
149 |
+
|
150 |
+
<div id="acf-admin-tool-export">
|
151 |
+
|
152 |
+
<textarea id="acf-export-textarea" readonly="true"><?php
|
153 |
+
|
154 |
+
echo "if( function_exists('acf_add_local_field_group') ):" . "\r\n" . "\r\n";
|
155 |
+
|
156 |
+
foreach( $json as $field_group ) {
|
157 |
+
|
158 |
+
// code
|
159 |
+
$code = var_export($field_group, true);
|
160 |
+
|
161 |
+
|
162 |
+
// change double spaces to tabs
|
163 |
+
$code = str_replace( array_keys($str_replace), array_values($str_replace), $code );
|
164 |
+
|
165 |
+
|
166 |
+
// correctly formats "=> array("
|
167 |
+
$code = preg_replace( array_keys($preg_replace), array_values($preg_replace), $code );
|
168 |
+
|
169 |
+
|
170 |
+
// esc_textarea
|
171 |
+
$code = esc_textarea( $code );
|
172 |
+
|
173 |
+
|
174 |
+
// echo
|
175 |
+
echo "acf_add_local_field_group({$code});" . "\r\n" . "\r\n";
|
176 |
+
|
177 |
+
}
|
178 |
+
|
179 |
+
echo "endif;";
|
180 |
+
|
181 |
+
?></textarea>
|
182 |
+
|
183 |
+
</div>
|
184 |
+
|
185 |
+
<p class="acf-submit">
|
186 |
+
<a class="button" id="acf-export-copy"><?php _e( 'Copy to clipboard', 'acf' ); ?></a>
|
187 |
+
</p>
|
188 |
+
<script type="text/javascript">
|
189 |
+
(function($){
|
190 |
+
|
191 |
+
// vars
|
192 |
+
var $a = $('#acf-export-copy');
|
193 |
+
var $textarea = $('#acf-export-textarea');
|
194 |
+
|
195 |
+
|
196 |
+
// remove $a if 'copy' is not supported
|
197 |
+
if( !document.queryCommandSupported('copy') ) {
|
198 |
+
return $a.remove();
|
199 |
+
}
|
200 |
+
|
201 |
+
|
202 |
+
// event
|
203 |
+
$a.on('click', function( e ){
|
204 |
+
|
205 |
+
// prevent default
|
206 |
+
e.preventDefault();
|
207 |
+
|
208 |
+
|
209 |
+
// select
|
210 |
+
$textarea.get(0).select();
|
211 |
+
|
212 |
+
|
213 |
+
// try
|
214 |
+
try {
|
215 |
+
|
216 |
+
// copy
|
217 |
+
var copy = document.execCommand('copy');
|
218 |
+
if( !copy ) return;
|
219 |
+
|
220 |
+
|
221 |
+
// tooltip
|
222 |
+
acf.newTooltip({
|
223 |
+
text: "<?php _e('Copied', 'acf' ); ?>",
|
224 |
+
timeout: 250,
|
225 |
+
target: $(this),
|
226 |
+
});
|
227 |
+
|
228 |
+
} catch (err) {
|
229 |
+
|
230 |
+
// do nothing
|
231 |
+
|
232 |
+
}
|
233 |
+
|
234 |
+
});
|
235 |
+
|
236 |
+
})(jQuery);
|
237 |
+
</script>
|
238 |
+
</div>
|
239 |
+
</div>
|
240 |
+
<?php
|
241 |
+
|
242 |
+
}
|
243 |
+
|
244 |
+
}
|
245 |
+
|
246 |
+
function get_selected(){
|
247 |
+
|
248 |
+
// vars
|
249 |
+
$selected = $this->get_selected_keys();
|
250 |
+
|
251 |
+
if(!$selected)
|
252 |
+
return false;
|
253 |
+
|
254 |
+
// Return
|
255 |
+
$array = array();
|
256 |
+
|
257 |
+
// Enable filters
|
258 |
+
acf_enable_filters();
|
259 |
+
|
260 |
+
// Disable fitler: clone
|
261 |
+
acf_disable_filter('clone');
|
262 |
+
|
263 |
+
// Get desync PHP Field Groups
|
264 |
+
$desync_php_field_groups = acfe_get_desync_php_field_groups();
|
265 |
+
|
266 |
+
foreach($desync_php_field_groups as $file_key => $file_path){
|
267 |
+
|
268 |
+
require_once($file_path);
|
269 |
+
|
270 |
+
}
|
271 |
+
|
272 |
+
foreach($selected as $field_group_key){
|
273 |
+
|
274 |
+
$field_group = acf_get_field_group($field_group_key);
|
275 |
+
|
276 |
+
// validate field group
|
277 |
+
if(empty($field_group))
|
278 |
+
continue;
|
279 |
+
|
280 |
+
// load fields
|
281 |
+
$field_group['fields'] = acf_get_fields($field_group);
|
282 |
+
|
283 |
+
// prepare for export
|
284 |
+
$field_group = acf_prepare_field_group_for_export($field_group);
|
285 |
+
|
286 |
+
$array[] = $field_group;
|
287 |
+
|
288 |
+
}
|
289 |
+
|
290 |
+
// return
|
291 |
+
return $array;
|
292 |
+
|
293 |
+
}
|
294 |
+
|
295 |
+
function get_selected_keys(){
|
296 |
+
|
297 |
+
// check $_POST
|
298 |
+
if($keys = acf_maybe_get_POST('keys'))
|
299 |
+
return (array) $keys;
|
300 |
+
|
301 |
+
// check $_GET
|
302 |
+
if($keys = acf_maybe_get_GET('keys')){
|
303 |
+
|
304 |
+
$keys = str_replace(' ', '+', $keys);
|
305 |
+
return explode('+', $keys);
|
306 |
+
|
307 |
+
}
|
308 |
+
|
309 |
+
// return
|
310 |
+
return false;
|
311 |
+
|
312 |
+
}
|
313 |
+
|
314 |
+
function get_action(){
|
315 |
+
|
316 |
+
// check $_POST
|
317 |
+
if($action = acf_maybe_get_POST('action'))
|
318 |
+
return $action;
|
319 |
+
|
320 |
+
// check $_GET
|
321 |
+
if($action = acf_maybe_get_GET('action'))
|
322 |
+
return $action;
|
323 |
+
|
324 |
+
// return
|
325 |
+
return 'json';
|
326 |
+
|
327 |
+
}
|
328 |
+
|
329 |
+
}
|
330 |
+
|
331 |
+
acf_register_admin_tool('ACFE_Admin_Tool_FG_Local');
|
332 |
+
|
333 |
endif;
|
includes/admin/views/html-options-edit.php
CHANGED
@@ -1,61 +1,61 @@
|
|
1 |
-
<div class="wrap acf-settings-wrap">
|
2 |
-
|
3 |
-
<?php
|
4 |
-
$title = __('Edit Option');
|
5 |
-
if($_REQUEST['action'] === 'add')
|
6 |
-
$title = __('Add Option');
|
7 |
-
?>
|
8 |
-
<h1 class="wp-heading-inline"><?php echo $title; ?></h1>
|
9 |
-
|
10 |
-
<hr class="wp-header-end" />
|
11 |
-
|
12 |
-
<form id="post" method="post" name="post">
|
13 |
-
|
14 |
-
<?php
|
15 |
-
|
16 |
-
// render post data
|
17 |
-
acf_form_data(array(
|
18 |
-
'screen' => 'acfe-options-edit',
|
19 |
-
'post_id' => 'acfe_options_edit',
|
20 |
-
));
|
21 |
-
|
22 |
-
wp_nonce_field('meta-box-order', 'meta-box-order-nonce', false);
|
23 |
-
wp_nonce_field('closedpostboxes', 'closedpostboxesnonce', false);
|
24 |
-
|
25 |
-
?>
|
26 |
-
|
27 |
-
<div id="poststuff">
|
28 |
-
|
29 |
-
<div id="post-body" class="metabox-holder columns-<?php echo 1 == get_current_screen()->get_columns() ? '1' : '2'; ?>">
|
30 |
-
|
31 |
-
<!--
|
32 |
-
<div id="post-body-content">
|
33 |
-
<div id="titlediv">
|
34 |
-
<div id="titlewrap">
|
35 |
-
<input type="text" name="post_title" size="30" value="Post 4" id="title" spellcheck="true" autocomplete="off" />
|
36 |
-
</div>
|
37 |
-
</div>
|
38 |
-
</div>
|
39 |
-
-->
|
40 |
-
|
41 |
-
<div id="postbox-container-1" class="postbox-container">
|
42 |
-
|
43 |
-
<?php do_meta_boxes('acf_options_page', 'side', null); ?>
|
44 |
-
|
45 |
-
</div>
|
46 |
-
|
47 |
-
<div id="postbox-container-2" class="postbox-container">
|
48 |
-
|
49 |
-
<?php do_meta_boxes('acf_options_page', 'normal', null); ?>
|
50 |
-
|
51 |
-
</div>
|
52 |
-
|
53 |
-
</div>
|
54 |
-
|
55 |
-
<br class="clear" />
|
56 |
-
|
57 |
-
</div>
|
58 |
-
|
59 |
-
</form>
|
60 |
-
|
61 |
</div>
|
1 |
+
<div class="wrap acf-settings-wrap">
|
2 |
+
|
3 |
+
<?php
|
4 |
+
$title = __('Edit Option');
|
5 |
+
if($_REQUEST['action'] === 'add')
|
6 |
+
$title = __('Add Option');
|
7 |
+
?>
|
8 |
+
<h1 class="wp-heading-inline"><?php echo $title; ?></h1>
|
9 |
+
|
10 |
+
<hr class="wp-header-end" />
|
11 |
+
|
12 |
+
<form id="post" method="post" name="post">
|
13 |
+
|
14 |
+
<?php
|
15 |
+
|
16 |
+
// render post data
|
17 |
+
acf_form_data(array(
|
18 |
+
'screen' => 'acfe-options-edit',
|
19 |
+
'post_id' => 'acfe_options_edit',
|
20 |
+
));
|
21 |
+
|
22 |
+
wp_nonce_field('meta-box-order', 'meta-box-order-nonce', false);
|
23 |
+
wp_nonce_field('closedpostboxes', 'closedpostboxesnonce', false);
|
24 |
+
|
25 |
+
?>
|
26 |
+
|
27 |
+
<div id="poststuff">
|
28 |
+
|
29 |
+
<div id="post-body" class="metabox-holder columns-<?php echo 1 == get_current_screen()->get_columns() ? '1' : '2'; ?>">
|
30 |
+
|
31 |
+
<!--
|
32 |
+
<div id="post-body-content">
|
33 |
+
<div id="titlediv">
|
34 |
+
<div id="titlewrap">
|
35 |
+
<input type="text" name="post_title" size="30" value="Post 4" id="title" spellcheck="true" autocomplete="off" />
|
36 |
+
</div>
|
37 |
+
</div>
|
38 |
+
</div>
|
39 |
+
-->
|
40 |
+
|
41 |
+
<div id="postbox-container-1" class="postbox-container">
|
42 |
+
|
43 |
+
<?php do_meta_boxes('acf_options_page', 'side', null); ?>
|
44 |
+
|
45 |
+
</div>
|
46 |
+
|
47 |
+
<div id="postbox-container-2" class="postbox-container">
|
48 |
+
|
49 |
+
<?php do_meta_boxes('acf_options_page', 'normal', null); ?>
|
50 |
+
|
51 |
+
</div>
|
52 |
+
|
53 |
+
</div>
|
54 |
+
|
55 |
+
<br class="clear" />
|
56 |
+
|
57 |
+
</div>
|
58 |
+
|
59 |
+
</form>
|
60 |
+
|
61 |
</div>
|
includes/admin/views/html-options-list.php
CHANGED
@@ -1,38 +1,38 @@
|
|
1 |
-
<div class="wrap" id="acfe-admin-options">
|
2 |
-
|
3 |
-
<h1 class="wp-heading-inline"><?php _e('Options'); ?></h1>
|
4 |
-
<a href="<?php echo sprintf('?page=%s&action=add', esc_attr($_REQUEST['page'])); ?>" class="page-title-action"><?php _e('Add New'); ?></a>
|
5 |
-
|
6 |
-
<hr class="wp-header-end" />
|
7 |
-
|
8 |
-
<div id="poststuff">
|
9 |
-
|
10 |
-
<div id="post-body" class="metabox-holder">
|
11 |
-
<div id="post-body-content">
|
12 |
-
<div class="meta-box-sortables ui-sortable">
|
13 |
-
<form method="post">
|
14 |
-
|
15 |
-
<?php
|
16 |
-
|
17 |
-
// WP List
|
18 |
-
$acfe_options_list = new ACFE_Admin_Options_List();
|
19 |
-
|
20 |
-
// Prepare items
|
21 |
-
$acfe_options_list->prepare_items();
|
22 |
-
|
23 |
-
$acfe_options_list->search_box('Search', 'search');
|
24 |
-
|
25 |
-
$acfe_options_list->display();
|
26 |
-
|
27 |
-
?>
|
28 |
-
|
29 |
-
</form>
|
30 |
-
</div>
|
31 |
-
</div>
|
32 |
-
</div>
|
33 |
-
|
34 |
-
<br class="clear" />
|
35 |
-
|
36 |
-
</div>
|
37 |
-
|
38 |
</div>
|
1 |
+
<div class="wrap" id="acfe-admin-options">
|
2 |
+
|
3 |
+
<h1 class="wp-heading-inline"><?php _e('Options'); ?></h1>
|
4 |
+
<a href="<?php echo sprintf('?page=%s&action=add', esc_attr($_REQUEST['page'])); ?>" class="page-title-action"><?php _e('Add New'); ?></a>
|
5 |
+
|
6 |
+
<hr class="wp-header-end" />
|
7 |
+
|
8 |
+
<div id="poststuff">
|
9 |
+
|
10 |
+
<div id="post-body" class="metabox-holder">
|
11 |
+
<div id="post-body-content">
|
12 |
+
<div class="meta-box-sortables ui-sortable">
|
13 |
+
<form method="post">
|
14 |
+
|
15 |
+
<?php
|
16 |
+
|
17 |
+
// WP List
|
18 |
+
$acfe_options_list = new ACFE_Admin_Options_List();
|
19 |
+
|
20 |
+
// Prepare items
|
21 |
+
$acfe_options_list->prepare_items();
|
22 |
+
|
23 |
+
$acfe_options_list->search_box('Search', 'search');
|
24 |
+
|
25 |
+
$acfe_options_list->display();
|
26 |
+
|
27 |
+
?>
|
28 |
+
|
29 |
+
</form>
|
30 |
+
</div>
|
31 |
+
</div>
|
32 |
+
</div>
|
33 |
+
|
34 |
+
<br class="clear" />
|
35 |
+
|
36 |
+
</div>
|
37 |
+
|
38 |
</div>
|
includes/core/enqueue.php
CHANGED
@@ -3,95 +3,108 @@
|
|
3 |
if(!defined('ABSPATH'))
|
4 |
exit;
|
5 |
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
|
|
11 |
|
12 |
-
|
13 |
-
|
14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
|
21 |
-
|
22 |
-
|
23 |
|
24 |
-
|
|
|
|
|
|
|
|
|
|
|
25 |
|
26 |
}
|
27 |
-
|
28 |
-
|
29 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
|
31 |
-
|
32 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
|
|
|
|
|
|
|
|
|
34 |
}
|
35 |
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
function
|
43 |
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
|
48 |
-
|
49 |
-
|
50 |
|
51 |
-
|
52 |
-
|
|
|
|
|
53 |
|
54 |
-
|
|
|
|
|
|
|
55 |
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
}
|
57 |
|
58 |
}
|
59 |
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
add_action('acf/input/admin_enqueue_scripts', 'acfe_enqueue_admin_input_scripts');
|
64 |
-
function acfe_enqueue_admin_input_scripts(){
|
65 |
-
|
66 |
-
// ACF Extended: Modal
|
67 |
-
wp_enqueue_style('acf-extended-modal', acfe_get_url('assets/acf-extended-modal.css'), false, ACFE_VERSION);
|
68 |
-
|
69 |
-
// Do not enqueue on ACF Field Groups views
|
70 |
-
if(acf_is_screen(array('edit-acf-field-group', 'acf-field-group')))
|
71 |
-
return;
|
72 |
-
|
73 |
-
// ACF Extended: Repeater
|
74 |
-
wp_enqueue_style('acf-extended-repeater', acfe_get_url('assets/acf-extended-repeater.css'), false, ACFE_VERSION);
|
75 |
-
wp_enqueue_script('acf-extended-repeater', acfe_get_url('assets/acf-extended-repeater.js'), array('jquery'), ACFE_VERSION);
|
76 |
-
|
77 |
-
// ACF Extended: Flexible Content
|
78 |
-
wp_enqueue_style('acf-extended-fc', acfe_get_url('assets/acf-extended-fc.css'), false, ACFE_VERSION);
|
79 |
-
wp_enqueue_script('acf-extended-fc', acfe_get_url('assets/acf-extended-fc.js'), array('jquery'), ACFE_VERSION);
|
80 |
-
|
81 |
-
// ACF Extended: Flexible Content Control
|
82 |
-
wp_enqueue_style('acf-extended-fc-control', acfe_get_url('assets/acf-extended-fc-control.css'), false, ACFE_VERSION);
|
83 |
-
wp_enqueue_script('acf-extended-fc-control', acfe_get_url('assets/acf-extended-fc-control.js'), array('jquery'), ACFE_VERSION);
|
84 |
-
|
85 |
-
// ACF Extended: Flexible Content Modal Select
|
86 |
-
wp_enqueue_style('acf-extended-fc-modal-select', acfe_get_url('assets/acf-extended-fc-modal-select.css'), false, ACFE_VERSION);
|
87 |
-
wp_enqueue_script('acf-extended-fc-modal-select', acfe_get_url('assets/acf-extended-fc-modal-select.js'), array('jquery'), ACFE_VERSION);
|
88 |
-
|
89 |
-
// ACF Extended: Flexible Content Modal Edit
|
90 |
-
wp_enqueue_style('acf-extended-fc-modal-edit', acfe_get_url('assets/acf-extended-fc-modal-edit.css'), false, ACFE_VERSION);
|
91 |
-
wp_enqueue_script('acf-extended-fc-modal-edit', acfe_get_url('assets/acf-extended-fc-modal-edit.js'), array('jquery'), ACFE_VERSION);
|
92 |
-
|
93 |
-
acf_localize_text(array(
|
94 |
-
'Close' => __('Close', 'acf'),
|
95 |
-
));
|
96 |
-
|
97 |
-
}
|
3 |
if(!defined('ABSPATH'))
|
4 |
exit;
|
5 |
|
6 |
+
if(!class_exists('acfe_enqueue')):
|
7 |
+
|
8 |
+
class acfe_enqueue{
|
9 |
+
|
10 |
+
var $suffix = '';
|
11 |
+
var $version = '';
|
12 |
|
13 |
+
function __construct(){
|
14 |
+
|
15 |
+
// Vars
|
16 |
+
$this->suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
|
17 |
+
$this->version = ACFE_VERSION;
|
18 |
+
|
19 |
+
// Hooks
|
20 |
+
add_action('admin_enqueue_scripts', array($this, 'admin_enqueue'));
|
21 |
+
add_action('acf/input/admin_enqueue_scripts', array($this, 'acf_enqueue'));
|
22 |
+
}
|
23 |
|
24 |
+
/**
|
25 |
+
* Admin Enqueue
|
26 |
+
*/
|
27 |
+
function admin_enqueue(){
|
28 |
|
29 |
+
// ACF Extended: Admin
|
30 |
+
wp_enqueue_style('acf-extended-admin', acfe_get_url('assets/acf-extended-admin' . $this->suffix . '.css'), false, $this->version);
|
31 |
|
32 |
+
// ACF Extended: UI
|
33 |
+
if(acf_get_setting('acfe/modules/ui') && $this->is_screen_ui()){
|
34 |
+
|
35 |
+
wp_enqueue_style('acf-extended-ui', acfe_get_url('assets/acf-extended-ui' . $this->suffix . '.css'), false, $this->version);
|
36 |
+
|
37 |
+
}
|
38 |
|
39 |
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* ACF (Front + Back) Enqueue
|
43 |
+
*/
|
44 |
+
function acf_enqueue(){
|
45 |
+
|
46 |
+
// ACF Extended
|
47 |
+
wp_enqueue_style('acf-extended', acfe_get_url('assets/acf-extended' . $this->suffix . '.css'), false, $this->version);
|
48 |
+
wp_enqueue_script('acf-extended', acfe_get_url('assets/acf-extended' . $this->suffix . '.js'), array('jquery'), $this->version);
|
49 |
+
|
50 |
+
// ACF Extended: Admin
|
51 |
+
if($this->is_screen_admin()){
|
52 |
+
|
53 |
+
wp_enqueue_script('acf-extended-admin', acfe_get_url('assets/acf-extended-admin' . $this->suffix . '.js'), array('jquery'), $this->version);
|
54 |
+
|
55 |
+
}
|
56 |
|
57 |
+
acf_localize_data(array(
|
58 |
+
'is_admin' => is_admin()
|
59 |
+
));
|
60 |
+
|
61 |
+
acf_localize_text(array(
|
62 |
+
'Close' => __('Close', 'acf'),
|
63 |
+
));
|
64 |
+
|
65 |
+
}
|
66 |
|
67 |
+
function is_screen_admin(){
|
68 |
+
|
69 |
+
return acf_is_screen(array('edit-acf-field-group', 'acf-field-group'));
|
70 |
+
|
71 |
}
|
72 |
|
73 |
+
function is_screen_ui(){
|
74 |
+
|
75 |
+
return $this->is_screen(array('edit-tags', 'term', 'profile', 'user-edit', 'user', 'options-general', 'options-writing', 'options-reading', 'options-discussion', 'options-media', 'options-permalink'));
|
76 |
+
|
77 |
+
}
|
78 |
+
|
79 |
+
function is_screen($id = ''){
|
80 |
|
81 |
+
// bail early if not defined
|
82 |
+
if(!function_exists('get_current_screen'))
|
83 |
+
return false;
|
84 |
|
85 |
+
// vars
|
86 |
+
$current_screen = get_current_screen();
|
87 |
|
88 |
+
// no screen
|
89 |
+
if(!$current_screen){
|
90 |
+
|
91 |
+
return false;
|
92 |
|
93 |
+
// array
|
94 |
+
}elseif(is_array($id)){
|
95 |
+
|
96 |
+
return in_array($current_screen->base, $id);
|
97 |
|
98 |
+
// string
|
99 |
+
}else{
|
100 |
+
|
101 |
+
return ($id === $current_screen->base);
|
102 |
+
|
103 |
+
}
|
104 |
}
|
105 |
|
106 |
}
|
107 |
|
108 |
+
new acfe_enqueue();
|
109 |
+
|
110 |
+
endif;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/field-groups/field-group.php
CHANGED
@@ -168,7 +168,7 @@ class ACFE_Field_Group{
|
|
168 |
'label' => __('Custom meta data'),
|
169 |
'name' => 'acfe_meta',
|
170 |
'key' => 'acfe_meta',
|
171 |
-
'instructions' => __('Add custom meta data to the field group.
|
172 |
'prefix' => 'acf_field_group',
|
173 |
'type' => 'repeater',
|
174 |
'button_label' => __('+ Meta'),
|
168 |
'label' => __('Custom meta data'),
|
169 |
'name' => 'acfe_meta',
|
170 |
'key' => 'acfe_meta',
|
171 |
+
'instructions' => __('Add custom meta data to the field group.'),
|
172 |
'prefix' => 'acf_field_group',
|
173 |
'type' => 'repeater',
|
174 |
'button_label' => __('+ Meta'),
|
includes/fields-settings/permissions.php
CHANGED
@@ -1,55 +1,55 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if(!defined('ABSPATH'))
|
4 |
-
exit;
|
5 |
-
|
6 |
-
add_action('acf/render_field_settings', 'acfe_permissions_settings', 999);
|
7 |
-
function acfe_permissions_settings($field){
|
8 |
-
|
9 |
-
// Settings
|
10 |
-
acf_render_field_setting($field, array(
|
11 |
-
'label' => __('Permissions'),
|
12 |
-
'name' => 'acfe_permissions',
|
13 |
-
'key' => 'acfe_permissions',
|
14 |
-
'instructions' => __('Select user roles that are allowed to view and edit this field. If nothing is selected, then this field will be available to everyone.'),
|
15 |
-
'type' => 'checkbox',
|
16 |
-
'required' => false,
|
17 |
-
'default_value' => false,
|
18 |
-
'choices' => acfe_get_roles(),
|
19 |
-
'layout' => 'horizontal'
|
20 |
-
), true);
|
21 |
-
|
22 |
-
}
|
23 |
-
|
24 |
-
add_filter('acf/prepare_field', 'acfe_roles_prepare_field');
|
25 |
-
function acfe_roles_prepare_field($field){
|
26 |
-
|
27 |
-
if(!isset($field['acfe_permissions']) || empty($field['acfe_permissions']))
|
28 |
-
return $field;
|
29 |
-
|
30 |
-
$current_user_roles = acfe_get_current_user_roles();
|
31 |
-
$render_field = false;
|
32 |
-
|
33 |
-
foreach($current_user_roles as $current_user_role){
|
34 |
-
|
35 |
-
foreach($field['acfe_permissions'] as $field_role){
|
36 |
-
|
37 |
-
if($current_user_role !== $field_role)
|
38 |
-
continue;
|
39 |
-
|
40 |
-
$render_field = true;
|
41 |
-
break;
|
42 |
-
|
43 |
-
}
|
44 |
-
|
45 |
-
if($render_field)
|
46 |
-
break;
|
47 |
-
|
48 |
-
}
|
49 |
-
|
50 |
-
if(!$render_field)
|
51 |
-
return false;
|
52 |
-
|
53 |
-
return $field;
|
54 |
-
|
55 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if(!defined('ABSPATH'))
|
4 |
+
exit;
|
5 |
+
|
6 |
+
add_action('acf/render_field_settings', 'acfe_permissions_settings', 999);
|
7 |
+
function acfe_permissions_settings($field){
|
8 |
+
|
9 |
+
// Settings
|
10 |
+
acf_render_field_setting($field, array(
|
11 |
+
'label' => __('Permissions'),
|
12 |
+
'name' => 'acfe_permissions',
|
13 |
+
'key' => 'acfe_permissions',
|
14 |
+
'instructions' => __('Select user roles that are allowed to view and edit this field. If nothing is selected, then this field will be available to everyone.'),
|
15 |
+
'type' => 'checkbox',
|
16 |
+
'required' => false,
|
17 |
+
'default_value' => false,
|
18 |
+
'choices' => acfe_get_roles(),
|
19 |
+
'layout' => 'horizontal'
|
20 |
+
), true);
|
21 |
+
|
22 |
+
}
|
23 |
+
|
24 |
+
add_filter('acf/prepare_field', 'acfe_roles_prepare_field');
|
25 |
+
function acfe_roles_prepare_field($field){
|
26 |
+
|
27 |
+
if(!isset($field['acfe_permissions']) || empty($field['acfe_permissions']))
|
28 |
+
return $field;
|
29 |
+
|
30 |
+
$current_user_roles = acfe_get_current_user_roles();
|
31 |
+
$render_field = false;
|
32 |
+
|
33 |
+
foreach($current_user_roles as $current_user_role){
|
34 |
+
|
35 |
+
foreach($field['acfe_permissions'] as $field_role){
|
36 |
+
|
37 |
+
if($current_user_role !== $field_role)
|
38 |
+
continue;
|
39 |
+
|
40 |
+
$render_field = true;
|
41 |
+
break;
|
42 |
+
|
43 |
+
}
|
44 |
+
|
45 |
+
if($render_field)
|
46 |
+
break;
|
47 |
+
|
48 |
+
}
|
49 |
+
|
50 |
+
if(!$render_field)
|
51 |
+
return false;
|
52 |
+
|
53 |
+
return $field;
|
54 |
+
|
55 |
}
|
includes/fields/field-button.php
CHANGED
@@ -1,240 +1,240 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if(!defined('ABSPATH'))
|
4 |
-
exit;
|
5 |
-
|
6 |
-
if(!class_exists('acfe_field_button')):
|
7 |
-
|
8 |
-
class acfe_field_button extends acf_field{
|
9 |
-
|
10 |
-
function __construct(){
|
11 |
-
|
12 |
-
$this->name = 'acfe_button';
|
13 |
-
$this->label = __('Button', 'acfe');
|
14 |
-
$this->category = 'basic';
|
15 |
-
$this->defaults = array(
|
16 |
-
'button_value' => __('Submit', 'acfe'),
|
17 |
-
'button_type' => 'button',
|
18 |
-
'button_before' => '',
|
19 |
-
'button_after' => '',
|
20 |
-
'button_class' => 'button button-secondary',
|
21 |
-
'button_id' => '',
|
22 |
-
);
|
23 |
-
|
24 |
-
add_action('wp_ajax_acfe/fields/button', array($this, 'ajax_request'), 99);
|
25 |
-
add_action('wp_ajax_nopriv_acfe/fields/button', array($this, 'ajax_request'), 99);
|
26 |
-
|
27 |
-
parent::__construct();
|
28 |
-
|
29 |
-
}
|
30 |
-
|
31 |
-
function ajax_request(){
|
32 |
-
|
33 |
-
/**
|
34 |
-
* @bool/string $_POST['post_id'] Current post ID
|
35 |
-
* @string $_POST['field_key'] Button's field key
|
36 |
-
* @string $_POST['field_name'] Button's field name
|
37 |
-
*/
|
38 |
-
|
39 |
-
$field_name = acf_maybe_get_POST('field_name');
|
40 |
-
$field_key = acf_maybe_get_POST('field_key');
|
41 |
-
$post_id = acf_maybe_get_POST('post_id');
|
42 |
-
$field = acf_get_field($field_key);
|
43 |
-
|
44 |
-
do_action('acfe/fields/button', $field, $post_id);
|
45 |
-
do_action('acfe/fields/button/name=' . $field_name, $field, $post_id);
|
46 |
-
do_action('acfe/fields/button/key=' . $field_key, $field, $post_id);
|
47 |
-
|
48 |
-
die;
|
49 |
-
|
50 |
-
}
|
51 |
-
|
52 |
-
function render_field_settings($field){
|
53 |
-
|
54 |
-
// Value
|
55 |
-
acf_render_field_setting($field, array(
|
56 |
-
'label' => __('Button value', 'acfe'),
|
57 |
-
'instructions' => __('Set a default button value', 'acfe'),
|
58 |
-
'type' => 'text',
|
59 |
-
'name' => 'button_value',
|
60 |
-
'default_value' => __('Submit', 'acfe')
|
61 |
-
));
|
62 |
-
|
63 |
-
// Type
|
64 |
-
acf_render_field_setting($field, array(
|
65 |
-
'label' => __('Button type', 'acfe'),
|
66 |
-
'instructions' => __('Choose the button type', 'acfe'),
|
67 |
-
'type' => 'radio',
|
68 |
-
'name' => 'button_type',
|
69 |
-
'default_value' => 'button',
|
70 |
-
'layout' => 'horizontal',
|
71 |
-
'choices' => array(
|
72 |
-
'button' => __('Button', 'acfe'),
|
73 |
-
'submit' => __('Submit', 'acfe'),
|
74 |
-
),
|
75 |
-
));
|
76 |
-
|
77 |
-
// class
|
78 |
-
acf_render_field_setting($field, array(
|
79 |
-
'label' => __('Button attributes','acf'),
|
80 |
-
'instructions' => '',
|
81 |
-
'type' => 'text',
|
82 |
-
'name' => 'button_class',
|
83 |
-
'prepend' => __('class', 'acf'),
|
84 |
-
));
|
85 |
-
|
86 |
-
// id
|
87 |
-
acf_render_field_setting($field, array(
|
88 |
-
'label' => '',
|
89 |
-
'instructions' => '',
|
90 |
-
'type' => 'text',
|
91 |
-
'name' => 'button_id',
|
92 |
-
'prepend' => __('id', 'acf'),
|
93 |
-
'_append' => 'button_class'
|
94 |
-
));
|
95 |
-
|
96 |
-
// Before HTML
|
97 |
-
acf_render_field_setting($field, array(
|
98 |
-
'label' => __('Before HTML', 'acfe'),
|
99 |
-
'instructions' => __('Custom HTML before the button', 'acfe'),
|
100 |
-
'type' => 'acfe_code_editor',
|
101 |
-
'name' => 'button_before',
|
102 |
-
'rows' => 4,
|
103 |
-
));
|
104 |
-
|
105 |
-
// After HTML
|
106 |
-
acf_render_field_setting($field, array(
|
107 |
-
'label' => __('After HTML', 'acfe'),
|
108 |
-
'instructions' => __('Custom HTML after the button', 'acfe'),
|
109 |
-
'type' => 'acfe_code_editor',
|
110 |
-
'name' => 'button_after',
|
111 |
-
'rows' => 4,
|
112 |
-
));
|
113 |
-
|
114 |
-
// Ajax
|
115 |
-
acf_render_field_setting($field, array(
|
116 |
-
'label' => __('Ajax call', 'acfe'),
|
117 |
-
'instructions' => __('Trigger ajax event on click', 'acfe'),
|
118 |
-
'name' => 'button_ajax',
|
119 |
-
'type' => 'true_false',
|
120 |
-
'ui' => 1,
|
121 |
-
));
|
122 |
-
|
123 |
-
ob_start();
|
124 |
-
?>
|
125 |
-
Write your own Ajax return data using the following hook:<br /><br />
|
126 |
-
<pre>
|
127 |
-
add_action('acfe/fields/button/name=my_button', 'my_acf_button_ajax', 10, 2);
|
128 |
-
function my_acf_button_ajax($field, $post_id){
|
129 |
-
|
130 |
-
/**
|
131 |
-
* @array $field Field array
|
132 |
-
* @bool/string $post_id Current post ID
|
133 |
-
*/
|
134 |
-
|
135 |
-
wp_send_json('Success!');
|
136 |
-
|
137 |
-
}
|
138 |
-
</pre>
|
139 |
-
<br />
|
140 |
-
You can get access to Javascript ajax call using the following JS hooks:<br /><br />
|
141 |
-
<pre>
|
142 |
-
acf.addAction('acfe/fields/button/before/name=my_button', function($el, data){
|
143 |
-
|
144 |
-
// $el
|
145 |
-
|
146 |
-
});
|
147 |
-
|
148 |
-
acf.addAction('acfe/fields/button/success/name=my_button', function(response, $el, data){
|
149 |
-
|
150 |
-
// response
|
151 |
-
// $el
|
152 |
-
// data
|
153 |
-
|
154 |
-
});
|
155 |
-
|
156 |
-
acf.addAction('acfe/fields/button/complete/name=my_button', function(response, $el, data){
|
157 |
-
|
158 |
-
// response
|
159 |
-
// $el
|
160 |
-
// data
|
161 |
-
|
162 |
-
});
|
163 |
-
</pre>
|
164 |
-
<?php
|
165 |
-
|
166 |
-
$message = ob_get_clean();
|
167 |
-
|
168 |
-
// ajax instructions
|
169 |
-
acf_render_field_setting($field, array(
|
170 |
-
'label' => __('Ajax instructions','acf'),
|
171 |
-
'instructions' => '',
|
172 |
-
'type' => 'message',
|
173 |
-
'name' => 'instructions',
|
174 |
-
'message' => $message,
|
175 |
-
'new_lines' => false,
|
176 |
-
'conditional_logic' => array(
|
177 |
-
array(
|
178 |
-
array(
|
179 |
-
'field' => 'button_ajax',
|
180 |
-
'operator' => '==',
|
181 |
-
'value' => '1',
|
182 |
-
)
|
183 |
-
)
|
184 |
-
)
|
185 |
-
));
|
186 |
-
|
187 |
-
}
|
188 |
-
|
189 |
-
function render_field($field){
|
190 |
-
|
191 |
-
// Before
|
192 |
-
if(isset($field['button_before']) && !empty($field['button_before'])){
|
193 |
-
|
194 |
-
echo $field['button_before'];
|
195 |
-
|
196 |
-
}
|
197 |
-
|
198 |
-
$ajax = false;
|
199 |
-
$button_ajax = $field['button_ajax'];
|
200 |
-
|
201 |
-
if($button_ajax)
|
202 |
-
$ajax = 'data-ajax="1"';
|
203 |
-
|
204 |
-
// Button
|
205 |
-
if($field['button_type'] === 'button'){
|
206 |
-
|
207 |
-
echo '<button
|
208 |
-
id="' . esc_attr($field['button_id']) . '"
|
209 |
-
class="' . esc_attr($field['button_class']) . '"
|
210 |
-
' . $ajax . '
|
211 |
-
>' . esc_attr($field['button_value']) . '</button>';
|
212 |
-
|
213 |
-
// Submit
|
214 |
-
}elseif($field['button_type'] === 'submit'){
|
215 |
-
|
216 |
-
echo '<input
|
217 |
-
type="submit"
|
218 |
-
id="' . esc_attr($field['button_id']) . '"
|
219 |
-
class="' . esc_attr($field['button_class']) . '"
|
220 |
-
value="' . esc_attr($field['button_value']) . '"
|
221 |
-
' . $ajax . '
|
222 |
-
/>';
|
223 |
-
|
224 |
-
}
|
225 |
-
|
226 |
-
// After
|
227 |
-
if(isset($field['button_after']) && !empty($field['button_after'])){
|
228 |
-
|
229 |
-
echo $field['button_after'];
|
230 |
-
|
231 |
-
}
|
232 |
-
|
233 |
-
}
|
234 |
-
|
235 |
-
}
|
236 |
-
|
237 |
-
// initialize
|
238 |
-
acf_register_field_type('acfe_field_button');
|
239 |
-
|
240 |
endif;
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if(!defined('ABSPATH'))
|
4 |
+
exit;
|
5 |
+
|
6 |
+
if(!class_exists('acfe_field_button')):
|
7 |
+
|
8 |
+
class acfe_field_button extends acf_field{
|
9 |
+
|
10 |
+
function __construct(){
|
11 |
+
|
12 |
+
$this->name = 'acfe_button';
|
13 |
+
$this->label = __('Button', 'acfe');
|
14 |
+
$this->category = 'basic';
|
15 |
+
$this->defaults = array(
|
16 |
+
'button_value' => __('Submit', 'acfe'),
|
17 |
+
'button_type' => 'button',
|
18 |
+
'button_before' => '',
|
19 |
+
'button_after' => '',
|
20 |
+
'button_class' => 'button button-secondary',
|
21 |
+
'button_id' => '',
|
22 |
+
);
|
23 |
+
|
24 |
+
add_action('wp_ajax_acfe/fields/button', array($this, 'ajax_request'), 99);
|
25 |
+
add_action('wp_ajax_nopriv_acfe/fields/button', array($this, 'ajax_request'), 99);
|
26 |
+
|
27 |
+
parent::__construct();
|
28 |
+
|
29 |
+
}
|
30 |
+
|
31 |
+
function ajax_request(){
|
32 |
+
|
33 |
+
/**
|
34 |
+
* @bool/string $_POST['post_id'] Current post ID
|
35 |
+
* @string $_POST['field_key'] Button's field key
|
36 |
+
* @string $_POST['field_name'] Button's field name
|
37 |
+
*/
|
38 |
+
|
39 |
+
$field_name = acf_maybe_get_POST('field_name');
|
40 |
+
$field_key = acf_maybe_get_POST('field_key');
|
41 |
+
$post_id = acf_maybe_get_POST('post_id');
|
42 |
+
$field = acf_get_field($field_key);
|
43 |
+
|
44 |
+
do_action('acfe/fields/button', $field, $post_id);
|
45 |
+
do_action('acfe/fields/button/name=' . $field_name, $field, $post_id);
|
46 |
+
do_action('acfe/fields/button/key=' . $field_key, $field, $post_id);
|
47 |
+
|
48 |
+
die;
|
49 |
+
|
50 |
+
}
|
51 |
+
|
52 |
+
function render_field_settings($field){
|
53 |
+
|
54 |
+
// Value
|
55 |
+
acf_render_field_setting($field, array(
|
56 |
+
'label' => __('Button value', 'acfe'),
|
57 |
+
'instructions' => __('Set a default button value', 'acfe'),
|
58 |
+
'type' => 'text',
|
59 |
+
'name' => 'button_value',
|
60 |
+
'default_value' => __('Submit', 'acfe')
|
61 |
+
));
|
62 |
+
|
63 |
+
// Type
|
64 |
+
acf_render_field_setting($field, array(
|
65 |
+
'label' => __('Button type', 'acfe'),
|
66 |
+
'instructions' => __('Choose the button type', 'acfe'),
|
67 |
+
'type' => 'radio',
|
68 |
+
'name' => 'button_type',
|
69 |
+
'default_value' => 'button',
|
70 |
+
'layout' => 'horizontal',
|
71 |
+
'choices' => array(
|
72 |
+
'button' => __('Button', 'acfe'),
|
73 |
+
'submit' => __('Submit', 'acfe'),
|
74 |
+
),
|
75 |
+
));
|
76 |
+
|
77 |
+
// class
|
78 |
+
acf_render_field_setting($field, array(
|
79 |
+
'label' => __('Button attributes','acf'),
|
80 |
+
'instructions' => '',
|
81 |
+
'type' => 'text',
|
82 |
+
'name' => 'button_class',
|
83 |
+
'prepend' => __('class', 'acf'),
|
84 |
+
));
|
85 |
+
|
86 |
+
// id
|
87 |
+
acf_render_field_setting($field, array(
|
88 |
+
'label' => '',
|
89 |
+
'instructions' => '',
|
90 |
+
'type' => 'text',
|
91 |
+
'name' => 'button_id',
|
92 |
+
'prepend' => __('id', 'acf'),
|
93 |
+
'_append' => 'button_class'
|
94 |
+
));
|
95 |
+
|
96 |
+
// Before HTML
|
97 |
+
acf_render_field_setting($field, array(
|
98 |
+
'label' => __('Before HTML', 'acfe'),
|
99 |
+
'instructions' => __('Custom HTML before the button', 'acfe'),
|
100 |
+
'type' => 'acfe_code_editor',
|
101 |
+
'name' => 'button_before',
|
102 |
+
'rows' => 4,
|
103 |
+
));
|
104 |
+
|
105 |
+
// After HTML
|
106 |
+
acf_render_field_setting($field, array(
|
107 |
+
'label' => __('After HTML', 'acfe'),
|
108 |
+
'instructions' => __('Custom HTML after the button', 'acfe'),
|
109 |
+
'type' => 'acfe_code_editor',
|
110 |
+
'name' => 'button_after',
|
111 |
+
'rows' => 4,
|
112 |
+
));
|
113 |
+
|
114 |
+
// Ajax
|
115 |
+
acf_render_field_setting($field, array(
|
116 |
+
'label' => __('Ajax call', 'acfe'),
|
117 |
+
'instructions' => __('Trigger ajax event on click', 'acfe'),
|
118 |
+
'name' => 'button_ajax',
|
119 |
+
'type' => 'true_false',
|
120 |
+
'ui' => 1,
|
121 |
+
));
|
122 |
+
|
123 |
+
ob_start();
|
124 |
+
?>
|
125 |
+
Write your own Ajax return data using the following hook:<br /><br />
|
126 |
+
<pre>
|
127 |
+
add_action('acfe/fields/button/name=my_button', 'my_acf_button_ajax', 10, 2);
|
128 |
+
function my_acf_button_ajax($field, $post_id){
|
129 |
+
|
130 |
+
/**
|
131 |
+
* @array $field Field array
|
132 |
+
* @bool/string $post_id Current post ID
|
133 |
+
*/
|
134 |
+
|
135 |
+
wp_send_json('Success!');
|
136 |
+
|
137 |
+
}
|
138 |
+
</pre>
|
139 |
+
<br />
|
140 |
+
You can get access to Javascript ajax call using the following JS hooks:<br /><br />
|
141 |
+
<pre>
|
142 |
+
acf.addAction('acfe/fields/button/before/name=my_button', function($el, data){
|
143 |
+
|
144 |
+
// $el
|
145 |
+
|
146 |
+
});
|
147 |
+
|
148 |
+
acf.addAction('acfe/fields/button/success/name=my_button', function(response, $el, data){
|
149 |
+
|
150 |
+
// response
|
151 |
+
// $el
|
152 |
+
// data
|
153 |
+
|
154 |
+
});
|
155 |
+
|
156 |
+
acf.addAction('acfe/fields/button/complete/name=my_button', function(response, $el, data){
|
157 |
+
|
158 |
+
// response
|
159 |
+
// $el
|
160 |
+
// data
|
161 |
+
|
162 |
+
});
|
163 |
+
</pre>
|
164 |
+
<?php
|
165 |
+
|
166 |
+
$message = ob_get_clean();
|
167 |
+
|
168 |
+
// ajax instructions
|
169 |
+
acf_render_field_setting($field, array(
|
170 |
+
'label' => __('Ajax instructions','acf'),
|
171 |
+
'instructions' => '',
|
172 |
+
'type' => 'message',
|
173 |
+
'name' => 'instructions',
|
174 |
+
'message' => $message,
|
175 |
+
'new_lines' => false,
|
176 |
+
'conditional_logic' => array(
|
177 |
+
array(
|
178 |
+
array(
|
179 |
+
'field' => 'button_ajax',
|
180 |
+
'operator' => '==',
|
181 |
+
'value' => '1',
|
182 |
+
)
|
183 |
+
)
|
184 |
+
)
|
185 |
+
));
|
186 |
+
|
187 |
+
}
|
188 |
+
|
189 |
+
function render_field($field){
|
190 |
+
|
191 |
+
// Before
|
192 |
+
if(isset($field['button_before']) && !empty($field['button_before'])){
|
193 |
+
|
194 |
+
echo $field['button_before'];
|
195 |
+
|
196 |
+
}
|
197 |
+
|
198 |
+
$ajax = false;
|
199 |
+
$button_ajax = $field['button_ajax'];
|
200 |
+
|
201 |
+
if($button_ajax)
|
202 |
+
$ajax = 'data-ajax="1"';
|
203 |
+
|
204 |
+
// Button
|
205 |
+
if($field['button_type'] === 'button'){
|
206 |
+
|
207 |
+
echo '<button
|
208 |
+
id="' . esc_attr($field['button_id']) . '"
|
209 |
+
class="' . esc_attr($field['button_class']) . '"
|
210 |
+
' . $ajax . '
|
211 |
+
>' . esc_attr($field['button_value']) . '</button>';
|
212 |
+
|
213 |
+
// Submit
|
214 |
+
}elseif($field['button_type'] === 'submit'){
|
215 |
+
|
216 |
+
echo '<input
|
217 |
+
type="submit"
|
218 |
+
id="' . esc_attr($field['button_id']) . '"
|
219 |
+
class="' . esc_attr($field['button_class']) . '"
|
220 |
+
value="' . esc_attr($field['button_value']) . '"
|
221 |
+
' . $ajax . '
|
222 |
+
/>';
|
223 |
+
|
224 |
+
}
|
225 |
+
|
226 |
+
// After
|
227 |
+
if(isset($field['button_after']) && !empty($field['button_after'])){
|
228 |
+
|
229 |
+
echo $field['button_after'];
|
230 |
+
|
231 |
+
}
|
232 |
+
|
233 |
+
}
|
234 |
+
|
235 |
+
}
|
236 |
+
|
237 |
+
// initialize
|
238 |
+
acf_register_field_type('acfe_field_button');
|
239 |
+
|
240 |
endif;
|
includes/fields/field-column.php
CHANGED
@@ -1,128 +1,161 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if(!defined('ABSPATH'))
|
4 |
-
exit;
|
5 |
-
|
6 |
-
if(!class_exists('acfe_field_column')):
|
7 |
-
|
8 |
-
class acfe_field_column extends acf_field{
|
9 |
-
|
10 |
-
function __construct(){
|
11 |
-
|
12 |
-
$this->name = 'acfe_column';
|
13 |
-
$this->label = __('Column', 'acfe');
|
14 |
-
$this->category = 'layout';
|
15 |
-
$this->defaults = array(
|
16 |
-
'columns' => '
|
17 |
-
'endpoint' => false,
|
18 |
-
);
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
'
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
if($field['
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
$field['
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
return $
|
112 |
-
|
113 |
-
}
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
endif;
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if(!defined('ABSPATH'))
|
4 |
+
exit;
|
5 |
+
|
6 |
+
if(!class_exists('acfe_field_column')):
|
7 |
+
|
8 |
+
class acfe_field_column extends acf_field{
|
9 |
+
|
10 |
+
function __construct(){
|
11 |
+
|
12 |
+
$this->name = 'acfe_column';
|
13 |
+
$this->label = __('Column', 'acfe');
|
14 |
+
$this->category = 'layout';
|
15 |
+
$this->defaults = array(
|
16 |
+
'columns' => '6/12',
|
17 |
+
'endpoint' => false,
|
18 |
+
);
|
19 |
+
|
20 |
+
// Field wrapper
|
21 |
+
add_filter('acfe/field_wrapper_attributes/type=acfe_column', array($this, 'field_wrapper_attributes'), 10, 2);
|
22 |
+
|
23 |
+
// New sizes compatibility
|
24 |
+
add_filter('acf/validate_field/type=acfe_column', array($this, 'new_validate_field'), 20);
|
25 |
+
|
26 |
+
parent::__construct();
|
27 |
+
|
28 |
+
}
|
29 |
+
|
30 |
+
function new_validate_field($field){
|
31 |
+
|
32 |
+
if(!acfe_ends_with($field['columns'], '/6'))
|
33 |
+
return $field;
|
34 |
+
|
35 |
+
if($field['columns'] === '1/6'){
|
36 |
+
$field['columns'] = '2/12';
|
37 |
+
}elseif($field['columns'] === '2/6'){
|
38 |
+
$field['columns'] = '4/12';
|
39 |
+
}elseif($field['columns'] === '3/6'){
|
40 |
+
$field['columns'] = '6/12';
|
41 |
+
}elseif($field['columns'] === '4/6'){
|
42 |
+
$field['columns'] = '8/12';
|
43 |
+
}elseif($field['columns'] === '5/6'){
|
44 |
+
$field['columns'] = '10/12';
|
45 |
+
}elseif($field['columns'] === '6/6'){
|
46 |
+
$field['columns'] = '12/12';
|
47 |
+
}
|
48 |
+
|
49 |
+
return $field;
|
50 |
+
|
51 |
+
}
|
52 |
+
|
53 |
+
function render_field_settings($field){
|
54 |
+
|
55 |
+
// columns
|
56 |
+
acf_render_field_setting( $field, array(
|
57 |
+
'label' => __('Columns', 'acfe'),
|
58 |
+
'instructions' => '',
|
59 |
+
'type' => 'select',
|
60 |
+
'name' => 'columns',
|
61 |
+
'choices' => array(
|
62 |
+
'1/12' => '1/12',
|
63 |
+
'2/12' => '2/12',
|
64 |
+
'3/12' => '3/12',
|
65 |
+
'4/12' => '4/12',
|
66 |
+
'5/12' => '5/12',
|
67 |
+
'6/12' => '6/12',
|
68 |
+
'7/12' => '7/12',
|
69 |
+
'8/12' => '8/12',
|
70 |
+
'9/12' => '9/12',
|
71 |
+
'10/12' => '10/12',
|
72 |
+
'11/12' => '11/12',
|
73 |
+
'12/12' => '12/12',
|
74 |
+
),
|
75 |
+
'conditional_logic' => array(
|
76 |
+
array(
|
77 |
+
array(
|
78 |
+
'field' => 'endpoint',
|
79 |
+
'operator' => '!=',
|
80 |
+
'value' => '1',
|
81 |
+
)
|
82 |
+
)
|
83 |
+
)
|
84 |
+
));
|
85 |
+
|
86 |
+
// endpoint
|
87 |
+
acf_render_field_setting( $field, array(
|
88 |
+
'label' => __('Endpoint','acf'),
|
89 |
+
'instructions' => __('Define an endpoint for the previous columns to stop.', 'acf'),
|
90 |
+
'name' => 'endpoint',
|
91 |
+
'type' => 'true_false',
|
92 |
+
'ui' => 1,
|
93 |
+
));
|
94 |
+
|
95 |
+
}
|
96 |
+
|
97 |
+
function field_wrapper_attributes($wrapper, $field){
|
98 |
+
|
99 |
+
if($field['endpoint']){
|
100 |
+
|
101 |
+
$wrapper['data-endpoint'] = $field['endpoint'];
|
102 |
+
|
103 |
+
}
|
104 |
+
|
105 |
+
elseif($field['columns']){
|
106 |
+
|
107 |
+
$wrapper['data-columns'] = $field['columns'];
|
108 |
+
|
109 |
+
}
|
110 |
+
|
111 |
+
return $wrapper;
|
112 |
+
|
113 |
+
}
|
114 |
+
|
115 |
+
|
116 |
+
function render_field($field){
|
117 |
+
|
118 |
+
// vars
|
119 |
+
$atts = array(
|
120 |
+
'class' => 'acf-fields',
|
121 |
+
);
|
122 |
+
|
123 |
+
?>
|
124 |
+
<div <?php acf_esc_attr_e($atts); ?>></div>
|
125 |
+
<?php
|
126 |
+
|
127 |
+
}
|
128 |
+
|
129 |
+
function load_field($field){
|
130 |
+
|
131 |
+
$columns = '';
|
132 |
+
if($field['columns'])
|
133 |
+
$columns = ' ' . $field['columns'];
|
134 |
+
|
135 |
+
if($field['endpoint'])
|
136 |
+
$columns = ' endpoint';
|
137 |
+
|
138 |
+
$field['label'] = '(Column' . $columns .')';
|
139 |
+
$field['name'] = '';
|
140 |
+
$field['instructions'] = '';
|
141 |
+
$field['required'] = 0;
|
142 |
+
$field['value'] = false;
|
143 |
+
|
144 |
+
return $field;
|
145 |
+
|
146 |
+
}
|
147 |
+
|
148 |
+
function prepare_field($field){
|
149 |
+
|
150 |
+
$field['label'] = false;
|
151 |
+
|
152 |
+
return $field;
|
153 |
+
|
154 |
+
}
|
155 |
+
|
156 |
+
}
|
157 |
+
|
158 |
+
// initialize
|
159 |
+
acf_register_field_type('acfe_field_column');
|
160 |
+
|
161 |
endif;
|
includes/fields/field-dynamic-message.php
CHANGED
@@ -1,58 +1,58 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if(!defined('ABSPATH'))
|
4 |
-
exit;
|
5 |
-
|
6 |
-
if(!class_exists('acfe_field_dynamic_message')):
|
7 |
-
|
8 |
-
class acfe_field_dynamic_message extends acf_field{
|
9 |
-
|
10 |
-
function __construct(){
|
11 |
-
|
12 |
-
$this->name = 'acfe_dynamic_message';
|
13 |
-
$this->label = __('Dynamic Message', 'acfe');
|
14 |
-
$this->category = 'layout';
|
15 |
-
|
16 |
-
parent::__construct();
|
17 |
-
|
18 |
-
}
|
19 |
-
|
20 |
-
function render_field_settings($field){
|
21 |
-
|
22 |
-
$field_name = 'field_name';
|
23 |
-
if(acf_maybe_get($field, 'name'))
|
24 |
-
$field_name = $field['name'];
|
25 |
-
|
26 |
-
ob_start();
|
27 |
-
?>
|
28 |
-
Write your own PHP/HTML content using the following hook:<br /><br />
|
29 |
-
<pre>
|
30 |
-
add_action('acf/render_field/name=<?php echo $field_name; ?>', 'my_acf_dynamic_message');
|
31 |
-
function my_acf_dynamic_message(){
|
32 |
-
|
33 |
-
echo 'Hello World';
|
34 |
-
|
35 |
-
}
|
36 |
-
</pre>
|
37 |
-
<?php
|
38 |
-
|
39 |
-
$message = ob_get_clean();
|
40 |
-
|
41 |
-
// field_type
|
42 |
-
acf_render_field_setting($field, array(
|
43 |
-
'label' => __('Instructions','acf'),
|
44 |
-
'instructions' => '',
|
45 |
-
'type' => 'message',
|
46 |
-
'name' => 'instructions',
|
47 |
-
'message' => $message,
|
48 |
-
'new_lines' => false
|
49 |
-
));
|
50 |
-
|
51 |
-
}
|
52 |
-
|
53 |
-
}
|
54 |
-
|
55 |
-
// initialize
|
56 |
-
acf_register_field_type('acfe_field_dynamic_message');
|
57 |
-
|
58 |
endif;
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if(!defined('ABSPATH'))
|
4 |
+
exit;
|
5 |
+
|
6 |
+
if(!class_exists('acfe_field_dynamic_message')):
|
7 |
+
|
8 |
+
class acfe_field_dynamic_message extends acf_field{
|
9 |
+
|
10 |
+
function __construct(){
|
11 |
+
|
12 |
+
$this->name = 'acfe_dynamic_message';
|
13 |
+
$this->label = __('Dynamic Message', 'acfe');
|
14 |
+
$this->category = 'layout';
|
15 |
+
|
16 |
+
parent::__construct();
|
17 |
+
|
18 |
+
}
|
19 |
+
|
20 |
+
function render_field_settings($field){
|
21 |
+
|
22 |
+
$field_name = 'field_name';
|
23 |
+
if(acf_maybe_get($field, 'name'))
|
24 |
+
$field_name = $field['name'];
|
25 |
+
|
26 |
+
ob_start();
|
27 |
+
?>
|
28 |
+
Write your own PHP/HTML content using the following hook:<br /><br />
|
29 |
+
<pre>
|
30 |
+
add_action('acf/render_field/name=<?php echo $field_name; ?>', 'my_acf_dynamic_message');
|
31 |
+
function my_acf_dynamic_message(){
|
32 |
+
|
33 |
+
echo 'Hello World';
|
34 |
+
|
35 |
+
}
|
36 |
+
</pre>
|
37 |
+
<?php
|
38 |
+
|
39 |
+
$message = ob_get_clean();
|
40 |
+
|
41 |
+
// field_type
|
42 |
+
acf_render_field_setting($field, array(
|
43 |
+
'label' => __('Instructions','acf'),
|
44 |
+
'instructions' => '',
|
45 |
+
'type' => 'message',
|
46 |
+
'name' => 'instructions',
|
47 |
+
'message' => $message,
|
48 |
+
'new_lines' => false
|
49 |
+
));
|
50 |
+
|
51 |
+
}
|
52 |
+
|
53 |
+
}
|
54 |
+
|
55 |
+
// initialize
|
56 |
+
acf_register_field_type('acfe_field_dynamic_message');
|
57 |
+
|
58 |
endif;
|
includes/fields/field-hidden.php
CHANGED
@@ -1,48 +1,48 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if(!defined('ABSPATH'))
|
4 |
-
exit;
|
5 |
-
|
6 |
-
if(!class_exists('acfe_field_hidden')):
|
7 |
-
|
8 |
-
class acfe_field_hidden extends acf_field{
|
9 |
-
|
10 |
-
function __construct(){
|
11 |
-
|
12 |
-
$this->name = 'acfe_hidden';
|
13 |
-
$this->label = __('Hidden', 'acfe');
|
14 |
-
$this->category = 'basic';
|
15 |
-
$this->defaults = array(
|
16 |
-
'default_value' => ''
|
17 |
-
);
|
18 |
-
|
19 |
-
parent::__construct();
|
20 |
-
|
21 |
-
}
|
22 |
-
|
23 |
-
function render_field($field){
|
24 |
-
|
25 |
-
?>
|
26 |
-
<input type="hidden" name="<?php echo esc_attr($field['name']) ?>" value="<?php echo esc_attr($field['value']) ?>" />
|
27 |
-
<?php
|
28 |
-
|
29 |
-
}
|
30 |
-
|
31 |
-
function render_field_settings($field){
|
32 |
-
|
33 |
-
// default_value
|
34 |
-
acf_render_field_setting( $field, array(
|
35 |
-
'label' => __('Value','acf'),
|
36 |
-
'instructions' => __('Default value in the hidden input','acf'),
|
37 |
-
'type' => 'text',
|
38 |
-
'name' => 'default_value',
|
39 |
-
));
|
40 |
-
|
41 |
-
}
|
42 |
-
|
43 |
-
}
|
44 |
-
|
45 |
-
// initialize
|
46 |
-
acf_register_field_type('acfe_field_hidden');
|
47 |
-
|
48 |
endif;
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if(!defined('ABSPATH'))
|
4 |
+
exit;
|
5 |
+
|
6 |
+
if(!class_exists('acfe_field_hidden')):
|
7 |
+
|
8 |
+
class acfe_field_hidden extends acf_field{
|
9 |
+
|
10 |
+
function __construct(){
|
11 |
+
|
12 |
+
$this->name = 'acfe_hidden';
|
13 |
+
$this->label = __('Hidden', 'acfe');
|
14 |
+
$this->category = 'basic';
|
15 |
+
$this->defaults = array(
|
16 |
+
'default_value' => ''
|
17 |
+
);
|
18 |
+
|
19 |
+
parent::__construct();
|
20 |
+
|
21 |
+
}
|
22 |
+
|
23 |
+
function render_field($field){
|
24 |
+
|
25 |
+
?>
|
26 |
+
<input type="hidden" name="<?php echo esc_attr($field['name']) ?>" value="<?php echo esc_attr($field['value']) ?>" />
|
27 |
+
<?php
|
28 |
+
|
29 |
+
}
|
30 |
+
|
31 |
+
function render_field_settings($field){
|
32 |
+
|
33 |
+
// default_value
|
34 |
+
acf_render_field_setting( $field, array(
|
35 |
+
'label' => __('Value','acf'),
|
36 |
+
'instructions' => __('Default value in the hidden input','acf'),
|
37 |
+
'type' => 'text',
|
38 |
+
'name' => 'default_value',
|
39 |
+
));
|
40 |
+
|
41 |
+
}
|
42 |
+
|
43 |
+
}
|
44 |
+
|
45 |
+
// initialize
|
46 |
+
acf_register_field_type('acfe_field_hidden');
|
47 |
+
|
48 |
endif;
|
includes/fields/field-repeater.php
CHANGED
@@ -1,62 +1,62 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if(!defined('ABSPATH'))
|
4 |
-
exit;
|
5 |
-
|
6 |
-
/**
|
7 |
-
* Add Settings
|
8 |
-
*/
|
9 |
-
add_action('acf/render_field_settings/type=repeater', 'acfe_repeater_settings', 0);
|
10 |
-
function acfe_repeater_settings($field){
|
11 |
-
|
12 |
-
// Stylised button
|
13 |
-
acf_render_field_setting($field, array(
|
14 |
-
'label' => __('Stylised Button'),
|
15 |
-
'name' => 'acfe_repeater_stylised_button',
|
16 |
-
'key' => 'acfe_repeater_stylised_button',
|
17 |
-
'instructions' => __('Better row button integration'),
|
18 |
-
'type' => 'true_false',
|
19 |
-
'message' => '',
|
20 |
-
'default_value' => false,
|
21 |
-
'ui' => true,
|
22 |
-
));
|
23 |
-
|
24 |
-
}
|
25 |
-
|
26 |
-
add_filter('acfe/field_wrapper_attributes/type=repeater', 'acfe_repeater_wrapper', 10, 2);
|
27 |
-
function acfe_repeater_wrapper($wrapper, $field){
|
28 |
-
|
29 |
-
// Stylised button
|
30 |
-
if(isset($field['acfe_repeater_stylised_button']) && !empty($field['acfe_repeater_stylised_button'])){
|
31 |
-
|
32 |
-
$wrapper['data-acfe-repeater-stylised-button'] = 1;
|
33 |
-
|
34 |
-
}
|
35 |
-
|
36 |
-
// Lock sortable
|
37 |
-
$acfe_repeater_lock_sortable = false;
|
38 |
-
$acfe_repeater_lock_sortable = apply_filters('acfe/repeater/lock', $acfe_repeater_lock_sortable, $field);
|
39 |
-
$acfe_repeater_lock_sortable = apply_filters('acfe/repeater/lock/name=' . $field['_name'], $acfe_repeater_lock_sortable, $field);
|
40 |
-
$acfe_repeater_lock_sortable = apply_filters('acfe/repeater/lock/key=' . $field['key'], $acfe_repeater_lock_sortable, $field);
|
41 |
-
|
42 |
-
if($acfe_repeater_lock_sortable){
|
43 |
-
|
44 |
-
$wrapper['data-acfe-repeater-lock'] = 1;
|
45 |
-
|
46 |
-
}
|
47 |
-
|
48 |
-
// Remove actions
|
49 |
-
$acfe_repeater_remove_actions = false;
|
50 |
-
$acfe_repeater_remove_actions = apply_filters('acfe/repeater/remove_actions', $acfe_repeater_remove_actions, $field);
|
51 |
-
$acfe_repeater_remove_actions = apply_filters('acfe/repeater/remove_actions/name=' . $field['_name'], $acfe_repeater_remove_actions, $field);
|
52 |
-
$acfe_repeater_remove_actions = apply_filters('acfe/repeater/remove_actions/key=' . $field['key'], $acfe_repeater_remove_actions, $field);
|
53 |
-
|
54 |
-
if($acfe_repeater_remove_actions){
|
55 |
-
|
56 |
-
$wrapper['data-acfe-repeater-remove-actions'] = 1;
|
57 |
-
|
58 |
-
}
|
59 |
-
|
60 |
-
return $wrapper;
|
61 |
-
|
62 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if(!defined('ABSPATH'))
|
4 |
+
exit;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Add Settings
|
8 |
+
*/
|
9 |
+
add_action('acf/render_field_settings/type=repeater', 'acfe_repeater_settings', 0);
|
10 |
+
function acfe_repeater_settings($field){
|
11 |
+
|
12 |
+
// Stylised button
|
13 |
+
acf_render_field_setting($field, array(
|
14 |
+
'label' => __('Stylised Button'),
|
15 |
+
'name' => 'acfe_repeater_stylised_button',
|
16 |
+
'key' => 'acfe_repeater_stylised_button',
|
17 |
+
'instructions' => __('Better row button integration'),
|
18 |
+
'type' => 'true_false',
|
19 |
+
'message' => '',
|
20 |
+
'default_value' => false,
|
21 |
+
'ui' => true,
|
22 |
+
));
|
23 |
+
|
24 |
+
}
|
25 |
+
|
26 |
+
add_filter('acfe/field_wrapper_attributes/type=repeater', 'acfe_repeater_wrapper', 10, 2);
|
27 |
+
function acfe_repeater_wrapper($wrapper, $field){
|
28 |
+
|
29 |
+
// Stylised button
|
30 |
+
if(isset($field['acfe_repeater_stylised_button']) && !empty($field['acfe_repeater_stylised_button'])){
|
31 |
+
|
32 |
+
$wrapper['data-acfe-repeater-stylised-button'] = 1;
|
33 |
+
|
34 |
+
}
|
35 |
+
|
36 |
+
// Lock sortable
|
37 |
+
$acfe_repeater_lock_sortable = false;
|
38 |
+
$acfe_repeater_lock_sortable = apply_filters('acfe/repeater/lock', $acfe_repeater_lock_sortable, $field);
|
39 |
+
$acfe_repeater_lock_sortable = apply_filters('acfe/repeater/lock/name=' . $field['_name'], $acfe_repeater_lock_sortable, $field);
|
40 |
+
$acfe_repeater_lock_sortable = apply_filters('acfe/repeater/lock/key=' . $field['key'], $acfe_repeater_lock_sortable, $field);
|
41 |
+
|
42 |
+
if($acfe_repeater_lock_sortable){
|
43 |
+
|
44 |
+
$wrapper['data-acfe-repeater-lock'] = 1;
|
45 |
+
|
46 |
+
}
|
47 |
+
|
48 |
+
// Remove actions
|
49 |
+
$acfe_repeater_remove_actions = false;
|
50 |
+
$acfe_repeater_remove_actions = apply_filters('acfe/repeater/remove_actions', $acfe_repeater_remove_actions, $field);
|
51 |
+
$acfe_repeater_remove_actions = apply_filters('acfe/repeater/remove_actions/name=' . $field['_name'], $acfe_repeater_remove_actions, $field);
|
52 |
+
$acfe_repeater_remove_actions = apply_filters('acfe/repeater/remove_actions/key=' . $field['key'], $acfe_repeater_remove_actions, $field);
|
53 |
+
|
54 |
+
if($acfe_repeater_remove_actions){
|
55 |
+
|
56 |
+
$wrapper['data-acfe-repeater-remove-actions'] = 1;
|
57 |
+
|
58 |
+
}
|
59 |
+
|
60 |
+
return $wrapper;
|
61 |
+
|
62 |
}
|
includes/fields/field-select.php
CHANGED
@@ -76,6 +76,23 @@ class acfe_field_select{
|
|
76 |
'field' => 'ui',
|
77 |
'operator' => '==',
|
78 |
'value' => '1',
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
)
|
80 |
),
|
81 |
array(
|
76 |
'field' => 'ui',
|
77 |
'operator' => '==',
|
78 |
'value' => '1',
|
79 |
+
),
|
80 |
+
array(
|
81 |
+
'field' => 'allow_null',
|
82 |
+
'operator' => '==',
|
83 |
+
'value' => '1',
|
84 |
+
)
|
85 |
+
),
|
86 |
+
array(
|
87 |
+
array(
|
88 |
+
'field' => 'ui',
|
89 |
+
'operator' => '==',
|
90 |
+
'value' => '1',
|
91 |
+
),
|
92 |
+
array(
|
93 |
+
'field' => 'multiple',
|
94 |
+
'operator' => '==',
|
95 |
+
'value' => '1',
|
96 |
)
|
97 |
),
|
98 |
array(
|
includes/fields/field-slug.php
CHANGED
@@ -1,105 +1,105 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if(!defined('ABSPATH'))
|
4 |
-
exit;
|
5 |
-
|
6 |
-
if(!class_exists('acfe_field_slug')):
|
7 |
-
|
8 |
-
class acfe_field_slug extends acf_field{
|
9 |
-
|
10 |
-
function __construct(){
|
11 |
-
|
12 |
-
$this->name = 'acfe_slug';
|
13 |
-
$this->label = __('Slug', 'acfe');
|
14 |
-
$this->category = 'basic';
|
15 |
-
$this->defaults = array(
|
16 |
-
'default_value' => '',
|
17 |
-
'maxlength' => '',
|
18 |
-
'placeholder' => '',
|
19 |
-
'prepend' => '',
|
20 |
-
'append' => ''
|
21 |
-
);
|
22 |
-
|
23 |
-
parent::__construct();
|
24 |
-
|
25 |
-
}
|
26 |
-
|
27 |
-
function render_field($field){
|
28 |
-
|
29 |
-
$field['type'] = 'text';
|
30 |
-
|
31 |
-
acf_get_field_type('text')->render_field($field);
|
32 |
-
|
33 |
-
}
|
34 |
-
|
35 |
-
function render_field_settings($field){
|
36 |
-
|
37 |
-
// default_value
|
38 |
-
acf_render_field_setting($field, array(
|
39 |
-
'label' => __('Default Value','acf'),
|
40 |
-
'instructions' => __('Appears when creating a new post','acf'),
|
41 |
-
'type' => 'text',
|
42 |
-
'name' => 'default_value',
|
43 |
-
));
|
44 |
-
|
45 |
-
|
46 |
-
// placeholder
|
47 |
-
acf_render_field_setting($field, array(
|
48 |
-
'label' => __('Placeholder Text','acf'),
|
49 |
-
'instructions' => __('Appears within the input','acf'),
|
50 |
-
'type' => 'text',
|
51 |
-
'name' => 'placeholder',
|
52 |
-
));
|
53 |
-
|
54 |
-
|
55 |
-
// prepend
|
56 |
-
acf_render_field_setting($field, array(
|
57 |
-
'label' => __('Prepend','acf'),
|
58 |
-
'instructions' => __('Appears before the input','acf'),
|
59 |
-
'type' => 'text',
|
60 |
-
'name' => 'prepend',
|
61 |
-
));
|
62 |
-
|
63 |
-
|
64 |
-
// append
|
65 |
-
acf_render_field_setting($field, array(
|
66 |
-
'label' => __('Append','acf'),
|
67 |
-
'instructions' => __('Appears after the input','acf'),
|
68 |
-
'type' => 'text',
|
69 |
-
'name' => 'append',
|
70 |
-
));
|
71 |
-
|
72 |
-
|
73 |
-
// maxlength
|
74 |
-
acf_render_field_setting($field, array(
|
75 |
-
'label' => __('Character Limit','acf'),
|
76 |
-
'instructions' => __('Leave blank for no limit','acf'),
|
77 |
-
'type' => 'number',
|
78 |
-
'name' => 'maxlength',
|
79 |
-
));
|
80 |
-
|
81 |
-
}
|
82 |
-
|
83 |
-
function validate_value($valid, $value, $field, $input){
|
84 |
-
|
85 |
-
$value = sanitize_title($value);
|
86 |
-
|
87 |
-
if($field['maxlength'] && mb_strlen(wp_unslash($value)) > $field['maxlength'])
|
88 |
-
return sprintf(__('Value must not exceed %d characters', 'acf'), $field['maxlength']);
|
89 |
-
|
90 |
-
return $valid;
|
91 |
-
|
92 |
-
}
|
93 |
-
|
94 |
-
function update_value($value, $post_id, $field){
|
95 |
-
|
96 |
-
return sanitize_title($value);
|
97 |
-
|
98 |
-
}
|
99 |
-
|
100 |
-
}
|
101 |
-
|
102 |
-
// initialize
|
103 |
-
acf_register_field_type('acfe_field_slug');
|
104 |
-
|
105 |
endif;
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if(!defined('ABSPATH'))
|
4 |
+
exit;
|
5 |
+
|
6 |
+
if(!class_exists('acfe_field_slug')):
|
7 |
+
|
8 |
+
class acfe_field_slug extends acf_field{
|
9 |
+
|
10 |
+
function __construct(){
|
11 |
+
|
12 |
+
$this->name = 'acfe_slug';
|
13 |
+
$this->label = __('Slug', 'acfe');
|
14 |
+
$this->category = 'basic';
|
15 |
+
$this->defaults = array(
|
16 |
+
'default_value' => '',
|
17 |
+
'maxlength' => '',
|
18 |
+
'placeholder' => '',
|
19 |
+
'prepend' => '',
|
20 |
+
'append' => ''
|
21 |
+
);
|
22 |
+
|
23 |
+
parent::__construct();
|
24 |
+
|
25 |
+
}
|
26 |
+
|
27 |
+
function render_field($field){
|
28 |
+
|
29 |
+
$field['type'] = 'text';
|
30 |
+
|
31 |
+
acf_get_field_type('text')->render_field($field);
|
32 |
+
|
33 |
+
}
|
34 |
+
|
35 |
+
function render_field_settings($field){
|
36 |
+
|
37 |
+
// default_value
|
38 |
+
acf_render_field_setting($field, array(
|
39 |
+
'label' => __('Default Value','acf'),
|
40 |
+
'instructions' => __('Appears when creating a new post','acf'),
|
41 |
+
'type' => 'text',
|
42 |
+
'name' => 'default_value',
|
43 |
+
));
|
44 |
+
|
45 |
+
|
46 |
+
// placeholder
|
47 |
+
acf_render_field_setting($field, array(
|
48 |
+
'label' => __('Placeholder Text','acf'),
|
49 |
+
'instructions' => __('Appears within the input','acf'),
|
50 |
+
'type' => 'text',
|
51 |
+
'name' => 'placeholder',
|
52 |
+
));
|
53 |
+
|
54 |
+
|
55 |
+
// prepend
|
56 |
+
acf_render_field_setting($field, array(
|
57 |
+
'label' => __('Prepend','acf'),
|
58 |
+
'instructions' => __('Appears before the input','acf'),
|
59 |
+
'type' => 'text',
|
60 |
+
'name' => 'prepend',
|
61 |
+
));
|
62 |
+
|
63 |
+
|
64 |
+
// append
|
65 |
+
acf_render_field_setting($field, array(
|
66 |
+
'label' => __('Append','acf'),
|
67 |
+
'instructions' => __('Appears after the input','acf'),
|
68 |
+
'type' => 'text',
|
69 |
+
'name' => 'append',
|
70 |
+
));
|
71 |
+
|
72 |
+
|
73 |
+
// maxlength
|
74 |
+
acf_render_field_setting($field, array(
|
75 |
+
'label' => __('Character Limit','acf'),
|
76 |
+
'instructions' => __('Leave blank for no limit','acf'),
|
77 |
+
'type' => 'number',
|
78 |
+
'name' => 'maxlength',
|
79 |
+
));
|
80 |
+
|
81 |
+
}
|
82 |
+
|
83 |
+
function validate_value($valid, $value, $field, $input){
|
84 |
+
|
85 |
+
$value = sanitize_title($value);
|
86 |
+
|
87 |
+
if($field['maxlength'] && mb_strlen(wp_unslash($value)) > $field['maxlength'])
|
88 |
+
return sprintf(__('Value must not exceed %d characters', 'acf'), $field['maxlength']);
|
89 |
+
|
90 |
+
return $valid;
|
91 |
+
|
92 |
+
}
|
93 |
+
|
94 |
+
function update_value($value, $post_id, $field){
|
95 |
+
|
96 |
+
return sanitize_title($value);
|
97 |
+
|
98 |
+
}
|
99 |
+
|
100 |
+
}
|
101 |
+
|
102 |
+
// initialize
|
103 |
+
acf_register_field_type('acfe_field_slug');
|
104 |
+
|
105 |
endif;
|
includes/fields/field-textarea.php
CHANGED
@@ -1,50 +1,50 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if(!defined('ABSPATH'))
|
4 |
-
exit;
|
5 |
-
|
6 |
-
// Settings
|
7 |
-
add_action('acf/render_field_settings/type=textarea', 'acfe_field_textarea_settings');
|
8 |
-
function acfe_field_textarea_settings($field){
|
9 |
-
|
10 |
-
acf_render_field_setting($field, array(
|
11 |
-
'label' => __('Code mode'),
|
12 |
-
'name' => 'acfe_textarea_code',
|
13 |
-
'key' => 'acfe_textarea_code',
|
14 |
-
'instructions' => __('Switch font family to monospace and allow tab indent. For a more advanced code editor, please use the <code>Code Editor</code> field type'),
|
15 |
-
'type' => 'true_false',
|
16 |
-
'ui' => 1,
|
17 |
-
));
|
18 |
-
|
19 |
-
}
|
20 |
-
|
21 |
-
// Field wrapper
|
22 |
-
add_filter('acfe/field_wrapper_attributes/type=textarea', 'acfe_field_textarea_wrapper', 10, 2);
|
23 |
-
function acfe_field_textarea_wrapper($wrapper, $field){
|
24 |
-
|
25 |
-
if(acf_maybe_get($field, 'acfe_textarea_code')){
|
26 |
-
|
27 |
-
$wrapper['data-acfe-textarea-code'] = 1;
|
28 |
-
|
29 |
-
}
|
30 |
-
|
31 |
-
return $wrapper;
|
32 |
-
|
33 |
-
}
|
34 |
-
|
35 |
-
add_filter('acf/prepare_field/name=new_lines', 'acfe_field_textarea_new_lines');
|
36 |
-
function acfe_field_textarea_new_lines($field){
|
37 |
-
|
38 |
-
$field['conditional_logic'] = array(
|
39 |
-
array(
|
40 |
-
array(
|
41 |
-
'field' => 'acfe_textarea_code',
|
42 |
-
'operator' => '!=',
|
43 |
-
'value' => '1'
|
44 |
-
)
|
45 |
-
)
|
46 |
-
);
|
47 |
-
|
48 |
-
return $field;
|
49 |
-
|
50 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if(!defined('ABSPATH'))
|
4 |
+
exit;
|
5 |
+
|
6 |
+
// Settings
|
7 |
+
add_action('acf/render_field_settings/type=textarea', 'acfe_field_textarea_settings');
|
8 |
+
function acfe_field_textarea_settings($field){
|
9 |
+
|
10 |
+
acf_render_field_setting($field, array(
|
11 |
+
'label' => __('Code mode'),
|
12 |
+
'name' => 'acfe_textarea_code',
|
13 |
+
'key' => 'acfe_textarea_code',
|
14 |
+
'instructions' => __('Switch font family to monospace and allow tab indent. For a more advanced code editor, please use the <code>Code Editor</code> field type'),
|
15 |
+
'type' => 'true_false',
|
16 |
+
'ui' => 1,
|
17 |
+
));
|
18 |
+
|
19 |
+
}
|
20 |
+
|
21 |
+
// Field wrapper
|
22 |
+
add_filter('acfe/field_wrapper_attributes/type=textarea', 'acfe_field_textarea_wrapper', 10, 2);
|
23 |
+
function acfe_field_textarea_wrapper($wrapper, $field){
|
24 |
+
|
25 |
+
if(acf_maybe_get($field, 'acfe_textarea_code')){
|
26 |
+
|
27 |
+
$wrapper['data-acfe-textarea-code'] = 1;
|
28 |
+
|
29 |
+
}
|
30 |
+
|
31 |
+
return $wrapper;
|
32 |
+
|
33 |
+
}
|
34 |
+
|
35 |
+
add_filter('acf/prepare_field/name=new_lines', 'acfe_field_textarea_new_lines');
|
36 |
+
function acfe_field_textarea_new_lines($field){
|
37 |
+
|
38 |
+
$field['conditional_logic'] = array(
|
39 |
+
array(
|
40 |
+
array(
|
41 |
+
'field' => 'acfe_textarea_code',
|
42 |
+
'operator' => '!=',
|
43 |
+
'value' => '1'
|
44 |
+
)
|
45 |
+
)
|
46 |
+
);
|
47 |
+
|
48 |
+
return $field;
|
49 |
+
|
50 |
}
|
includes/locations/post-type-all.php
CHANGED
@@ -1,39 +1,39 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if(!defined('ABSPATH'))
|
4 |
-
exit;
|
5 |
-
|
6 |
-
/**
|
7 |
-
* ACFE Location: Post Type All Choices
|
8 |
-
*/
|
9 |
-
add_filter('acf/location/rule_values/post_type', 'acfe_location_post_type_all_choices');
|
10 |
-
function acfe_location_post_type_all_choices($choices){
|
11 |
-
|
12 |
-
$choices = array_merge(array('all' => __('All', 'acf')), $choices);
|
13 |
-
|
14 |
-
return $choices;
|
15 |
-
|
16 |
-
}
|
17 |
-
|
18 |
-
/**
|
19 |
-
* ACFE Location: Post Type All Matching
|
20 |
-
*/
|
21 |
-
add_filter('acf/location/rule_match/post_type', 'acfe_location_post_type_all_match', 10, 3);
|
22 |
-
function acfe_location_post_type_all_match($match, $rule, $options){
|
23 |
-
|
24 |
-
if($rule['value'] !== 'all')
|
25 |
-
return $match;
|
26 |
-
|
27 |
-
if(!acf_maybe_get($options, 'post_type'))
|
28 |
-
return $match;
|
29 |
-
|
30 |
-
$post_types = acf_get_post_types();
|
31 |
-
|
32 |
-
$match = in_array($options['post_type'], $post_types);
|
33 |
-
|
34 |
-
if($rule['operator'] === '!=')
|
35 |
-
$match = !$match;
|
36 |
-
|
37 |
-
return $match;
|
38 |
-
|
39 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if(!defined('ABSPATH'))
|
4 |
+
exit;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* ACFE Location: Post Type All Choices
|
8 |
+
*/
|
9 |
+
add_filter('acf/location/rule_values/post_type', 'acfe_location_post_type_all_choices');
|
10 |
+
function acfe_location_post_type_all_choices($choices){
|
11 |
+
|
12 |
+
$choices = array_merge(array('all' => __('All', 'acf')), $choices);
|
13 |
+
|
14 |
+
return $choices;
|
15 |
+
|
16 |
+
}
|
17 |
+
|
18 |
+
/**
|
19 |
+
* ACFE Location: Post Type All Matching
|
20 |
+
*/
|
21 |
+
add_filter('acf/location/rule_match/post_type', 'acfe_location_post_type_all_match', 10, 3);
|
22 |
+
function acfe_location_post_type_all_match($match, $rule, $options){
|
23 |
+
|
24 |
+
if($rule['value'] !== 'all')
|
25 |
+
return $match;
|
26 |
+
|
27 |
+
if(!acf_maybe_get($options, 'post_type'))
|
28 |
+
return $match;
|
29 |
+
|
30 |
+
$post_types = acf_get_post_types();
|
31 |
+
|
32 |
+
$match = in_array($options['post_type'], $post_types);
|
33 |
+
|
34 |
+
if($rule['operator'] === '!=')
|
35 |
+
$match = !$match;
|
36 |
+
|
37 |
+
return $match;
|
38 |
+
|
39 |
}
|
includes/locations/post-type-archive.php
CHANGED
@@ -7,7 +7,7 @@ if(!class_exists('acfe_location_post_type_archive')):
|
|
7 |
|
8 |
class acfe_location_post_type_archive{
|
9 |
|
10 |
-
public $post_type =
|
11 |
public $post_types = array();
|
12 |
|
13 |
function __construct(){
|
@@ -66,20 +66,37 @@ class acfe_location_post_type_archive{
|
|
66 |
|
67 |
if(!acf_is_screen("{$post_type}_page_{$post_type}-archive"))
|
68 |
continue;
|
69 |
-
|
70 |
-
$post_type_obj = get_post_type_object($post_type);
|
71 |
-
|
72 |
-
if(!isset($post_type_obj->has_archive) || empty($post_type_obj->has_archive))
|
73 |
-
break;
|
74 |
-
|
75 |
$this->post_type = $post_type;
|
76 |
|
77 |
-
add_action('admin_footer', array($this, 'admin_footer'));
|
78 |
-
|
79 |
break;
|
80 |
|
81 |
}
|
82 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
}
|
84 |
|
85 |
function admin_footer(){
|
@@ -106,12 +123,20 @@ class acfe_location_post_type_archive{
|
|
106 |
|
107 |
if(is_admin() || !is_post_type_archive())
|
108 |
return;
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
return;
|
114 |
-
|
115 |
$wp_admin_bar->add_node(array(
|
116 |
'id' => 'edit',
|
117 |
'title' => 'Edit ' . $post_type_obj->label . ' ' . __('Archive'),
|
@@ -175,7 +200,7 @@ class acfe_location_post_type_archive{
|
|
175 |
|
176 |
function location_match($match, $rule, $screen){
|
177 |
|
178 |
-
if(!acf_maybe_get($screen, 'options_page') || !acf_maybe_get($rule, 'value'))
|
179 |
return $match;
|
180 |
|
181 |
$match = ($screen['options_page'] === $rule['value'] . '-archive');
|
7 |
|
8 |
class acfe_location_post_type_archive{
|
9 |
|
10 |
+
public $post_type = false;
|
11 |
public $post_types = array();
|
12 |
|
13 |
function __construct(){
|
66 |
|
67 |
if(!acf_is_screen("{$post_type}_page_{$post_type}-archive"))
|
68 |
continue;
|
69 |
+
|
|
|
|
|
|
|
|
|
|
|
70 |
$this->post_type = $post_type;
|
71 |
|
|
|
|
|
72 |
break;
|
73 |
|
74 |
}
|
75 |
|
76 |
+
if(!$this->post_type)
|
77 |
+
return;
|
78 |
+
|
79 |
+
// Location screen
|
80 |
+
add_action('acf/location/screen', array($this, 'location_screen'));
|
81 |
+
|
82 |
+
// Get Post Type object
|
83 |
+
$post_type_obj = get_post_type_object($post_type);
|
84 |
+
|
85 |
+
if(isset($post_type_obj->has_archive) && !empty($post_type_obj->has_archive)){
|
86 |
+
|
87 |
+
// Add "Permalink" under title
|
88 |
+
add_action('admin_footer', array($this, 'admin_footer'));
|
89 |
+
|
90 |
+
}
|
91 |
+
|
92 |
+
}
|
93 |
+
|
94 |
+
function location_screen($screen){
|
95 |
+
|
96 |
+
$screen['acfe_dpt_admin_page'] = true;
|
97 |
+
|
98 |
+
return $screen;
|
99 |
+
|
100 |
}
|
101 |
|
102 |
function admin_footer(){
|
123 |
|
124 |
if(is_admin() || !is_post_type_archive())
|
125 |
return;
|
126 |
+
|
127 |
+
$post_type = get_query_var('post_type');
|
128 |
+
|
129 |
+
if(!$post_type)
|
130 |
+
return;
|
131 |
+
|
132 |
+
$post_type_obj = get_post_type_object($post_type);
|
133 |
+
|
134 |
+
$has_archive = isset($post_type_obj->has_archive) && !empty($post_type_obj->has_archive);
|
135 |
+
$has_archive_page = isset($post_type_obj->acfe_admin_archive) && !empty($post_type_obj->acfe_admin_archive);
|
136 |
+
|
137 |
+
if(!$has_archive || !$has_archive_page)
|
138 |
return;
|
139 |
+
|
140 |
$wp_admin_bar->add_node(array(
|
141 |
'id' => 'edit',
|
142 |
'title' => 'Edit ' . $post_type_obj->label . ' ' . __('Archive'),
|
200 |
|
201 |
function location_match($match, $rule, $screen){
|
202 |
|
203 |
+
if(!acf_maybe_get($screen, 'options_page') || !acf_maybe_get($screen, 'acfe_dpt_admin_page') || !acf_maybe_get($rule, 'value'))
|
204 |
return $match;
|
205 |
|
206 |
$match = ($screen['options_page'] === $rule['value'] . '-archive');
|
includes/locations/post-type-list.php
CHANGED
@@ -1,428 +1,428 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if(!defined('ABSPATH'))
|
4 |
-
exit;
|
5 |
-
|
6 |
-
if(!class_exists('acfe_location_post_type_list')):
|
7 |
-
|
8 |
-
class acfe_location_post_type_list{
|
9 |
-
|
10 |
-
public $post_type;
|
11 |
-
|
12 |
-
public $field_groups;
|
13 |
-
|
14 |
-
function __construct(){
|
15 |
-
|
16 |
-
add_action('load-edit.php', array($this, 'load'));
|
17 |
-
|
18 |
-
add_filter('acf/location/rule_types', array($this, 'location_types'));
|
19 |
-
add_filter('acf/location/rule_values/post_type_list', array($this, 'location_values'));
|
20 |
-
add_filter('acf/location/rule_match/post_type_list', array($this, 'location_match'), 10, 3);
|
21 |
-
|
22 |
-
}
|
23 |
-
|
24 |
-
function load(){
|
25 |
-
|
26 |
-
// Get post type
|
27 |
-
global $typenow;
|
28 |
-
|
29 |
-
$get_post_types = acf_get_post_types(array(
|
30 |
-
'show_ui' => 1,
|
31 |
-
'exclude' => array('attachment')
|
32 |
-
));
|
33 |
-
|
34 |
-
// Check post type
|
35 |
-
if(!in_array($typenow, $get_post_types))
|
36 |
-
return;
|
37 |
-
|
38 |
-
// vars
|
39 |
-
$this->post_type = $typenow;
|
40 |
-
|
41 |
-
$this->post_id = acf_get_valid_post_id($this->post_type . '_options');
|
42 |
-
|
43 |
-
$this->field_groups = acf_get_field_groups(array(
|
44 |
-
'post_type_list' => $this->post_type
|
45 |
-
));
|
46 |
-
|
47 |
-
if(empty($this->field_groups))
|
48 |
-
return;
|
49 |
-
|
50 |
-
// Submit
|
51 |
-
if(acf_verify_nonce('post_type_list')){
|
52 |
-
|
53 |
-
// Validate
|
54 |
-
if(acf_validate_save_post(true)){
|
55 |
-
|
56 |
-
// Autoload
|
57 |
-
acf_update_setting('autoload', false);
|
58 |
-
|
59 |
-
// Save
|
60 |
-
acf_save_post($this->post_id);
|
61 |
-
|
62 |
-
// Redirect
|
63 |
-
wp_redirect(add_query_arg(array('message' => 'acfe_post_type_list')));
|
64 |
-
exit;
|
65 |
-
|
66 |
-
}
|
67 |
-
|
68 |
-
}
|
69 |
-
|
70 |
-
// Enqueue ACF JS
|
71 |
-
acf_enqueue_scripts();
|
72 |
-
|
73 |
-
// Success message
|
74 |
-
if(isset($_GET['message']) && $_GET['message'] === 'acfe_post_type_list'){
|
75 |
-
|
76 |
-
$object = get_post_type_object($this->post_type);
|
77 |
-
|
78 |
-
acf_add_admin_notice($object->label . ' List Saved.', 'success');
|
79 |
-
|
80 |
-
}
|
81 |
-
|
82 |
-
add_action('in_admin_header', array($this, 'in_admin_header'));
|
83 |
-
|
84 |
-
add_action('admin_footer', array($this, 'admin_footer'));
|
85 |
-
|
86 |
-
}
|
87 |
-
|
88 |
-
function admin_footer(){
|
89 |
-
|
90 |
-
// Init field groups by position
|
91 |
-
$field_groups = array();
|
92 |
-
|
93 |
-
foreach($this->field_groups as $field_group){
|
94 |
-
|
95 |
-
$field_groups[$field_group['position']][] = $field_group;
|
96 |
-
|
97 |
-
}
|
98 |
-
|
99 |
-
// Position: After Title
|
100 |
-
if(acf_maybe_get($field_groups, 'acf_after_title')){
|
101 |
-
|
102 |
-
$total = count($field_groups['acf_after_title']);
|
103 |
-
|
104 |
-
$current = 0; foreach($field_groups['acf_after_title'] as $field_group){ $current++;
|
105 |
-
|
106 |
-
add_meta_box(
|
107 |
-
|
108 |
-
// ID
|
109 |
-
'acf-' . $field_group['ID'],
|
110 |
-
|
111 |
-
// Title
|
112 |
-
$field_group['title'],
|
113 |
-
|
114 |
-
// Render
|
115 |
-
array($this, 'metabox_render'),
|
116 |
-
|
117 |
-
// Screen
|
118 |
-
'edit',
|
119 |
-
|
120 |
-
// Position
|
121 |
-
$field_group['position'],
|
122 |
-
|
123 |
-
// Priority
|
124 |
-
'default',
|
125 |
-
|
126 |
-
// Args
|
127 |
-
array(
|
128 |
-
'total' => $total,
|
129 |
-
'current' => $current,
|
130 |
-
'field_group' => $field_group
|
131 |
-
)
|
132 |
-
|
133 |
-
);
|
134 |
-
|
135 |
-
}
|
136 |
-
|
137 |
-
?>
|
138 |
-
<div id="tmpl-acf-after-title" class="acfe-postbox acfe-postbox-no-handle">
|
139 |
-
<form class="acf-form" action="" method="post">
|
140 |
-
|
141 |
-
<div id="poststuff" style="padding-top:0;">
|
142 |
-
|
143 |
-
<?php do_meta_boxes('edit', 'acf_after_title', array()); ?>
|
144 |
-
|
145 |
-
</div>
|
146 |
-
|
147 |
-
</form>
|
148 |
-
</div>
|
149 |
-
<script type="text/javascript">
|
150 |
-
(function($){
|
151 |
-
|
152 |
-
// add after title
|
153 |
-
$('.subsubsub').before($('#tmpl-acf-after-title'));
|
154 |
-
|
155 |
-
})(jQuery);
|
156 |
-
</script>
|
157 |
-
<?php
|
158 |
-
|
159 |
-
}
|
160 |
-
|
161 |
-
// Position: Normal
|
162 |
-
if(acf_maybe_get($field_groups, 'normal')){
|
163 |
-
|
164 |
-
$total = count($field_groups['normal']);
|
165 |
-
|
166 |
-
$current = 0; foreach($field_groups['normal'] as $field_group){ $current++;
|
167 |
-
|
168 |
-
add_meta_box(
|
169 |
-
|
170 |
-
// ID
|
171 |
-
'acf-' . $field_group['ID'],
|
172 |
-
|
173 |
-
// Title
|
174 |
-
$field_group['title'],
|
175 |
-
|
176 |
-
// Render
|
177 |
-
array($this, 'metabox_render'),
|
178 |
-
|
179 |
-
// Screen
|
180 |
-
'edit',
|
181 |
-
|
182 |
-
// Position
|
183 |
-
$field_group['position'],
|
184 |
-
|
185 |
-
// Priority
|
186 |
-
'default',
|
187 |
-
|
188 |
-
// Args
|
189 |
-
array(
|
190 |
-
'total' => $total,
|
191 |
-
'current' => $current,
|
192 |
-
'field_group' => $field_group
|
193 |
-
)
|
194 |
-
|
195 |
-
);
|
196 |
-
|
197 |
-
}
|
198 |
-
|
199 |
-
?>
|
200 |
-
<div id="tmpl-acf-normal" class="acfe-postbox acfe-postbox-no-handle">
|
201 |
-
<form class="acf-form" action="" method="post">
|
202 |
-
|
203 |
-
<div id="poststuff">
|
204 |
-
|
205 |
-
<?php do_meta_boxes('edit', 'normal', array()); ?>
|
206 |
-
|
207 |
-
</div>
|
208 |
-
|
209 |
-
</form>
|
210 |
-
</div>
|
211 |
-
<script type="text/javascript">
|
212 |
-
(function($){
|
213 |
-
|
214 |
-
// add normal
|
215 |
-
$('#posts-filter').after($('#tmpl-acf-normal'));
|
216 |
-
|
217 |
-
})(jQuery);
|
218 |
-
</script>
|
219 |
-
<?php
|
220 |
-
|
221 |
-
}
|
222 |
-
|
223 |
-
// Position: Side
|
224 |
-
if(acf_maybe_get($field_groups, 'side')){
|
225 |
-
|
226 |
-
$total = count($field_groups['side']);
|
227 |
-
|
228 |
-
$current = 0; foreach($field_groups['side'] as $field_group){ $current++;
|
229 |
-
|
230 |
-
add_meta_box(
|
231 |
-
|
232 |
-
// ID
|
233 |
-
'acf-' . $field_group['ID'],
|
234 |
-
|
235 |
-
// Title
|
236 |
-
$field_group['title'],
|
237 |
-
|
238 |
-
// Render
|
239 |
-
array($this, 'metabox_render'),
|
240 |
-
|
241 |
-
// Screen
|
242 |
-
'edit',
|
243 |
-
|
244 |
-
// Position
|
245 |
-
$field_group['position'],
|
246 |
-
|
247 |
-
// Priority
|
248 |
-
'default',
|
249 |
-
|
250 |
-
// Args
|
251 |
-
array(
|
252 |
-
'total' => $total,
|
253 |
-
'current' => $current,
|
254 |
-
'field_group' => $field_group
|
255 |
-
)
|
256 |
-
|
257 |
-
);
|
258 |
-
|
259 |
-
}
|
260 |
-
|
261 |
-
?>
|
262 |
-
<div id="tmpl-acf-side" class="acfe-postbox acfe-postbox-no-handle">
|
263 |
-
<div class="acf-column-2">
|
264 |
-
<form class="acf-form" action="" method="post">
|
265 |
-
|
266 |
-
<div id="poststuff" style="padding-top:0; min-width:auto;">
|
267 |
-
|
268 |
-
<?php do_meta_boxes('edit', 'side', array()); ?>
|
269 |
-
|
270 |
-
</div>
|
271 |
-
|
272 |
-
</form>
|
273 |
-
</div>
|
274 |
-
</div>
|
275 |
-
<script type="text/javascript">
|
276 |
-
(function($){
|
277 |
-
|
278 |
-
// wrap form
|
279 |
-
$('#posts-filter').wrap('<div class="acf-columns-2" />');
|
280 |
-
|
281 |
-
// Move subsubsub inside column
|
282 |
-
$('#posts-filter').prepend($('.subsubsub'));
|
283 |
-
|
284 |
-
// Move After title field group
|
285 |
-
$('#posts-filter').prepend($('#tmpl-acf-after-title'));
|
286 |
-
|
287 |
-
// Move Normal field group
|
288 |
-
$('#posts-filter').append($('#tmpl-acf-normal'));
|
289 |
-
|
290 |
-
// add column main
|
291 |
-
$('#posts-filter').addClass('acf-column-1');
|
292 |
-
|
293 |
-
// add column side
|
294 |
-
$('#posts-filter').after($('#tmpl-acf-side'));
|
295 |
-
|
296 |
-
})(jQuery);
|
297 |
-
</script>
|
298 |
-
<?php
|
299 |
-
|
300 |
-
}
|
301 |
-
|
302 |
-
}
|
303 |
-
|
304 |
-
function metabox_render($array, $args){
|
305 |
-
|
306 |
-
$total = $args['args']['total'];
|
307 |
-
$current = $args['args']['current'];
|
308 |
-
$field_group = $args['args']['field_group'];
|
309 |
-
|
310 |
-
// Set post_id
|
311 |
-
$post_id = $this->post_id;
|
312 |
-
|
313 |
-
// Set form data
|
314 |
-
acf_form_data(array(
|
315 |
-
'screen' => 'post_type_list',
|
316 |
-
'post_id' => $post_id,
|
317 |
-
));
|
318 |
-
|
319 |
-
// Get fields
|
320 |
-
$fields = acf_get_fields($field_group);
|
321 |
-
|
322 |
-
// Render fields
|
323 |
-
acf_render_fields($fields, $post_id, 'div', $field_group['instruction_placement']);
|
324 |
-
|
325 |
-
if($current === $total){ ?>
|
326 |
-
|
327 |
-
<?php
|
328 |
-
$id = ($field_group['style'] != 'seamless') ? 'major-publishing-actions' : '';
|
329 |
-
$style = ($field_group['style'] === 'seamless') ? 'padding:0 12px;' : '';
|
330 |
-
?>
|
331 |
-
|
332 |
-
<div id="<?php echo $id; ?>" style="<?php echo $style; ?>">
|
333 |
-
|
334 |
-
<div id="publishing-action">
|
335 |
-
|
336 |
-
<div class="acf-form-submit">
|
337 |
-
<input type="submit" class="acf-button button button-primary button-large" value="<?php _e('Update', 'acfe'); ?>" />
|
338 |
-
<span class="acf-spinner"></span>
|
339 |
-
</div>
|
340 |
-
|
341 |
-
</div>
|
342 |
-
<div class="clear"></div>
|
343 |
-
|
344 |
-
</div>
|
345 |
-
|
346 |
-
<?php }
|
347 |
-
|
348 |
-
// Create metabox localized data.
|
349 |
-
$data = array(
|
350 |
-
'id' => 'acf-' . $field_group['ID'],
|
351 |
-
'key' => $field_group['key'],
|
352 |
-
'style' => $field_group['style'],
|
353 |
-
'label' => $field_group['label_placement'],
|
354 |
-
'edit' => acf_get_field_group_edit_link($field_group['ID'])
|
355 |
-
);
|
356 |
-
|
357 |
-
?>
|
358 |
-
<script type="text/javascript">
|
359 |
-
if( typeof acf !== 'undefined' ) {
|
360 |
-
acf.newPostbox(<?php echo wp_json_encode($data); ?>);
|
361 |
-
}
|
362 |
-
</script>
|
363 |
-
|
364 |
-
<?php
|
365 |
-
|
366 |
-
}
|
367 |
-
|
368 |
-
function in_admin_header(){
|
369 |
-
|
370 |
-
acf_enqueue_uploader();
|
371 |
-
|
372 |
-
}
|
373 |
-
|
374 |
-
function location_types($choices){
|
375 |
-
|
376 |
-
$name = __('Post', 'acf');
|
377 |
-
|
378 |
-
$choices[$name] = acfe_array_insert_after('post_type', $choices[$name], 'post_type_list', __('Post Type List'));
|
379 |
-
|
380 |
-
return $choices;
|
381 |
-
|
382 |
-
}
|
383 |
-
|
384 |
-
|
385 |
-
function location_values($choices){
|
386 |
-
|
387 |
-
$post_types = acf_get_post_types(array(
|
388 |
-
'show_ui' => 1,
|
389 |
-
'exclude' => array('attachment')
|
390 |
-
));
|
391 |
-
|
392 |
-
$pretty_post_types = array();
|
393 |
-
|
394 |
-
if(!empty($post_types)){
|
395 |
-
|
396 |
-
$pretty_post_types = acf_get_pretty_post_types($post_types);
|
397 |
-
|
398 |
-
}
|
399 |
-
|
400 |
-
$choices = array('all' => __('All', 'acf'));
|
401 |
-
$choices = array_merge($choices, $pretty_post_types);
|
402 |
-
|
403 |
-
return $choices;
|
404 |
-
|
405 |
-
}
|
406 |
-
|
407 |
-
function location_match($match, $rule, $screen){
|
408 |
-
|
409 |
-
if(!acf_maybe_get($screen, 'post_type_list') || !acf_maybe_get($rule, 'value'))
|
410 |
-
return $match;
|
411 |
-
|
412 |
-
$match = ($screen['post_type_list'] === $rule['value']);
|
413 |
-
|
414 |
-
if($rule['value'] === 'all')
|
415 |
-
$match = true;
|
416 |
-
|
417 |
-
if($rule['operator'] === '!=')
|
418 |
-
$match = !$match;
|
419 |
-
|
420 |
-
return $match;
|
421 |
-
|
422 |
-
}
|
423 |
-
|
424 |
-
}
|
425 |
-
|
426 |
-
new acfe_location_post_type_list();
|
427 |
-
|
428 |
endif;
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if(!defined('ABSPATH'))
|
4 |
+
exit;
|
5 |
+
|
6 |
+
if(!class_exists('acfe_location_post_type_list')):
|
7 |
+
|
8 |
+
class acfe_location_post_type_list{
|
9 |
+
|
10 |
+
public $post_type;
|
11 |
+
|
12 |
+
public $field_groups;
|
13 |
+
|
14 |
+
function __construct(){
|
15 |
+
|
16 |
+
add_action('load-edit.php', array($this, 'load'));
|
17 |
+
|
18 |
+
add_filter('acf/location/rule_types', array($this, 'location_types'));
|
19 |
+
add_filter('acf/location/rule_values/post_type_list', array($this, 'location_values'));
|
20 |
+
add_filter('acf/location/rule_match/post_type_list', array($this, 'location_match'), 10, 3);
|
21 |
+
|
22 |
+
}
|
23 |
+
|
24 |
+
function load(){
|
25 |
+
|
26 |
+
// Get post type
|
27 |
+
global $typenow;
|
28 |
+
|
29 |
+
$get_post_types = acf_get_post_types(array(
|
30 |
+
'show_ui' => 1,
|
31 |
+
'exclude' => array('attachment')
|
32 |
+
));
|
33 |
+
|
34 |
+
// Check post type
|
35 |
+
if(!in_array($typenow, $get_post_types))
|
36 |
+
return;
|
37 |
+
|
38 |
+
// vars
|
39 |
+
$this->post_type = $typenow;
|
40 |
+
|
41 |
+
$this->post_id = acf_get_valid_post_id($this->post_type . '_options');
|
42 |
+
|
43 |
+
$this->field_groups = acf_get_field_groups(array(
|
44 |
+
'post_type_list' => $this->post_type
|
45 |
+
));
|
46 |
+
|
47 |
+
if(empty($this->field_groups))
|
48 |
+
return;
|
49 |
+
|
50 |
+
// Submit
|
51 |
+
if(acf_verify_nonce('post_type_list')){
|
52 |
+
|
53 |
+
// Validate
|
54 |
+
if(acf_validate_save_post(true)){
|
55 |
+
|
56 |
+
// Autoload
|
57 |
+
acf_update_setting('autoload', false);
|
58 |
+
|
59 |
+
// Save
|
60 |
+
acf_save_post($this->post_id);
|
61 |
+
|
62 |
+
// Redirect
|
63 |
+
wp_redirect(add_query_arg(array('message' => 'acfe_post_type_list')));
|
64 |
+
exit;
|
65 |
+
|
66 |
+
}
|
67 |
+
|
68 |
+
}
|
69 |
+
|
70 |
+
// Enqueue ACF JS
|
71 |
+
acf_enqueue_scripts();
|
72 |
+
|
73 |
+
// Success message
|
74 |
+
if(isset($_GET['message']) && $_GET['message'] === 'acfe_post_type_list'){
|
75 |
+
|
76 |
+
$object = get_post_type_object($this->post_type);
|
77 |
+
|
78 |
+
acf_add_admin_notice($object->label . ' List Saved.', 'success');
|
79 |
+
|
80 |
+
}
|
81 |
+
|
82 |
+
add_action('in_admin_header', array($this, 'in_admin_header'));
|
83 |
+
|
84 |
+
add_action('admin_footer', array($this, 'admin_footer'));
|
85 |
+
|
86 |
+
}
|
87 |
+
|
88 |
+
function admin_footer(){
|
89 |
+
|
90 |
+
// Init field groups by position
|
91 |
+
$field_groups = array();
|
92 |
+
|
93 |
+
foreach($this->field_groups as $field_group){
|
94 |
+
|
95 |
+
$field_groups[$field_group['position']][] = $field_group;
|
96 |
+
|
97 |
+
}
|
98 |
+
|
99 |
+
// Position: After Title
|
100 |
+
if(acf_maybe_get($field_groups, 'acf_after_title')){
|
101 |
+
|
102 |
+
$total = count($field_groups['acf_after_title']);
|
103 |
+
|
104 |
+
$current = 0; foreach($field_groups['acf_after_title'] as $field_group){ $current++;
|
105 |
+
|
106 |
+
add_meta_box(
|
107 |
+
|
108 |
+
// ID
|
109 |
+
'acf-' . $field_group['ID'],
|
110 |
+
|
111 |
+
// Title
|
112 |
+
$field_group['title'],
|
113 |
+
|
114 |
+
// Render
|
115 |
+
array($this, 'metabox_render'),
|
116 |
+
|
117 |
+
// Screen
|
118 |
+
'edit',
|
119 |
+
|
120 |
+
// Position
|
121 |
+
$field_group['position'],
|
122 |
+
|
123 |
+
// Priority
|
124 |
+
'default',
|
125 |
+
|
126 |
+
// Args
|
127 |
+
array(
|
128 |
+
'total' => $total,
|
129 |
+
'current' => $current,
|
130 |
+
'field_group' => $field_group
|
131 |
+
)
|
132 |
+
|
133 |
+
);
|
134 |
+
|
135 |
+
}
|
136 |
+
|
137 |
+
?>
|
138 |
+
<div id="tmpl-acf-after-title" class="acfe-postbox acfe-postbox-no-handle">
|
139 |
+
<form class="acf-form" action="" method="post">
|
140 |
+
|
141 |
+
<div id="poststuff" style="padding-top:0;">
|
142 |
+
|
143 |
+
<?php do_meta_boxes('edit', 'acf_after_title', array()); ?>
|
144 |
+
|
145 |
+
</div>
|
146 |
+
|
147 |
+
</form>
|
148 |
+
</div>
|
149 |
+
<script type="text/javascript">
|
150 |
+
(function($){
|
151 |
+
|
152 |
+
// add after title
|
153 |
+
$('.subsubsub').before($('#tmpl-acf-after-title'));
|
154 |
+
|
155 |
+
})(jQuery);
|
156 |
+
</script>
|
157 |
+
<?php
|
158 |
+
|
159 |
+
}
|
160 |
+
|
161 |
+
// Position: Normal
|
162 |
+
if(acf_maybe_get($field_groups, 'normal')){
|
163 |
+
|
164 |
+
$total = count($field_groups['normal']);
|
165 |
+
|
166 |
+
$current = 0; foreach($field_groups['normal'] as $field_group){ $current++;
|
167 |
+
|
168 |
+
add_meta_box(
|
169 |
+
|
170 |
+
// ID
|
171 |
+
'acf-' . $field_group['ID'],
|
172 |
+
|
173 |
+
// Title
|
174 |
+
$field_group['title'],
|
175 |
+
|
176 |
+
// Render
|
177 |
+
array($this, 'metabox_render'),
|
178 |
+
|
179 |
+
// Screen
|
180 |
+
'edit',
|
181 |
+
|
182 |
+
// Position
|
183 |
+
$field_group['position'],
|
184 |
+
|
185 |
+
// Priority
|
186 |
+
'default',
|
187 |
+
|
188 |
+
// Args
|
189 |
+
array(
|
190 |
+
'total' => $total,
|
191 |
+
'current' => $current,
|
192 |
+
'field_group' => $field_group
|
193 |
+
)
|
194 |
+
|
195 |
+
);
|
196 |
+
|
197 |
+
}
|
198 |
+
|
199 |
+
?>
|
200 |
+
<div id="tmpl-acf-normal" class="acfe-postbox acfe-postbox-no-handle">
|
201 |
+
<form class="acf-form" action="" method="post">
|
202 |
+
|
203 |
+
<div id="poststuff">
|
204 |
+
|
205 |
+
<?php do_meta_boxes('edit', 'normal', array()); ?>
|
206 |
+
|
207 |
+
</div>
|
208 |
+
|
209 |
+
</form>
|
210 |
+
</div>
|
211 |
+
<script type="text/javascript">
|
212 |
+
(function($){
|
213 |
+
|
214 |
+
// add normal
|
215 |
+
$('#posts-filter').after($('#tmpl-acf-normal'));
|
216 |
+
|
217 |
+
})(jQuery);
|
218 |
+
</script>
|
219 |
+
<?php
|
220 |
+
|
221 |
+
}
|
222 |
+
|
223 |
+
// Position: Side
|
224 |
+
if(acf_maybe_get($field_groups, 'side')){
|
225 |
+
|
226 |
+
$total = count($field_groups['side']);
|
227 |
+
|
228 |
+
$current = 0; foreach($field_groups['side'] as $field_group){ $current++;
|
229 |
+
|
230 |
+
add_meta_box(
|
231 |
+
|
232 |
+
// ID
|
233 |
+
'acf-' . $field_group['ID'],
|
234 |
+
|
235 |
+
// Title
|
236 |
+
$field_group['title'],
|
237 |
+
|
238 |
+
// Render
|
239 |
+
array($this, 'metabox_render'),
|
240 |
+
|
241 |
+
// Screen
|
242 |
+
'edit',
|
243 |
+
|
244 |
+
// Position
|
245 |
+
$field_group['position'],
|
246 |
+
|
247 |
+
// Priority
|
248 |
+
'default',
|
249 |
+
|
250 |
+
// Args
|
251 |
+
array(
|
252 |
+
'total' => $total,
|
253 |
+
'current' => $current,
|
254 |
+
'field_group' => $field_group
|
255 |
+
)
|
256 |
+
|
257 |
+
);
|
258 |
+
|
259 |
+
}
|
260 |
+
|
261 |
+
?>
|
262 |
+
<div id="tmpl-acf-side" class="acfe-postbox acfe-postbox-no-handle">
|
263 |
+
<div class="acf-column-2">
|
264 |
+
<form class="acf-form" action="" method="post">
|
265 |
+
|
266 |
+
<div id="poststuff" style="padding-top:0; min-width:auto;">
|
267 |
+
|
268 |
+
<?php do_meta_boxes('edit', 'side', array()); ?>
|
269 |
+
|
270 |
+
</div>
|
271 |
+
|
272 |
+
</form>
|
273 |
+
</div>
|
274 |
+
</div>
|
275 |
+
<script type="text/javascript">
|
276 |
+
(function($){
|
277 |
+
|
278 |
+
// wrap form
|
279 |
+
$('#posts-filter').wrap('<div class="acf-columns-2" />');
|
280 |
+
|
281 |
+
// Move subsubsub inside column
|
282 |
+
$('#posts-filter').prepend($('.subsubsub'));
|
283 |
+
|
284 |
+
// Move After title field group
|
285 |
+
$('#posts-filter').prepend($('#tmpl-acf-after-title'));
|
286 |
+
|
287 |
+
// Move Normal field group
|
288 |
+
$('#posts-filter').append($('#tmpl-acf-normal'));
|
289 |
+
|
290 |
+
// add column main
|
291 |
+
$('#posts-filter').addClass('acf-column-1');
|
292 |
+
|
293 |
+
// add column side
|
294 |
+
$('#posts-filter').after($('#tmpl-acf-side'));
|
295 |
+
|
296 |
+
})(jQuery);
|
297 |
+
</script>
|
298 |
+
<?php
|
299 |
+
|
300 |
+
}
|
301 |
+
|
302 |
+
}
|
303 |
+
|
304 |
+
function metabox_render($array, $args){
|
305 |
+
|
306 |
+
$total = $args['args']['total'];
|
307 |
+
$current = $args['args']['current'];
|
308 |
+
$field_group = $args['args']['field_group'];
|
309 |
+
|
310 |
+
// Set post_id
|
311 |
+
$post_id = $this->post_id;
|
312 |
+
|
313 |
+
// Set form data
|
314 |
+
acf_form_data(array(
|
315 |
+
'screen' => 'post_type_list',
|
316 |
+
'post_id' => $post_id,
|
317 |
+
));
|
318 |
+
|
319 |
+
// Get fields
|
320 |
+
$fields = acf_get_fields($field_group);
|
321 |
+
|
322 |
+
// Render fields
|
323 |
+
acf_render_fields($fields, $post_id, 'div', $field_group['instruction_placement']);
|
324 |
+
|
325 |
+
if($current === $total){ ?>
|
326 |
+
|
327 |
+
<?php
|
328 |
+
$id = ($field_group['style'] != 'seamless') ? 'major-publishing-actions' : '';
|
329 |
+
$style = ($field_group['style'] === 'seamless') ? 'padding:0 12px;' : '';
|
330 |
+
?>
|
331 |
+
|
332 |
+
<div id="<?php echo $id; ?>" style="<?php echo $style; ?>">
|
333 |
+
|
334 |
+
<div id="publishing-action">
|
335 |
+
|
336 |
+
<div class="acf-form-submit">
|
337 |
+
<input type="submit" class="acf-button button button-primary button-large" value="<?php _e('Update', 'acfe'); ?>" />
|
338 |
+
<span class="acf-spinner"></span>
|
339 |
+
</div>
|
340 |
+
|
341 |
+
</div>
|
342 |
+
<div class="clear"></div>
|
343 |
+
|
344 |
+
</div>
|
345 |
+
|
346 |
+
<?php }
|
347 |
+
|
348 |
+
// Create metabox localized data.
|
349 |
+
$data = array(
|
350 |
+
'id' => 'acf-' . $field_group['ID'],
|
351 |
+
'key' => $field_group['key'],
|
352 |
+
'style' => $field_group['style'],
|
353 |
+
'label' => $field_group['label_placement'],
|
354 |
+
'edit' => acf_get_field_group_edit_link($field_group['ID'])
|
355 |
+
);
|
356 |
+
|
357 |
+
?>
|
358 |
+
<script type="text/javascript">
|
359 |
+
if( typeof acf !== 'undefined' ) {
|
360 |
+
acf.newPostbox(<?php echo wp_json_encode($data); ?>);
|
361 |
+
}
|
362 |
+
</script>
|
363 |
+
|
364 |
+
<?php
|
365 |
+
|
366 |
+
}
|
367 |
+
|
368 |
+
function in_admin_header(){
|
369 |
+
|
370 |
+
acf_enqueue_uploader();
|
371 |
+
|
372 |
+
}
|
373 |
+
|
374 |
+
function location_types($choices){
|
375 |
+
|
376 |
+
$name = __('Post', 'acf');
|
377 |
+
|
378 |
+
$choices[$name] = acfe_array_insert_after('post_type', $choices[$name], 'post_type_list', __('Post Type List'));
|
379 |
+
|
380 |
+
return $choices;
|
381 |
+
|
382 |
+
}
|
383 |
+
|
384 |
+
|
385 |
+
function location_values($choices){
|
386 |
+
|
387 |
+
$post_types = acf_get_post_types(array(
|
388 |
+
'show_ui' => 1,
|
389 |
+
'exclude' => array('attachment')
|
390 |
+
));
|
391 |
+
|
392 |
+
$pretty_post_types = array();
|
393 |
+
|
394 |
+
if(!empty($post_types)){
|
395 |
+
|
396 |
+
$pretty_post_types = acf_get_pretty_post_types($post_types);
|
397 |
+
|
398 |
+
}
|
399 |
+
|
400 |
+
$choices = array('all' => __('All', 'acf'));
|
401 |
+
$choices = array_merge($choices, $pretty_post_types);
|
402 |
+
|
403 |
+
return $choices;
|
404 |
+
|
405 |
+
}
|
406 |
+
|
407 |
+
function location_match($match, $rule, $screen){
|
408 |
+
|
409 |
+
if(!acf_maybe_get($screen, 'post_type_list') || !acf_maybe_get($rule, 'value'))
|
410 |
+
return $match;
|
411 |
+
|
412 |
+
$match = ($screen['post_type_list'] === $rule['value']);
|
413 |
+
|
414 |
+
if($rule['value'] === 'all')
|
415 |
+
$match = true;
|
416 |
+
|
417 |
+
if($rule['operator'] === '!=')
|
418 |
+
$match = !$match;
|
419 |
+
|
420 |
+
return $match;
|
421 |
+
|
422 |
+
}
|
423 |
+
|
424 |
+
}
|
425 |
+
|
426 |
+
new acfe_location_post_type_list();
|
427 |
+
|
428 |
endif;
|
includes/locations/taxonomy-list.php
CHANGED
@@ -1,405 +1,405 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
if(!defined('ABSPATH'))
|
4 |
-
exit;
|
5 |
-
|
6 |
-
if(!class_exists('acfe_location_taxonomy_list')):
|
7 |
-
|
8 |
-
class acfe_location_taxonomy_list{
|
9 |
-
|
10 |
-
public $taxonomy;
|
11 |
-
|
12 |
-
public $field_groups;
|
13 |
-
|
14 |
-
function __construct(){
|
15 |
-
|
16 |
-
add_action('load-edit-tags.php', array($this, 'load'));
|
17 |
-
|
18 |
-
add_filter('acf/location/rule_types', array($this, 'location_types'));
|
19 |
-
add_filter('acf/location/rule_values/taxonomy_list', array($this, 'location_values'));
|
20 |
-
add_filter('acf/location/rule_match/taxonomy_list', array($this, 'location_match'), 10, 3);
|
21 |
-
|
22 |
-
}
|
23 |
-
|
24 |
-
function load(){
|
25 |
-
|
26 |
-
// Get page
|
27 |
-
global $pagenow;
|
28 |
-
|
29 |
-
if($pagenow === 'term.php')
|
30 |
-
return;
|
31 |
-
|
32 |
-
// Get taxonomy
|
33 |
-
global $taxnow;
|
34 |
-
|
35 |
-
// Check taxonomies
|
36 |
-
if(!in_array($taxnow, acf_get_taxonomies()))
|
37 |
-
return;
|
38 |
-
|
39 |
-
$this->taxonomy = $taxnow;
|
40 |
-
|
41 |
-
$this->post_id = acf_get_valid_post_id('tax_' . $this->taxonomy . '_options');
|
42 |
-
|
43 |
-
$this->field_groups = acf_get_field_groups(array(
|
44 |
-
'taxonomy_list' => $this->taxonomy
|
45 |
-
));
|
46 |
-
|
47 |
-
if(empty($this->field_groups))
|
48 |
-
return;
|
49 |
-
|
50 |
-
// Submit
|
51 |
-
if(acf_verify_nonce('taxonomy_list')){
|
52 |
-
|
53 |
-
// Validate
|
54 |
-
if(acf_validate_save_post(true)){
|
55 |
-
|
56 |
-
// Autoload
|
57 |
-
acf_update_setting('autoload', false);
|
58 |
-
|
59 |
-
// Save
|
60 |
-
acf_save_post($this->post_id);
|
61 |
-
|
62 |
-
// Redirect
|
63 |
-
wp_redirect(add_query_arg(array('message' => 'acfe_taxonomy_list')));
|
64 |
-
exit;
|
65 |
-
|
66 |
-
}
|
67 |
-
|
68 |
-
}
|
69 |
-
|
70 |
-
// Enqueue ACF JS
|
71 |
-
acf_enqueue_scripts();
|
72 |
-
|
73 |
-
// Success message
|
74 |
-
if(isset($_GET['message']) && $_GET['message'] === 'acfe_taxonomy_list'){
|
75 |
-
|
76 |
-
$object = get_taxonomy($this->taxonomy);
|
77 |
-
|
78 |
-
acf_add_admin_notice($object->label . ' List Saved.', 'success');
|
79 |
-
|
80 |
-
}
|
81 |
-
|
82 |
-
add_action('in_admin_header', array($this, 'in_admin_header'));
|
83 |
-
|
84 |
-
add_action('admin_footer', array($this, 'admin_footer'));
|
85 |
-
|
86 |
-
}
|
87 |
-
|
88 |
-
function admin_footer(){
|
89 |
-
|
90 |
-
// Init field groups by position
|
91 |
-
$field_groups = array();
|
92 |
-
|
93 |
-
foreach($this->field_groups as $field_group){
|
94 |
-
|
95 |
-
$field_groups[$field_group['position']][] = $field_group;
|
96 |
-
|
97 |
-
}
|
98 |
-
|
99 |
-
// Position: After Title
|
100 |
-
if(acf_maybe_get($field_groups, 'acf_after_title')){
|
101 |
-
|
102 |
-
$total = count($field_groups['acf_after_title']);
|
103 |
-
|
104 |
-
$current = 0; foreach($field_groups['acf_after_title'] as $field_group){ $current++;
|
105 |
-
|
106 |
-
add_meta_box(
|
107 |
-
|
108 |
-
// ID
|
109 |
-
'acf-' . $field_group['ID'],
|
110 |
-
|
111 |
-
// Title
|
112 |
-
$field_group['title'],
|
113 |
-
|
114 |
-
// Render
|
115 |
-
array($this, 'metabox_render'),
|
116 |
-
|
117 |
-
// Screen
|
118 |
-
'edit',
|
119 |
-
|
120 |
-
// Position
|
121 |
-
$field_group['position'],
|
122 |
-
|
123 |
-
// Priority
|
124 |
-
'default',
|
125 |
-
|
126 |
-
// Args
|
127 |
-
array(
|
128 |
-
'total' => $total,
|
129 |
-
'current' => $current,
|
130 |
-
'field_group' => $field_group
|
131 |
-
)
|
132 |
-
|
133 |
-
);
|
134 |
-
|
135 |
-
}
|
136 |
-
|
137 |
-
?>
|
138 |
-
<div id="tmpl-acf-after-title" class="acfe-postbox acfe-postbox-no-handle">
|
139 |
-
<form class="acf-form" action="" method="post">
|
140 |
-
|
141 |
-
<div id="poststuff">
|
142 |
-
|
143 |
-
<?php do_meta_boxes('edit', 'acf_after_title', array()); ?>
|
144 |
-
|
145 |
-
</div>
|
146 |
-
|
147 |
-
</form>
|
148 |
-
</div>
|
149 |
-
<script type="text/javascript">
|
150 |
-
(function($){
|
151 |
-
|
152 |
-
// add after title
|
153 |
-
$('.search-form').before($('#tmpl-acf-after-title'));
|
154 |
-
|
155 |
-
})(jQuery);
|
156 |
-
</script>
|
157 |
-
<?php
|
158 |
-
|
159 |
-
}
|
160 |
-
|
161 |
-
// Position: Normal
|
162 |
-
if(acf_maybe_get($field_groups, 'normal')){
|
163 |
-
|
164 |
-
$total = count($field_groups['normal']);
|
165 |
-
|
166 |
-
$current = 0; foreach($field_groups['normal'] as $field_group){ $current++;
|
167 |
-
|
168 |
-
add_meta_box(
|
169 |
-
|
170 |
-
// ID
|
171 |
-
'acf-' . $field_group['ID'],
|
172 |
-
|
173 |
-
// Title
|
174 |
-
$field_group['title'],
|
175 |
-
|
176 |
-
// Render
|
177 |
-
array($this, 'metabox_render'),
|
178 |
-
|
179 |
-
// Screen
|
180 |
-
'edit',
|
181 |
-
|
182 |
-
// Position
|
183 |
-
$field_group['position'],
|
184 |
-
|
185 |
-
// Priority
|
186 |
-
'default',
|
187 |
-
|
188 |
-
// Args
|
189 |
-
array(
|
190 |
-
'total' => $total,
|
191 |
-
'current' => $current,
|
192 |
-
'field_group' => $field_group
|
193 |
-
)
|
194 |
-
|
195 |
-
);
|
196 |
-
|
197 |
-
}
|
198 |
-
|
199 |
-
?>
|
200 |
-
<div id="tmpl-acf-normal" class="acfe-postbox acfe-postbox-no-handle">
|
201 |
-
<form class="acf-form" action="" method="post">
|
202 |
-
|
203 |
-
<div id="poststuff">
|
204 |
-
|
205 |
-
<?php do_meta_boxes('edit', 'normal', array()); ?>
|
206 |
-
|
207 |
-
</div>
|
208 |
-
|
209 |
-
</form>
|
210 |
-
</div>
|
211 |
-
<script type="text/javascript">
|
212 |
-
(function($){
|
213 |
-
|
214 |
-
// add normal
|
215 |
-
$('#posts-filter').after($('#tmpl-acf-normal'));
|
216 |
-
|
217 |
-
})(jQuery);
|
218 |
-
</script>
|
219 |
-
<?php
|
220 |
-
|
221 |
-
}
|
222 |
-
|
223 |
-
// Position: Side
|
224 |
-
if(acf_maybe_get($field_groups, 'side')){
|
225 |
-
|
226 |
-
$total = count($field_groups['side']);
|
227 |
-
|
228 |
-
$current = 0; foreach($field_groups['side'] as $field_group){ $current++;
|
229 |
-
|
230 |
-
add_meta_box(
|
231 |
-
|
232 |
-
// ID
|
233 |
-
'acf-' . $field_group['ID'],
|
234 |
-
|
235 |
-
// Title
|
236 |
-
$field_group['title'],
|
237 |
-
|
238 |
-
// Render
|
239 |
-
array($this, 'metabox_render'),
|
240 |
-
|
241 |
-
// Screen
|
242 |
-
'edit',
|
243 |
-
|
244 |
-
// Position
|
245 |
-
$field_group['position'],
|
246 |
-
|
247 |
-
// Priority
|
248 |
-
'default',
|
249 |
-
|
250 |
-
// Args
|
251 |
-
array(
|
252 |
-
'total' => $total,
|
253 |
-
'current' => $current,
|
254 |
-
'field_group' => $field_group
|
255 |
-
)
|
256 |
-
|
257 |
-
);
|
258 |
-
|
259 |
-
}
|
260 |
-
|
261 |
-
?>
|
262 |
-
<div id="tmpl-acf-side" class="acfe-postbox acfe-postbox-no-handle">
|
263 |
-
<div class="acf-column-2">
|
264 |
-
<form class="acf-form" action="" method="post">
|
265 |
-
|
266 |
-
<div id="poststuff" style="padding-top:0; min-width:auto;">
|
267 |
-
|
268 |
-
<?php do_meta_boxes('edit', 'side', array()); ?>
|
269 |
-
|
270 |
-
</div>
|
271 |
-
|
272 |
-
</form>
|
273 |
-
</div>
|
274 |
-
</div>
|
275 |
-
<script type="text/javascript">
|
276 |
-
(function($){
|
277 |
-
|
278 |
-
// Wrap form
|
279 |
-
$('.search-form').next('#col-container').andSelf().wrapAll('<div class="acf-columns-2"><div class="acf-column-1"></div></div>');
|
280 |
-
|
281 |
-
// Move After title field group
|
282 |
-
$('.acf-column-1').prepend($('#tmpl-acf-after-title'));
|
283 |
-
|
284 |
-
// Add column side
|
285 |
-
$('.acf-column-1').after($('#tmpl-acf-side'));
|
286 |
-
|
287 |
-
})(jQuery);
|
288 |
-
</script>
|
289 |
-
<?php
|
290 |
-
|
291 |
-
}
|
292 |
-
|
293 |
-
}
|
294 |
-
|
295 |
-
function metabox_render($array, $args){
|
296 |
-
|
297 |
-
$total = $args['args']['total'];
|
298 |
-
$current = $args['args']['current'];
|
299 |
-
$field_group = $args['args']['field_group'];
|
300 |
-
|
301 |
-
// Set post_id
|
302 |
-
$post_id = $this->post_id;
|
303 |
-
|
304 |
-
// Set form data
|
305 |
-
acf_form_data(array(
|
306 |
-
'screen' => 'taxonomy_list',
|
307 |
-
'post_id' => $post_id,
|
308 |
-
));
|
309 |
-
|
310 |
-
// Get fields
|
311 |
-
$fields = acf_get_fields($field_group);
|
312 |
-
|
313 |
-
// Render fields
|
314 |
-
acf_render_fields($fields, $post_id, 'div', $field_group['instruction_placement']);
|
315 |
-
|
316 |
-
if($current === $total){ ?>
|
317 |
-
|
318 |
-
<?php
|
319 |
-
$id = ($field_group['style'] != 'seamless') ? 'major-publishing-actions' : '';
|
320 |
-
$style = ($field_group['style'] === 'seamless') ? 'padding:0 12px;' : '';
|
321 |
-
?>
|
322 |
-
|
323 |
-
<div id="<?php echo $id; ?>" style="<?php echo $style; ?>">
|
324 |
-
|
325 |
-
<div id="publishing-action">
|
326 |
-
|
327 |
-
<div class="acf-form-submit">
|
328 |
-
<input type="submit" class="acf-button button button-primary button-large" value="<?php _e('Update', 'acfe'); ?>" />
|
329 |
-
<span class="acf-spinner"></span>
|
330 |
-
</div>
|
331 |
-
|
332 |
-
</div>
|
333 |
-
<div class="clear"></div>
|
334 |
-
|
335 |
-
</div>
|
336 |
-
|
337 |
-
<?php }
|
338 |
-
|
339 |
-
// Create metabox localized data.
|
340 |
-
$data = array(
|
341 |
-
'id' => 'acf-' . $field_group['ID'],
|
342 |
-
'key' => $field_group['key'],
|
343 |
-
'style' => $field_group['style'],
|
344 |
-
'label' => $field_group['label_placement'],
|
345 |
-
'edit' => acf_get_field_group_edit_link($field_group['ID'])
|
346 |
-
);
|
347 |
-
|
348 |
-
?>
|
349 |
-
<script type="text/javascript">
|
350 |
-
if( typeof acf !== 'undefined' ) {
|
351 |
-
acf.newPostbox(<?php echo wp_json_encode($data); ?>);
|
352 |
-
}
|
353 |
-
</script>
|
354 |
-
|
355 |
-
<?php
|
356 |
-
|
357 |
-
}
|
358 |
-
|
359 |
-
function in_admin_header(){
|
360 |
-
|
361 |
-
acf_enqueue_uploader();
|
362 |
-
|
363 |
-
}
|
364 |
-
|
365 |
-
function location_types($choices){
|
366 |
-
|
367 |
-
$name = __('Forms', 'acf');
|
368 |
-
|
369 |
-
$choices[$name] = acfe_array_insert_after('taxonomy', $choices[$name], 'taxonomy_list', __('Taxonomy List'));
|
370 |
-
|
371 |
-
return $choices;
|
372 |
-
|
373 |
-
}
|
374 |
-
|
375 |
-
function location_values($choices){
|
376 |
-
|
377 |
-
$choices = array('all' => __('All', 'acf'));
|
378 |
-
$choices = array_merge($choices, acf_get_taxonomy_labels());
|
379 |
-
|
380 |
-
return $choices;
|
381 |
-
|
382 |
-
}
|
383 |
-
|
384 |
-
function location_match($match, $rule, $screen){
|
385 |
-
|
386 |
-
if(!acf_maybe_get($screen, 'taxonomy_list') || !acf_maybe_get($rule, 'value'))
|
387 |
-
return $match;
|
388 |
-
|
389 |
-
$match = ($screen['taxonomy_list'] === $rule['value']);
|
390 |
-
|
391 |
-
if($rule['value'] === 'all')
|
392 |
-
$match = true;
|
393 |
-
|
394 |
-
if($rule['operator'] === '!=')
|
395 |
-
$match = !$match;
|
396 |
-
|
397 |
-
return $match;
|
398 |
-
|
399 |
-
}
|
400 |
-
|
401 |
-
}
|
402 |
-
|
403 |
-
new acfe_location_taxonomy_list();
|
404 |
-
|
405 |
endif;
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if(!defined('ABSPATH'))
|
4 |
+
exit;
|
5 |
+
|
6 |
+
if(!class_exists('acfe_location_taxonomy_list')):
|
7 |
+
|
8 |
+
class acfe_location_taxonomy_list{
|
9 |
+
|
10 |
+
public $taxonomy;
|
11 |
+
|
12 |
+
public $field_groups;
|
13 |
+
|
14 |
+
function __construct(){
|
15 |
+
|
16 |
+
add_action('load-edit-tags.php', array($this, 'load'));
|
17 |
+
|
18 |
+
add_filter('acf/location/rule_types', array($this, 'location_types'));
|
19 |
+
add_filter('acf/location/rule_values/taxonomy_list', array($this, 'location_values'));
|
20 |
+
add_filter('acf/location/rule_match/taxonomy_list', array($this, 'location_match'), 10, 3);
|
21 |
+
|
22 |
+
}
|
23 |
+
|
24 |
+
function load(){
|
25 |
+
|
26 |
+
// Get page
|
27 |
+
global $pagenow;
|
28 |
+
|
29 |
+
if($pagenow === 'term.php')
|
30 |
+
return;
|
31 |
+
|
32 |
+
// Get taxonomy
|
33 |
+
global $taxnow;
|
34 |
+
|
35 |
+
// Check taxonomies
|
36 |
+
if(!in_array($taxnow, acf_get_taxonomies()))
|
37 |
+
return;
|
38 |
+
|
39 |
+
$this->taxonomy = $taxnow;
|
40 |
+
|
41 |
+
$this->post_id = acf_get_valid_post_id('tax_' . $this->taxonomy . '_options');
|
42 |
+
|
43 |
+
$this->field_groups = acf_get_field_groups(array(
|
44 |
+
'taxonomy_list' => $this->taxonomy
|
45 |
+
));
|
46 |
+
|
47 |
+
if(empty($this->field_groups))
|
48 |
+
return;
|
49 |
+
|
50 |
+
// Submit
|
51 |
+
if(acf_verify_nonce('taxonomy_list')){
|
52 |
+
|
53 |
+
// Validate
|
54 |
+
if(acf_validate_save_post(true)){
|
55 |
+
|
56 |
+
// Autoload
|
57 |
+
acf_update_setting('autoload', false);
|
58 |
+
|
59 |
+
// Save
|
60 |
+
acf_save_post($this->post_id);
|
61 |
+
|
62 |
+
// Redirect
|
63 |
+
wp_redirect(add_query_arg(array('message' => 'acfe_taxonomy_list')));
|
64 |
+
exit;
|
65 |
+
|
66 |
+
}
|
67 |
+
|
68 |
+
}
|
69 |
+
|
70 |
+
// Enqueue ACF JS
|
71 |
+
acf_enqueue_scripts();
|
72 |
+
|
73 |
+
// Success message
|
74 |
+
if(isset($_GET['message']) && $_GET['message'] === 'acfe_taxonomy_list'){
|
75 |
+
|
76 |
+
$object = get_taxonomy($this->taxonomy);
|
77 |
+
|
78 |
+
acf_add_admin_notice($object->label . ' List Saved.', 'success');
|
79 |
+
|
80 |
+
}
|
81 |
+
|
82 |
+
add_action('in_admin_header', array($this, 'in_admin_header'));
|
83 |
+
|
84 |
+
add_action('admin_footer', array($this, 'admin_footer'));
|
85 |
+
|
86 |
+
}
|
87 |
+
|
88 |
+
function admin_footer(){
|
89 |
+
|
90 |
+
// Init field groups by position
|
91 |
+
$field_groups = array();
|
92 |
+
|
93 |
+
foreach($this->field_groups as $field_group){
|
94 |
+
|
95 |
+
$field_groups[$field_group['position']][] = $field_group;
|
96 |
+
|
97 |
+
}
|
98 |
+
|
99 |
+
// Position: After Title
|
100 |
+
if(acf_maybe_get($field_groups, 'acf_after_title')){
|
101 |
+
|
102 |
+
$total = count($field_groups['acf_after_title']);
|
103 |
+
|
104 |
+
$current = 0; foreach($field_groups['acf_after_title'] as $field_group){ $current++;
|
105 |
+
|
106 |
+
add_meta_box(
|
107 |
+
|
108 |
+
// ID
|
109 |
+
'acf-' . $field_group['ID'],
|
110 |
+
|
111 |
+
// Title
|
112 |
+
$field_group['title'],
|
113 |
+
|
114 |
+
// Render
|
115 |
+
array($this, 'metabox_render'),
|
116 |
+
|
117 |
+
// Screen
|
118 |
+
'edit',
|
119 |
+
|
120 |
+
// Position
|
121 |
+
$field_group['position'],
|
122 |
+
|
123 |
+
// Priority
|
124 |
+
'default',
|
125 |
+
|
126 |
+
// Args
|
127 |
+
array(
|
128 |
+
'total' => $total,
|
129 |
+
'current' => $current,
|
130 |
+
'field_group' => $field_group
|
131 |
+
)
|
132 |
+
|
133 |
+
);
|
134 |
+
|
135 |
+
}
|
136 |
+
|
137 |
+
?>
|
138 |
+
<div id="tmpl-acf-after-title" class="acfe-postbox acfe-postbox-no-handle">
|
139 |
+
<form class="acf-form" action="" method="post">
|
140 |
+
|
141 |
+
<div id="poststuff">
|
142 |
+
|
143 |
+
<?php do_meta_boxes('edit', 'acf_after_title', array()); ?>
|
144 |
+
|
145 |
+
</div>
|
146 |
+
|
147 |
+
</form>
|
148 |
+
</div>
|
149 |
+
<script type="text/javascript">
|
150 |
+
(function($){
|
151 |
+
|
152 |
+
// add after title
|
153 |
+
$('.search-form').before($('#tmpl-acf-after-title'));
|
154 |
+
|
155 |
+
})(jQuery);
|
156 |
+
</script>
|
157 |
+
<?php
|
158 |
+
|
159 |
+
}
|
160 |
+
|
161 |
+
// Position: Normal
|
162 |
+
if(acf_maybe_get($field_groups, 'normal')){
|
163 |
+
|
164 |
+
$total = count($field_groups['normal']);
|
165 |
+
|
166 |
+
$current = 0; foreach($field_groups['normal'] as $field_group){ $current++;
|
167 |
+
|
168 |
+
add_meta_box(
|
169 |
+
|
170 |
+
// ID
|
171 |
+
'acf-' . $field_group['ID'],
|
172 |
+
|
173 |
+
// Title
|
174 |
+
$field_group['title'],
|
175 |
+
|
176 |
+
// Render
|
177 |
+
array($this, 'metabox_render'),
|
178 |
+
|
179 |
+
// Screen
|
180 |
+
'edit',
|
181 |
+
|
182 |
+
// Position
|
183 |
+
$field_group['position'],
|
184 |
+
|
185 |
+
// Priority
|
186 |
+
'default',
|
187 |
+
|
188 |
+
// Args
|
189 |
+
array(
|
190 |
+
'total' => $total,
|
191 |
+
'current' => $current,
|
192 |
+
'field_group' => $field_group
|
193 |
+
)
|
194 |
+
|
195 |
+
);
|
196 |
+
|
197 |
+
}
|
198 |
+
|
199 |
+
?>
|
200 |
+
<div id="tmpl-acf-normal" class="acfe-postbox acfe-postbox-no-handle">
|
201 |
+
<form class="acf-form" action="" method="post">
|
202 |
+
|
203 |
+
<div id="poststuff">
|
204 |
+
|
205 |
+
<?php do_meta_boxes('edit', 'normal', array()); ?>
|
206 |
+
|
207 |
+
</div>
|
208 |
+
|
209 |
+
</form>
|
210 |
+
</div>
|
211 |
+
<script type="text/javascript">
|
212 |
+
(function($){
|
213 |
+
|
214 |
+
// add normal
|
215 |
+
$('#posts-filter').after($('#tmpl-acf-normal'));
|
216 |
+
|
217 |
+
})(jQuery);
|
218 |
+
</script>
|
219 |
+
<?php
|
220 |
+
|
221 |
+
}
|
222 |
+
|
223 |
+
// Position: Side
|
224 |
+
if(acf_maybe_get($field_groups, 'side')){
|
225 |
+
|
226 |
+
$total = count($field_groups['side']);
|
227 |
+
|
228 |
+
$current = 0; foreach($field_groups['side'] as $field_group){ $current++;
|
229 |
+
|
230 |
+
add_meta_box(
|
231 |
+
|
232 |
+
// ID
|
233 |
+
'acf-' . $field_group['ID'],
|
234 |
+
|
235 |
+
// Title
|
236 |
+
$field_group['title'],
|
237 |
+
|
238 |
+
// Render
|
239 |
+
array($this, 'metabox_render'),
|
240 |
+
|
241 |
+
// Screen
|
242 |
+
'edit',
|
243 |
+
|
244 |
+
// Position
|
245 |
+
$field_group['position'],
|
246 |
+
|
247 |
+
// Priority
|
248 |
+
'default',
|
249 |
+
|
250 |
+
// Args
|
251 |
+
array(
|
252 |
+
'total' => $total,
|
253 |
+
'current' => $current,
|
254 |
+
'field_group' => $field_group
|
255 |
+
)
|
256 |
+
|
257 |
+
);
|
258 |
+
|
259 |
+
}
|
260 |
+
|
261 |
+
?>
|
262 |
+
<div id="tmpl-acf-side" class="acfe-postbox acfe-postbox-no-handle">
|
263 |
+
<div class="acf-column-2">
|
264 |
+
<form class="acf-form" action="" method="post">
|
265 |
+
|
266 |
+
<div id="poststuff" style="padding-top:0; min-width:auto;">
|
267 |
+
|
268 |
+
<?php do_meta_boxes('edit', 'side', array()); ?>
|
269 |
+
|
270 |
+
</div>
|
271 |
+
|
272 |
+
</form>
|
273 |
+
</div>
|
274 |
+
</div>
|
275 |
+
<script type="text/javascript">
|
276 |
+
(function($){
|
277 |
+
|
278 |
+
// Wrap form
|
279 |
+
$('.search-form').next('#col-container').andSelf().wrapAll('<div class="acf-columns-2"><div class="acf-column-1"></div></div>');
|
280 |
+
|
281 |
+
// Move After title field group
|
282 |
+
$('.acf-column-1').prepend($('#tmpl-acf-after-title'));
|
283 |
+
|
284 |
+
// Add column side
|
285 |
+
$('.acf-column-1').after($('#tmpl-acf-side'));
|
286 |
+
|
287 |
+
})(jQuery);
|
288 |
+
</script>
|
289 |
+
<?php
|
290 |
+
|
291 |
+
}
|
292 |
+
|
293 |
+
}
|
294 |
+
|
295 |
+
function metabox_render($array, $args){
|
296 |
+
|
297 |
+
$total = $args['args']['total'];
|
298 |
+
$current = $args['args']['current'];
|
299 |
+
$field_group = $args['args']['field_group'];
|
300 |
+
|
301 |
+
// Set post_id
|
302 |
+
$post_id = $this->post_id;
|
303 |
+
|
304 |
+
// Set form data
|
305 |
+
acf_form_data(array(
|
306 |
+
'screen' => 'taxonomy_list',
|
307 |
+
'post_id' => $post_id,
|
308 |
+
));
|
309 |
+
|
310 |
+
// Get fields
|
311 |
+
$fields = acf_get_fields($field_group);
|
312 |
+
|
313 |
+
// Render fields
|
314 |
+
acf_render_fields($fields, $post_id, 'div', $field_group['instruction_placement']);
|
315 |
+
|
316 |
+
if($current === $total){ ?>
|
317 |
+
|
318 |
+
<?php
|
319 |
+
$id = ($field_group['style'] != 'seamless') ? 'major-publishing-actions' : '';
|
320 |
+
$style = ($field_group['style'] === 'seamless') ? 'padding:0 12px;' : '';
|
321 |
+
?>
|
322 |
+
|
323 |
+
<div id="<?php echo $id; ?>" style="<?php echo $style; ?>">
|
324 |
+
|
325 |
+
<div id="publishing-action">
|
326 |
+
|
327 |
+
<div class="acf-form-submit">
|
328 |
+
<input type="submit" class="acf-button button button-primary button-large" value="<?php _e('Update', 'acfe'); ?>" />
|
329 |
+
<span class="acf-spinner"></span>
|
330 |
+
</div>
|
331 |
+
|
332 |
+
</div>
|
333 |
+
<div class="clear"></div>
|
334 |
+
|
335 |
+
</div>
|
336 |
+
|
337 |
+
<?php }
|
338 |
+
|
339 |
+
// Create metabox localized data.
|
340 |
+
$data = array(
|
341 |
+
'id' => 'acf-' . $field_group['ID'],
|
342 |
+
'key' => $field_group['key'],
|
343 |
+
'style' => $field_group['style'],
|
344 |
+
'label' => $field_group['label_placement'],
|
345 |
+
'edit' => acf_get_field_group_edit_link($field_group['ID'])
|
346 |
+
);
|
347 |
+
|
348 |
+
?>
|
349 |
+
<script type="text/javascript">
|
350 |
+
if( typeof acf !== 'undefined' ) {
|
351 |
+
acf.newPostbox(<?php echo wp_json_encode($data); ?>);
|
352 |
+
}
|
353 |
+
</script>
|
354 |
+
|
355 |
+
<?php
|
356 |
+
|
357 |
+
}
|
358 |
+
|
359 |
+
function in_admin_header(){
|
360 |
+
|
361 |
+
acf_enqueue_uploader();
|
362 |
+
|
363 |
+
}
|
364 |
+
|
365 |
+
function location_types($choices){
|
366 |
+
|
367 |
+
$name = __('Forms', 'acf');
|
368 |
+
|
369 |
+
$choices[$name] = acfe_array_insert_after('taxonomy', $choices[$name], 'taxonomy_list', __('Taxonomy List'));
|
370 |
+
|
371 |
+
return $choices;
|
372 |
+
|
373 |
+
}
|
374 |
+
|
375 |
+
function location_values($choices){
|
376 |
+
|
377 |
+
$choices = array('all' => __('All', 'acf'));
|
378 |
+
$choices = array_merge($choices, acf_get_taxonomy_labels());
|
379 |
+
|
380 |
+
return $choices;
|
381 |
+
|
382 |
+
}
|
383 |
+
|
384 |
+
function location_match($match, $rule, $screen){
|
385 |
+
|
386 |
+
if(!acf_maybe_get($screen, 'taxonomy_list') || !acf_maybe_get($rule, 'value'))
|
387 |
+
return $match;
|
388 |
+
|
389 |
+
$match = ($screen['taxonomy_list'] === $rule['value']);
|
390 |
+
|
391 |
+
if($rule['value'] === 'all')
|
392 |
+
$match = true;
|
393 |
+
|
394 |
+
if($rule['operator'] === '!=')
|
395 |
+
$match = !$match;
|
396 |
+
|
397 |
+
return $match;
|
398 |
+
|
399 |
+
}
|
400 |
+
|
401 |
+
}
|
402 |
+
|
403 |
+
new acfe_location_taxonomy_list();
|
404 |
+
|
405 |
endif;
|
includes/modules/autosync.php
CHANGED
@@ -308,22 +308,12 @@ class ACFE_AutoSync{
|
|
308 |
* PHP: Save File
|
309 |
*/
|
310 |
function save_file($key, $field_group){
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
}else{
|
318 |
-
|
319 |
-
$path = untrailingslashit(acf_get_setting('acfe/php_save'));
|
320 |
-
|
321 |
-
if(!is_writable($path))
|
322 |
-
return false;
|
323 |
-
|
324 |
-
$file = "$path/$key.php";
|
325 |
-
|
326 |
-
}
|
327 |
|
328 |
// Translation
|
329 |
$l10n = acf_get_setting('l10n');
|
@@ -402,32 +392,17 @@ class ACFE_AutoSync{
|
|
402 |
* PHP: Delete File
|
403 |
*/
|
404 |
function delete_file($key){
|
405 |
-
|
406 |
-
if(isset($this->php_files[$key]) && is_readable($this->php_files[$key])){
|
407 |
-
|
408 |
-
unlink($this->php_files[$key]);
|
409 |
-
|
410 |
-
return true;
|
411 |
-
|
412 |
-
}else{
|
413 |
-
|
414 |
-
$path = untrailingslashit(acf_get_setting('acfe/php_save'));
|
415 |
-
|
416 |
-
if(!is_dir($path))
|
417 |
-
return false;
|
418 |
|
419 |
-
|
420 |
-
|
421 |
-
if(is_readable($file)){
|
422 |
|
423 |
-
|
424 |
-
|
425 |
-
return true;
|
426 |
-
|
427 |
-
}
|
428 |
-
|
429 |
-
}
|
430 |
|
|
|
|
|
|
|
|
|
|
|
431 |
return false;
|
432 |
|
433 |
}
|
308 |
* PHP: Save File
|
309 |
*/
|
310 |
function save_file($key, $field_group){
|
311 |
+
|
312 |
+
$path = acf_get_setting('acfe/php_save');
|
313 |
+
$file = untrailingslashit($path) . '/' . $key . '.php';
|
314 |
+
|
315 |
+
if(!is_writable($path))
|
316 |
+
return false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
317 |
|
318 |
// Translation
|
319 |
$l10n = acf_get_setting('l10n');
|
392 |
* PHP: Delete File
|
393 |
*/
|
394 |
function delete_file($key){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
395 |
|
396 |
+
$path = acf_get_setting('acfe/php_save');
|
397 |
+
$file = untrailingslashit($path) . '/' . $key . '.php';
|
|
|
398 |
|
399 |
+
if(is_readable($file)){
|
|
|
|
|
|
|
|
|
|
|
|
|
400 |
|
401 |
+
unlink($file);
|
402 |
+
return true;
|
403 |
+
|
404 |
+
}
|
405 |
+
|
406 |
return false;
|
407 |
|
408 |
}
|
includes/modules/dynamic-options-page.php
CHANGED
@@ -102,6 +102,14 @@ function acfe_dop_registers(){
|
|
102 |
|
103 |
}
|
104 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
// Merge
|
106 |
$options_pages = array_merge($options_top_pages, $options_sub_pages);
|
107 |
|
@@ -344,6 +352,20 @@ function acfe_dop_filter_status_publish($post){
|
|
344 |
|
345 |
}
|
346 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
347 |
/**
|
348 |
* Admin List Columns
|
349 |
*/
|
102 |
|
103 |
}
|
104 |
|
105 |
+
if(!empty($options_sub_pages)){
|
106 |
+
|
107 |
+
usort($options_sub_pages, function($a, $b){
|
108 |
+
return (int) $a['position'] - (int) $b['position'];
|
109 |
+
});
|
110 |
+
|
111 |
+
}
|
112 |
+
|
113 |
// Merge
|
114 |
$options_pages = array_merge($options_top_pages, $options_sub_pages);
|
115 |
|
352 |
|
353 |
}
|
354 |
|
355 |
+
add_action('pre_get_posts', 'acfe_dop_filter_admin_list', 15);
|
356 |
+
function acfe_dop_filter_admin_list($query){
|
357 |
+
|
358 |
+
global $pagenow;
|
359 |
+
|
360 |
+
if (!is_admin() || !$query->is_main_query() || $pagenow !== 'edit.php' || $query->get('post_type') !== 'acfe-dop')
|
361 |
+
return;
|
362 |
+
|
363 |
+
$query->set('meta_key', 'position');
|
364 |
+
$query->set('orderby', 'meta_value_num title');
|
365 |
+
$query->set('order', 'ASC');
|
366 |
+
|
367 |
+
}
|
368 |
+
|
369 |
/**
|
370 |
* Admin List Columns
|
371 |
*/
|
includes/modules/dynamic-post-type.php
CHANGED
@@ -54,6 +54,18 @@ function acfe_dpt_register(){
|
|
54 |
|
55 |
}
|
56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
/**
|
58 |
* WP Register Post Types
|
59 |
*/
|
@@ -324,9 +336,6 @@ function acfe_dpt_filter_save($post_id){
|
|
324 |
'post_name' => $name,
|
325 |
));
|
326 |
|
327 |
-
// Flush permalinks
|
328 |
-
flush_rewrite_rules();
|
329 |
-
|
330 |
}
|
331 |
|
332 |
/**
|
54 |
|
55 |
}
|
56 |
|
57 |
+
|
58 |
+
add_action('current_screen', 'acfe_dpt_current_screen');
|
59 |
+
function acfe_dpt_current_screen(){
|
60 |
+
|
61 |
+
if(!acf_is_screen('acfe-dpt'))
|
62 |
+
return;
|
63 |
+
|
64 |
+
// Flush Permalinks
|
65 |
+
flush_rewrite_rules();
|
66 |
+
|
67 |
+
}
|
68 |
+
|
69 |
/**
|
70 |
* WP Register Post Types
|
71 |
*/
|
336 |
'post_name' => $name,
|
337 |
));
|
338 |
|
|
|
|
|
|
|
339 |
}
|
340 |
|
341 |
/**
|
includes/modules/dynamic-taxonomy.php
CHANGED
@@ -54,6 +54,17 @@ function acfe_dt_register(){
|
|
54 |
|
55 |
}
|
56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
/**
|
58 |
* WP Register Taxonomies
|
59 |
*/
|
@@ -298,9 +309,6 @@ function acfe_dt_filter_save($post_id){
|
|
298 |
'post_name' => $name,
|
299 |
));
|
300 |
|
301 |
-
// Flush permalinks
|
302 |
-
flush_rewrite_rules();
|
303 |
-
|
304 |
}
|
305 |
|
306 |
/**
|
54 |
|
55 |
}
|
56 |
|
57 |
+
add_action('current_screen', 'acfe_dt_current_screen');
|
58 |
+
function acfe_dt_current_screen(){
|
59 |
+
|
60 |
+
if(!acf_is_screen('acfe-dt'))
|
61 |
+
return;
|
62 |
+
|
63 |
+
// Flush Permalinks
|
64 |
+
flush_rewrite_rules();
|
65 |
+
|
66 |
+
}
|
67 |
+
|
68 |
/**
|
69 |
* WP Register Taxonomies
|
70 |
*/
|
309 |
'post_name' => $name,
|
310 |
));
|
311 |
|
|
|
|
|
|
|
312 |
}
|
313 |
|
314 |
/**
|
init.php
CHANGED
@@ -51,8 +51,11 @@ function acfe_plugin_row($plugin_file, $plugin_data, $status){
|
|
51 |
if(acfe()->has_acf())
|
52 |
return;
|
53 |
|
|
|
54 |
$colspan = 4;
|
55 |
-
|
|
|
|
|
56 |
$colspan = 3;
|
57 |
|
58 |
?>
|
51 |
if(acfe()->has_acf())
|
52 |
return;
|
53 |
|
54 |
+
// >= WP 5.5
|
55 |
$colspan = 4;
|
56 |
+
|
57 |
+
// < WP 5.5
|
58 |
+
if(version_compare($GLOBALS['wp_version'], '5.5', '<'))
|
59 |
$colspan = 3;
|
60 |
|
61 |
?>
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: acf, custom fields, meta, admin, fields, form, repeater, content
|
|
5 |
Requires at least: 4.9
|
6 |
Tested up to: 5.5
|
7 |
Requires PHP: 5.6
|
8 |
-
Stable tag: 0.8.7.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -670,6 +670,22 @@ function my_acfe_modules(){
|
|
670 |
|
671 |
== Changelog ==
|
672 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
673 |
= 0.8.7.2 =
|
674 |
* Module: AutoSync - Reworked codebase, enhanced Field Groups Columns and added more information about files/folders detection
|
675 |
* Module: AutoSync - Added filters to target a specific field group for the PHP & Json save
|
5 |
Requires at least: 4.9
|
6 |
Tested up to: 5.5
|
7 |
Requires PHP: 5.6
|
8 |
+
Stable tag: 0.8.7.3
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
670 |
|
671 |
== Changelog ==
|
672 |
|
673 |
+
= 0.8.7.3 =
|
674 |
+
* Field: Flexible Content - Fixed "Copy/Paste" function which wasn't working correctly with WYSIWYG & Code Editor fields since the latest ACF 5.9 update
|
675 |
+
* Field: Column - Columns sizes are now based on a grid of 12 (1/12, 2/12, 3/12, 4/12 ...)
|
676 |
+
* Field: Taxonomy - Added compatibility with "Value equal", "Value not equal", "Value pattern" & "Value contains" conditional logic
|
677 |
+
* Field: Select - "Placeholder" setting is now only available when "Stylised UI" is enabled with "Allow multiple" or "Allow null"
|
678 |
+
* Module: Dynamic Post Type - Fixed "Post Type Archive Location = All" which incorrectly matched Options Pages
|
679 |
+
* Module: Dynamic Post Type - "Edit Post Type Archive" Admin bar item is now only displayed when the "Admin Archive Page" setting is enabled
|
680 |
+
* Module: Dynamic Post Type/Taxonomy - WP Permalinks are now automatically regenerated on each save
|
681 |
+
* Module: Dynamic Options Pages - Sub Options Pages are now ordered based on the "Position" setting
|
682 |
+
* Module: Dynamic Forms - Fixed an issue where visitors could not upload Image/File when using the WP modal field setting
|
683 |
+
* Module: PHP AutoSync - Updated save logic to match the new ACF 5.9.1 version (See ACF Pro 5.9.1 changelog)
|
684 |
+
* Field Groups - Added more width to the "Fields" column
|
685 |
+
* General: JS & CSS files are now minified and concatenated. `SCRIPT_DEBUG` controls the unminified version
|
686 |
+
* General: Fixed potential error during plugin activation when ACF Pro wasn't activated
|
687 |
+
* General: Gutenberg - Enhanced WP Metabox Styles
|
688 |
+
|
689 |
= 0.8.7.2 =
|
690 |
* Module: AutoSync - Reworked codebase, enhanced Field Groups Columns and added more information about files/folders detection
|
691 |
* Module: AutoSync - Added filters to target a specific field group for the PHP & Json save
|