initial commit
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
1
hamrokhaanpaan/wp-content/__plugins/advanced-custom-fields-pro/assets/build/js/acf.min.js
vendored
Normal file
1
hamrokhaanpaan/wp-content/__plugins/advanced-custom-fields-pro/assets/build/js/acf.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@ -0,0 +1,480 @@
|
||||
(function($){
|
||||
|
||||
/*
|
||||
* Repeater
|
||||
*
|
||||
* This field type requires some extra logic for its settings
|
||||
*
|
||||
* @type function
|
||||
* @date 24/10/13
|
||||
* @since 5.0.0
|
||||
*
|
||||
* @param n/a
|
||||
* @return n/a
|
||||
*/
|
||||
|
||||
var RepeaterCollapsedFieldSetting = acf.FieldSetting.extend({
|
||||
type: 'repeater',
|
||||
name: 'collapsed',
|
||||
events: {
|
||||
'focus select': 'onFocus',
|
||||
},
|
||||
onFocus: function( e, $el ){
|
||||
|
||||
// vars
|
||||
var $select = $el;
|
||||
|
||||
// collapsed
|
||||
var choices = [];
|
||||
|
||||
// keep 'null' choice
|
||||
choices.push({
|
||||
label: $select.find('option[value=""]').text(),
|
||||
value: ''
|
||||
});
|
||||
|
||||
// find sub fields
|
||||
var $list = this.fieldObject.$('.acf-field-list:first');
|
||||
var fields = acf.getFieldObjects({
|
||||
list: $list
|
||||
});
|
||||
|
||||
// loop
|
||||
fields.map(function( field ){
|
||||
choices.push({
|
||||
label: field.prop('label'),
|
||||
value: field.prop('key')
|
||||
});
|
||||
});
|
||||
|
||||
// render
|
||||
acf.renderSelect( $select, choices );
|
||||
}
|
||||
});
|
||||
|
||||
acf.registerFieldSetting( RepeaterCollapsedFieldSetting );
|
||||
|
||||
})(jQuery);
|
||||
(function($){
|
||||
|
||||
/**
|
||||
* CloneDisplayFieldSetting
|
||||
*
|
||||
* Extra logic for this field setting
|
||||
*
|
||||
* @date 18/4/18
|
||||
* @since 5.6.9
|
||||
*
|
||||
* @param void
|
||||
* @return void
|
||||
*/
|
||||
|
||||
var FlexibleContentLayoutFieldSetting = acf.FieldSetting.extend({
|
||||
type: 'flexible_content',
|
||||
name: 'fc_layout',
|
||||
|
||||
events: {
|
||||
'blur .layout-label': 'onChangeLabel',
|
||||
'click .add-layout': 'onClickAdd',
|
||||
'click .duplicate-layout': 'onClickDuplicate',
|
||||
'click .delete-layout': 'onClickDelete'
|
||||
},
|
||||
|
||||
$input: function( name ){
|
||||
return $('#' + this.getInputId() + '-' + name);
|
||||
},
|
||||
|
||||
$list: function(){
|
||||
return this.$('.acf-field-list:first');
|
||||
},
|
||||
|
||||
getInputId: function(){
|
||||
return this.fieldObject.getInputId() + '-layouts-' + this.field.get('id');
|
||||
},
|
||||
|
||||
// get all sub fields
|
||||
getFields: function(){
|
||||
return acf.getFieldObjects({ parent: this.$el });
|
||||
},
|
||||
|
||||
// get imediate children
|
||||
getChildren: function(){
|
||||
return acf.getFieldObjects({ list: this.$list() });
|
||||
},
|
||||
|
||||
initialize: function(){
|
||||
|
||||
// add sortable
|
||||
var $tbody = this.$el.parent();
|
||||
if( !$tbody.hasClass('ui-sortable') ) {
|
||||
|
||||
$tbody.sortable({
|
||||
items: '> .acf-field-setting-fc_layout',
|
||||
handle: '.reorder-layout',
|
||||
forceHelperSize: true,
|
||||
forcePlaceholderSize: true,
|
||||
scroll: true,
|
||||
stop: this.proxy(function(event, ui) {
|
||||
this.fieldObject.save();
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// add meta to sub fields
|
||||
this.updateFieldLayouts();
|
||||
},
|
||||
|
||||
updateFieldLayouts: function(){
|
||||
this.getChildren().map(this.updateFieldLayout, this);
|
||||
},
|
||||
|
||||
updateFieldLayout: function( field ){
|
||||
field.prop('parent_layout', this.get('id'));
|
||||
},
|
||||
|
||||
onChangeLabel: function( e, $el ){
|
||||
|
||||
// vars
|
||||
var label = $el.val();
|
||||
var $name = this.$input('name');
|
||||
|
||||
// render name
|
||||
if( $name.val() == '' ) {
|
||||
acf.val($name, acf.strSanitize(label));
|
||||
}
|
||||
},
|
||||
|
||||
onClickAdd: function( e, $el ){
|
||||
|
||||
// vars
|
||||
var prevKey = this.get('id');
|
||||
var newKey = acf.uniqid('layout_');
|
||||
|
||||
// duplicate
|
||||
$layout = acf.duplicate({
|
||||
$el: this.$el,
|
||||
search: prevKey,
|
||||
replace: newKey,
|
||||
after: function( $el, $el2 ){
|
||||
|
||||
// vars
|
||||
var $list = $el2.find('.acf-field-list:first');
|
||||
|
||||
// remove sub fields
|
||||
$list.children('.acf-field-object').remove();
|
||||
|
||||
// show empty
|
||||
$list.addClass('-empty');
|
||||
|
||||
// reset layout meta values
|
||||
$el2.find('.acf-fc-meta input').val('');
|
||||
}
|
||||
});
|
||||
|
||||
// get layout
|
||||
var layout = acf.getFieldSetting( $layout );
|
||||
|
||||
// update hidden input
|
||||
layout.$input('key').val( newKey );
|
||||
|
||||
// save
|
||||
this.fieldObject.save();
|
||||
},
|
||||
|
||||
onClickDuplicate: function( e, $el ){
|
||||
|
||||
// vars
|
||||
var prevKey = this.get('id');
|
||||
var newKey = acf.uniqid('layout_');
|
||||
|
||||
// duplicate
|
||||
$layout = acf.duplicate({
|
||||
$el: this.$el,
|
||||
search: prevKey,
|
||||
replace: newKey
|
||||
});
|
||||
|
||||
// get all fields in new layout similar to fieldManager.onDuplicateField().
|
||||
// important to run field.wipe() before making any changes to the "parent_layout" prop
|
||||
// to ensure the correct input is modified.
|
||||
var children = acf.getFieldObjects({ parent: $layout });
|
||||
if( children.length ) {
|
||||
|
||||
// loop
|
||||
children.map(function( child ){
|
||||
|
||||
// wipe field
|
||||
child.wipe();
|
||||
|
||||
// update parent
|
||||
child.updateParent();
|
||||
});
|
||||
|
||||
// action
|
||||
acf.doAction('duplicate_field_objects', children, this.fieldObject, this.fieldObject);
|
||||
}
|
||||
|
||||
// get layout
|
||||
var layout = acf.getFieldSetting( $layout );
|
||||
|
||||
// update hidden input
|
||||
layout.$input('key').val( newKey );
|
||||
|
||||
// save
|
||||
this.fieldObject.save();
|
||||
},
|
||||
|
||||
onClickDelete: function( e, $el ){
|
||||
|
||||
// Bypass confirmation when holding down "shift" key.
|
||||
if( e.shiftKey ) {
|
||||
return this.delete();
|
||||
}
|
||||
|
||||
// add class
|
||||
this.$el.addClass('-hover');
|
||||
|
||||
// add tooltip
|
||||
var tooltip = acf.newTooltip({
|
||||
confirmRemove: true,
|
||||
target: $el,
|
||||
context: this,
|
||||
confirm: function(){
|
||||
this.delete();
|
||||
},
|
||||
cancel: function(){
|
||||
this.$el.removeClass('-hover');
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
delete: function(){
|
||||
|
||||
// vars
|
||||
var $siblings = this.$el.siblings('.acf-field-setting-fc_layout');
|
||||
|
||||
// validate
|
||||
if( !$siblings.length ) {
|
||||
alert( acf.__('Flexible Content requires at least 1 layout') );
|
||||
return false;
|
||||
}
|
||||
|
||||
// delete sub fields
|
||||
this.getFields().map(function( child ){
|
||||
child.delete({
|
||||
animate: false
|
||||
});
|
||||
});
|
||||
|
||||
// remove tr
|
||||
acf.remove( this.$el );
|
||||
|
||||
// save
|
||||
this.fieldObject.save();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
acf.registerFieldSetting( FlexibleContentLayoutFieldSetting );
|
||||
|
||||
|
||||
/**
|
||||
* flexibleContentHelper
|
||||
*
|
||||
* description
|
||||
*
|
||||
* @date 19/4/18
|
||||
* @since 5.6.9
|
||||
*
|
||||
* @param type $var Description. Default.
|
||||
* @return type Description.
|
||||
*/
|
||||
|
||||
var flexibleContentHelper = new acf.Model({
|
||||
actions: {
|
||||
'sortstop_field_object': 'updateParentLayout',
|
||||
'change_field_object_parent': 'updateParentLayout'
|
||||
},
|
||||
|
||||
updateParentLayout: function( fieldObject ){
|
||||
|
||||
// vars
|
||||
var parent = fieldObject.getParent();
|
||||
|
||||
// delete meta
|
||||
if( !parent || parent.prop('type') !== 'flexible_content' ) {
|
||||
fieldObject.prop('parent_layout', null);
|
||||
return;
|
||||
}
|
||||
|
||||
// get layout
|
||||
var $layout = fieldObject.$el.closest('.acf-field-setting-fc_layout');
|
||||
var layout = acf.getFieldSetting($layout);
|
||||
|
||||
// check if previous prop exists
|
||||
// - if not, set prop to allow following code to trigger 'change' and save the field
|
||||
if( !fieldObject.has('parent_layout') ) {
|
||||
fieldObject.prop('parent_layout', 0);
|
||||
}
|
||||
|
||||
// update meta
|
||||
fieldObject.prop('parent_layout', layout.get('id'));
|
||||
}
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
(function($){
|
||||
|
||||
/**
|
||||
* CloneDisplayFieldSetting
|
||||
*
|
||||
* Extra logic for this field setting
|
||||
*
|
||||
* @date 18/4/18
|
||||
* @since 5.6.9
|
||||
*
|
||||
* @param void
|
||||
* @return void
|
||||
*/
|
||||
|
||||
var CloneDisplayFieldSetting = acf.FieldSetting.extend({
|
||||
type: 'clone',
|
||||
name: 'display',
|
||||
render: function(){
|
||||
|
||||
// vars
|
||||
var display = this.field.val();
|
||||
|
||||
// set data attribute used by CSS to hide/show
|
||||
this.$fieldObject.attr('data-display', display);
|
||||
}
|
||||
});
|
||||
|
||||
acf.registerFieldSetting( CloneDisplayFieldSetting );
|
||||
|
||||
|
||||
/**
|
||||
* ClonePrefixLabelFieldSetting
|
||||
*
|
||||
* Extra logic for this field setting
|
||||
*
|
||||
* @date 18/4/18
|
||||
* @since 5.6.9
|
||||
*
|
||||
* @param void
|
||||
* @return void
|
||||
*/
|
||||
|
||||
var ClonePrefixLabelFieldSetting = acf.FieldSetting.extend({
|
||||
type: 'clone',
|
||||
name: 'prefix_label',
|
||||
render: function(){
|
||||
|
||||
// vars
|
||||
var prefix = '';
|
||||
|
||||
// if checked
|
||||
if( this.field.val() ) {
|
||||
prefix = this.fieldObject.prop('label') + ' ';
|
||||
}
|
||||
|
||||
// update HTML
|
||||
this.$('code').html( prefix + '%field_label%' );
|
||||
}
|
||||
});
|
||||
|
||||
acf.registerFieldSetting( ClonePrefixLabelFieldSetting );
|
||||
|
||||
|
||||
/**
|
||||
* ClonePrefixNameFieldSetting
|
||||
*
|
||||
* Extra logic for this field setting
|
||||
*
|
||||
* @date 18/4/18
|
||||
* @since 5.6.9
|
||||
*
|
||||
* @param void
|
||||
* @return void
|
||||
*/
|
||||
|
||||
var ClonePrefixNameFieldSetting = acf.FieldSetting.extend({
|
||||
type: 'clone',
|
||||
name: 'prefix_name',
|
||||
render: function(){
|
||||
|
||||
// vars
|
||||
var prefix = '';
|
||||
|
||||
// if checked
|
||||
if( this.field.val() ) {
|
||||
prefix = this.fieldObject.prop('name') + '_';
|
||||
}
|
||||
|
||||
// update HTML
|
||||
this.$('code').html( prefix + '%field_name%' );
|
||||
}
|
||||
});
|
||||
|
||||
acf.registerFieldSetting( ClonePrefixNameFieldSetting );
|
||||
|
||||
|
||||
/**
|
||||
* cloneFieldSelectHelper
|
||||
*
|
||||
* Customizes the clone field setting Select2 isntance
|
||||
*
|
||||
* @date 18/4/18
|
||||
* @since 5.6.9
|
||||
*
|
||||
* @param void
|
||||
* @return void
|
||||
*/
|
||||
|
||||
var cloneFieldSelectHelper = new acf.Model({
|
||||
filters: {
|
||||
'select2_args': 'select2Args'
|
||||
},
|
||||
|
||||
select2Args: function( options, $select, data, $el, instance ){
|
||||
|
||||
// check
|
||||
if( data.ajaxAction == 'acf/fields/clone/query' ) {
|
||||
|
||||
// remain open on select
|
||||
options.closeOnSelect = false;
|
||||
|
||||
// customize ajaxData function
|
||||
instance.data.ajaxData = this.ajaxData;
|
||||
}
|
||||
|
||||
// return
|
||||
return options;
|
||||
},
|
||||
|
||||
ajaxData: function( data ){
|
||||
|
||||
// find current fields
|
||||
data.fields = {};
|
||||
|
||||
// loop
|
||||
acf.getFieldObjects().map(function(fieldObject){
|
||||
|
||||
// append
|
||||
data.fields[ fieldObject.prop('key') ] = {
|
||||
key: fieldObject.prop('key'),
|
||||
type: fieldObject.prop('type'),
|
||||
label: fieldObject.prop('label'),
|
||||
ancestors: fieldObject.getParents().length
|
||||
};
|
||||
});
|
||||
|
||||
// append title
|
||||
data.title = $('#title').val();
|
||||
|
||||
// return
|
||||
return data;
|
||||
}
|
||||
});
|
||||
|
||||
})(jQuery);
|
@ -0,0 +1 @@
|
||||
!function(){var e=acf.FieldSetting.extend({type:"repeater",name:"collapsed",events:{"focus select":"onFocus"},onFocus:function(e,t){var i=t,a=[];a.push({label:i.find('option[value=""]').text(),value:""});t=this.fieldObject.$(".acf-field-list:first");acf.getFieldObjects({list:t}).map(function(e){a.push({label:e.prop("label"),value:e.prop("key")})}),acf.renderSelect(i,a)}});acf.registerFieldSetting(e)}(jQuery),function(t){var e=acf.FieldSetting.extend({type:"flexible_content",name:"fc_layout",events:{"blur .layout-label":"onChangeLabel","click .add-layout":"onClickAdd","click .duplicate-layout":"onClickDuplicate","click .delete-layout":"onClickDelete"},$input:function(e){return t("#"+this.getInputId()+"-"+e)},$list:function(){return this.$(".acf-field-list:first")},getInputId:function(){return this.fieldObject.getInputId()+"-layouts-"+this.field.get("id")},getFields:function(){return acf.getFieldObjects({parent:this.$el})},getChildren:function(){return acf.getFieldObjects({list:this.$list()})},initialize:function(){var e=this.$el.parent();e.hasClass("ui-sortable")||e.sortable({items:"> .acf-field-setting-fc_layout",handle:".reorder-layout",forceHelperSize:!0,forcePlaceholderSize:!0,scroll:!0,stop:this.proxy(function(e,t){this.fieldObject.save()})}),this.updateFieldLayouts()},updateFieldLayouts:function(){this.getChildren().map(this.updateFieldLayout,this)},updateFieldLayout:function(e){e.prop("parent_layout",this.get("id"))},onChangeLabel:function(e,t){var i=t.val(),t=this.$input("name");""==t.val()&&acf.val(t,acf.strSanitize(i))},onClickAdd:function(e,t){var i=this.get("id"),a=acf.uniqid("layout_");$layout=acf.duplicate({$el:this.$el,search:i,replace:a,after:function(e,t){var i=t.find(".acf-field-list:first");i.children(".acf-field-object").remove(),i.addClass("-empty"),t.find(".acf-fc-meta input").val("")}}),acf.getFieldSetting($layout).$input("key").val(a),this.fieldObject.save()},onClickDuplicate:function(e,t){var i=this.get("id"),a=acf.uniqid("layout_");$layout=acf.duplicate({$el:this.$el,search:i,replace:a});i=acf.getFieldObjects({parent:$layout});i.length&&(i.map(function(e){e.wipe(),e.updateParent()}),acf.doAction("duplicate_field_objects",i,this.fieldObject,this.fieldObject)),acf.getFieldSetting($layout).$input("key").val(a),this.fieldObject.save()},onClickDelete:function(e,t){if(e.shiftKey)return this.delete();this.$el.addClass("-hover");acf.newTooltip({confirmRemove:!0,target:t,context:this,confirm:function(){this.delete()},cancel:function(){this.$el.removeClass("-hover")}})},delete:function(){if(!this.$el.siblings(".acf-field-setting-fc_layout").length)return alert(acf.__("Flexible Content requires at least 1 layout")),!1;this.getFields().map(function(e){e.delete({animate:!1})}),acf.remove(this.$el),this.fieldObject.save()}});acf.registerFieldSetting(e);new acf.Model({actions:{sortstop_field_object:"updateParentLayout",change_field_object_parent:"updateParentLayout"},updateParentLayout:function(e){var t=e.getParent();t&&"flexible_content"===t.prop("type")?(t=e.$el.closest(".acf-field-setting-fc_layout"),t=acf.getFieldSetting(t),e.has("parent_layout")||e.prop("parent_layout",0),e.prop("parent_layout",t.get("id"))):e.prop("parent_layout",null)}})}(jQuery),function(e){var t=acf.FieldSetting.extend({type:"clone",name:"display",render:function(){var e=this.field.val();this.$fieldObject.attr("data-display",e)}});acf.registerFieldSetting(t);t=acf.FieldSetting.extend({type:"clone",name:"prefix_label",render:function(){var e="";this.field.val()&&(e=this.fieldObject.prop("label")+" "),this.$("code").html(e+"%field_label%")}});acf.registerFieldSetting(t);t=acf.FieldSetting.extend({type:"clone",name:"prefix_name",render:function(){var e="";this.field.val()&&(e=this.fieldObject.prop("name")+"_"),this.$("code").html(e+"%field_name%")}});acf.registerFieldSetting(t);new acf.Model({filters:{select2_args:"select2Args"},select2Args:function(e,t,i,a,l){return"acf/fields/clone/query"==i.ajaxAction&&(e.closeOnSelect=!1,l.data.ajaxData=this.ajaxData),e},ajaxData:function(t){return t.fields={},acf.getFieldObjects().map(function(e){t.fields[e.prop("key")]={key:e.prop("key"),type:e.prop("type"),label:e.prop("label"),ancestors:e.getParents().length}}),t.title=e("#title").val(),t}})}(jQuery);
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user