PluginProbe ʕ •ᴥ•ʔ
Secure Custom Fields / trunk
Secure Custom Fields vtrunk
6.9.1 6.9.0 6.8.9 6.8.7 6.8.8 6.8.6 6.8.4 6.8.5 trunk 6.4.0-beta1 6.4.0-beta2 6.4.1 6.4.1-beta3 6.4.1-beta4 6.4.1-beta5 6.4.1-beta6 6.4.1-beta7 6.4.2 6.5.0 6.5.1 6.5.2 6.5.3 6.5.4 6.5.5 6.5.6 6.5.7 6.6.0 6.7.0 6.7.1 6.8.0 6.8.1 6.8.2 6.8.3
secure-custom-fields / assets / src / js / pro / _acf-setting-clone.js
secure-custom-fields / assets / src / js / pro Last commit date
blocks-v3 3 weeks ago _acf-blocks-v3.js 2 months ago _acf-blocks.js 2 months ago _acf-field-flexible-content.js 3 weeks ago _acf-field-gallery.js 1 month ago _acf-field-repeater.js 2 months ago _acf-jsx-names.js 1 year ago _acf-setting-clone.js 1 year ago _acf-setting-flexible-content.js 10 months ago _acf-setting-repeater.js 1 year ago _acf-ui-options-page.js 8 months ago acf-datastore.js 1 month ago acf-field-bindings.js 1 month ago acf-pro-blocks.js 8 months ago acf-pro-field-group.js 1 year ago acf-pro-input.js 1 year ago acf-pro-ui-options-page.js 1 year ago
_acf-setting-clone.js
144 lines
1 ( function ( $ ) {
2 /**
3 * CloneDisplayFieldSetting
4 *
5 * Extra logic for this field setting
6 *
7 * @date 18/4/18
8 * @since ACF 5.6.9
9 *
10 * @param void
11 * @return void
12 */
13
14 var CloneDisplayFieldSetting = acf.FieldSetting.extend( {
15 type: 'clone',
16 name: 'display',
17 render: function () {
18 // vars
19 var display = this.field.val();
20
21 // set data attribute used by CSS to hide/show
22 this.$fieldObject.attr( 'data-display', display );
23 },
24 } );
25
26 acf.registerFieldSetting( CloneDisplayFieldSetting );
27
28 /**
29 * ClonePrefixLabelFieldSetting
30 *
31 * Extra logic for this field setting
32 *
33 * @date 18/4/18
34 * @since ACF 5.6.9
35 *
36 * @param void
37 * @return void
38 */
39
40 var ClonePrefixLabelFieldSetting = acf.FieldSetting.extend( {
41 type: 'clone',
42 name: 'prefix_label',
43 render: function () {
44 // vars
45 var prefix = '';
46
47 // if checked
48 if ( this.field.val() ) {
49 prefix = this.fieldObject.prop( 'label' ) + ' ';
50 }
51
52 // update HTML
53 this.$( 'code' ).html( prefix + '%field_label%' );
54 },
55 } );
56
57 acf.registerFieldSetting( ClonePrefixLabelFieldSetting );
58
59 /**
60 * ClonePrefixNameFieldSetting
61 *
62 * Extra logic for this field setting
63 *
64 * @date 18/4/18
65 * @since ACF 5.6.9
66 *
67 * @param void
68 * @return void
69 */
70
71 var ClonePrefixNameFieldSetting = acf.FieldSetting.extend( {
72 type: 'clone',
73 name: 'prefix_name',
74 render: function () {
75 // vars
76 var prefix = '';
77
78 // if checked
79 if ( this.field.val() ) {
80 prefix = this.fieldObject.prop( 'name' ) + '_';
81 }
82
83 // update HTML
84 this.$( 'code' ).html( prefix + '%field_name%' );
85 },
86 } );
87
88 acf.registerFieldSetting( ClonePrefixNameFieldSetting );
89
90 /**
91 * cloneFieldSelectHelper
92 *
93 * Customizes the clone field setting Select2 instance
94 *
95 * @date 18/4/18
96 * @since ACF 5.6.9
97 *
98 * @param void
99 * @return void
100 */
101
102 var cloneFieldSelectHelper = new acf.Model( {
103 filters: {
104 select2_args: 'select2Args',
105 },
106
107 select2Args: function ( options, $select, data, $el, instance ) {
108 // check
109 if ( data.ajaxAction == 'acf/fields/clone/query' ) {
110 // remain open on select
111 options.closeOnSelect = false;
112
113 // customize ajaxData function
114 instance.data.ajaxData = this.ajaxData;
115 }
116
117 // return
118 return options;
119 },
120
121 ajaxData: function ( data ) {
122 // find current fields
123 data.fields = {};
124
125 // loop
126 acf.getFieldObjects().map( function ( fieldObject ) {
127 // append
128 data.fields[ fieldObject.prop( 'key' ) ] = {
129 key: fieldObject.prop( 'key' ),
130 type: fieldObject.prop( 'type' ),
131 label: fieldObject.prop( 'label' ),
132 ancestors: fieldObject.getParents().length,
133 };
134 } );
135
136 // append title
137 data.title = $( '#title' ).val();
138
139 // return
140 return data;
141 },
142 } );
143 } )( jQuery );
144