Pods – Custom Content Types and Fields - Version 2.7.20.1

Version Description

  • June 4th 2020 =

  • Security: Remove deprecated usage of escapeMarkup in selectWoo and tighten JS rendering (@sc0ttkclark, @miha.jirov)

Download this release

Release Info

Developer sc0ttkclark
Plugin Icon 128x128 Pods – Custom Content Types and Fields
Version 2.7.20.1
Comparing to
See all releases

Code changes from version 2.7.20 to 2.7.20.1

CODE_OF_CONDUCT.md DELETED
@@ -1,76 +0,0 @@
1
- # Contributor Covenant Code of Conduct
2
-
3
- ## Our Pledge
4
-
5
- In the interest of fostering an open and welcoming environment, we as
6
- contributors and maintainers pledge to making participation in our project and
7
- our community a harassment-free experience for everyone, regardless of age, body
8
- size, disability, ethnicity, sex characteristics, gender identity and expression,
9
- level of experience, education, socio-economic status, nationality, personal
10
- appearance, race, religion, or sexual identity and orientation.
11
-
12
- ## Our Standards
13
-
14
- Examples of behavior that contributes to creating a positive environment
15
- include:
16
-
17
- * Using welcoming and inclusive language
18
- * Being respectful of differing viewpoints and experiences
19
- * Gracefully accepting constructive criticism
20
- * Focusing on what is best for the community
21
- * Showing empathy towards other community members
22
-
23
- Examples of unacceptable behavior by participants include:
24
-
25
- * The use of sexualized language or imagery and unwelcome sexual attention or
26
- advances
27
- * Trolling, insulting/derogatory comments, and personal or political attacks
28
- * Public or private harassment
29
- * Publishing others' private information, such as a physical or electronic
30
- address, without explicit permission
31
- * Other conduct which could reasonably be considered inappropriate in a
32
- professional setting
33
-
34
- ## Our Responsibilities
35
-
36
- Project maintainers are responsible for clarifying the standards of acceptable
37
- behavior and are expected to take appropriate and fair corrective action in
38
- response to any instances of unacceptable behavior.
39
-
40
- Project maintainers have the right and responsibility to remove, edit, or
41
- reject comments, commits, code, wiki edits, issues, and other contributions
42
- that are not aligned to this Code of Conduct, or to ban temporarily or
43
- permanently any contributor for other behaviors that they deem inappropriate,
44
- threatening, offensive, or harmful.
45
-
46
- ## Scope
47
-
48
- This Code of Conduct applies both within project spaces and in public spaces
49
- when an individual is representing the project or its community. Examples of
50
- representing a project or community include using an official project e-mail
51
- address, posting via an official social media account, or acting as an appointed
52
- representative at an online or offline event. Representation of a project may be
53
- further defined and clarified by project maintainers.
54
-
55
- ## Enforcement
56
-
57
- Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
- reported by contacting the project team at contact@podsfoundation.org. All
59
- complaints will be reviewed and investigated and will result in a response that
60
- is deemed necessary and appropriate to the circumstances. The project team is
61
- obligated to maintain confidentiality with regard to the reporter of an incident.
62
- Further details of specific enforcement policies may be posted separately.
63
-
64
- Project maintainers who do not follow or enforce the Code of Conduct in good
65
- faith may face temporary or permanent repercussions as determined by other
66
- members of the project's leadership.
67
-
68
- ## Attribution
69
-
70
- This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
- available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72
-
73
- [homepage]: https://www.contributor-covenant.org
74
-
75
- For answers to common questions about this code of conduct, see
76
- https://www.contributor-covenant.org/faq
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
classes/fields/file.php CHANGED
@@ -560,12 +560,12 @@ class PodsField_File extends PodsField {
560
  }
561
 
562
  $data[] = array(
563
- 'id' => $id,
564
- 'icon' => $icon,
565
- 'name' => $title,
566
- 'edit_link' => $edit_link,
567
- 'link' => $link,
568
- 'download' => $download,
569
  );
570
  }//end foreach
571
 
560
  }
561
 
562
  $data[] = array(
563
+ 'id' => esc_html( $id ),
564
+ 'icon' => esc_attr( $icon ),
565
+ 'name' => esc_html( $title ),
566
+ 'edit_link' => esc_url( $edit_link ),
567
+ 'link' => esc_url( $link ),
568
+ 'download' => esc_url( $download ),
569
  );
570
  }//end foreach
571
 
classes/fields/pick.php CHANGED
@@ -1333,8 +1333,6 @@ class PodsField_Pick extends PodsField {
1333
  // Parse icon type
1334
  if ( 'none' === $icon || 'div' === $icon ) {
1335
  $icon = '';
1336
- } elseif ( 0 === strpos( $icon, 'data:image/svg+xml;base64,' ) ) {
1337
- $icon = esc_attr( $icon );
1338
  } elseif ( 0 === strpos( $icon, 'dashicons-' ) ) {
1339
  $icon = sanitize_html_class( $icon );
1340
  }
@@ -1383,11 +1381,11 @@ class PodsField_Pick extends PodsField {
1383
  }
1384
 
1385
  $item = array(
1386
- 'id' => $item_id,
1387
- 'icon' => $icon,
1388
- 'name' => $item_title,
1389
- 'edit_link' => $edit_link,
1390
- 'link' => $link,
1391
  'selected' => $selected,
1392
  );
1393
 
1333
  // Parse icon type
1334
  if ( 'none' === $icon || 'div' === $icon ) {
1335
  $icon = '';
 
 
1336
  } elseif ( 0 === strpos( $icon, 'dashicons-' ) ) {
1337
  $icon = sanitize_html_class( $icon );
1338
  }
1381
  }
1382
 
1383
  $item = array(
1384
+ 'id' => esc_html( $item_id ),
1385
+ 'icon' => esc_attr( $icon ),
1386
+ 'name' => esc_html( $item_title ),
1387
+ 'edit_link' => esc_url( $edit_link ),
1388
+ 'link' => esc_url( $link ),
1389
  'selected' => $selected,
1390
  );
1391
 
init.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Pods - Custom Content Types and Fields
4
  Plugin URI: https://pods.io/
5
  Description: Pods is a framework for creating, managing, and deploying customized content types and fields
6
- Version: 2.7.20
7
  Author: Pods Framework Team
8
  Author URI: https://pods.io/about/
9
  Text Domain: pods
@@ -36,7 +36,7 @@ if ( defined( 'PODS_VERSION' ) || defined( 'PODS_DIR' ) ) {
36
  add_action( 'init', 'pods_deactivate_pods_ui' );
37
  } else {
38
  // Current version
39
- define( 'PODS_VERSION', '2.7.20' );
40
 
41
  // Version tracking between DB updates themselves
42
  define( 'PODS_DB_VERSION', '2.3.5' );
3
  Plugin Name: Pods - Custom Content Types and Fields
4
  Plugin URI: https://pods.io/
5
  Description: Pods is a framework for creating, managing, and deploying customized content types and fields
6
+ Version: 2.7.20.1
7
  Author: Pods Framework Team
8
  Author URI: https://pods.io/about/
9
  Text Domain: pods
36
  add_action( 'init', 'pods_deactivate_pods_ui' );
37
  } else {
38
  // Current version
39
+ define( 'PODS_VERSION', '2.7.20.1' );
40
 
41
  // Version tracking between DB updates themselves
42
  define( 'PODS_DB_VERSION', '2.3.5' );
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: pods, custom post types, custom taxonomies, content types, custom fields,
5
  Requires at least: 4.5
6
  Tested up to: 5.4
7
  Requires PHP: 5.3
8
- Stable tag: 2.7.20
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -190,6 +190,10 @@ We are also available through our [Live Slack Chat](https://pods.io/chat/) to he
190
 
191
  == Changelog ==
192
 
 
 
 
 
193
  = 2.7.20 - April 5th 2020 =
194
 
195
  **Bug Fixes**
5
  Requires at least: 4.5
6
  Tested up to: 5.4
7
  Requires PHP: 5.3
8
+ Stable tag: 2.7.20.1
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
190
 
191
  == Changelog ==
192
 
193
+ = 2.7.20.1 - June 4th 2020 =
194
+
195
+ * Security: Remove deprecated usage of escapeMarkup in selectWoo and tighten JS rendering (@sc0ttkclark, @miha.jirov)
196
+
197
  = 2.7.20 - April 5th 2020 =
198
 
199
  **Bug Fixes**
ui/js/pods-dfv/_src/pick/views/select-view.js CHANGED
@@ -22,7 +22,7 @@ export const SelectItem = PodsFieldView.extend( {
22
  initialize: function ( options ) {
23
  this.$el.val( this.model.get( 'id' ) );
24
 
25
- this.$el.html( this.model.get( 'name' ) );
26
 
27
  if ( this.model.get( 'selected' ) ) {
28
  this.$el.prop( 'selected', 'selected' );
@@ -339,10 +339,7 @@ export const SelectView = PodsMn.CollectionView.extend( {
339
  placeholder: placeholder,
340
  allowClear: isSingle,
341
  disabled: fieldConfig.limitDisable,
342
- tags: fieldConfig.pick_taggable,
343
- escapeMarkup: function ( text ) {
344
- return text;
345
- }
346
  };
347
 
348
  if ( ajaxData.ajax ) {
22
  initialize: function ( options ) {
23
  this.$el.val( this.model.get( 'id' ) );
24
 
25
+ this.$el.text( this.model.get( 'name' ) );
26
 
27
  if ( this.model.get( 'selected' ) ) {
28
  this.$el.prop( 'selected', 'selected' );
339
  placeholder: placeholder,
340
  allowClear: isSingle,
341
  disabled: fieldConfig.limitDisable,
342
+ tags: fieldConfig.pick_taggable
 
 
 
343
  };
344
 
345
  if ( ajaxData.ajax ) {
ui/js/pods-dfv/pods-dfv.min.js CHANGED
@@ -1,2 +1,2 @@
1
- var PodsDFV=function(){"use strict";var o=Backbone.Model.extend({defaults:{htmlAttr:{},fieldConfig:{}}}),n=wp.data&&wp.data.select("core/editor"),e=void 0,i=function(){e=n.isCurrentPostPublished()?wp.data.subscribe(d):wp.data.subscribe(l)};function t(){var e=n.getCurrentPostAttribute("featured_media"),i="";if(!e)return i;var t=wp.data.select("core").getMedia(e);if(t){var l=wp.hooks.applyFilters("editor.PostFeaturedImage.imageSize","post-thumbnail","");i=t.media_details&&t.media_details.sizes&&t.media_details.sizes[l]?t.media_details.sizes[l].source_url:t.source_url}return i}function l(){n.isCurrentPostPublished()&&(e(),s({icon:t(),link:n.getPermalink(),edit_link:"post.php?post="+n.getCurrentPostId()+"&action=edit&pods_modal=1",selected:!0}))}function d(){d.wasSaving?n.isSavingPost()||(d.wasSaving=!1,n.didPostSaveRequestSucceed()&&(e(),s({icon:t()}))):d.wasSaving=!(!n.isSavingPost()||n.isAutosavingPost())}function s(e){var i={id:n.getCurrentPostId(),name:n.getCurrentPostAttribute("title")},t=Object.assign(i,e);window.parent.jQuery(window.parent).trigger("dfv:modal:update",t)}var a=PodsMn.CollectionView.extend({childViewEventPrefix:!1,initialize:function(e){this.fieldModel=e.fieldModel,this.childViewOptions={fieldModel:e.fieldModel}}}),c=PodsMn.View.extend({childViewEventPrefix:!1,serializeData:function(){var e=this.options.fieldModel,i=this.model?this.model.toJSON():{};return i.htmlAttr=e.get("htmlAttr"),i.fieldConfig=e.get("fieldConfig"),i}}),r=PodsMn.View.extend({childViewEventPrefix:!1,initialize:function(e){this.fieldItemData=e.fieldItemData}}),f=Backbone.Model.extend({defaults:{id:0,icon:"",name:"",edit_link:"",link:"",download:""}}),h=Backbone.Collection.extend({model:f}),m=c.extend({childViewEventPrefix:!1,tagName:"li",template:_.template('<input name="<%- htmlAttr.name %>[<%- id %>][id]" data-name-clean="<%- htmlAttr.name_clean %>-id" id="<%- htmlAttr.id %>-<%- id %>-id" class="<%- htmlAttr.class %>" type="hidden" value="<%- id %>">\n<ul class="pods-dfv-list-meta media-item">\n\t<% if ( 1 != fieldConfig.file_limit ) { %>\n\t\t<li class="pods-dfv-list-col pods-dfv-list-handle"><span><%- PodsI18n.__( \'Reorder\' ) %></span></li>\n\t<% } %>\n\t<li class="pods-dfv-list-col pods-dfv-list-icon"><img class="pinkynail" src="<%- icon %>" alt="<%- PodsI18n.__( \'Icon\' ) %>"></li>\n\t<li class="pods-dfv-list-col pods-dfv-list-name">\n\t\t<% if ( 0 != fieldConfig.file_edit_title ) { %>\n\t\t\t<input name="<%- htmlAttr.name %>[<%- id %>][title]" data-name-clean="<%- htmlAttr.name_clean %>-title" id="pods-form-ui-<%- htmlAttr.name_clean %>-<%- id %>-title" class="pods-form-ui-field-type-text pods-form-ui-field-name-<%- htmlAttr.name_clean %>-title" type="text" value="<%- name %>" tabindex="2" maxlength="255">\n\t\t<% } else { %>\n\t\t\t<%- name %>\n\t\t<% } %>\n\t</li>\n\t<li class="pods-dfv-list-col pods-dfv-list-actions">\n\t\t<ul>\n\t\t\t<li class="pods-dfv-list-col pods-dfv-list-remove">\n\t\t\t\t<a href="#remove" title="<%- PodsI18n.__( \'Deselect\' ) %>"><%- PodsI18n.__( \'Deselect\' ) %></a>\n\t\t\t</li>\n\t\t\t<% if ( 1 == fieldConfig.file_linked && \'\' != download ) { %>\n\t\t\t\t<li class="pods-dfv-list-col pods-dfv-list-download">\n\t\t\t\t\t<a href="<%- download %>" target="_blank" title="<%- PodsI18n.__( \'Download\' ) %>"><%- PodsI18n.__( \'Download\' ) %></a>\n\t\t\t\t</li>\n\t\t\t<% } %>\n\t\t\t<% if ( 1 == fieldConfig.file_show_edit_link && \'\' != edit_link ) { %>\n\t\t\t\t<li class="pods-dfv-list-col pods-dfv-list-edit">\n\t\t\t\t\t<a href="<%- edit_link %>" target="_blank" title="<%- PodsI18n.__( \'Edit\' ) %>"><%- PodsI18n.__( \'Edit\' ) %></a>\n\t\t\t\t</li>\n\t\t\t<% } %>\n\t\t</ul>\n\t</li>\n</ul>\n'),className:"pods-dfv-list-item",ui:{dragHandle:".pods-dfv-list-handle",editLink:".pods-dfv-list-edit-link",viewLink:".pods-dfv-list-link",downloadLink:".pods-dfv-list-download",removeButton:".pods-dfv-list-remove",itemName:".pods-dfv-list-name"},triggers:{"click @ui.removeButton":"remove:file:click"}}),p=a.extend({childViewEventPrefix:!1,tagName:"ul",className:"pods-dfv-list",childView:m,childViewTriggers:{"remove:file:click":"childview:remove:file:click"},onAttach:function(){var e=this.options.fieldModel.get("fieldConfig"),i="y";1!=e.file_limit&&("tiles"==e.file_field_template&&(i=""),this.$el.sortable({containment:"parent",axis:i,scrollSensitivity:40,tolerance:"pointer",opacity:.6}))}}),u=c.extend({childViewEventPrefix:!1,tagName:"div",template:_.template('<a class="button pods-dfv-list-add" href="#" tabindex="2"><%= fieldConfig.file_add_button %></a>'),ui:{addButton:".pods-dfv-list-add"},triggers:{"click @ui.addButton":"childview:add:file:click"}}),v=PodsMn.Object.extend({constructor:function(e){this.browseButton=e.browseButton,this.uiRegion=e.uiRegion,this.fieldConfig=e.fieldConfig,PodsMn.Object.call(this,e)}}),g=Backbone.Model.extend({defaults:{id:0,filename:"",progress:0,errorMsg:""}}),w=PodsMn.View.extend({model:g,tagName:"li",template:_.template('<ul class="pods-dfv-list-meta media-item">\n\t<% if ( \'\' === errorMsg ) { %>\n\t\t<li class="pods-dfv-list-col pods-progress"><div class="progress-bar" style="width: <%- progress %>%;"></div></li>\n\t<% } %>\n\t<li class="pods-dfv-list-col pods-dfv-list-name"><%- filename %></li>\n</ul>\n<% if ( \'\' !== errorMsg ) { %>\n\t<div class="error"><%- errorMsg %></div>\n<% } %>\n'),attributes:function(){return{class:"pods-dfv-list-item",id:this.model.get("id")}},modelEvents:{change:"onModelChanged"},onModelChanged:function(){this.render()}}),C=PodsMn.CollectionView.extend({tagName:"ul",className:"pods-dfv-list pods-dfv-list-queue",childView:w}),b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},k=[v.extend({plupload:{},fileUploader:"plupload",initialize:function(){this.fieldConfig.plupload_init.browse_button=this.browseButton,this.plupload=new plupload.Uploader(this.fieldConfig.plupload_init),this.plupload.init(),this.plupload.bind("FilesAdded",this.onFilesAdded,this),this.plupload.bind("UploadProgress",this.onUploadProgress,this),this.plupload.bind("FileUploaded",this.onFileUploaded,this)},onFilesAdded:function(e,i){var t=void 0,l=void 0,n=void 0;l=new Backbone.Collection,jQuery.each(i,function(e,i){t=new g({id:i.id,filename:i.name}),l.add(t)}),(n=new C({collection:l})).render(),this.uiRegion.reset(),this.uiRegion.show(n),this.queueCollection=l,e.refresh(),e.start()},onUploadProgress:function(e,i){this.queueCollection.get(i.id).set({progress:i.percent})},onFileUploaded:function(e,i,t){var l=this.queueCollection.get(i.id),n=t.response,o=[],d=void 0;if("Error: "===t.response.substr(0,7))n=n.substr(7),window.console&&console.log(n),l.set({progress:0,errorMsg:n});else if("<e>"===t.response.substr(0,3))n=jQuery(n).text(),window.console&&console.log(n),l.set({progress:0,errorMsg:n});else{if("object"!==(void 0===(d=null!==(d=n.match(/{.*}$/))&&0<d.length?jQuery.parseJSON(d[0]):{})?"undefined":b(d))||jQuery.isEmptyObject(d))return window.console&&console.log(n),window.console&&console.log(d),void l.set({progress:0,errorMsg:PodsI18n.__("Error uploading file: ")+i.name});o={id:d.ID,icon:d.thumbnail,name:d.post_title,edit_link:d.edit_link,link:d.link,download:d.download},l.trigger("destroy",l),this.trigger("added:files",o)}}}),v.extend({mediaObject:{},fileUploader:"attachment",invoke:function(){void 0===wp.Uploader.defaults.filters.mime_types&&(wp.Uploader.defaults.filters.mime_types=[{title:PodsI18n.__("Allowed Files"),extensions:"*"}]);var e=wp.Uploader.defaults.filters.mime_types[0].extensions;wp.Uploader.defaults.filters.mime_types[0].extensions=this.fieldConfig.limit_extensions,this.mediaObject=wp.media({title:this.fieldConfig.file_modal_title,multiple:1!=this.fieldConfig.file_limit,library:{type:this.fieldConfig.limit_types},button:{text:this.fieldConfig.file_modal_add_button}}),this.mediaObject.once("select",this.onMediaSelect,this),this.mediaObject.open(),this.mediaObject.content.mode(this.fieldConfig.file_attachment_tab),wp.Uploader.defaults.filters.mime_types[0].extensions=e},onMediaSelect:function(){var e=this.mediaObject.state().get("selection"),l=[];e&&(e.each(function(e){var i=e.attributes.sizes,t=void 0;t=e.attributes.icon,void 0!==i&&(void 0!==i.thumbnail&&void 0!==i.thumbnail.url?t=i.thumbnail.url:void 0!==i.full&&void 0!==i.full.url&&(t=i.full.url)),l.push({id:e.attributes.id,icon:t,name:e.attributes.title,edit_link:e.attributes.editLink,link:e.attributes.link,download:e.attributes.url})}),this.trigger("added:files",l))}})],y=r.extend({childViewEventPrefix:!1,template:_.template('<div class="pods-ui-file-list pods-field-template-<%- fieldConfig.file_field_template %>"></div>\n<div class="pods-ui-region"></div>\n<div class="pods-ui-form"></div>\n'),regions:{list:".pods-ui-file-list",uiRegion:".pods-ui-region",form:".pods-ui-form"},childViewEvents:{"childview:remove:file:click":"onChildviewRemoveFileClick","childview:add:file:click":"onChildviewAddFileClick"},uploader:{},onBeforeRender:function(){void 0===this.collection&&(this.collection=new h(this.fieldItemData))},onRender:function(){var e=new p({collection:this.collection,fieldModel:this.model}),i=new u({fieldModel:this.model});this.showChildView("list",e),this.showChildView("form",i),this.uploader=this.createUploader(),this.listenTo(this.uploader,"added:files",this.onAddedFiles)},onChildviewRemoveFileClick:function(e){this.collection.remove(e.model)},onChildviewAddFileClick:function(){"function"==typeof this.uploader.invoke&&this.uploader.invoke()},onAddedFiles:function(e){var i=+this.model.get("fieldConfig").file_limit,t=void 0,l=void 0;(t=this.collection.clone()).add(e),l=0==i?t.models:t.filter(function(e){return t.indexOf(e)>=t.length-i}),this.collection.reset(l)},createUploader:function(){var e=this.model.get("fieldConfig"),t=e.file_uploader,l=void 0;if(jQuery.each(k,function(e,i){if(t===i.prototype.fileUploader)return l=i,!1}),void 0!==l)return this.uploader=new l({browseButton:this.getRegion("form").getEl(".pods-dfv-list-add").get(),uiRegion:this.getRegion("uiRegion"),fieldConfig:e}),this.uploader;throw"Could not locate file uploader '"+t+"'"}}),x=wp.media.view.Modal.extend({close:function(e){var i=wp.media.view.Modal.prototype.close.apply(this,e);return e&&e.escape&&window.parent.jQuery(window.parent).trigger("dfv:modal:cancel"),i}}),P=wp.media.view.Frame.extend({className:"pods-modal-frame",template:_.template('<div class="media-frame-title" /><div class="media-frame-iframe" />'),regions:["title","iframe"],initialize:function(){wp.media.view.Frame.prototype.initialize.apply(this,arguments),this.$el.addClass("wp-core-ui"),this.initState(),this.initModal(),this.on("iframe:create:default",this.iframeContent,this),this.iframe.mode("default"),this.on("title:create:default",this.createTitle,this),this.title.mode("default"),this.on("title:render",function(e){e.$el.append('<span class="dashicons dashicons-arrow-down"></span>')})},initState:function(){var e=this.options.title||PodsI18n.__("Add New Record"),i=this.options.src||"/";this.states.add([new wp.media.controller.State({id:"default",title:e,src:i})]),this.options.state="default"},initModal:function(){this.modal=new x({controller:this}),this.modal.content(this)},render:function(){return!this.state()&&this.options.state&&this.setState(this.options.state),wp.media.view.Frame.prototype.render.apply(this,arguments)},iframeContent:function(e){e.view=new wp.media.view.Iframe({controller:this})},createTitle:function(e){e.view=new wp.media.View({controller:this,tagName:"h1"})}}),S=Backbone.Model.extend({defaults:{id:0,name:"",icon:"",link:"",edit_link:"",selected:!1},toggleSelected:function(){this.set("selected",!this.get("selected"))}}),M=Backbone.Collection.extend({model:S,setSelected:function(t){this.map(function(e){var i=_.contains(t,e.get("id")+"");e.set("selected",i)})},filterBySelected:function(){var e=this.filter(function(e){return e.get("selected")});return new M(e)},filterByUnselected:function(){var e=this.filter(function(e){return!e.get("selected")});return new M(e)}}),A=Backbone.Model.extend({defaults:{view_name:"select",iframe_src:"",pick_format_type:"single",pick_show_icon:!1,pick_show_view_link:!1,pick_show_edit_link:!1}}),V=c.extend({childViewEventPrefix:!1,tagName:"li",template:_.template('<div class="pods-field pods-boolean">\n\t<input name="<%- htmlAttr.name %>" data-name-clean="<%- htmlAttr.name_clean %>" data-label="<%- fieldConfig.label %>" id="<%- htmlAttr.id %><%= ordinal %>" class="pods-form-ui-field-type-pick pods-form-ui-field-name-<%- htmlAttr.name_clean %>" type="radio"\n\t\t\t<% if ( selected ) { %>\n\t\t\t\tchecked="CHECKED"\n\t\t\t<% } %>\n\t\t\tvalue="<%- id %>" tabindex="2">\n\t<label class="pods-form-ui-label pods-form-ui-label-<%- htmlAttr.id %><%= ordinal %>" for="<%- htmlAttr.id %><%= ordinal %>">\n\t\t<%= name %>\n\t</label>\n</div>\n'),templateContext:function(){return{ordinal:this.model.collection.indexOf(this.model)+1}},modelChanged:function(){this.render()}}),j=a.extend({childViewEventPrefix:!1,tagName:"ul",className:"pods-radio",childView:V}),I=c.extend({childViewEventPrefix:!1,tagName:"li",template:_.template('<div class="pods-field pods-boolean">\n\t<input name="<%- htmlAttr.name %>[<%= ordinal %>]"\n\t\t<%= selected ? \'checked="checked"\' : \'\' %>\n\t\tdata-name-clean="<%- htmlAttr.name_clean %>" data-label="<%- fieldConfig.label %>" id="<%- htmlAttr.id %><%= ordinal %>" class="pods-form-ui-field-type-pick" type="checkbox" tabindex="2" value="<%- id %>">\n\t<label class="pods-form-ui-label" for="<%- htmlAttr.id %><%= ordinal %>">\n\t\t<%= name %>\n\t</label>\n</div>\n'),className:"pods-pick",ui:{checkbox:"input.pods-form-ui-field-type-pick"},triggers:{"click @ui.checkbox":"toggle:selected"},modelEvents:{change:"modelChanged"},templateContext:function(){return{ordinal:this.model.collection.indexOf(this.model)}},modelChanged:function(){this.render()}}),L=a.extend({childViewEventPrefix:!1,tagName:"ul",className:"pods-checkbox-view",childView:I,childViewEvents:{"toggle:selected":"onChildviewToggleSelected"},onAttach:function(){this.validateSelectionLimit()||this.selectionLimitOver()},onChildviewToggleSelected:function(e){e.model.toggleSelected(),this.validateSelectionLimit()?this.selectionLimitUnder():this.selectionLimitOver()},validateSelectionLimit:function(){var e,i;return e=+this.fieldModel.get("fieldConfig").pick_limit,i=this.collection.filterBySelected().length,0==e||i<e},selectionLimitOver:function(){this.$el.find("input:checkbox:not(:checked)").prop("disabled",!0),this.trigger("selection:limit:over",this)},selectionLimitUnder:function(){this.$el.find("input:checkbox").prop("disabled",!1),this.trigger("selection:limit:under",this)}}),N=c.extend({childViewEventPrefix:!1,tagName:"option",template:!1,initialize:function(e){this.$el.val(this.model.get("id")),this.$el.html(this.model.get("name")),this.model.get("selected")&&this.$el.prop("selected","selected")}}),E=a.extend({childViewEventPrefix:!1,tagName:"optgroup",childView:N,attributes:function(){return{label:this.model.get("label")}}}),B=PodsMn.CollectionView.extend({childViewEventPrefix:!1,tagName:"select",triggers:{change:{event:"change:selected",stopPropagation:!1}},multiLastValidSelection:[],setCollection:function(e){this.collection=e},initialize:function(e){this.fieldModel=e.fieldModel,this.fieldConfig=this.fieldModel.get("fieldConfig")},childView:function(e){return this.fieldConfig.optgroup?E:N},childViewOptions:function(e,i){var t={fieldModel:this.fieldModel};return this.fieldConfig.optgroup&&(t.collection=new M(e.get("collection"))),t},serializeData:function(){var e=this.options.fieldModel,i=this.model?this.model.toJSON():{};return i.htmlAttr=e.get("attributes"),i.fieldConfig=e.get("fieldConfig"),i},attributes:function(){var e=this.options.fieldModel,i=e.get("htmlAttr"),t=e.get("fieldConfig"),l=i.name;return"multi"===t.pick_format_type&&(l+="[]"),{name:l,class:i.class,"data-name-clean":i.name_clean,id:i.id,tabindex:"2",multiple:"multi"===t.pick_format_type}},onAttach:function(){var e=this.fieldConfig.view_name,i=this.fieldConfig.pick_format_type;"select2"===e&&this.setupSelect2(),"select"===e&&"multi"===i&&(this.multiLastValidSelection=this.$el.val()),this.validateSelectionLimit()||this.selectionLimitOver()},onChangeSelected:function(){var e=+this.fieldConfig.pick_limit,i=this.fieldConfig.view_name,t=this.fieldConfig.pick_format_type;if("select"===i&&"multi"===t&&null!==this.$el.val()&&0!=e&&e<this.$el.val().length)return this.$el.val(this.multiLastValidSelection),window.alert(PodsI18n.__("You can only select")+" "+sprintf(PodsI18n._n("%s item","%s items",e),e)),void this.trigger("childview:change:selected",this);this.collection.setSelected(this.$el.val()),this.multiLastValidSelection=this.$el.val(),this.validateSelectionLimit()?this.selectionLimitUnder():this.selectionLimitOver(),this.trigger("childview:change:selected",this)},onBeforeDetach:function(){this.$el.selectWoo("destroy")},validateSelectionLimit:function(){var e,i,t=this.fieldConfig.pick_format_type,l=this.fieldConfig.pick_format_single;return""===this.$el.val()&&"single"===t&&"dropdown"===l||(e=+this.fieldConfig.pick_limit,i=this.collection.filterBySelected().length,0==e||i<e)},selectionLimitOver:function(){var e=this.fieldConfig.view_name,i=this.fieldConfig.pick_format_type;"select"===e&&"multi"===i&&this.$el.find("option:not(:selected)").prop("disabled",!0),this.trigger("childview:selection:limit:over",this)},selectionLimitUnder:function(){var e=this.fieldConfig.view_name,i=this.fieldConfig.pick_format_type;"select"===e&&"multi"===i&&this.$el.find("option").prop("disabled",!1),this.trigger("childview:selection:limit:under",this)},filterAjaxList:function(e){var i=this.collection.filterBySelected(),t=[];return _.each(e.results,function(e){e.text=e.name,i.get(e.id)||t.push(e)}),{results:t}},setupSelect2:function(){var e,t=this,l=this.$el,i=this.options.fieldModel.get("fieldConfig"),n=i.ajax_data,o=i.select2_overrides,d=i.pick_limit,s="single"===i.pick_format_type,a=this.collection.filterBySelected().length,c=void 0;0===a&&s&&l.prepend('<option selected="selected">'),e={maximumSelectionLength:s?void 0:d,placeholder:i.limitDisable?PodsI18n.__("You can only select")+" "+sprintf(PodsI18n._n("%s item","%s items",d),d):PodsI18n.__("Search")+" "+i.label+"...",allowClear:s,disabled:i.limitDisable,tags:i.pick_taggable,escapeMarkup:function(e){return e}},n.ajax&&jQuery.extend(e,{minimumInputLength:n.minimum_input_length,ajax:{url:ajaxurl+"?pods_ajax=1",type:"POST",dataType:"json",delay:n.delay,data:function(e){return{_wpnonce:n._wpnonce,action:"pods_relationship",method:"select2",pod:n.pod,field:n.field,uri:n.uri,id:n.id,query:e.term}},processResults:function(e,i){return t.filterAjaxList(e,i)}}}),l.selectWoo(jQuery.extend(!0,e,o)),(c=l.parent().find("ul.select2-selection__rendered")).sortable({containment:"parent"}),c.on("sortstop",function(){var e=c.find(".select2-selection__choice").get().reverse();jQuery(e).each(function(){var e=jQuery(this).data("data").id,i=l.find('option[value="'+e+'"]')[0];l.prepend(i)})})}}),O=c.extend({childViewEventPrefix:!1,tagName:"li",className:"pods-dfv-list-item pods-relationship",template:_.template('<input\n\t\t<% if ( \'single\' === fieldConfig.pick_format_type ) { %>\n\t\t\tname="<%- htmlAttr.name %>" id="<%- htmlAttr.id %>"\n\t\t<% } else { %>\n\t\t\tname="<%- htmlAttr.name %>[<%= ordinal %>]" id="<%- htmlAttr.id %><%= ordinal %>"\n\t\t<% } %>\n\t\tdata-name-clean="<%- htmlAttr.name_clean %>" type="hidden" value="<%- id %>">\n<ul class="pods-dfv-list-meta relationship-item">\n\t<% if ( 1 != fieldConfig.pick_limit ) { %>\n\t\t<li class="pods-dfv-list-col pods-dfv-list-handle"><span><%- PodsI18n.__( \'Reorder\' ) %></span></li>\n\t<% } %>\n\t<% if ( 1 == fieldConfig.pick_show_icon ) { %>\n\t\t<li class="pods-dfv-list-col pods-dfv-list-icon">\n\t\t\t<% if ( \'\' == icon ) { %>\n\t\t\t\t<% if ( /^dashicons/.test( fieldConfig.default_icon ) ) { %>\n\t\t\t\t\t<span class="pinkynail dashicons <%- fieldConfig.default_icon %>"></span>\n\t\t\t\t<% } else { %>\n\t\t\t\t\t<img class="pinkynail" src="<%- fieldConfig.default_icon %>" alt="Icon">\n\t\t\t\t<% } %>\n\t\t\t<% } else { %>\n\t\t\t\t<% if ( /^dashicons/.test( icon ) ) { %>\n\t\t\t\t\t<span class="pinkynail dashicons <%- icon %>"></span>\n\t\t\t\t<% } else { %>\n\t\t\t\t\t<img class="pinkynail" src="<%- icon %>" alt="Icon">\n\t\t\t\t<% } %>\n\t\t\t<% } %>\n\t\t</li>\n\t<% } %>\n\t<li class="pods-dfv-list-col pods-dfv-list-name">\n\t\t<%= name %>\n\t</li>\n\t<li class="pods-dfv-list-col pods-dfv-list-remove"><a href="#remove" title="<%- PodsI18n.__( \'Deselect\' ) %>"><%- PodsI18n.__( \'Deselect\' ) %></a></li>\n\t<% if ( 1 == fieldConfig.pick_show_view_link && \'\' != link ) { %>\n\t\t<li class="pods-dfv-list-col pods-dfv-list-link"><a href="<%- link %>" title="<%- PodsI18n.__( \'View\' ) %>" target="_blank"><%- PodsI18n.__( \'View\' ) %></a></li>\n\t<% } %>\n\t<% if ( 1 == fieldConfig.pick_show_edit_link && \'\' != edit_link ) { %>\n\t\t<li class="pods-dfv-list-col pods-dfv-list-edit"><a href="<%- edit_link %>" title="<%- PodsI18n.__( \'Edit\' ) %>" target="_blank"><%- PodsI18n.__( \'Edit\' ) %></a></li>\n\t<% } %>\n</ul>\n'),ui:{removeButton:".pods-dfv-list-remove a",editButton:".pods-dfv-list-edit a"},triggers:{"click @ui.removeButton":"remove:item:click","click @ui.editButton":"edit:item:click"},templateContext:function(){return{ordinal:this.model.collection.indexOf(this.model)}}}),U=a.extend({childViewEventPrefix:!1,tagName:"ul",className:"pods-dfv-list pods-relationship",childView:O,childViewTriggers:{"remove:item:click":"childview:remove:item:click","edit:item:click":"childview:edit:item:click"},filter:function(e,i,t){return e.attributes.selected},onAttach:function(){1!==this.options.fieldModel.get("fieldConfig").pick_limit&&this.$el.sortable({containment:"parent",axis:"y",scrollSensitivity:40,tolerance:"pointer",opacity:.6})}}),F="button-disabled",R=c.extend({childViewEventPrefix:!1,tagName:"div",className:"podsform-dfv-list-relationship-container",ui:{addButton:"a.pods-related-add-new"},template:_.template('<a href="/wp-admin/?pods_modal=1" class="button pods-related-add-new pods-modal" data-pod-id="<%- fieldConfig.pod_id %>" data-field-id="<%- fieldConfig.id %>" data-item-id="<%- fieldConfig.item_id %>">\n\t<%- PodsI18n.__( \'Add New\' ) %>\n</a>'),triggers:{"click @ui.addButton":"add:new:click"},disable:function(){this.getUI("addButton").addClass(F)},enable:function(){this.getUI("addButton").removeClass(F)},onAddNewClick:function(){this.getUI("addButton").hasClass(F)||this.trigger("childview:add:new",this)}}),D={checkbox:L,select:B,select2:B,radio:j,list:U},Q=void 0,$=r.extend({childViewEventPrefix:!1,template:_.template('<%if ( fieldConfig.view_name === \'list\' ) { %>\n\t<div class="pods-ui-list-autocomplete"></div>\n<% } %>\n\n<div class="pods-pick-values"></div>\n\n<% if ( fieldConfig.iframe_src != \'\' ) { %>\n\t<div class="pods-ui-add-new"></div>\n<% } %>'),regions:{autocomplete:".pods-ui-list-autocomplete",list:".pods-pick-values",addNew:".pods-ui-add-new"},childViewEvents:{"childview:remove:item:click":"onChildviewRemoveItemClick","childview:edit:item:click":"onChildviewEditItemClick","childview:selection:limit:over":"onChildviewSelectionLimitOver","childview:selection:limit:under":"onChildviewSelectionLimitUnder","childview:change:selected":"onChildviewChangeSelected","childview:add:new":"onChildviewAddNew"},onBeforeRender:function(){void 0===this.collection&&(this.collection=new M(this.fieldItemData))},onRender:function(){this.fieldConfig=new A(this.model.get("fieldConfig")),""!==this.fieldConfig.get("iframe_src")&&1==this.fieldConfig.get("pick_allow_add_new")&&this.showAddNew(),"list"===this.fieldConfig.get("view_name")&&this.buildAutocomplete(),this.showList()},buildAutocomplete:function(){var e,i,t=void 0,l=void 0,n=+this.fieldConfig.get("pick_limit");t={view_name:"select2",pick_format_type:"multi",selectFromExisting:!0,ajax_data:this.fieldConfig.get("ajax_data"),select2_overrides:this.fieldConfig.get("select2_overrides"),label:this.fieldConfig.get("label"),pick_limit:n},this.collection.filterBySelected().length>=n&&0!=n?(t.limitDisable=!0,this.onChildviewSelectionLimitOver()):this.onChildviewSelectionLimitUnder(),e=new o({fieldConfig:t}),i=this.collection.filterByUnselected(),(l=new B({collection:i,fieldModel:e})).filterAjaxList=this.filterAjaxList.bind(this),this.showChildView("autocomplete",l)},showList:function(){var e,i;if(e=this.fieldConfig.get("view_name"),void 0===D[e])throw new Error('Invalid view name "'+e+'"');i=new D[e]({collection:this.collection,fieldModel:this.model}),this.showChildView("list",i)},showAddNew:function(){var e=new R({fieldModel:this.model});this.showChildView("addNew",e)},filterAjaxList:function(e){var i=this.collection.filterBySelected(),t=[];return _.each(e.results,function(e){e.text=e.name,i.get(e.id)||t.push(e)}),this.collection.add(t),this.getChildView("autocomplete").setCollection(this.collection.filterByUnselected()),{results:t}},onChildviewSelectionLimitOver:function(e){var i=this.getChildView("addNew");i&&i.disable()},onChildviewSelectionLimitUnder:function(e){var i=this.getChildView("addNew");i&&i.enable()},onChildviewRemoveItemClick:function(e){e.model.toggleSelected(),this.getChildView("list").render(),"list"===this.fieldConfig.get("view_name")&&this.buildAutocomplete()},onChildviewAddNew:function(e){var i=this.model.get("fieldConfig");Q=new P({title:i.iframe_title_add,src:i.iframe_src}),this.setModalListeners(),Q.modal.open()},onChildviewEditItemClick:function(e){var i=this.model.get("fieldConfig");Q=new P({title:i.iframe_title_edit,src:e.ui.editButton.attr("href")}),this.setModalListeners(),Q.modal.open()},onChildviewChangeSelected:function(e){e.fieldConfig.selectFromExisting&&(_.defer(this.buildAutocomplete.bind(this)),this.getChildView("list").render())},setModalListeners:function(){jQuery(window).on("dfv:modal:update",this.modalSuccess.bind(this)),jQuery(window).on("dfv:modal:cancel",this.modalCancel.bind(this))},clearModalListeners:function(){jQuery(window).off("dfv:modal:update"),jQuery(window).off("dfv:modal:cancel")},modalSuccess:function(e,i){var t=this.collection.get(i.id);t?(t.set(i),this.getChildView("list").render()):this.collection.add(i),this.clearModalListeners(),Q.modal.close({})},modalCancel:function(){this.clearModalListeners()}}),z={file:y,avatar:y,pick:$},T={fields:Object.freeze({FileUpload:y,Pick:$}),models:Object.freeze({PodsDFVFieldModel:o,RelationshipModel:S,RelationshipCollection:M,FileUploadModel:f,FileUploadCollection:h}),fieldInstances:{},init:function(){var l=this;jQuery(".pods-form-ui-field").each(function(){var e=void 0,i=void 0,t={fieldType:void 0};jQuery(this).find("script.pods-dfv-field-data").each(function(){var e=jQuery.parseJSON(jQuery(this).html());jQuery(this).parents(".media-modal-content").length&&(e.fieldConfig.pick_allow_add_new=0),jQuery.extend(t,e),jQuery(this).remove()}),void 0!==t.fieldType&&void 0!==(e=z[t.fieldType])&&((i=new e({el:this,model:new o({htmlAttr:t.htmlAttr,fieldConfig:t.fieldConfig}),fieldItemData:t.fieldItemData})).render(),jQuery(this).trigger("render"),l.fieldInstances[t.htmlAttr.id]=i)})},isModalWindow:function(){return-1!==location.search.indexOf("pods_modal=")},isGutenbergEditorLoaded:function(){return void 0!==wp.data&&void 0!==wp.data.select("core/editor")}};return document.addEventListener("DOMContentLoaded",function(){T.init(),T.isModalWindow()&&T.isGutenbergEditorLoaded()&&i()}),T}();
2
  //# sourceMappingURL=pods-dfv.min.js.map
1
+ var PodsDFV=function(){"use strict";var o=Backbone.Model.extend({defaults:{htmlAttr:{},fieldConfig:{}}}),n=wp.data&&wp.data.select("core/editor"),e=void 0,i=function(){e=n.isCurrentPostPublished()?wp.data.subscribe(d):wp.data.subscribe(l)};function t(){var e=n.getCurrentPostAttribute("featured_media"),i="";if(!e)return i;var t=wp.data.select("core").getMedia(e);if(t){var l=wp.hooks.applyFilters("editor.PostFeaturedImage.imageSize","post-thumbnail","");i=t.media_details&&t.media_details.sizes&&t.media_details.sizes[l]?t.media_details.sizes[l].source_url:t.source_url}return i}function l(){n.isCurrentPostPublished()&&(e(),s({icon:t(),link:n.getPermalink(),edit_link:"post.php?post="+n.getCurrentPostId()+"&action=edit&pods_modal=1",selected:!0}))}function d(){d.wasSaving?n.isSavingPost()||(d.wasSaving=!1,n.didPostSaveRequestSucceed()&&(e(),s({icon:t()}))):d.wasSaving=!(!n.isSavingPost()||n.isAutosavingPost())}function s(e){var i={id:n.getCurrentPostId(),name:n.getCurrentPostAttribute("title")},t=Object.assign(i,e);window.parent.jQuery(window.parent).trigger("dfv:modal:update",t)}var a=PodsMn.CollectionView.extend({childViewEventPrefix:!1,initialize:function(e){this.fieldModel=e.fieldModel,this.childViewOptions={fieldModel:e.fieldModel}}}),c=PodsMn.View.extend({childViewEventPrefix:!1,serializeData:function(){var e=this.options.fieldModel,i=this.model?this.model.toJSON():{};return i.htmlAttr=e.get("htmlAttr"),i.fieldConfig=e.get("fieldConfig"),i}}),r=PodsMn.View.extend({childViewEventPrefix:!1,initialize:function(e){this.fieldItemData=e.fieldItemData}}),f=Backbone.Model.extend({defaults:{id:0,icon:"",name:"",edit_link:"",link:"",download:""}}),h=Backbone.Collection.extend({model:f}),m=c.extend({childViewEventPrefix:!1,tagName:"li",template:_.template('<input name="<%- htmlAttr.name %>[<%- id %>][id]" data-name-clean="<%- htmlAttr.name_clean %>-id" id="<%- htmlAttr.id %>-<%- id %>-id" class="<%- htmlAttr.class %>" type="hidden" value="<%- id %>">\n<ul class="pods-dfv-list-meta media-item">\n\t<% if ( 1 != fieldConfig.file_limit ) { %>\n\t\t<li class="pods-dfv-list-col pods-dfv-list-handle"><span><%- PodsI18n.__( \'Reorder\' ) %></span></li>\n\t<% } %>\n\t<li class="pods-dfv-list-col pods-dfv-list-icon"><img class="pinkynail" src="<%- icon %>" alt="<%- PodsI18n.__( \'Icon\' ) %>"></li>\n\t<li class="pods-dfv-list-col pods-dfv-list-name">\n\t\t<% if ( 0 != fieldConfig.file_edit_title ) { %>\n\t\t\t<input name="<%- htmlAttr.name %>[<%- id %>][title]" data-name-clean="<%- htmlAttr.name_clean %>-title" id="pods-form-ui-<%- htmlAttr.name_clean %>-<%- id %>-title" class="pods-form-ui-field-type-text pods-form-ui-field-name-<%- htmlAttr.name_clean %>-title" type="text" value="<%- name %>" tabindex="2" maxlength="255">\n\t\t<% } else { %>\n\t\t\t<%- name %>\n\t\t<% } %>\n\t</li>\n\t<li class="pods-dfv-list-col pods-dfv-list-actions">\n\t\t<ul>\n\t\t\t<li class="pods-dfv-list-col pods-dfv-list-remove">\n\t\t\t\t<a href="#remove" title="<%- PodsI18n.__( \'Deselect\' ) %>"><%- PodsI18n.__( \'Deselect\' ) %></a>\n\t\t\t</li>\n\t\t\t<% if ( 1 == fieldConfig.file_linked && \'\' != download ) { %>\n\t\t\t\t<li class="pods-dfv-list-col pods-dfv-list-download">\n\t\t\t\t\t<a href="<%- download %>" target="_blank" title="<%- PodsI18n.__( \'Download\' ) %>"><%- PodsI18n.__( \'Download\' ) %></a>\n\t\t\t\t</li>\n\t\t\t<% } %>\n\t\t\t<% if ( 1 == fieldConfig.file_show_edit_link && \'\' != edit_link ) { %>\n\t\t\t\t<li class="pods-dfv-list-col pods-dfv-list-edit">\n\t\t\t\t\t<a href="<%- edit_link %>" target="_blank" title="<%- PodsI18n.__( \'Edit\' ) %>"><%- PodsI18n.__( \'Edit\' ) %></a>\n\t\t\t\t</li>\n\t\t\t<% } %>\n\t\t</ul>\n\t</li>\n</ul>\n'),className:"pods-dfv-list-item",ui:{dragHandle:".pods-dfv-list-handle",editLink:".pods-dfv-list-edit-link",viewLink:".pods-dfv-list-link",downloadLink:".pods-dfv-list-download",removeButton:".pods-dfv-list-remove",itemName:".pods-dfv-list-name"},triggers:{"click @ui.removeButton":"remove:file:click"}}),p=a.extend({childViewEventPrefix:!1,tagName:"ul",className:"pods-dfv-list",childView:m,childViewTriggers:{"remove:file:click":"childview:remove:file:click"},onAttach:function(){var e=this.options.fieldModel.get("fieldConfig"),i="y";1!=e.file_limit&&("tiles"==e.file_field_template&&(i=""),this.$el.sortable({containment:"parent",axis:i,scrollSensitivity:40,tolerance:"pointer",opacity:.6}))}}),u=c.extend({childViewEventPrefix:!1,tagName:"div",template:_.template('<a class="button pods-dfv-list-add" href="#" tabindex="2"><%= fieldConfig.file_add_button %></a>'),ui:{addButton:".pods-dfv-list-add"},triggers:{"click @ui.addButton":"childview:add:file:click"}}),v=PodsMn.Object.extend({constructor:function(e){this.browseButton=e.browseButton,this.uiRegion=e.uiRegion,this.fieldConfig=e.fieldConfig,PodsMn.Object.call(this,e)}}),g=Backbone.Model.extend({defaults:{id:0,filename:"",progress:0,errorMsg:""}}),w=PodsMn.View.extend({model:g,tagName:"li",template:_.template('<ul class="pods-dfv-list-meta media-item">\n\t<% if ( \'\' === errorMsg ) { %>\n\t\t<li class="pods-dfv-list-col pods-progress"><div class="progress-bar" style="width: <%- progress %>%;"></div></li>\n\t<% } %>\n\t<li class="pods-dfv-list-col pods-dfv-list-name"><%- filename %></li>\n</ul>\n<% if ( \'\' !== errorMsg ) { %>\n\t<div class="error"><%- errorMsg %></div>\n<% } %>\n'),attributes:function(){return{class:"pods-dfv-list-item",id:this.model.get("id")}},modelEvents:{change:"onModelChanged"},onModelChanged:function(){this.render()}}),C=PodsMn.CollectionView.extend({tagName:"ul",className:"pods-dfv-list pods-dfv-list-queue",childView:w}),b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},k=[v.extend({plupload:{},fileUploader:"plupload",initialize:function(){this.fieldConfig.plupload_init.browse_button=this.browseButton,this.plupload=new plupload.Uploader(this.fieldConfig.plupload_init),this.plupload.init(),this.plupload.bind("FilesAdded",this.onFilesAdded,this),this.plupload.bind("UploadProgress",this.onUploadProgress,this),this.plupload.bind("FileUploaded",this.onFileUploaded,this)},onFilesAdded:function(e,i){var t=void 0,l=void 0,n=void 0;l=new Backbone.Collection,jQuery.each(i,function(e,i){t=new g({id:i.id,filename:i.name}),l.add(t)}),(n=new C({collection:l})).render(),this.uiRegion.reset(),this.uiRegion.show(n),this.queueCollection=l,e.refresh(),e.start()},onUploadProgress:function(e,i){this.queueCollection.get(i.id).set({progress:i.percent})},onFileUploaded:function(e,i,t){var l=this.queueCollection.get(i.id),n=t.response,o=[],d=void 0;if("Error: "===t.response.substr(0,7))n=n.substr(7),window.console&&console.log(n),l.set({progress:0,errorMsg:n});else if("<e>"===t.response.substr(0,3))n=jQuery(n).text(),window.console&&console.log(n),l.set({progress:0,errorMsg:n});else{if("object"!==(void 0===(d=null!==(d=n.match(/{.*}$/))&&0<d.length?jQuery.parseJSON(d[0]):{})?"undefined":b(d))||jQuery.isEmptyObject(d))return window.console&&console.log(n),window.console&&console.log(d),void l.set({progress:0,errorMsg:PodsI18n.__("Error uploading file: ")+i.name});o={id:d.ID,icon:d.thumbnail,name:d.post_title,edit_link:d.edit_link,link:d.link,download:d.download},l.trigger("destroy",l),this.trigger("added:files",o)}}}),v.extend({mediaObject:{},fileUploader:"attachment",invoke:function(){void 0===wp.Uploader.defaults.filters.mime_types&&(wp.Uploader.defaults.filters.mime_types=[{title:PodsI18n.__("Allowed Files"),extensions:"*"}]);var e=wp.Uploader.defaults.filters.mime_types[0].extensions;wp.Uploader.defaults.filters.mime_types[0].extensions=this.fieldConfig.limit_extensions,this.mediaObject=wp.media({title:this.fieldConfig.file_modal_title,multiple:1!=this.fieldConfig.file_limit,library:{type:this.fieldConfig.limit_types},button:{text:this.fieldConfig.file_modal_add_button}}),this.mediaObject.once("select",this.onMediaSelect,this),this.mediaObject.open(),this.mediaObject.content.mode(this.fieldConfig.file_attachment_tab),wp.Uploader.defaults.filters.mime_types[0].extensions=e},onMediaSelect:function(){var e=this.mediaObject.state().get("selection"),l=[];e&&(e.each(function(e){var i=e.attributes.sizes,t=void 0;t=e.attributes.icon,void 0!==i&&(void 0!==i.thumbnail&&void 0!==i.thumbnail.url?t=i.thumbnail.url:void 0!==i.full&&void 0!==i.full.url&&(t=i.full.url)),l.push({id:e.attributes.id,icon:t,name:e.attributes.title,edit_link:e.attributes.editLink,link:e.attributes.link,download:e.attributes.url})}),this.trigger("added:files",l))}})],y=r.extend({childViewEventPrefix:!1,template:_.template('<div class="pods-ui-file-list pods-field-template-<%- fieldConfig.file_field_template %>"></div>\n<div class="pods-ui-region"></div>\n<div class="pods-ui-form"></div>\n'),regions:{list:".pods-ui-file-list",uiRegion:".pods-ui-region",form:".pods-ui-form"},childViewEvents:{"childview:remove:file:click":"onChildviewRemoveFileClick","childview:add:file:click":"onChildviewAddFileClick"},uploader:{},onBeforeRender:function(){void 0===this.collection&&(this.collection=new h(this.fieldItemData))},onRender:function(){var e=new p({collection:this.collection,fieldModel:this.model}),i=new u({fieldModel:this.model});this.showChildView("list",e),this.showChildView("form",i),this.uploader=this.createUploader(),this.listenTo(this.uploader,"added:files",this.onAddedFiles)},onChildviewRemoveFileClick:function(e){this.collection.remove(e.model)},onChildviewAddFileClick:function(){"function"==typeof this.uploader.invoke&&this.uploader.invoke()},onAddedFiles:function(e){var i=+this.model.get("fieldConfig").file_limit,t=void 0,l=void 0;(t=this.collection.clone()).add(e),l=0===i?t.models:t.filter(function(e){return t.indexOf(e)>=t.length-i}),this.collection.reset(l)},createUploader:function(){var e=this.model.get("fieldConfig"),t=e.file_uploader,l=void 0;if(jQuery.each(k,function(e,i){if(t===i.prototype.fileUploader)return l=i,!1}),void 0!==l)return this.uploader=new l({browseButton:this.getRegion("form").getEl(".pods-dfv-list-add").get(),uiRegion:this.getRegion("uiRegion"),fieldConfig:e}),this.uploader;throw"Could not locate file uploader '"+t+"'"}}),x=wp.media.view.Modal.extend({close:function(e){var i=wp.media.view.Modal.prototype.close.apply(this,e);return e&&e.escape&&window.parent.jQuery(window.parent).trigger("dfv:modal:cancel"),i}}),P=wp.media.view.Frame.extend({className:"pods-modal-frame",template:_.template('<div class="media-frame-title" /><div class="media-frame-iframe" />'),regions:["title","iframe"],initialize:function(){wp.media.view.Frame.prototype.initialize.apply(this,arguments),this.$el.addClass("wp-core-ui"),this.initState(),this.initModal(),this.on("iframe:create:default",this.iframeContent,this),this.iframe.mode("default"),this.on("title:create:default",this.createTitle,this),this.title.mode("default")},initState:function(){var e=this.options.title||PodsI18n.__("Add New Record"),i=this.options.src||"/";this.states.add([new wp.media.controller.State({id:"default",title:e,src:i})]),this.options.state="default"},initModal:function(){this.modal=new x({controller:this}),this.modal.content(this)},render:function(){return!this.state()&&this.options.state&&this.setState(this.options.state),wp.media.view.Frame.prototype.render.apply(this,arguments)},iframeContent:function(e){e.view=new wp.media.view.Iframe({controller:this})},createTitle:function(e){e.view=new wp.media.View({controller:this,tagName:"h1"})}}),S=Backbone.Model.extend({defaults:{id:0,name:"",icon:"",link:"",edit_link:"",selected:!1},toggleSelected:function(){this.set("selected",!this.get("selected"))}}),A=Backbone.Collection.extend({model:S,setSelected:function(t){this.map(function(e){var i=_.contains(t,e.get("id")+"");e.set("selected",i)})},filterBySelected:function(){var e=this.filter(function(e){return e.get("selected")});return new A(e)},filterByUnselected:function(){var e=this.filter(function(e){return!e.get("selected")});return new A(e)}}),M=Backbone.Model.extend({defaults:{view_name:"select",iframe_src:"",pick_format_type:"single",pick_show_icon:!1,pick_show_view_link:!1,pick_show_edit_link:!1}}),V=c.extend({childViewEventPrefix:!1,tagName:"li",template:_.template('<div class="pods-field pods-boolean">\n\t<input name="<%- htmlAttr.name %>" data-name-clean="<%- htmlAttr.name_clean %>" data-label="<%- fieldConfig.label %>" id="<%- htmlAttr.id %><%= ordinal %>" class="pods-form-ui-field-type-pick pods-form-ui-field-name-<%- htmlAttr.name_clean %>" type="radio"\n\t\t\t<% if ( selected ) { %>\n\t\t\t\tchecked="CHECKED"\n\t\t\t<% } %>\n\t\t\tvalue="<%- id %>" tabindex="2">\n\t<label class="pods-form-ui-label pods-form-ui-label-<%- htmlAttr.id %><%= ordinal %>" for="<%- htmlAttr.id %><%= ordinal %>">\n\t\t<%= name %>\n\t</label>\n</div>\n'),templateContext:function(){return{ordinal:this.model.collection.indexOf(this.model)+1}},modelChanged:function(){this.render()}}),j=a.extend({childViewEventPrefix:!1,tagName:"ul",className:"pods-radio",childView:V}),I=c.extend({childViewEventPrefix:!1,tagName:"li",template:_.template('<div class="pods-field pods-boolean">\n\t<input name="<%- htmlAttr.name %>[<%= ordinal %>]"\n\t\t<%= selected ? \'checked="checked"\' : \'\' %>\n\t\tdata-name-clean="<%- htmlAttr.name_clean %>" data-label="<%- fieldConfig.label %>" id="<%- htmlAttr.id %><%= ordinal %>" class="pods-form-ui-field-type-pick" type="checkbox" tabindex="2" value="<%- id %>">\n\t<label class="pods-form-ui-label" for="<%- htmlAttr.id %><%= ordinal %>">\n\t\t<%= name %>\n\t</label>\n</div>\n'),className:"pods-pick",ui:{checkbox:"input.pods-form-ui-field-type-pick"},triggers:{"click @ui.checkbox":"toggle:selected"},modelEvents:{change:"modelChanged"},templateContext:function(){return{ordinal:this.model.collection.indexOf(this.model)}},modelChanged:function(){this.render()}}),L=a.extend({childViewEventPrefix:!1,tagName:"ul",className:"pods-checkbox-view",childView:I,childViewEvents:{"toggle:selected":"onChildviewToggleSelected"},onAttach:function(){this.validateSelectionLimit()||this.selectionLimitOver()},onChildviewToggleSelected:function(e){e.model.toggleSelected(),this.validateSelectionLimit()?this.selectionLimitUnder():this.selectionLimitOver()},validateSelectionLimit:function(){var e,i;return e=+this.fieldModel.get("fieldConfig").pick_limit,i=this.collection.filterBySelected().length,0===e||i<e},selectionLimitOver:function(){this.$el.find("input:checkbox:not(:checked)").prop("disabled",!0),this.trigger("selection:limit:over",this)},selectionLimitUnder:function(){this.$el.find("input:checkbox").prop("disabled",!1),this.trigger("selection:limit:under",this)}}),N=c.extend({childViewEventPrefix:!1,tagName:"option",template:!1,initialize:function(e){this.$el.val(this.model.get("id")),this.$el.text(this.model.get("name")),this.model.get("selected")&&this.$el.prop("selected","selected")}}),E=a.extend({childViewEventPrefix:!1,tagName:"optgroup",childView:N,attributes:function(){return{label:this.model.get("label")}}}),B=PodsMn.CollectionView.extend({childViewEventPrefix:!1,tagName:"select",triggers:{change:{event:"change:selected",stopPropagation:!1}},multiLastValidSelection:[],setCollection:function(e){this.collection=e},initialize:function(e){this.fieldModel=e.fieldModel,this.fieldConfig=this.fieldModel.get("fieldConfig")},childView:function(e){return this.fieldConfig.optgroup?E:N},childViewOptions:function(e,i){var t={fieldModel:this.fieldModel};return this.fieldConfig.optgroup&&(t.collection=new A(e.get("collection"))),t},serializeData:function(){var e=this.options.fieldModel,i=this.model?this.model.toJSON():{};return i.htmlAttr=e.get("attributes"),i.fieldConfig=e.get("fieldConfig"),i},attributes:function(){var e=this.options.fieldModel,i=e.get("htmlAttr"),t=e.get("fieldConfig"),l=i.name;return"multi"===t.pick_format_type&&(l+="[]"),{name:l,class:i.class,"data-name-clean":i.name_clean,id:i.id,tabindex:"2",multiple:"multi"===t.pick_format_type}},onAttach:function(){var e=this.fieldConfig.view_name,i=this.fieldConfig.pick_format_type;"select2"===e&&this.setupSelect2(),"select"===e&&"multi"===i&&(this.multiLastValidSelection=this.$el.val()),this.validateSelectionLimit()||this.selectionLimitOver()},onChangeSelected:function(){var e=+this.fieldConfig.pick_limit,i=this.fieldConfig.view_name,t=this.fieldConfig.pick_format_type;if("select"===i&&"multi"===t&&null!==this.$el.val()&&0!==e&&e<this.$el.val().length)return this.$el.val(this.multiLastValidSelection),window.alert(PodsI18n.__("You can only select")+" "+sprintf(PodsI18n._n("%s item","%s items",e),e)),void this.trigger("childview:change:selected",this);this.collection.setSelected(this.$el.val()),this.multiLastValidSelection=this.$el.val(),this.validateSelectionLimit()?this.selectionLimitUnder():this.selectionLimitOver(),this.trigger("childview:change:selected",this)},onBeforeDetach:function(){this.$el.selectWoo("destroy")},validateSelectionLimit:function(){var e,i,t=this.fieldConfig.pick_format_type,l=this.fieldConfig.pick_format_single;return""===this.$el.val()&&"single"===t&&"dropdown"===l||(e=+this.fieldConfig.pick_limit,i=this.collection.filterBySelected().length,0===e||i<e)},selectionLimitOver:function(){var e=this.fieldConfig.view_name,i=this.fieldConfig.pick_format_type;"select"===e&&"multi"===i&&this.$el.find("option:not(:selected)").prop("disabled",!0),this.trigger("childview:selection:limit:over",this)},selectionLimitUnder:function(){var e=this.fieldConfig.view_name,i=this.fieldConfig.pick_format_type;"select"===e&&"multi"===i&&this.$el.find("option").prop("disabled",!1),this.trigger("childview:selection:limit:under",this)},filterAjaxList:function(e){var i=this.collection.filterBySelected(),t=[];return _.each(e.results,function(e){e.text=e.name,i.get(e.id)||t.push(e)}),{results:t}},setupSelect2:function(){var e,t=this,l=this.$el,i=this.options.fieldModel.get("fieldConfig"),n=i.ajax_data,o=i.select2_overrides,d=i.pick_limit,s="single"===i.pick_format_type,a=this.collection.filterBySelected().length,c=void 0;0===a&&s&&l.prepend('<option selected="selected">'),e={maximumSelectionLength:s?void 0:d,placeholder:i.limitDisable?PodsI18n.__("You can only select")+" "+sprintf(PodsI18n._n("%s item","%s items",d),d):PodsI18n.__("Search")+" "+i.label+"...",allowClear:s,disabled:i.limitDisable,tags:i.pick_taggable},n.ajax&&jQuery.extend(e,{minimumInputLength:n.minimum_input_length,ajax:{url:ajaxurl+"?pods_ajax=1",type:"POST",dataType:"json",delay:n.delay,data:function(e){return{_wpnonce:n._wpnonce,action:"pods_relationship",method:"select2",pod:n.pod,field:n.field,uri:n.uri,id:n.id,query:e.term}},processResults:function(e,i){return t.filterAjaxList(e,i)}}}),l.selectWoo(jQuery.extend(!0,e,o)),(c=l.parent().find("ul.select2-selection__rendered")).sortable({containment:"parent"}),c.on("sortstop",function(){var e=c.find(".select2-selection__choice").get().reverse();jQuery(e).each(function(){var e=jQuery(this).data("data").id,i=l.find('option[value="'+e+'"]')[0];l.prepend(i)})})}}),O=c.extend({childViewEventPrefix:!1,tagName:"li",className:"pods-dfv-list-item pods-relationship",template:_.template('<input\n\t\t<% if ( \'single\' === fieldConfig.pick_format_type ) { %>\n\t\t\tname="<%- htmlAttr.name %>" id="<%- htmlAttr.id %>"\n\t\t<% } else { %>\n\t\t\tname="<%- htmlAttr.name %>[<%= ordinal %>]" id="<%- htmlAttr.id %><%= ordinal %>"\n\t\t<% } %>\n\t\tdata-name-clean="<%- htmlAttr.name_clean %>" type="hidden" value="<%- id %>">\n<ul class="pods-dfv-list-meta relationship-item">\n\t<% if ( 1 != fieldConfig.pick_limit ) { %>\n\t\t<li class="pods-dfv-list-col pods-dfv-list-handle"><span><%- PodsI18n.__( \'Reorder\' ) %></span></li>\n\t<% } %>\n\t<% if ( 1 == fieldConfig.pick_show_icon ) { %>\n\t\t<li class="pods-dfv-list-col pods-dfv-list-icon">\n\t\t\t<% if ( \'\' == icon ) { %>\n\t\t\t\t<% if ( /^dashicons/.test( fieldConfig.default_icon ) ) { %>\n\t\t\t\t\t<span class="pinkynail dashicons <%- fieldConfig.default_icon %>"></span>\n\t\t\t\t<% } else { %>\n\t\t\t\t\t<img class="pinkynail" src="<%- fieldConfig.default_icon %>" alt="Icon">\n\t\t\t\t<% } %>\n\t\t\t<% } else { %>\n\t\t\t\t<% if ( /^dashicons/.test( icon ) ) { %>\n\t\t\t\t\t<span class="pinkynail dashicons <%- icon %>"></span>\n\t\t\t\t<% } else { %>\n\t\t\t\t\t<img class="pinkynail" src="<%- icon %>" alt="Icon">\n\t\t\t\t<% } %>\n\t\t\t<% } %>\n\t\t</li>\n\t<% } %>\n\t<li class="pods-dfv-list-col pods-dfv-list-name">\n\t\t<%= name %>\n\t</li>\n\t<li class="pods-dfv-list-col pods-dfv-list-remove"><a href="#remove" title="<%- PodsI18n.__( \'Deselect\' ) %>"><%- PodsI18n.__( \'Deselect\' ) %></a></li>\n\t<% if ( 1 == fieldConfig.pick_show_view_link && \'\' != link ) { %>\n\t\t<li class="pods-dfv-list-col pods-dfv-list-link"><a href="<%- link %>" title="<%- PodsI18n.__( \'View\' ) %>" target="_blank"><%- PodsI18n.__( \'View\' ) %></a></li>\n\t<% } %>\n\t<% if ( 1 == fieldConfig.pick_show_edit_link && \'\' != edit_link ) { %>\n\t\t<li class="pods-dfv-list-col pods-dfv-list-edit"><a href="<%- edit_link %>" title="<%- PodsI18n.__( \'Edit\' ) %>" target="_blank"><%- PodsI18n.__( \'Edit\' ) %></a></li>\n\t<% } %>\n</ul>\n'),ui:{removeButton:".pods-dfv-list-remove a",editButton:".pods-dfv-list-edit a"},triggers:{"click @ui.removeButton":"remove:item:click","click @ui.editButton":"edit:item:click"},templateContext:function(){return{ordinal:this.model.collection.indexOf(this.model)}}}),U=a.extend({childViewEventPrefix:!1,tagName:"ul",className:"pods-dfv-list pods-relationship",childView:O,childViewTriggers:{"remove:item:click":"childview:remove:item:click","edit:item:click":"childview:edit:item:click"},filter:function(e,i,t){return e.attributes.selected},onAttach:function(){1!==this.options.fieldModel.get("fieldConfig").pick_limit&&this.$el.sortable({containment:"parent",axis:"y",scrollSensitivity:40,tolerance:"pointer",opacity:.6})}}),F="button-disabled",R=c.extend({childViewEventPrefix:!1,tagName:"div",className:"podsform-dfv-list-relationship-container",ui:{addButton:"a.pods-related-add-new"},template:_.template('<a href="/wp-admin/?pods_modal=1" class="button pods-related-add-new pods-modal" data-pod-id="<%- fieldConfig.pod_id %>" data-field-id="<%- fieldConfig.id %>" data-item-id="<%- fieldConfig.item_id %>">\n\t<%- PodsI18n.__( \'Add New\' ) %>\n</a>'),triggers:{"click @ui.addButton":"add:new:click"},disable:function(){this.getUI("addButton").addClass(F)},enable:function(){this.getUI("addButton").removeClass(F)},onAddNewClick:function(){this.getUI("addButton").hasClass(F)||this.trigger("childview:add:new",this)}}),D={checkbox:L,select:B,select2:B,radio:j,list:U},Q=void 0,$=r.extend({childViewEventPrefix:!1,template:_.template('<%if ( fieldConfig.view_name === \'list\' ) { %>\n\t<div class="pods-ui-list-autocomplete"></div>\n<% } %>\n\n<div class="pods-pick-values"></div>\n\n<% if ( fieldConfig.iframe_src != \'\' ) { %>\n\t<div class="pods-ui-add-new"></div>\n<% } %>'),regions:{autocomplete:".pods-ui-list-autocomplete",list:".pods-pick-values",addNew:".pods-ui-add-new"},childViewEvents:{"childview:remove:item:click":"onChildviewRemoveItemClick","childview:edit:item:click":"onChildviewEditItemClick","childview:selection:limit:over":"onChildviewSelectionLimitOver","childview:selection:limit:under":"onChildviewSelectionLimitUnder","childview:change:selected":"onChildviewChangeSelected","childview:add:new":"onChildviewAddNew"},onBeforeRender:function(){void 0===this.collection&&(this.collection=new A(this.fieldItemData))},onRender:function(){this.fieldConfig=new M(this.model.get("fieldConfig")),""!==this.fieldConfig.get("iframe_src")&&1==this.fieldConfig.get("pick_allow_add_new")&&this.showAddNew(),"list"===this.fieldConfig.get("view_name")&&this.buildAutocomplete(),this.showList()},buildAutocomplete:function(){var e,i,t=void 0,l=void 0,n=+this.fieldConfig.get("pick_limit");t={view_name:"select2",pick_format_type:"multi",selectFromExisting:!0,ajax_data:this.fieldConfig.get("ajax_data"),select2_overrides:this.fieldConfig.get("select2_overrides"),label:this.fieldConfig.get("label"),pick_limit:n},this.collection.filterBySelected().length>=n&&0!==n?(t.limitDisable=!0,this.onChildviewSelectionLimitOver()):this.onChildviewSelectionLimitUnder(),e=new o({fieldConfig:t}),i=this.collection.filterByUnselected(),(l=new B({collection:i,fieldModel:e})).filterAjaxList=this.filterAjaxList.bind(this),this.showChildView("autocomplete",l)},showList:function(){var e,i;if(e=this.fieldConfig.get("view_name"),void 0===D[e])throw new Error('Invalid view name "'+e+'"');i=new D[e]({collection:this.collection,fieldModel:this.model}),this.showChildView("list",i)},showAddNew:function(){var e=new R({fieldModel:this.model});this.showChildView("addNew",e)},filterAjaxList:function(e){var i=this.collection.filterBySelected(),t=[];return _.each(e.results,function(e){e.text=e.name,i.get(e.id)||t.push(e)}),this.collection.add(t),this.getChildView("autocomplete").setCollection(this.collection.filterByUnselected()),{results:t}},onChildviewSelectionLimitOver:function(e){var i=this.getChildView("addNew");i&&i.disable()},onChildviewSelectionLimitUnder:function(e){var i=this.getChildView("addNew");i&&i.enable()},onChildviewRemoveItemClick:function(e){e.model.toggleSelected(),this.getChildView("list").render(),"list"===this.fieldConfig.get("view_name")&&this.buildAutocomplete()},onChildviewAddNew:function(e){var i=this.model.get("fieldConfig");Q=new P({title:i.iframe_title_add,src:i.iframe_src}),this.setModalListeners(),Q.modal.open()},onChildviewEditItemClick:function(e){var i=this.model.get("fieldConfig");Q=new P({title:i.iframe_title_edit,src:e.ui.editButton.attr("href")}),this.setModalListeners(),Q.modal.open()},onChildviewChangeSelected:function(e){e.fieldConfig.selectFromExisting&&(_.defer(this.buildAutocomplete.bind(this)),this.getChildView("list").render())},setModalListeners:function(){jQuery(window).on("dfv:modal:update",this.modalSuccess.bind(this)),jQuery(window).on("dfv:modal:cancel",this.modalCancel.bind(this))},clearModalListeners:function(){jQuery(window).off("dfv:modal:update"),jQuery(window).off("dfv:modal:cancel")},modalSuccess:function(e,i){var t=this.collection.get(i.id);t?(t.set(i),this.getChildView("list").render()):this.collection.add(i),this.clearModalListeners(),Q.modal.close({})},modalCancel:function(){this.clearModalListeners()}}),z={file:y,avatar:y,pick:$},T={fields:Object.freeze({FileUpload:y,Pick:$}),models:Object.freeze({PodsDFVFieldModel:o,RelationshipModel:S,RelationshipCollection:A,FileUploadModel:f,FileUploadCollection:h}),fieldInstances:{},init:function(){var l=this;jQuery(".pods-form-ui-field").each(function(){var e=void 0,i=void 0,t={fieldType:void 0};jQuery(this).find("script.pods-dfv-field-data").each(function(){var e=jQuery.parseJSON(jQuery(this).html());jQuery(this).parents(".media-modal-content").length&&(e.fieldConfig.pick_allow_add_new=0),jQuery.extend(t,e),jQuery(this).remove()}),void 0!==t.fieldType&&void 0!==(e=z[t.fieldType])&&((i=new e({el:this,model:new o({htmlAttr:t.htmlAttr,fieldConfig:t.fieldConfig}),fieldItemData:t.fieldItemData})).render(),jQuery(this).trigger("render"),l.fieldInstances[t.htmlAttr.id]=i)})},isModalWindow:function(){return-1!==location.search.indexOf("pods_modal=")},isGutenbergEditorLoaded:function(){return void 0!==wp.data&&void 0!==wp.data.select("core/editor")}};return document.addEventListener("DOMContentLoaded",function(){T.init(),T.isModalWindow()&&T.isGutenbergEditorLoaded()&&i()}),T}();
2
  //# sourceMappingURL=pods-dfv.min.js.map