website/wp-content/plugins/gravityforms/js/gf_field_filter.min.js

1 line
5.7 KiB
JavaScript

!function(s){var n,d,g,u,c,v,m,p,h;function b(){var e,t;return e="<div class='gform-field-filter'>",e+=function(){var e,t,r=[];for(r.push("<select class='gform-filter-field' name='f[]' >"),e=0;e<g.length;e++)t=y(g[e]),r.push(t);return r.push("</select>"),r.push("<input type='hidden' class='gform-filter-type' name='t[]' value='' >"),r.join("")}()+i()+o()+(t="",p?(t+="<img class='gform-add' src='{0}/add.png' alt='{1}' title='{2}'>".format(v,gf_vars.addFieldFilter,gf_vars.addFieldFilter),t+="<img class='gform-remove' src='"+v+"/remove.png' alt='"+gf_vars.removeFieldFilter+"' title='"+gf_vars.removeFieldFilter+"'>"):t),e+="</div>"}function y(e,t){t=t||0;var r,i,o,l,a,f,n,s,d,g,u="",c=[],v="&nbsp;&nbsp;&nbsp;&nbsp;";if(i=e.key,e.group){for(n=e.filters.length,f=[],g=e.isNestable?t+1:t,r=0;r<n;r++)(s=e.filters[r]).group?(d=y(s,g),f.push(d)):(l=v.repeat(g)+s.text,u=j(o=s.key)?'disabled="disabled"':"",f.push('<option {0} value="{1}">{2}</option>'.format(u,o,l)));a=v.repeat(t)+e.text,e.isNestable?c.push('<optgroup label="{0}"></optgroup>{1}'.format(a,f.join(""))):c.push('<optgroup label="{0}">{1}</optgroup>'.format(a,f.join("")))}else u=e.preventMultiple&&j(i)?"disabled='disabled'":"",l=e.text,c.push('<option {0} value="{1}">{2}</option>'.format(u,i,l));return c.join("")}function F(e){var t=s(e),r=l(t.siblings(".gform-filter-field").val());r&&t.siblings(".gform-filter-value").replaceWith(o(r,e.value)),x(),window.gformInitDatepicker&&gformInitDatepicker()}function _(e){var t=l(e.value);if(t){var r=s(e);r.siblings(".gform-filter-value").replaceWith(o(t)),r.siblings(".gform-filter-type").val(t.type),r.siblings(".gform-filter-operator").replaceWith(i(t)),r.siblings(".gform-filter-operator").change()}x()}function j(e){e=e.toString();var r=[];return s(".gform-filter-field :selected").each(function(e,t){r[e]=s(t).val()}),-1<s.inArray(e,r)}function i(e){var t,r,i="<select name='o[]' class='gform-filter-operator'>";if(e)for(t=0;t<e.operators.length;t++)r=e.operators[t],i+='<option value="{0}">{1}</option>'.format(r,gf_vars[d[r]]);return i+="</select>"}function o(e,t){var r,i,o,l,a,f,n="";if(f="gform-filter-value",e&&void 0!==e.cssClass&&(f+=" "+e.cssClass),e&&e.values&&"contains"!=t){for(void 0!==e.placeholder&&(n+='<option value="">{0}</option>'.format(e.placeholder)),r=0;r<e.values.length;r++)i=e.values[r].value,o=e.values[r].text,e.values[r].operators&&-1===s.inArray(t,e.values[r].operators)||(n+='<option value="{0}">{1}</option>'.format(i,o));l="<select name='v[]' class='{0}'>{1}</select>".format(f,n)}else a=e&&void 0!==e.placeholder?"placeholder='{0}'".format(e.placeholder):"",l="<input type='text' value='' name='v[]' class='{0}' {1}/>".format(f,a);return l}function l(e,t){var r;if(e){t=t||g;for(var i=0;i<t.length;i++){if(e==t[i].key)return t[i];if(t[i].group&&(r=l(e,t[i].filters)))return r}}}function k(){if(m){var e=s("#gform-field-filters");if(s(".gform-field-filter").length<=1)s(n).hasClass("ui-resizable")&&n.resizable("destroy");else e.get(0).scrollHeight>n.height()||n.height()>=h?(n.css({"min-height":h+"px","border-bottom":"5px double #DDD"}).resizable({handles:"s",minHeight:h}),e.css("min-height",h)):n.css({"min-height":"","border-bottom":""})}}function w(){var e="";e+="<div id='gform-no-filters' >"+gf_vars.addFieldFilter,e+="<img class='gform-add' src='{0}/add.png' alt='{1}' title='{2}'></div>".format(v,gf_vars.addFieldFilter,gf_vars.addFieldFilter),s("#gform-field-filters").html(e),m&&(n.css({"min-height":"","border-bottom":""}),n.height(80),s("#gform-field-filters").css("min-height",""))}function x(){s("select.gform-filter-field option").removeAttr("disabled"),s("select.gform-filter-field").each(function(e){var t=l(this.value);void 0!==t&&t.preventMultiple&&j(this.value)&&s("select.gform-filter-field option[value='"+this.value+"']:not(:selected)").attr("disabled","disabled")})}function A(e){var t;return t='<select name="mode"><option value="all" {0}>{1}</option><option value="any" {2}>{3}</option></select>'.format(r("all",e),gf_vars.all,r("any",e),gf_vars.any),t=gf_vars.filterAndAny.format(t)}function r(e,t){return e==t?'selected="selected"':""}function D(e){var t,r;(r=(t=s(e)).is("img")?t.parent():t).after(b()),r.next("div").find(".gform-filter-field").change().find(".gform-filter-operator").change(),1==s(".gform-field-filter").length&&r.after(A()),k()}s.fn.gfFilterUI=function(e,t,r,i){var o,l,a,f;return o=e,l=t,a=r,f=i,(n=s(this)).css("position","relative").html('<div id="gform-field-filters"></div>'),m=void 0!==(h=f)&&0<h,d={is:"is",isnot:"isNot",">":"greaterThan","<":"lessThan",contains:"contains",starts_with:"startsWith",ends_with:"endsWith"},v=gf_vars.baseUrl+"/images",g=o,u=l&&l.filters?l.filters:[],c=l&&l.mode?l.mode:"all",p=!(void 0!==a&&!a),function(r){var e;if(n.on("change",".gform-filter-field",function(){_(this)}),n.on("click","#gform-no-filters",function(e){0==s(".gform-field-filter").length&&D(this),s(this).remove()}),n.on("click",".gform-add",function(){D(this)}),n.on("click",".gform-remove",function(){!function(e){s(e).parent().remove(),0==s(".gform-field-filter").length&&w();x(),k()}(this)}),n.on("change",".gform-filter-operator",function(){F(this,this.value)}),void 0===r||0==r.length)return w();"off"!=c&&s("#gform-field-filters").append(A(c));for(e=0;e<r.length;e++)s("#gform-field-filters").append(b());s(".gform-filter-field").each(function(e){var t=r[e].field;jQuery(this).val(t),_(this)}),s(".gform-filter-operator").each(function(e){var t=r[e].operator;jQuery(this).val(t),F(this,this.value)}),s(".gform-filter-value").each(function(e){var t=r[e].value;jQuery(this).val(t),jQuery(this).change()}),k()}(u),this},String.prototype.format=function(){var r=arguments;return this.replace(/{(\d+)}/g,function(e,t){return void 0!==r[t]?r[t]:e})}}((window.gfFilterUI=window.gfFilterUI||{},jQuery));