Sync plugins from current page

Signed-off-by: Adrian Nöthlich <git@promasu.tech>
This commit is contained in:
2019-09-11 19:08:46 +02:00
parent 85d41e4216
commit 8515ff9587
1847 changed files with 505469 additions and 0 deletions

View File

@@ -0,0 +1,248 @@
(function($, undefined){
/**
* mid
*
* Calculates the model ID for a field type
*
* @date 15/12/17
* @since 5.6.5
*
* @param string type
* @return string
*/
var modelId = function( type ) {
return acf.strPascalCase( type || '' ) + 'FieldSetting';
};
/**
* registerFieldType
*
* description
*
* @date 14/12/17
* @since 5.6.5
*
* @param type $var Description. Default.
* @return type Description.
*/
acf.registerFieldSetting = function( model ){
var proto = model.prototype;
var mid = modelId(proto.type + ' ' + proto.name);
this.models[ mid ] = model;
};
/**
* newField
*
* description
*
* @date 14/12/17
* @since 5.6.5
*
* @param type $var Description. Default.
* @return type Description.
*/
acf.newFieldSetting = function( field ){
// vars
var type = field.get('setting') || '';
var name = field.get('name') || '';
var mid = modelId( type + ' ' + name );
var model = acf.models[ mid ] || null;
// bail ealry if no setting
if( model === null ) return false;
// instantiate
var setting = new model( field );
// return
return setting;
};
/**
* acf.getFieldSetting
*
* description
*
* @date 19/4/18
* @since 5.6.9
*
* @param type $var Description. Default.
* @return type Description.
*/
acf.getFieldSetting = function( field ) {
// allow jQuery
if( field instanceof jQuery ) {
field = acf.getField(field);
}
// return
return field.setting;
};
/**
* settingsManager
*
* description
*
* @date 6/1/18
* @since 5.6.5
*
* @param type $var Description. Default.
* @return type Description.
*/
var settingsManager = new acf.Model({
actions: {
'new_field': 'onNewField'
},
onNewField: function( field ){
field.setting = acf.newFieldSetting( field );
}
});
/**
* acf.FieldSetting
*
* description
*
* @date 6/1/18
* @since 5.6.5
*
* @param type $var Description. Default.
* @return type Description.
*/
acf.FieldSetting = acf.Model.extend({
field: false,
type: '',
name: '',
wait: 'ready',
eventScope: '.acf-field',
events: {
'change': 'render'
},
setup: function( field ){
// vars
var $field = field.$el;
// set props
this.$el = $field;
this.field = field;
this.$fieldObject = $field.closest('.acf-field-object');
this.fieldObject = acf.getFieldObject( this.$fieldObject );
// inherit data
$.extend(this.data, field.data);
},
initialize: function(){
this.render();
},
render: function(){
// do nothing
}
});
/*
* Date Picker
*
* 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 DisplayFormatFieldSetting = acf.FieldSetting.extend({
type: '',
name: '',
render: function(){
var $input = this.$('input[type="radio"]:checked');
if( $input.val() != 'other' ) {
this.$('input[type="text"]').val( $input.val() );
}
}
});
var DatePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend({
type: 'date_picker',
name: 'display_format'
});
var DatePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend({
type: 'date_picker',
name: 'return_format'
});
acf.registerFieldSetting( DatePickerDisplayFormatFieldSetting );
acf.registerFieldSetting( DatePickerReturnFormatFieldSetting );
/*
* Date Time Picker
*
* 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 DateTimePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend({
type: 'date_time_picker',
name: 'display_format'
});
var DateTimePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend({
type: 'date_time_picker',
name: 'return_format'
});
acf.registerFieldSetting( DateTimePickerDisplayFormatFieldSetting );
acf.registerFieldSetting( DateTimePickerReturnFormatFieldSetting );
/*
* Time Picker
*
* 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 TimePickerDisplayFormatFieldSetting = DisplayFormatFieldSetting.extend({
type: 'time_picker',
name: 'display_format'
});
var TimePickerReturnFormatFieldSetting = DisplayFormatFieldSetting.extend({
name: 'time_picker',
name: 'return_format'
});
acf.registerFieldSetting( TimePickerDisplayFormatFieldSetting );
acf.registerFieldSetting( TimePickerReturnFormatFieldSetting );
})(jQuery);