pluto3/inc/acf/advanced-custom-fields-pro/pro/assets/js/acf-pro-field-group.min.js
2017-09-19 16:23:41 +08:00

2 lines
4.9 KiB
JavaScript

!function($){acf.field_group_pro=acf.model.extend({actions:{open_field:"update_field_parent",sortstop:"update_field_parent",duplicate_field:"duplicate_field",delete_field:"delete_field",change_field_type:"change_field_type"},fix_conditional_logic:function(e){var t={};e.each(function(){t[$(this).attr("data-orig")]=$(this).attr("data-key")}),e.find(".conditional-rule-param").each(function(){var e=$(this).val();e in t&&($(this).find('option[value="'+t[e]+'"]').exists()||$(this).append('<option value="'+t[e]+'">'+t[e]+"</option>"),$(this).val(t[e]))})},update_field_parent:function(e){if(e.hasClass("acf-field-object")){var t=e.parent().closest(".acf-field-object"),a=acf.get("post_id");t.exists()&&(a=acf.field_group.get_field_meta(t,"ID"),a||(a=acf.field_group.get_field_meta(t,"key"))),acf.field_group.update_field_meta(e,"parent",a),acf.do_action("update_field_parent",e,t)}},duplicate_field:function(e){var t=e.find(".acf-field-object");t.exists()&&(t.each(function(){var e=$(this).parent().closest(".acf-field-object"),t=acf.field_group.get_field_meta(e,"key");acf.field_group.wipe_field($(this)),acf.field_group.update_field_meta($(this),"parent",t),acf.field_group.save_field($(this))}),this.fix_conditional_logic(t))},delete_field:function(e){e.find(".acf-field-object").each(function(){acf.field_group.delete_field($(this),!1)})},change_field_type:function(e){e.find(".acf-field-object").each(function(){acf.field_group.delete_field($(this),!1)})}});var e=acf.model.extend({actions:{open_field:"render",change_field_type:"render"},events:{'change .acf-field[data-name="layout"] input':"render",'focus .acf-field[data-name="collapsed"] select':"focus"},event:function(e){return e.$el.closest(".acf-field-object")},render:function(e){if("repeater"==e.attr("data-type")){var t=e.find('> .settings > table > tbody > [data-name="layout"] input:checked'),a=e.find(".acf-field-list:first");a.attr("data-layout",t.val()),this.focus(e)}},focus:function(e){var t=e.find('> .settings > table > tbody > [data-name="collapsed"] select'),a=e.find(".acf-field-list:first"),i=[];i.push({label:t.find('option[value=""]').text(),value:""}),a.children(".acf-field-object").each(function(){var e=$(this);i.push({label:e.find(".field-label:first").val(),value:e.attr("data-key")})}),acf.render_select(t,i)}}),t=acf.model.extend({actions:{open_field:"render",change_field_type:"render",update_field_parent:"update_field_parent"},events:{"change .acf-fc-meta-display select":"_layout","blur .acf-fc-meta-label input":"_label",'click a[data-name="acf-fc-add"]':"_add",'click a[data-name="acf-fc-duplicate"]':"_duplicate",'click a[data-name="acf-fc-delete"]':"_delete"},event:function(e){return e.$el.closest('tr[data-name="fc_layout"]')},render:function(e){var t=this;if("flexible_content"==e.attr("data-type")){var a=e.find("> .settings > table > tbody");a.hasClass("ui-sortable")||a.sortable({items:'> tr[data-name="fc_layout"]',handle:'[data-name="acf-fc-reorder"]',forceHelperSize:!0,forcePlaceholderSize:!0,scroll:!0,start:function(e,t){acf.do_action("sortstart",t.item,t.placeholder)},stop:function(t,a){acf.do_action("sortstop",a.item,a.placeholder),acf.field_group.save_field(e)}}),a.children('tr[data-name="fc_layout"]').each(function(){t.render_layout($(this))})}},render_layout:function(e){var t=this,a=e.find(".acf-fc-meta-key:first input"),i=e.find(".acf-fc-meta-display:first select"),f=e.find(".acf-field-list:first");a.val(e.attr("data-id")),f.attr("data-layout",i.val());var l=e.attr("data-id");f.children(".acf-field-object").each(function(){t.render_meta($(this),l)})},render_meta:function(e,t){acf.field_group.update_field_meta(e,"parent_layout",t)},update_field_parent:function(e,t){if(!t.exists())return void acf.field_group.delete_field_meta(e,"parent_layout");if("flexible_content"!=t.attr("data-type"))return void acf.field_group.delete_field_meta(e,"parent_layout");var a=e.closest('tr[data-name="fc_layout"]');this.render_meta(e,a.attr("data-id")),acf.field_group.save_field(e)},_layout:function(e){this.render_layout(e)},_add:function(e){var t=acf.duplicate({$el:e,after:function(e,t){t.find(".acf-field-object").remove(),t.find(".no-fields-message").show(),t.find(".acf-fc-meta input").val("")}});this.render_layout(t),acf.field_group.save_field(e.closest(".acf-field-object"))},_duplicate:function(e){$el2=acf.duplicate(e),acf.do_action("duplicate_field",$el2),this.render_layout($el2),acf.field_group.save_field(e.closest(".acf-field-object"))},_delete:function(e){return 0==e.siblings('tr[data-name="fc_layout"]').length?(alert(acf._e("flexible_content","layout_warning")),!1):(e.find(".acf-field-object").each(function(){acf.field_group.delete_field($(this),!1)}),acf.remove_tr(e),void acf.field_group.save_field(e.closest(".acf-field-object")))},_label:function(e){var t=e.find(".acf-fc-meta-label:first input"),a=e.find(".acf-fc-meta-name:first input");if(""==a.val()){var i=t.val();i=acf.str_sanitize(i),a.val(i).trigger("change")}}})}(jQuery);