Plugin Directory

Changeset 3328398


Ignore:
Timestamp:
07/15/2025 04:45:16 PM (9 months ago)
Author:
grzelkowski
Message:

version 1.7.6

Location:
quick-ajax-post-loader/trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • quick-ajax-post-loader/trunk/css/admin-style.css

    r3321429 r3328398  
    11/* colors */
    2 input:checked + .switch {
    3     background-color: #2271b1;
    4 }
    5 .light-style input:checked + .switch {
    6     background-color: #04a4cc;
    7 }
    8 .light-style select:focus {
    9     border-color: #04a4cc;
    10     -webkit-box-shadow: 0 0 0 1px #04a4cc;
    11             box-shadow: 0 0 0 1px #04a4cc;
    12 }
    13 .modern-style input:checked + .switch {
    14     background-color: #3858e9;
    15 }
    16 .modern-style select:focus {
    17     border-color: #3858e9;
    18     -webkit-box-shadow: 0 0 0 1px #3858e9;
    19             box-shadow: 0 0 0 1px #3858e9;
    20 }
    21 .blue-style input:checked + .switch {
    22     background-color: #e1a948;
    23 }
    24 .blue-style select:focus {
    25     border-color: #e1a948;
    26     -webkit-box-shadow: 0 0 0 1px #e1a948;
    27             box-shadow: 0 0 0 1px #e1a948;
    28 }
    29 .coffee-style input:checked + .switch {
    30     background-color: #c7a589;
    31 }
    32 .coffee-style select:focus {
    33     border-color: #c7a589;
    34     -webkit-box-shadow: 0 0 0 1px #c7a589;
    35             box-shadow: 0 0 0 1px #c7a589;
    36 }
    37 .ectoplasm-style input:checked + .switch {
    38     background-color: #a3b745;
    39 }
    40 .ectoplasm-style select:focus {
    41     border-color: #a3b745;
    42     -webkit-box-shadow: 0 0 0 1px #a3b745;
    43             box-shadow: 0 0 0 1px #a3b745;
    44 }
    45 .midnight-style input:checked + .switch {
    46     background-color: #e14d43;
    47 }
    48 .midnight-style select:focus {
    49     border-color: #e14d43;
    50     -webkit-box-shadow: 0 0 0 1px #e14d43;
    51             box-shadow: 0 0 0 1px #e14d43;
    52 }
    53 .ocean-style input:checked + .switch {
    54     background-color: #9ebaa0;
    55 }
    56 .ocean-style select:focus {
    57     border-color: #9ebaa0;
    58     -webkit-box-shadow: 0 0 0 1px #9ebaa0;
    59             box-shadow: 0 0 0 1px #9ebaa0;
    60 }
    61 .sunrise-style input:checked + .switch {
    62     background-color: #dd823b;
    63 }
    64 .sunrise-style select:focus {
    65     border-color: #dd823b;
    66     -webkit-box-shadow: 0 0 0 1px #dd823b;
    67             box-shadow: 0 0 0 1px #dd823b;
    68 }
    69 
    70 .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus,
    71 .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:active {
    72     outline-color: #2271b1;
    73 }
    74 .light-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus,
    75 .light-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:active {
    76     outline-color: #04a4cc;
    77 }
    78 .modern-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus,
    79 .modern-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:active {
    80     outline-color: #3858e9;
    81 }
    82 .blue-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus,
    83 .blue-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:active {
    84     outline-color: #e1a948;
    85 }
    86 .coffee-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus,
    87 .coffee-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:active {
    88     outline-color: #c7a589;
    89 }
    90 .ectoplasm-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus,
    91 .ectoplasm-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:active {
    92     outline-color: #a3b745;
    93 }
    94 .midnight-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus,
    95 .midnight-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:active {
    96     outline-color: #e14d43;
    97 }
    98 .ocean-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus,
    99 .ocean-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:active {
    100     outline-color: #9ebaa0;
    101 }
    102 .sunrise-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus,
    103 .sunrise-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:active {
    104     outline-color: #dd823b;
    105 }
     2.quick-ajax-form-wrap,
     3#shortcode-box-wrap {
     4    --qapl-theme-color: #2271b1;
     5    --qapl-bg: #ffffff;
     6    --qapl-bg-muted: #f6f7f7;
     7    --qapl-border: #c3c4c7;
     8    --qapl-text-muted: #50575e;
     9    --qapl-switch-bg: #cccccc;
     10    --qapl-switch-shadow: rgba(0,0,0,0.5);
     11    --qapl-tab-bg: #dcdcdc;
     12    --qapl-code-bg: #fcfcfc;
     13}
     14.light-style {
     15    --qapl-theme-color: #04a4cc;
     16}
     17.modern-style {
     18    --qapl-theme-color: #3858e9;
     19}
     20.blue-style {
     21    --qapl-theme-color: #e1a948;
     22}
     23.coffee-style {
     24    --qapl-theme-color: #c7a589;
     25}
     26.ectoplasm-style {
     27    --qapl-theme-color: #a3b745;
     28}
     29.midnight-style {
     30    --qapl-theme-color: #e14d43;
     31}
     32.ocean-style {
     33    --qapl-theme-color: #9ebaa0;
     34}
     35.sunrise-style {
     36    --qapl-theme-color: #dd823b;
     37}
     38
    10639
    10740/* shortcode box */
     
    11447        -ms-flex-direction:column;
    11548            flex-direction:column;
    116     margin-top:10px;
     49    margin-top:16px;
    11750}
    11851#shortcode-box-wrap .shortcode-description{
    119     padding: 0px 14px;
    120 }
    121 #shortcode-box-wrap code{
    122     line-height: 2;
     52    padding: 0px 2px;
     53    margin-bottom:4px;
     54}
     55#shortcode-box-wrap .click-and-select-all{
     56    display: -webkit-box;
     57    display: -ms-flexbox;
     58    display: flex;
     59    -webkit-box-orient: vertical;
     60    -webkit-box-direction: normal;
     61        -ms-flex-direction: column;
     62            flex-direction: column;
     63    -ms-flex-wrap: wrap;
     64        flex-wrap: wrap;
     65    margin-right: auto;
     66}
     67#shortcode-box-wrap pre{
     68    margin:0;
    12369    padding: 10px 10px 11px;
    12470    border:1px solid #8c8f94;
    12571    border-radius: 3px;
    126     background: rgba(255, 255, 255, .5);
     72    background: var(--qapl-code-bg);
     73}
     74#shortcode-box-wrap code{
     75    line-height: 1;
     76    background: var(--qapl-code-bg);
     77    white-space: pre-wrap;
     78    word-break: break-word;
    12779    cursor:pointer;
    12880    -webkit-transition: .3s;
     
    13183
    13284/* switch button */
    133 .switch-checkbox{
     85.quick-ajax-form-wrap .switch-checkbox{
    13486    display: inline-block;
    13587    min-height: 30px;
    13688}
    137 .switch-wrap {
     89.quick-ajax-form-wrap .switch-wrap {
    13890    position: relative;
    13991    width: 40px;
     
    14193    margin-top: 6px;
    14294}
    143 .switch-wrap input {
     95.quick-ajax-form-wrap .switch-wrap input {
    14496    opacity: 0;
    14597    width: 0;
    14698    height: 0;
    14799}
    148 .switch {
     100.quick-ajax-form-wrap .switch {
    149101    border-radius: 12px;
    150102    }
    151 .switch:before {
     103.quick-ajax-form-wrap .switch:before {
    152104    border-radius: 50%;
    153105}
    154 input + .switch {
     106.quick-ajax-form-wrap input + .switch {
    155107    position: absolute;
    156108    cursor: pointer;
     
    159111    right: 0;
    160112    bottom: 1px;
    161     background-color: #ccc;
    162     -webkit-box-shadow: inset 0 0 3px rgba(0,0,0,0.5);
    163             box-shadow: inset 0 0 3px rgba(0,0,0,0.5);
     113    background-color: var(--qapl-switch-bg);
     114    -webkit-box-shadow: inset 0 0 3px var(--qapl-switch-shadow);
     115            box-shadow: inset 0 0 3px var(--qapl-switch-shadow);
    164116    -webkit-transition: .3s;
    165117    transition: .3s;
    166118}
    167 .switch:before {
     119.quick-ajax-form-wrap .switch:before {
    168120    position: absolute;
    169121    content: "";
     
    172124    left: 3px;
    173125    bottom: 3px;
    174     background-color: white;
     126    background-color: var(--qapl-bg);
    175127    -webkit-transition: .4s;
    176128    transition: .4s;
    177129}
    178 input:checked + .switch {
    179     -webkit-box-shadow: inset 0 0 3px rgba(0,0,0,0.5);
    180             box-shadow: inset 0 0 3px rgba(0,0,0,0.5);
    181 }
    182 input:focus + .switch {
    183     -webkit-box-shadow: inset 0 0 3px rgba(0,0,0,0.5);
    184             box-shadow: inset 0 0 3px rgba(0,0,0,0.5);
    185 }
    186 input:checked + .switch:before {
     130.quick-ajax-form-wrap input:checked + .switch {
     131    background-color: var(--qapl-theme-color);
     132    -webkit-box-shadow: inset 0 0 3px var(--qapl-switch-shadow);
     133            box-shadow: inset 0 0 3px var(--qapl-switch-shadow);
     134}
     135.quick-ajax-form-wrap input:focus + .switch {
     136    -webkit-box-shadow: inset 0 0 3px var(--qapl-switch-shadow);
     137            box-shadow: inset 0 0 3px var(--qapl-switch-shadow);
     138}
     139.quick-ajax-form-wrap input:checked + .switch:before {
    187140    -webkit-transform: translateX(20px);
    188141    -ms-transform: translateX(20px);
    189142    transform: translateX(20px);
    190143}
     144/* quick ajax form wrap */
    191145.quick-ajax-form-wrap{
    192146    margin-top: 2rem;
     
    201155            flex-direction: column;
    202156}
     157.quick-ajax-form-wrap select:focus {
     158    border-color: var(--qapl-theme-color);
     159    -webkit-box-shadow: 0 0 0 1px var(--qapl-theme-color);
     160            box-shadow: 0 0 0 1px var(--qapl-theme-color);
     161}
    203162.quick-ajax-form-wrap .quick-ajax-field-container{
    204163    position: relative;
     
    212171        -ms-flex-align: start;
    213172            align-items: flex-start;
    214     gap:1rem;
    215     margin-bottom: 1rem;
     173    gap:16px;
     174    margin-bottom: 16px;
    216175    visibility: visible;
    217176    opacity:1;
     
    234193.quick-ajax-form-wrap .quick-ajax-field-container > .quick-ajax-field {
    235194    max-width: 580px;
    236     width: calc(100% - 210px);
     195    width: calc(100% - 226px);
    237196}
    238197.quick-ajax-form-wrap .quick-ajax-field-container .quick-ajax-field > div,
     
    265224    margin-top: 5px;
    266225    margin-bottom: 0;
    267     color: #50575e;
     226    color: var(--qapl-text-muted);
    268227    font-style: italic;
    269228}
     
    287246            flex-basis:100%;
    288247    }
     248   
    289249 }
    290250
     
    303263    bottom:0;
    304264    height: 1px;
    305     background-color: #c3c4c7;
     265    background-color: var(--qapl-border);
    306266}
    307267.quick-ajax-tab-button {
     
    310270    cursor: pointer;
    311271    z-index: 0;
    312     background:#dcdcdc;
    313     border:1px solid #c3c4c7;
     272    background:var(--qapl-tab-bg);
     273    border:1px solid var(--qapl-border);
    314274    border-top-left-radius: 3px;
    315275    border-top-right-radius: 3px;
     
    329289    -webkit-transition: all 0.3s ease;
    330290    transition: all 0.3s ease;
    331     background: #f6f7f7;
     291    background: var(--qapl-bg-mute);
    332292}
    333293.quick-ajax-tab-button.active{
    334     background:#ffffff;
     294    background:var(--qapl-bg);
    335295    z-index: 1;
    336     border-bottom:1px solid #ffffff;
     296    border-bottom:1px solid var(--qapl-bg);
    337297    -webkit-transition: all 0.1s ease;
    338298    transition: all 0.1s ease;
     
    341301.quick-ajax-tab-content[hidden]{
    342302    position: relative;
    343     background: #fff;
    344     padding: 1rem;
    345     border: 1px solid #c3c4c7;
     303    background: var(--qapl-bg);
     304    padding: 16px;
     305    border: 1px solid var(--qapl-border);
    346306    -webkit-box-shadow: 0 1px 1px rgba(0,0,0,.04);
    347307            box-shadow: 0 1px 1px rgba(0,0,0,.04);
     
    438398        flex-wrap: wrap;
    439399    overflow: hidden;
    440     margin-bottom: 1rem;
     400    margin-bottom: 16px;
    441401}
    442402.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle{
     
    453413    -ms-flex-wrap: wrap;
    454414        flex-wrap: wrap;
    455     padding: 1em 1.5em;
    456     background: #ffffff;
    457     border: 1px solid #c3c4c7;
     415    padding: 0 1.5em;
     416    min-height: 44px;
     417    background: var(--qapl-bg);
     418    border: 1px solid var(--qapl-border);
    458419    cursor: pointer;
    459420    outline: unset;
    460421}
    461422.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:hover{
    462     background: #f6f7f7;
     423    background: var(--qapl-bg-muted);
    463424}
    464425.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus,
     
    467428    outline-style: solid;
    468429    outline-offset: -2px;
    469     background-color: #f6f7f7;   
     430    outline-color: var(--qapl-theme-color);
     431    background-color: var(--qapl-bg-muted);   
    470432    z-index: 1;
    471433}
    472434.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle.active{
    473     background:#ffffff;
     435    background:var(--qapl-bg);
    474436}
    475437.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle.active:hover{
    476     background: #f6f7f7;
     438    background: var(--qapl-bg-muted);
    477439}
    478440.quick-ajax-accordion-wrapper .accordion-title{
     441    max-width: calc(100% - 26px);
    479442    font-size: 13px;
    480443    font-weight: 600;
     444    line-height: 1;
    481445    margin:0;
    482446}
     
    515479.quick-ajax-accordion-wrapper .quick-ajax-accordion-content{
    516480    display: none;
    517     border: 1px solid #c3c4c7;
     481    border: 1px solid var(--qapl-border);
    518482    border-top: none;
    519483    padding: 0 1.5em 1em 1.5em;
     
    523487    position: absolute;
    524488    display: block;
    525     background: #ffffff;
     489    background: var(--qapl-bg);
    526490    height: 1px;
    527491    left: 1px;
     
    613577    }
    614578}
    615 
    616 
    617 
    618 
  • quick-ajax-post-loader/trunk/css/admin-style.min.css

    r3321429 r3328398  
    1 input:checked+.switch{background-color:#2271b1}.light-style input:checked+.switch{background-color:#04a4cc}.light-style select:focus{border-color:#04a4cc;-webkit-box-shadow:0 0 0 1px #04a4cc;box-shadow:0 0 0 1px #04a4cc}.modern-style input:checked+.switch{background-color:#3858e9}.modern-style select:focus{border-color:#3858e9;-webkit-box-shadow:0 0 0 1px #3858e9;box-shadow:0 0 0 1px #3858e9}.blue-style input:checked+.switch{background-color:#e1a948}.blue-style select:focus{border-color:#e1a948;-webkit-box-shadow:0 0 0 1px #e1a948;box-shadow:0 0 0 1px #e1a948}.coffee-style input:checked+.switch{background-color:#c7a589}.coffee-style select:focus{border-color:#c7a589;-webkit-box-shadow:0 0 0 1px #c7a589;box-shadow:0 0 0 1px #c7a589}.ectoplasm-style input:checked+.switch{background-color:#a3b745}.ectoplasm-style select:focus{border-color:#a3b745;-webkit-box-shadow:0 0 0 1px #a3b745;box-shadow:0 0 0 1px #a3b745}.midnight-style input:checked+.switch{background-color:#e14d43}.midnight-style select:focus{border-color:#e14d43;-webkit-box-shadow:0 0 0 1px #e14d43;box-shadow:0 0 0 1px #e14d43}.ocean-style input:checked+.switch{background-color:#9ebaa0}.ocean-style select:focus{border-color:#9ebaa0;-webkit-box-shadow:0 0 0 1px #9ebaa0;box-shadow:0 0 0 1px #9ebaa0}.sunrise-style input:checked+.switch{background-color:#dd823b}.sunrise-style select:focus{border-color:#dd823b;-webkit-box-shadow:0 0 0 1px #dd823b;box-shadow:0 0 0 1px #dd823b}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:active,.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus{outline-color:#2271b1}.light-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:active,.light-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus{outline-color:#04a4cc}.modern-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:active,.modern-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus{outline-color:#3858e9}.blue-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:active,.blue-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus{outline-color:#e1a948}.coffee-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:active,.coffee-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus{outline-color:#c7a589}.ectoplasm-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:active,.ectoplasm-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus{outline-color:#a3b745}.midnight-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:active,.midnight-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus{outline-color:#e14d43}.ocean-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:active,.ocean-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus{outline-color:#9ebaa0}.sunrise-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:active,.sunrise-style .quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus{outline-color:#dd823b}#shortcode-box-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-top:10px}#shortcode-box-wrap .shortcode-description{padding:0 14px}#shortcode-box-wrap code{line-height:2;padding:10px 10px 11px;border:1px solid #8c8f94;border-radius:3px;background:rgba(255,255,255,.5);cursor:pointer;-webkit-transition:.3s;transition:.3s}.switch-checkbox{display:inline-block;min-height:30px}.switch-wrap{position:relative;width:40px;height:20px;margin-top:6px}.switch-wrap input{opacity:0;width:0;height:0}.switch{border-radius:12px}.switch:before{border-radius:50%}input+.switch{position:absolute;cursor:pointer;top:-1px;left:0;right:0;bottom:1px;background-color:#ccc;-webkit-box-shadow:inset 0 0 3px rgba(0,0,0,.5);box-shadow:inset 0 0 3px rgba(0,0,0,.5);-webkit-transition:.3s;transition:.3s}.switch:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:#fff;-webkit-transition:.4s;transition:.4s}input:checked+.switch{-webkit-box-shadow:inset 0 0 3px rgba(0,0,0,.5);box-shadow:inset 0 0 3px rgba(0,0,0,.5)}input:focus+.switch{-webkit-box-shadow:inset 0 0 3px rgba(0,0,0,.5);box-shadow:inset 0 0 3px rgba(0,0,0,.5)}input:checked+.switch:before{-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px)}.quick-ajax-form-wrap{margin-top:2rem;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.quick-ajax-form-wrap .quick-ajax-field-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:1rem;margin-bottom:1rem;visibility:visible;opacity:1;-webkit-transition:.15s;transition:.15s}.quick-ajax-form-wrap .quick-ajax-field-container.inactive{visibility:hidden;opacity:0;height:0;margin-bottom:0;-webkit-transition:.15s;transition:.15s}.quick-ajax-form-wrap .quick-ajax-field-container>label{width:210px;margin-top:6px}.quick-ajax-form-wrap .quick-ajax-field-container>.quick-ajax-field{max-width:580px;width:calc(100% - 210px)}.quick-ajax-form-wrap .quick-ajax-field-container .quick-ajax-field>div,.quick-ajax-form-wrap .quick-ajax-field-container .quick-ajax-field>input,.quick-ajax-form-wrap .quick-ajax-field-container .quick-ajax-field>select{max-width:100%;width:100%}.quick-ajax-form-wrap .quick-ajax-field-container.quick-ajax-multiselect-field .quick-ajax-field .quick-ajax-field-options{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.quick-ajax-form-wrap .quick-ajax-field-container.quick-ajax-multiselect-field .quick-ajax-field .quick-ajax-field-options>.quick-ajax-multiselect-option{-webkit-box-flex:0;-ms-flex:0 1 calc(100% / 3);flex:0 1 calc(100% / 3);min-width:180px;padding:6px 0;min-height:32px;-webkit-box-sizing:border-box;box-sizing:border-box}.quick-ajax-form-wrap .quick-ajax-field-container.quick-ajax-multiselect-field .quick-ajax-field .quick-ajax-field-options>.quick-ajax-multiselect-option label{cursor:pointer}.quick-ajax-form-wrap .quick-ajax-field-container .quick-ajax-field-desc{margin-top:5px;margin-bottom:0;color:#50575e;font-style:italic}.quick-ajax-form-wrap .quick-ajax-field-container>input,.quick-ajax-form-wrap .quick-ajax-field-container>select{padding:0 6px;margin:0}@media (max-width:782px){.quick-ajax-form-wrap .quick-ajax-field-container>label{-ms-flex-preferred-size:100%;flex-basis:100%;margin-top:0;margin-right:0}.quick-ajax-form-wrap .quick-ajax-field-container>.quick-ajax-field{-ms-flex-preferred-size:100%;flex-basis:100%}}.quick-ajax-tabs{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;overflow:hidden}.quick-ajax-tabs:before{content:'';position:absolute;width:100%;bottom:0;height:1px;background-color:#c3c4c7}.quick-ajax-tab-button{position:relative;padding:5px 10px;cursor:pointer;z-index:0;background:#dcdcdc;border:1px solid #c3c4c7;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-left-radius:0;border-bottom-right-radius:0;margin:0 5px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition:all .3s ease;transition:all .3s ease}.quick-ajax-tab-button:first-of-type{margin-left:0}.quick-ajax-tab-button:hover{-webkit-transition:all .3s ease;transition:all .3s ease;background:#f6f7f7}.quick-ajax-tab-button.active{background:#fff;z-index:1;border-bottom:1px solid #fff;-webkit-transition:all .1s ease;transition:all .1s ease}.quick-ajax-tab-content,.quick-ajax-tab-content[hidden]{position:relative;background:#fff;padding:1rem;border:1px solid #c3c4c7;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);display:none}.quick-ajax-tab-content.active{display:block}.quick-ajax-tab-content+.quick-ajax-tab-content,.quick-ajax-tabs+.quick-ajax-tab-content{border-top:none}.function-generator-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:start;-webkit-column-gap:100px;-moz-column-gap:100px;column-gap:100px}.function-generator-options{max-width:580px}.function-generator-options .quick-ajax-field-container.quick-ajax-multiselect-field .quick-ajax-field .quick-ajax-field-options>.quick-ajax-multiselect-option{min-width:50%}.function-generator-result{width:auto;-webkit-box-flex:1;-ms-flex:1;flex:1;max-width:480px}.function-generator-result>pre{overflow:auto}@media (max-width:1200px){.function-generator-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.function-generator-options,function-generator-result{width:100%;max-width:unset}}.quick-ajax-form-wrap code.no-background{background:0 0;padding:3px 0 2px;font-size:14px}.quick-ajax-form-wrap code.code-tag{padding:2px 4px 3px;margin:0 1px;background:rgba(0,0,0,.07)}.quick-ajax-form-wrap pre{white-space:pre-wrap;word-wrap:break-word}.quick-ajax-form-wrap ul.ul-numbered{list-style-type:decimal;padding-left:13px}.quick-ajax-form-wrap li ul{margin-top:6px}.quick-ajax-accordion-wrapper{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;overflow:hidden;margin-bottom:1rem}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:1em 1.5em;background:#fff;border:1px solid #c3c4c7;cursor:pointer;outline:unset}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:hover{background:#f6f7f7}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:active,.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus{outline-width:2px;outline-style:solid;outline-offset:-2px;background-color:#f6f7f7;z-index:1}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle.active{background:#fff}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle.active:hover{background:#f6f7f7}.quick-ajax-accordion-wrapper .accordion-title{font-size:13px;font-weight:600;margin:0}.quick-ajax-accordion-wrapper .accordion-icon{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transform:rotateX(0);transform:rotateX(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle.active .accordion-icon{-webkit-transform:rotateX(180deg);transform:rotateX(180deg);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.quick-ajax-accordion-wrapper .accordion-icon span{pointer-events:none;position:absolute;border:solid #50575e;border-width:0 2px 2px 0;height:.5rem;width:.5rem;top:50%;right:0;-webkit-transform:translateY(-70%) rotate(45deg);-ms-transform:translateY(-70%) rotate(45deg);transform:translateY(-70%) rotate(45deg)}.quick-ajax-accordion-wrapper .quick-ajax-accordion-content{display:none;border:1px solid #c3c4c7;border-top:none;padding:0 1.5em 1em 1.5em}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle.active+.quick-ajax-accordion-content:before{content:"";position:absolute;display:block;background:#fff;height:1px;left:1px;right:1px;margin-top:-1px}.qapl-admin-page-loader{position:relative;height:20px;width:40px;padding:6px 0;margin-left:0;vertical-align:middle}.qapl-admin-page-loader span{position:absolute;top:50%;left:0;width:6px;height:6px;background-color:#50575e;border-radius:50%;-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%);opacity:0;-webkit-animation:qapl-admin-loader-animation 1.8s linear infinite;animation:qapl-admin-loader-animation 1.8s linear infinite}.qapl-admin-page-loader span:nth-child(1){-webkit-animation-delay:0s;animation-delay:0s}.qapl-admin-page-loader span:nth-child(2){-webkit-animation-delay:.6s;animation-delay:.6s}.qapl-admin-page-loader span:nth-child(3){-webkit-animation-delay:1.2s;animation-delay:1.2s}@-webkit-keyframes qapl-admin-loader-animation{0%{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);opacity:0}10%{opacity:1}50%{-webkit-transform:translate(20px,-50%);transform:translate(20px,-50%);opacity:1}90%{opacity:0}100%{-webkit-transform:translate(40px,-50%);transform:translate(40px,-50%);opacity:0}}@keyframes qapl-admin-loader-animation{0%{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);opacity:0}10%{opacity:1}50%{-webkit-transform:translate(20px,-50%);transform:translate(20px,-50%);opacity:1}90%{opacity:0}100%{-webkit-transform:translate(40px,-50%);transform:translate(40px,-50%);opacity:0}}
     1#shortcode-box-wrap,.quick-ajax-form-wrap{--qapl-theme-color:#2271b1;--qapl-bg:#ffffff;--qapl-bg-muted:#f6f7f7;--qapl-border:#c3c4c7;--qapl-text-muted:#50575e;--qapl-switch-bg:#cccccc;--qapl-switch-shadow:rgba(0,0,0,0.5);--qapl-tab-bg:#dcdcdc;--qapl-code-bg:#fcfcfc}.light-style{--qapl-theme-color:#04a4cc}.modern-style{--qapl-theme-color:#3858e9}.blue-style{--qapl-theme-color:#e1a948}.coffee-style{--qapl-theme-color:#c7a589}.ectoplasm-style{--qapl-theme-color:#a3b745}.midnight-style{--qapl-theme-color:#e14d43}.ocean-style{--qapl-theme-color:#9ebaa0}.sunrise-style{--qapl-theme-color:#dd823b}#shortcode-box-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-top:16px}#shortcode-box-wrap .shortcode-description{padding:0 2px;margin-bottom:4px}#shortcode-box-wrap .click-and-select-all{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:auto}#shortcode-box-wrap pre{margin:0;padding:10px 10px 11px;border:1px solid #8c8f94;border-radius:3px;background:var(--qapl-code-bg)}#shortcode-box-wrap code{line-height:1;background:var(--qapl-code-bg);white-space:pre-wrap;word-break:break-word;cursor:pointer;-webkit-transition:.3s;transition:.3s}.quick-ajax-form-wrap .switch-checkbox{display:inline-block;min-height:30px}.quick-ajax-form-wrap .switch-wrap{position:relative;width:40px;height:20px;margin-top:6px}.quick-ajax-form-wrap .switch-wrap input{opacity:0;width:0;height:0}.quick-ajax-form-wrap .switch{border-radius:12px}.quick-ajax-form-wrap .switch:before{border-radius:50%}.quick-ajax-form-wrap input+.switch{position:absolute;cursor:pointer;top:-1px;left:0;right:0;bottom:1px;background-color:var(--qapl-switch-bg);-webkit-box-shadow:inset 0 0 3px var(--qapl-switch-shadow);box-shadow:inset 0 0 3px var(--qapl-switch-shadow);-webkit-transition:.3s;transition:.3s}.quick-ajax-form-wrap .switch:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:var(--qapl-bg);-webkit-transition:.4s;transition:.4s}.quick-ajax-form-wrap input:checked+.switch{background-color:var(--qapl-theme-color);-webkit-box-shadow:inset 0 0 3px var(--qapl-switch-shadow);box-shadow:inset 0 0 3px var(--qapl-switch-shadow)}.quick-ajax-form-wrap input:focus+.switch{-webkit-box-shadow:inset 0 0 3px var(--qapl-switch-shadow);box-shadow:inset 0 0 3px var(--qapl-switch-shadow)}.quick-ajax-form-wrap input:checked+.switch:before{-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px)}.quick-ajax-form-wrap{margin-top:2rem;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.quick-ajax-form-wrap select:focus{border-color:var(--qapl-theme-color);-webkit-box-shadow:0 0 0 1px var(--qapl-theme-color);box-shadow:0 0 0 1px var(--qapl-theme-color)}.quick-ajax-form-wrap .quick-ajax-field-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:16px;margin-bottom:16px;visibility:visible;opacity:1;-webkit-transition:.15s;transition:.15s}.quick-ajax-form-wrap .quick-ajax-field-container.inactive{visibility:hidden;opacity:0;height:0;margin-bottom:0;-webkit-transition:.15s;transition:.15s}.quick-ajax-form-wrap .quick-ajax-field-container>label{width:210px;margin-top:6px}.quick-ajax-form-wrap .quick-ajax-field-container>.quick-ajax-field{max-width:580px;width:calc(100% - 226px)}.quick-ajax-form-wrap .quick-ajax-field-container .quick-ajax-field>div,.quick-ajax-form-wrap .quick-ajax-field-container .quick-ajax-field>input,.quick-ajax-form-wrap .quick-ajax-field-container .quick-ajax-field>select{max-width:100%;width:100%}.quick-ajax-form-wrap .quick-ajax-field-container.quick-ajax-multiselect-field .quick-ajax-field .quick-ajax-field-options{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.quick-ajax-form-wrap .quick-ajax-field-container.quick-ajax-multiselect-field .quick-ajax-field .quick-ajax-field-options>.quick-ajax-multiselect-option{-webkit-box-flex:0;-ms-flex:0 1 calc(100% / 3);flex:0 1 calc(100% / 3);min-width:180px;padding:6px 0;min-height:32px;-webkit-box-sizing:border-box;box-sizing:border-box}.quick-ajax-form-wrap .quick-ajax-field-container.quick-ajax-multiselect-field .quick-ajax-field .quick-ajax-field-options>.quick-ajax-multiselect-option label{cursor:pointer}.quick-ajax-form-wrap .quick-ajax-field-container .quick-ajax-field-desc{margin-top:5px;margin-bottom:0;color:var(--qapl-text-muted);font-style:italic}.quick-ajax-form-wrap .quick-ajax-field-container>input,.quick-ajax-form-wrap .quick-ajax-field-container>select{padding:0 6px;margin:0}@media (max-width:782px){.quick-ajax-form-wrap .quick-ajax-field-container>label{-ms-flex-preferred-size:100%;flex-basis:100%;margin-top:0;margin-right:0}.quick-ajax-form-wrap .quick-ajax-field-container>.quick-ajax-field{-ms-flex-preferred-size:100%;flex-basis:100%}}.quick-ajax-tabs{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;overflow:hidden}.quick-ajax-tabs:before{content:'';position:absolute;width:100%;bottom:0;height:1px;background-color:var(--qapl-border)}.quick-ajax-tab-button{position:relative;padding:5px 10px;cursor:pointer;z-index:0;background:var(--qapl-tab-bg);border:1px solid var(--qapl-border);border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-left-radius:0;border-bottom-right-radius:0;margin:0 5px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition:all .3s ease;transition:all .3s ease}.quick-ajax-tab-button:first-of-type{margin-left:0}.quick-ajax-tab-button:hover{-webkit-transition:all .3s ease;transition:all .3s ease;background:var(--qapl-bg-mute)}.quick-ajax-tab-button.active{background:var(--qapl-bg);z-index:1;border-bottom:1px solid var(--qapl-bg);-webkit-transition:all .1s ease;transition:all .1s ease}.quick-ajax-tab-content,.quick-ajax-tab-content[hidden]{position:relative;background:var(--qapl-bg);padding:16px;border:1px solid var(--qapl-border);-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);display:none}.quick-ajax-tab-content.active{display:block}.quick-ajax-tab-content+.quick-ajax-tab-content,.quick-ajax-tabs+.quick-ajax-tab-content{border-top:none}.function-generator-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:start;-webkit-column-gap:100px;-moz-column-gap:100px;column-gap:100px}.function-generator-options{max-width:580px}.function-generator-options .quick-ajax-field-container.quick-ajax-multiselect-field .quick-ajax-field .quick-ajax-field-options>.quick-ajax-multiselect-option{min-width:50%}.function-generator-result{width:auto;-webkit-box-flex:1;-ms-flex:1;flex:1;max-width:480px}.function-generator-result>pre{overflow:auto}@media (max-width:1200px){.function-generator-wrap{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.function-generator-options,function-generator-result{width:100%;max-width:unset}}.quick-ajax-form-wrap code.no-background{background:0 0;padding:3px 0 2px;font-size:14px}.quick-ajax-form-wrap code.code-tag{padding:2px 4px 3px;margin:0 1px;background:rgba(0,0,0,.07)}.quick-ajax-form-wrap pre{white-space:pre-wrap;word-wrap:break-word}.quick-ajax-form-wrap ul.ul-numbered{list-style-type:decimal;padding-left:13px}.quick-ajax-form-wrap li ul{margin-top:6px}.quick-ajax-accordion-wrapper{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;overflow:hidden;margin-bottom:16px}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0 1.5em;min-height:44px;background:var(--qapl-bg);border:1px solid var(--qapl-border);cursor:pointer;outline:unset}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:hover{background:var(--qapl-bg-muted)}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:active,.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle:focus{outline-width:2px;outline-style:solid;outline-offset:-2px;outline-color:var(--qapl-theme-color);background-color:var(--qapl-bg-muted);z-index:1}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle.active{background:var(--qapl-bg)}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle.active:hover{background:var(--qapl-bg-muted)}.quick-ajax-accordion-wrapper .accordion-title{max-width:calc(100% - 26px);font-size:13px;font-weight:600;line-height:1;margin:0}.quick-ajax-accordion-wrapper .accordion-icon{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transform:rotateX(0);transform:rotateX(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle.active .accordion-icon{-webkit-transform:rotateX(180deg);transform:rotateX(180deg);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.quick-ajax-accordion-wrapper .accordion-icon span{pointer-events:none;position:absolute;border:solid #50575e;border-width:0 2px 2px 0;height:.5rem;width:.5rem;top:50%;right:0;-webkit-transform:translateY(-70%) rotate(45deg);-ms-transform:translateY(-70%) rotate(45deg);transform:translateY(-70%) rotate(45deg)}.quick-ajax-accordion-wrapper .quick-ajax-accordion-content{display:none;border:1px solid var(--qapl-border);border-top:none;padding:0 1.5em 1em 1.5em}.quick-ajax-accordion-wrapper .quick-ajax-accordion-toggle.active+.quick-ajax-accordion-content:before{content:"";position:absolute;display:block;background:var(--qapl-bg);height:1px;left:1px;right:1px;margin-top:-1px}.qapl-admin-page-loader{position:relative;height:20px;width:40px;padding:6px 0;margin-left:0;vertical-align:middle}.qapl-admin-page-loader span{position:absolute;top:50%;left:0;width:6px;height:6px;background-color:#50575e;border-radius:50%;-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%);opacity:0;-webkit-animation:qapl-admin-loader-animation 1.8s linear infinite;animation:qapl-admin-loader-animation 1.8s linear infinite}.qapl-admin-page-loader span:nth-child(1){-webkit-animation-delay:0s;animation-delay:0s}.qapl-admin-page-loader span:nth-child(2){-webkit-animation-delay:.6s;animation-delay:.6s}.qapl-admin-page-loader span:nth-child(3){-webkit-animation-delay:1.2s;animation-delay:1.2s}@-webkit-keyframes qapl-admin-loader-animation{0%{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);opacity:0}10%{opacity:1}50%{-webkit-transform:translate(20px,-50%);transform:translate(20px,-50%);opacity:1}90%{opacity:0}100%{-webkit-transform:translate(40px,-50%);transform:translate(40px,-50%);opacity:0}}@keyframes qapl-admin-loader-animation{0%{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);opacity:0}10%{opacity:1}50%{-webkit-transform:translate(20px,-50%);transform:translate(20px,-50%);opacity:1}90%{opacity:0}100%{-webkit-transform:translate(40px,-50%);transform:translate(40px,-50%);opacity:0}}
  • quick-ajax-post-loader/trunk/inc/class-helper.php

    r3322466 r3328398  
    33    exit;
    44}
    5 //require_once(plugin_dir_path( __FILE__ ).'/class-helper_new.php');
    65
    76class QAPL_Quick_Ajax_Helper{
     
    1514    public static function get_plugin_info() {
    1615        return [
    17             'version' => '1.7.5',
     16            'version' => '1.7.6',
    1817            'name' => 'Quick Ajax Post Loader',
    1918            'text_domain' => 'quick-ajax-post-loader',
  • quick-ajax-post-loader/trunk/js/admin-script.js

    r3287563 r3328398  
    22    // Define a unique namespace for your plugin's functions
    33    var qapl_quick_ajax_post_loader_admin_scripts = {
     4        helper_available: typeof qapl_quick_ajax_helper !== "undefined" && qapl_quick_ajax_helper,
    45        init: function () {
    56            this.click_and_select_shortcode();
     
    1516        },
    1617        handle_post_type_change: function () {
    17             var self = this;
    18             if (typeof qapl_quick_ajax_helper !== "undefined" && qapl_quick_ajax_helper) {
    19                 if ($("#" + qapl_quick_ajax_helper.quick_ajax_settings_wrapper + " #" + qapl_quick_ajax_helper.quick_ajax_post_type).length) {
    20                     $("#" + qapl_quick_ajax_helper.quick_ajax_settings_wrapper + " #" + qapl_quick_ajax_helper.quick_ajax_post_type).on("change", function () {
    21                         var postType = $(this).val();
    22                         $.ajax({
    23                             url: qapl_quick_ajax_helper.ajax_url,
    24                             type: "POST",
    25                             data: {
    26                                 action: "qapl_quick_ajax_get_taxonomies_by_post_type",
    27                                 post_type: postType,
    28                                 nonce: qapl_quick_ajax_helper.nonce
    29                             },
    30                             success: function (response) {
    31                                 if (response && response.data) {
    32                                     var taxonomySelect = $("#" + qapl_quick_ajax_helper.quick_ajax_settings_wrapper + " #" + qapl_quick_ajax_helper.quick_ajax_taxonomy);
    33                                     taxonomySelect.empty();
    34                                     taxonomySelect.append(response.data);
    35                                     self.trigger_taxonomy_change();
    36                                 } else {
    37                                     console.error("Quick Ajax Post Loader: Invalid response structure");
    38                                 }
    39                             },
    40                             error: function (xhr, status, error) {
    41                                 console.error(error);
     18            if (!this.helper_available) return;
     19            const self = this;
     20            const postTypeSelect = $("#" + qapl_quick_ajax_helper.quick_ajax_settings_wrapper + " #" + qapl_quick_ajax_helper.quick_ajax_post_type);
     21            if (postTypeSelect.length) {
     22                postTypeSelect.on("change", function () {
     23                    const postType = $(this).val();
     24                    $.ajax({
     25                        url: qapl_quick_ajax_helper.ajax_url,
     26                        type: "POST",
     27                        data: {
     28                            action: "qapl_quick_ajax_get_taxonomies_by_post_type",
     29                            post_type: postType,
     30                            nonce: qapl_quick_ajax_helper.nonce
     31                        },
     32                        success: function (response) {
     33                            if (response && response.data) {
     34                                const taxonomySelect = $("#" + qapl_quick_ajax_helper.quick_ajax_settings_wrapper + " #" + qapl_quick_ajax_helper.quick_ajax_taxonomy);
     35                                taxonomySelect.empty();
     36                                taxonomySelect.append(response.data);
     37                                self.trigger_taxonomy_change();
     38                            } else {
     39                                console.error("Quick Ajax Post Loader: Invalid response structure");
    4240                            }
    43                         });
     41                        },
     42                        error: function (xhr, status, error) {
     43                            console.error("Quick Ajax Post Loader:", error);
     44                        }
    4445                    });
    45                 }
     46                });
    4647            }
    4748        },
    4849        handle_taxonomy_change: function () {
    49             var self = this;
    50             if (typeof qapl_quick_ajax_helper !== "undefined" && qapl_quick_ajax_helper) {
    51                 var taxonomySelect = $("#" + qapl_quick_ajax_helper.quick_ajax_settings_wrapper + " #" + qapl_quick_ajax_helper.quick_ajax_taxonomy);
    52                 var termsContainer = $("#" + qapl_quick_ajax_helper.quick_ajax_settings_wrapper + " #" + qapl_quick_ajax_helper.quick_ajax_manual_selected_terms);
    53                 if (taxonomySelect.length) {
    54                     taxonomySelect.on("change", function () {
    55                         termsContainer.empty();
    56                         self.admin_page_loader(termsContainer);
    57                         var taxonomy = $(this).val();
    58                         var post_id = "";
    59                         if ($("#post_ID").length) {
    60                             post_id = $("#post_ID").val();
     50            if (!this.helper_available) return;
     51            const self = this;
     52            const taxonomySelect = $("#" + qapl_quick_ajax_helper.quick_ajax_settings_wrapper + " #" + qapl_quick_ajax_helper.quick_ajax_taxonomy);
     53            const termsContainer = $("#" + qapl_quick_ajax_helper.quick_ajax_settings_wrapper + " #" + qapl_quick_ajax_helper.quick_ajax_manual_selected_terms);
     54            if (taxonomySelect.length) {
     55                taxonomySelect.on("change", function () {
     56                    termsContainer.empty();
     57                    self.admin_page_loader(termsContainer);
     58                    let taxonomy = $(this).val();
     59                    let post_id = "";
     60                    if ($("#post_ID").length) {
     61                        post_id = $("#post_ID").val();
     62                    }
     63                    $.ajax({
     64                        url: qapl_quick_ajax_helper.ajax_url,
     65                        type: "POST",
     66                        data: {
     67                            action: "qapl_quick_ajax_get_terms_by_taxonomy",
     68                            taxonomy: taxonomy,
     69                            post_id: post_id,
     70                            nonce: qapl_quick_ajax_helper.nonce
     71                        },
     72                        success: function (response) {
     73                            if (response && response.data) {
     74                                termsContainer.fadeOut(100, function () {
     75                                    termsContainer.empty();
     76                                    termsContainer.append(response.data);
     77                                    termsContainer.fadeIn(100);
     78                                });
     79                            } else {
     80                                console.error("Quick Ajax Post Loader: Invalid response structure for terms");
     81                            }
     82                        },
     83                        error: function (xhr, status, error) {
     84                            console.error("Quick Ajax Post Loader:", error);
    6185                        }
    62                         $.ajax({
    63                             url: qapl_quick_ajax_helper.ajax_url,
    64                             type: "POST",
    65                             data: {
    66                                 action: "qapl_quick_ajax_get_terms_by_taxonomy",
    67                                 taxonomy: taxonomy,
    68                                 post_id: post_id,
    69                                 nonce: qapl_quick_ajax_helper.nonce
    70                             },
    71                             success: function (response) {
    72                                 if (response && response.data) {
    73                                     termsContainer.fadeOut(100, function () {
    74                                         termsContainer.empty();
    75                                         termsContainer.append(response.data);
    76                                         termsContainer.fadeIn(100);
    77                                     });
    78                                 } else {
    79                                     console.error("Quick Ajax Post Loader: Invalid response structure for terms");
    80                                 }
    81                             },
    82                             error: function (xhr, status, error) {
    83                                 console.error(error);
    84                             }
    85                         });
    8686                    });
    87                 }
     87                });
    8888            }
    8989        },
    9090        trigger_taxonomy_change: function () {
    91             var self = this;
    92             if (typeof qapl_quick_ajax_helper !== "undefined" && qapl_quick_ajax_helper) {
    93                 var taxonomySelect = $("#" + qapl_quick_ajax_helper.quick_ajax_settings_wrapper + " #" + qapl_quick_ajax_helper.quick_ajax_taxonomy);
    94                 var termsContainer = $("#" + qapl_quick_ajax_helper.quick_ajax_settings_wrapper + " #" + qapl_quick_ajax_helper.quick_ajax_manual_selected_terms);
    95                 if (termsContainer.length) {
    96                     self.admin_page_loader(termsContainer);
    97                     taxonomySelect.trigger("change");
    98                 }
     91            if (!this.helper_available) return;
     92            const self = this;
     93            const taxonomySelect = $("#" + qapl_quick_ajax_helper.quick_ajax_settings_wrapper + " #" + qapl_quick_ajax_helper.quick_ajax_taxonomy);
     94            const termsContainer = $("#" + qapl_quick_ajax_helper.quick_ajax_settings_wrapper + " #" + qapl_quick_ajax_helper.quick_ajax_manual_selected_terms);
     95            if (termsContainer.length) {
     96                self.admin_page_loader(termsContainer);
     97                taxonomySelect.trigger("change");
    9998            }
    10099        },
     
    105104            $(".show-hide-trigger input, .show-hide-trigger select").on("change", function () {
    106105                $(".quick-ajax-field-container[data-conditional]").each(function () {
    107                     var $container = $(this);
    108                     var conditions = $container.data("conditional");
    109                     var shouldBeVisible = true;
    110 
    111                     $.each(conditions, function (fieldId, expectedValue) {
    112                         var $triggerField = $("#" + fieldId);
    113                         var actualValue = $triggerField.is(":checkbox") ? ($triggerField.is(":checked") ? "1" : "0") : $triggerField.val();
    114 
     106                    const container = $(this);
     107                    const conditions = container.data("conditional");
     108                    let shouldBeVisible = true;
     109
     110                    for (const fieldId in conditions) {
     111                        if (!conditions.hasOwnProperty(fieldId)) continue;
     112                        const expectedValue = conditions[fieldId];
     113                        const triggerField = $("#" + fieldId);
     114                        const actualValue = triggerField.is(":checkbox") ? (triggerField.is(":checked") ? "1" : "0") : triggerField.val();
    115115                        if (actualValue !== expectedValue) {
    116116                            shouldBeVisible = false;
    117                             return false; // break out of loop
     117                            break;
    118118                        }
    119                     });
    120 
     119                    }
    121120                    if (shouldBeVisible) {
    122                         $container.removeClass("inactive");
     121                        container.removeClass("inactive");
    123122                    } else {
    124                         $container.addClass("inactive");
     123                        container.addClass("inactive");
    125124                    }
    126125                });
     
    228227            return classNames.join(", ");
    229228        },
    230         quick_ajax_function_generator: function () {
    231             var self = this;
    232             $(".generate-function-button").on("click", function () {
    233                 var button = $(this);
    234                 var outputDiv = button.attr("data-output");
    235                 button.prop("disabled", true);
    236                 var copyButton = $('.copy-button[data-copy="' + outputDiv + '"]');
    237                 copyButton.prop("disabled", true);
    238                 var inputData = {};
    239                 var inputs = $(".function-generator-wrap input, .function-generator-wrap select");
    240                 inputs.each(function (index, input) {
    241                     var $input = $(input);
    242                     var inputName = $input.attr("name");
    243                     var inputId = $input.attr("id");
    244                     if (input.type === "checkbox") {
    245                         if (inputName && inputName.endsWith("[]")) {
    246                             // multi-select checkbox field - format name without "[]"
    247                             let cleanName = inputName.replace(/\[\]$/, "");
    248                             if (!inputData[cleanName]) {
    249                                 inputData[cleanName] = [];
    250                             }
    251                             if ($input.prop("checked")) {
    252                                 inputData[cleanName].push($input.val());
    253                             }
    254                         } else {
    255                             // single checkbox field
    256                             inputData[inputId] = $input.prop("checked") ? 1 : 0;
     229        qapl_collect_input_data: function () {
     230            const inputData = {};
     231            const inputs = $(".function-generator-wrap input, .function-generator-wrap select");
     232            inputs.each(function (index, input) {
     233                const $input = $(input);
     234                const inputName = $input.attr("name");
     235                const inputId = $input.attr("id");
     236                if (input.type === "checkbox") {
     237                    if (inputName && inputName.endsWith("[]")) {
     238                        // multi-select checkbox field - format name without "[]"
     239                        let cleanName = inputName.replace(/\[\]$/, "");
     240                        if (!inputData[cleanName]) {
     241                            inputData[cleanName] = [];
     242                        }
     243                        if ($input.prop("checked")) {
     244                            inputData[cleanName].push($input.val());
    257245                        }
    258246                    } else {
    259                         // standard input/select field
    260                         inputData[inputId] = $input.val();
     247                        // single checkbox field
     248                        inputData[inputId] = $input.prop("checked") ? 1 : 0;
    261249                    }
     250                } else {
     251                    // standard input/select field
     252                    inputData[inputId] = $input.val();
     253                }
     254            });
     255            return inputData;
     256        },
     257        qapl_generate_args: function (inputData) {
     258            const self = this;
     259            //quickAjaxTaxonomy code
     260            let quickAjaxArgsText = "";
     261            let quickAjaxSelectedTermsArray = "";
     262            let formattedItem = "";
     263            quickAjaxArgsText += "$quick_ajax_args = [\n";
     264            quickAjaxArgsText += "    'post_type' => '" + inputData.qapl_select_post_type + "',\n";
     265            //quickAjaxArgsText += "    'post_status' => '" + inputData.qapl_select_post_status + "',\n";
     266            quickAjaxArgsText += "    'posts_per_page' => " + inputData.qapl_select_posts_per_page + ",\n";
     267            if (inputData.qapl_select_orderby !== "none") {
     268                quickAjaxArgsText += "    'orderby' => '" + inputData.qapl_select_orderby + "',\n";
     269            }
     270            quickAjaxArgsText += "    'order' => '" + inputData.qapl_select_order + "',\n";
     271            if (inputData.qapl_select_post_not_in !== "") {
     272                var excludedPostIds = self.getExcludedPostIds(inputData.qapl_select_post_not_in);
     273                quickAjaxArgsText += "    'post__not_in' => [" + excludedPostIds + "],\n";
     274            }
     275            if (inputData.qapl_ignore_sticky_posts === 1) {
     276                quickAjaxArgsText += "    'ignore_sticky_posts' => " + inputData.qapl_ignore_sticky_posts + ",\n";
     277            }
     278            if (inputData.qapl_show_select_taxonomy === 1) {
     279                quickAjaxArgsText += "    'selected_taxonomy' => '" + inputData.qapl_select_taxonomy + "',\n";
     280            }
     281            if (inputData.qapl_show_select_taxonomy === 1 && inputData.qapl_manual_term_selection === 1) {
     282                var quickAjaxSelectedTerms = inputData.qapl_manual_selected_terms;
     283                if (quickAjaxSelectedTerms && quickAjaxSelectedTerms.length > 0) {
     284                    quickAjaxSelectedTermsArray = "[";
     285                    quickAjaxSelectedTermsArray += quickAjaxSelectedTerms.map((option) => `${option}`).join(", ");
     286                    quickAjaxSelectedTermsArray += "]";
     287                }
     288                if (quickAjaxSelectedTermsArray) {
     289                    quickAjaxArgsText += "    'selected_terms' => " + quickAjaxSelectedTermsArray + ",\n";
     290                }
     291            }
     292            let cleanArray = quickAjaxArgsText.trimEnd(); // maybe change to push and join
     293            if (cleanArray.endsWith(",")) {
     294                // remove last coma
     295                quickAjaxArgsText = cleanArray.slice(0, -1) + "\n";
     296            }
     297            quickAjaxArgsText += "];";
     298
     299            if (quickAjaxArgsText.trim() !== "") {
     300                formattedItem += "\n// Define AJAX query parameters for '" + inputData.qapl_select_post_type + "' type posts.\n";
     301                formattedItem += quickAjaxArgsText.trim() + "\n";
     302            }
     303            return formattedItem;
     304        },
     305        qapl_generate_attributes: function (inputData, quick_ajax_id) {
     306            const self = this;
     307            let quickAjaxAttributes = {};
     308            let formattedItem = "";
     309            quickAjaxAttributes[qapl_quick_ajax_helper.quick_ajax_id] = quick_ajax_id;
     310            if (inputData.qapl_layout_quick_ajax_css_style === 1) {
     311                quickAjaxAttributes[qapl_quick_ajax_helper.quick_ajax_css_style] = inputData.qapl_layout_quick_ajax_css_style;
     312                quickAjaxAttributes[qapl_quick_ajax_helper.grid_num_columns] = inputData.qapl_layout_select_columns_qty;
     313            }
     314            if (inputData.qapl_layout_quick_ajax_post_item_template) {
     315                quickAjaxAttributes[qapl_quick_ajax_helper.post_item_template] = inputData.qapl_layout_quick_ajax_post_item_template;
     316            }
     317            if (inputData.qapl_layout_add_taxonomy_filter_class && inputData.qapl_layout_add_taxonomy_filter_class !== "") {
     318                quickAjaxAttributes[qapl_quick_ajax_helper.taxonomy_filter_class] = self.cleanClassNames(inputData.qapl_layout_add_taxonomy_filter_class);
     319            }
     320            if (inputData.qapl_layout_add_container_class && inputData.qapl_layout_add_container_class !== "") {
     321                quickAjaxAttributes[qapl_quick_ajax_helper.container_class] = self.cleanClassNames(inputData.qapl_layout_add_container_class);
     322            }
     323            if (inputData.qapl_show_custom_load_more_post_quantity === 1) {
     324                quickAjaxAttributes[qapl_quick_ajax_helper.load_more_posts] = inputData.qapl_select_custom_load_more_post_quantity;
     325            }
     326            if (inputData.qapl_override_global_loader_icon === 1) {
     327                quickAjaxAttributes[qapl_quick_ajax_helper.loader_icon] = inputData.qapl_loader_icon;
     328            }
     329            if (inputData.qapl_ajax_on_initial_load === 1) {
     330                quickAjaxAttributes[qapl_quick_ajax_helper.ajax_initial_load] = inputData.qapl_ajax_on_initial_load;
     331            }
     332            if (inputData.qapl_ajax_infinite_scroll === 1) {
     333                quickAjaxAttributes[qapl_quick_ajax_helper.infinite_scroll] = inputData.qapl_ajax_infinite_scroll;
     334            }
     335            if (inputData.qapl_show_end_post_message === 1) {
     336                quickAjaxAttributes[qapl_quick_ajax_helper.show_end_message] = inputData.qapl_show_end_post_message;
     337            }
     338            //quickAjaxAttributes code
     339            var quickAjaxAttributesText = "";
     340            if (Object.keys(quickAjaxAttributes).length > 0) {
     341                quickAjaxAttributesText = "";
     342                quickAjaxAttributesText += "$quick_ajax_attributes = [\n";
     343                Object.entries(quickAjaxAttributes).forEach(([key, value]) => {
     344                    let AttributesValue;
     345                    // Check if the resulting value is a finite number
     346                    if (self.quick_ajax_is_numeric(value)) {
     347                        // Use the numeric value if the conversion was possible
     348                        AttributesValue = parseInt(value);
     349                    } else if (typeof value === "string") {
     350                        // Otherwise, if the value is a string, add quotes
     351                        AttributesValue = `'${value}'`;
     352                    } else {
     353                        // For other data types, use the value unchanged
     354                        AttributesValue = value;
     355                    }
     356                    quickAjaxAttributesText += `    '${key}' => ${AttributesValue},\n`;
    262357                });
    263                 let inputDataString = Object.values(inputData).join("");
    264                 //quickAjaxArgs code
    265                 var quickAjaxArgsText = "";
    266                 quickAjaxArgsText += "$quick_ajax_args = [\n";
    267                 quickAjaxArgsText += "    'post_type' => '" + inputData.qapl_select_post_type + "',\n";
    268                 //quickAjaxArgsText += "    'post_status' => '" + inputData.qapl_select_post_status + "',\n";
    269                 quickAjaxArgsText += "    'posts_per_page' => " + inputData.qapl_select_posts_per_page + ",\n";
    270                 if (inputData.qapl_select_orderby !== "none") {
    271                     quickAjaxArgsText += "    'orderby' => '" + inputData.qapl_select_orderby + "',\n";
    272                 }
    273                 quickAjaxArgsText += "    'order' => '" + inputData.qapl_select_order + "',\n";
    274                 if (inputData.qapl_select_post_not_in !== "") {
    275                     var excludedPostIds = self.getExcludedPostIds(inputData.qapl_select_post_not_in);
    276                     quickAjaxArgsText += "    'post__not_in' => [" + excludedPostIds + "],\n";
    277                 }
    278                 if (inputData.qapl_ignore_sticky_posts === 1) {
    279                     quickAjaxArgsText += "    'ignore_sticky_posts' => " + inputData.qapl_ignore_sticky_posts + ",\n";
    280                 }
    281                 if (inputData.qapl_show_select_taxonomy === 1) {
    282                     quickAjaxArgsText += "    'selected_taxonomy' => '" + inputData.qapl_select_taxonomy + "',\n";
    283                 }
    284                 /* */
    285                 if (inputData.qapl_show_select_taxonomy === 1 && inputData.qapl_manual_term_selection === 1) {
    286                     var quickAjaxSelectedTerms = inputData.qapl_manual_selected_terms;
    287                     if (quickAjaxSelectedTerms && quickAjaxSelectedTerms.length > 0) {
    288                         var quickAjaxSelectedTermsArray = "[";
    289                         quickAjaxSelectedTermsArray += quickAjaxSelectedTerms.map((option) => `${option}`).join(", ");
    290                         quickAjaxSelectedTermsArray += "]";
    291                     }
    292                     if (quickAjaxSelectedTermsArray) {
    293                         quickAjaxArgsText += "    'selected_terms' => " + quickAjaxSelectedTermsArray + ",\n";
    294                     }
    295                 }
    296                 let cleanArray = quickAjaxArgsText.trimEnd(); // maybe change to push and join
    297                 if (cleanArray.endsWith(",")) {
    298                     // remove last coma
    299                     quickAjaxArgsText = cleanArray.slice(0, -1) + "\n";
    300                 }
    301                 quickAjaxArgsText += "];";
    302                 if (typeof qapl_quick_ajax_helper !== "undefined" && qapl_quick_ajax_helper) {
    303                     var quickAjaxAttributes = {};
    304                     quickAjaxAttributes[qapl_quick_ajax_helper.quick_ajax_id] = self.generateId(inputDataString);
    305                     if (inputData.qapl_layout_quick_ajax_css_style === 1) {
    306                         quickAjaxAttributes[qapl_quick_ajax_helper.quick_ajax_css_style] = inputData.qapl_layout_quick_ajax_css_style;
    307                         quickAjaxAttributes[qapl_quick_ajax_helper.grid_num_columns] = inputData.qapl_layout_select_columns_qty;
    308                     }
    309                     if (inputData.qapl_layout_quick_ajax_post_item_template) {
    310                         var clearContainerClass = inputData.qapl_layout_quick_ajax_post_item_template;
    311                         quickAjaxAttributes[qapl_quick_ajax_helper.post_item_template] = clearContainerClass;
    312                     }
    313                     if (inputData.qapl_layout_add_taxonomy_filter_class && inputData.qapl_layout_add_taxonomy_filter_class !== "") {
    314                         var clearContainerClass = self.cleanClassNames(inputData.qapl_layout_add_taxonomy_filter_class);
    315                         quickAjaxAttributes[qapl_quick_ajax_helper.taxonomy_filter_class] = clearContainerClass;
    316                     }
    317                     if (inputData.qapl_layout_add_container_class && inputData.qapl_layout_add_container_class !== "") {
    318                         var clearContainerClass = self.cleanClassNames(inputData.qapl_layout_add_container_class);
    319                         quickAjaxAttributes[qapl_quick_ajax_helper.container_class] = clearContainerClass;
    320                     }
    321                     if (inputData.qapl_show_custom_load_more_post_quantity === 1) {
    322                         quickAjaxAttributes[qapl_quick_ajax_helper.load_more_posts] = inputData.qapl_select_custom_load_more_post_quantity;
    323                     }
    324                     if (inputData.qapl_override_global_loader_icon === 1) {
    325                         quickAjaxAttributes[qapl_quick_ajax_helper.loader_icon] = inputData.qapl_loader_icon;
    326                     }
    327                     if (inputData.qapl_ajax_on_initial_load === 1) {
    328                         quickAjaxAttributes[qapl_quick_ajax_helper.ajax_initial_load] = inputData.qapl_ajax_on_initial_load;
    329                     }
    330                     if (inputData.qapl_ajax_infinite_scroll === 1) {
    331                         quickAjaxAttributes[qapl_quick_ajax_helper.infinite_scroll] = inputData.qapl_ajax_infinite_scroll;
    332                     }
    333                     if (inputData.qapl_show_end_post_message === 1) {
    334                         quickAjaxAttributes[qapl_quick_ajax_helper.show_end_message] = inputData.qapl_show_end_post_message;
    335                     }
    336                 }
    337                 //quickAjaxAttributes code
    338                 var quickAjaxAttributesText = "";
    339                 if (Object.keys(quickAjaxAttributes).length > 0) {
    340                     quickAjaxAttributesText = "";
    341                     quickAjaxAttributesText += "$quick_ajax_attributes = [\n";
    342                     Object.entries(quickAjaxAttributes).forEach(([key, value]) => {
    343                         let AttributesValue;
    344                         // Check if the resulting value is a finite number
    345                         if (self.quick_ajax_is_numeric(value)) {
    346                             // Use the numeric value if the conversion was possible
    347                             AttributesValue = parseInt(value);
    348                         } else if (typeof value === "string") {
    349                             // Otherwise, if the value is a string, add quotes
    350                             AttributesValue = `'${value}'`;
    351                         } else {
    352                             // For other data types, use the value unchanged
    353                             AttributesValue = value;
    354                         }
    355                         quickAjaxAttributesText += `    '${key}' => ${AttributesValue},\n`;
    356                     });
    357                     //remove last comma
    358                     quickAjaxAttributesText = quickAjaxAttributesText.slice(0, -2) + "\n";
    359                     quickAjaxAttributesText += "];";
    360                 }
    361                 /////////
    362                 //quickAjaxSortControl code
    363                 var quickAjaxSortControl = null;
    364                 var quickAjaxSortControlValueOptions = null;
    365                 if (inputData.qapl_show_order_button === 1) {
    366                     var quickAjaxSortControl = inputData.qapl_select_orderby_button_options;
    367                     if (quickAjaxSortControl && quickAjaxSortControl.length > 0) {
    368                         var quickAjaxSortControlValueOptions = "$quick_ajax_sort_options = [";
    369                         quickAjaxSortControlValueOptions += quickAjaxSortControl.map((option) => `'${option}'`).join(", ");
    370                         quickAjaxSortControlValueOptions += "];";
    371                     }
    372                 }
    373                 var quickAjaxSortControlValue = "";
    374                 var quickAjaxSortControlText = "";
    375                 if (quickAjaxSortControl !== null) {
    376                     quickAjaxSortControlValue = "";
    377                     quickAjaxSortControlValue += quickAjaxSortControlValueOptions;
    378                     //qapl_render_sort_controls
    379                     quickAjaxSortControlText = "";
    380                     quickAjaxSortControlText += "if(function_exists('qapl_render_sort_controls')):\n";
    381                     quickAjaxSortControlText += "    qapl_render_sort_controls(\n";
    382                     quickAjaxSortControlText += "        $quick_ajax_args,\n";
    383                     quickAjaxSortControlText += "        $quick_ajax_attributes,\n";
    384                     quickAjaxSortControlText += "        $quick_ajax_sort_options,\n";
    385                     //remove last comma
    386                     quickAjaxSortControlText = quickAjaxSortControlText.slice(0, -2) + "\n";
    387                     quickAjaxSortControlText += "    );\n";
    388                     quickAjaxSortControlText += "endif;";
    389                 }
    390                 //////
    391                 //quickAjaxTaxonomy code
    392                 var quickAjaxTaxonomy = null;
    393                 if (inputData.qapl_show_select_taxonomy === 1) {
    394                     var quickAjaxTaxonomy = inputData.qapl_select_taxonomy;
    395                 }
    396                 var quickAjaxTaxonomyFilterValue = "";
    397                 var quickAjaxTaxonomyFilterText = "";
    398                 if (quickAjaxTaxonomy !== null) {
    399                     quickAjaxTaxonomyFilterValue = "";
    400                     //quickAjaxTaxonomyFilterValue += `$quick_ajax_taxonomy = '${quickAjaxTaxonomy}';`;
    401                     //qapl_render_taxonomy_filter
    402                     quickAjaxTaxonomyFilterText = "";
    403                     quickAjaxTaxonomyFilterText += "if(function_exists('qapl_render_taxonomy_filter')):\n";
    404                     quickAjaxTaxonomyFilterText += "    qapl_render_taxonomy_filter(\n";
    405                     quickAjaxTaxonomyFilterText += "        $quick_ajax_args,\n";
    406                     quickAjaxTaxonomyFilterText += "        $quick_ajax_attributes,\n";
    407                     //quickAjaxTaxonomyFilterText += "        $quick_ajax_taxonomy,\n";
    408                     //remove last comma
    409                     quickAjaxTaxonomyFilterText = quickAjaxTaxonomyFilterText.slice(0, -2) + "\n";
    410                     quickAjaxTaxonomyFilterText += "    );\n";
    411                     quickAjaxTaxonomyFilterText += "endif;";
    412                 }
    413                 //qapl_render_post_container
    414                 var quick_ajax_post_containerText = "";
    415                 quick_ajax_post_containerText += "if(function_exists('qapl_render_post_container')):\n";
    416                 quick_ajax_post_containerText += "   qapl_render_post_container(\n";
    417                 quick_ajax_post_containerText += "       $quick_ajax_args,\n";
    418                 if (quickAjaxAttributesText !== "") {
    419                     quick_ajax_post_containerText += "       $quick_ajax_attributes,\n";
    420                 }
    421358                //remove last comma
    422                 quick_ajax_post_containerText = quick_ajax_post_containerText.slice(0, -2) + "\n";
    423                 quick_ajax_post_containerText += "   );\n";
    424                 quick_ajax_post_containerText += "endif;";
    425 
    426                 var formattedText = "";
    427                 if (quickAjaxArgsText.trim() !== "") {
    428                     formattedText += "\n// Define AJAX query parameters for '" + inputData.qapl_select_post_type + "' type posts.\n";
    429                     formattedText += quickAjaxArgsText.trim() + "\n";
    430                 }
    431                 if (quickAjaxAttributesText.trim() !== "") {
    432                     formattedText += "\n// Define attributes for AJAX.\n";
    433                     formattedText += quickAjaxAttributesText.trim() + "\n";
    434                 }
    435                 if (quickAjaxSortControlValue.trim() !== "") {
    436                     formattedText += "\n// Set the sort options for the button.\n";
    437                     formattedText += quickAjaxSortControlValue.trim() + "\n";
    438                 }
    439                 if (quickAjaxSortControlText.trim() !== "") {
    440                     formattedText += "\n// Render the sorting control button.\n";
    441                     formattedText += quickAjaxSortControlText.trim() + "\n";
    442                 }
    443                 if (quickAjaxTaxonomyFilterValue.trim() !== "") {
    444                     formattedText += "\n// Set the taxonomy for filtering posts.\n";
    445                     formattedText += quickAjaxTaxonomyFilterValue.trim() + "\n";
    446                 }
    447                 if (quickAjaxTaxonomyFilterText.trim() !== "") {
    448                     formattedText += "\n// Render the navigation for '" + inputData.qapl_select_taxonomy + "' taxonomy.\n";
    449                     formattedText += quickAjaxTaxonomyFilterText.trim() + "\n";
    450                 }
    451                 if (quick_ajax_post_containerText.trim() !== "") {
    452                     formattedText += "\n// Render the grid for '" + inputData.qapl_select_post_type + "' type posts.\n";
    453                     formattedText += quick_ajax_post_containerText.trim() + "\n";
    454                 }
    455                 var targetDiv = $("#" + outputDiv);
     359                quickAjaxAttributesText = quickAjaxAttributesText.slice(0, -2) + "\n";
     360                quickAjaxAttributesText += "];";
     361            }
     362            if (quickAjaxAttributesText.trim() !== "") {
     363                formattedItem += "\n// Define attributes for AJAX.\n";
     364                formattedItem += quickAjaxAttributesText.trim() + "\n";
     365            }
     366            return formattedItem;
     367        },
     368        qapl_generate_sort_controls: function (inputData) {
     369            //quickAjaxSortControl code
     370            let quickAjaxSortControl = null;
     371            let quickAjaxSortControlValueOptions = null;
     372            if (inputData.qapl_show_order_button === 1) {
     373                quickAjaxSortControl = inputData.qapl_select_orderby_button_options;
     374                if (quickAjaxSortControl && quickAjaxSortControl.length > 0) {
     375                    quickAjaxSortControlValueOptions = "$quick_ajax_sort_options = [";
     376                    quickAjaxSortControlValueOptions += quickAjaxSortControl.map((option) => `'${option}'`).join(", ");
     377                    quickAjaxSortControlValueOptions += "];";
     378                }
     379            }
     380            var quickAjaxSortControlValue = "";
     381            var quickAjaxSortControlText = "";
     382            if (quickAjaxSortControl !== null) {
     383                quickAjaxSortControlValue = "";
     384                quickAjaxSortControlValue += quickAjaxSortControlValueOptions;
     385                //qapl_render_sort_controls
     386                quickAjaxSortControlText = "";
     387                quickAjaxSortControlText += "if(function_exists('qapl_render_sort_controls')){\n";
     388                quickAjaxSortControlText += "    qapl_render_sort_controls(\n";
     389                quickAjaxSortControlText += "        $quick_ajax_args,\n";
     390                quickAjaxSortControlText += "        $quick_ajax_attributes,\n";
     391                quickAjaxSortControlText += "        $quick_ajax_sort_options\n";
     392                quickAjaxSortControlText += "    );\n";
     393                quickAjaxSortControlText += "}";
     394            }
     395            let formattedText = "";
     396            if (quickAjaxSortControlValue.trim() !== "") {
     397                formattedText += "\n// Set the sort options for the button.\n";
     398                formattedText += quickAjaxSortControlValue.trim() + "\n";
     399            }
     400            if (quickAjaxSortControlText.trim() !== "") {
     401                formattedText += "\n// Render the sorting control button.\n";
     402                formattedText += quickAjaxSortControlText.trim() + "\n";
     403            }
     404            return formattedText;
     405        },
     406        qapl_generate_taxonomy_filter: function (inputData) {
     407            let quickAjaxTaxonomy = null;
     408            let formattedItem = "";
     409            let quickAjaxTaxonomyFilterText = "";
     410
     411            if (inputData.qapl_show_select_taxonomy === 1) {
     412                quickAjaxTaxonomy = inputData.qapl_select_taxonomy;
     413            }
     414
     415            if (quickAjaxTaxonomy !== null) {
     416                //quickAjaxTaxonomyFilterValue += `$quick_ajax_taxonomy = '${quickAjaxTaxonomy}';`;
     417                //qapl_render_taxonomy_filter
     418                quickAjaxTaxonomyFilterText += "if(function_exists('qapl_render_taxonomy_filter')){\n";
     419                quickAjaxTaxonomyFilterText += "    qapl_render_taxonomy_filter(\n";
     420                quickAjaxTaxonomyFilterText += "        $quick_ajax_args,\n";
     421                quickAjaxTaxonomyFilterText += "        $quick_ajax_attributes,\n";
     422                //quickAjaxTaxonomyFilterText += "        $quick_ajax_taxonomy,\n";
     423                //remove last comma
     424                quickAjaxTaxonomyFilterText = quickAjaxTaxonomyFilterText.slice(0, -2) + "\n";
     425                quickAjaxTaxonomyFilterText += "    );\n";
     426                quickAjaxTaxonomyFilterText += "}";
     427            }
     428
     429            if (quickAjaxTaxonomyFilterText.trim() !== "") {
     430                formattedItem += "\n// Render the navigation for '" + inputData.qapl_select_taxonomy + "' taxonomy.\n";
     431                formattedItem += quickAjaxTaxonomyFilterText.trim() + "\n";
     432            }
     433            return formattedItem;
     434        },
     435        qapl_generate_post_container: function (inputData, quickAjaxAttributesText) {
     436            //qapl_render_post_container
     437            let formattedItem = "";
     438            let quick_ajax_post_containerText = "";
     439            quick_ajax_post_containerText += "if(function_exists('qapl_render_post_container')){\n";
     440            quick_ajax_post_containerText += "   qapl_render_post_container(\n";
     441            quick_ajax_post_containerText += "       $quick_ajax_args,\n";
     442            if (quickAjaxAttributesText !== "") {
     443                quick_ajax_post_containerText += "       $quick_ajax_attributes,\n";
     444            }
     445            //remove last comma
     446            quick_ajax_post_containerText = quick_ajax_post_containerText.slice(0, -2) + "\n";
     447            quick_ajax_post_containerText += "   );\n";
     448            quick_ajax_post_containerText += "}";
     449
     450            if (quick_ajax_post_containerText.trim() !== "") {
     451                formattedItem += "\n// Render the grid for '" + inputData.qapl_select_post_type + "' type posts.\n";
     452                formattedItem += quick_ajax_post_containerText.trim() + "\n";
     453            }
     454            return formattedItem;
     455        },
     456        quick_ajax_function_generator: function () {
     457            const self = this;
     458            if (!this.helper_available) return;
     459            $(".generate-function-button").on("click", function () {
     460                const button = $(this);
     461                const outputDiv = button.attr("data-output");
     462                const targetDiv = $("#" + outputDiv);
     463                const copyButton = $('.copy-button[data-copy="' + outputDiv + '"]');
     464
     465                button.prop("disabled", true);
     466                copyButton.prop("disabled", true);
     467
     468                const inputData = self.qapl_collect_input_data();
     469                const inputDataString = Object.values(inputData).join("");
     470                const quick_ajax_id = self.generateId(inputDataString);
     471
     472                const quickAjaxArgsText = self.qapl_generate_args(inputData);
     473                const quickAjaxAttributesText = self.qapl_generate_attributes(inputData, quick_ajax_id);
     474                const quickAjaxSortControlText = self.qapl_generate_sort_controls(inputData);
     475                const quickAjaxTaxonomyFilterText = self.qapl_generate_taxonomy_filter(inputData);
     476                const quick_ajax_post_containerText = self.qapl_generate_post_container(inputData, quickAjaxAttributesText);
     477
     478                const formattedSections = [quickAjaxArgsText, quickAjaxAttributesText, quickAjaxSortControlText, quickAjaxTaxonomyFilterText, quick_ajax_post_containerText];
     479
     480                const formattedText = formattedSections.filter(Boolean).join("");
     481
    456482                targetDiv.empty();
    457483                var lines = formattedText.split("\n");
     
    492518        },
    493519        click_and_select_shortcode: function () {
    494             var self = this;
     520            const self = this;
    495521            $(".quick-ajax-shortcode").on("click", function () {
    496522                self.quick_ajax_select_text(this);
     
    498524        },
    499525        click_and_select_all: function () {
    500             var self = this;
     526            const self = this;
    501527            $(".click-and-select-all").on("click", function () {
    502528                var code = $(this).find("code").get(0);
  • quick-ajax-post-loader/trunk/js/admin-script.min.js

    r3287563 r3328398  
    1 !function(a){var e={init:function(){this.click_and_select_shortcode(),this.click_and_select_all(),this.handle_post_type_change(),this.handle_taxonomy_change(),this.show_hide_element_on_change(),this.quick_ajax_tabs(),this.copy_code(),this.quick_ajax_function_generator(),this.accordion_block_toggle()},handle_post_type_change:function(){var e=this;"undefined"!=typeof qapl_quick_ajax_helper&&qapl_quick_ajax_helper&&a("#"+qapl_quick_ajax_helper.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_helper.quick_ajax_post_type).length&&a("#"+qapl_quick_ajax_helper.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_helper.quick_ajax_post_type).on("change",(function(){var t=a(this).val();a.ajax({url:qapl_quick_ajax_helper.ajax_url,type:"POST",data:{action:"qapl_quick_ajax_get_taxonomies_by_post_type",post_type:t,nonce:qapl_quick_ajax_helper.nonce},success:function(t){if(t&&t.data){var _=a("#"+qapl_quick_ajax_helper.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_helper.quick_ajax_taxonomy);_.empty(),_.append(t.data),e.trigger_taxonomy_change()}},error:function(a,e,t){}})}))},handle_taxonomy_change:function(){var e=this;if("undefined"!=typeof qapl_quick_ajax_helper&&qapl_quick_ajax_helper){var t=a("#"+qapl_quick_ajax_helper.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_helper.quick_ajax_taxonomy),_=a("#"+qapl_quick_ajax_helper.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_helper.quick_ajax_manual_selected_terms);t.length&&t.on("change",(function(){_.empty(),e.admin_page_loader(_);var t=a(this).val(),n="";a("#post_ID").length&&(n=a("#post_ID").val()),a.ajax({url:qapl_quick_ajax_helper.ajax_url,type:"POST",data:{action:"qapl_quick_ajax_get_terms_by_taxonomy",taxonomy:t,post_id:n,nonce:qapl_quick_ajax_helper.nonce},success:function(a){a&&a.data&&_.fadeOut(100,(function(){_.empty(),_.append(a.data),_.fadeIn(100)}))},error:function(a,e,t){}})}))}},trigger_taxonomy_change:function(){if("undefined"!=typeof qapl_quick_ajax_helper&&qapl_quick_ajax_helper){var e=a("#"+qapl_quick_ajax_helper.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_helper.quick_ajax_taxonomy),t=a("#"+qapl_quick_ajax_helper.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_helper.quick_ajax_manual_selected_terms);t.length&&(this.admin_page_loader(t),e.trigger("change"))}},admin_page_loader:function(a){a.append('<div class="qapl-admin-page-loader"><span></span><span></span><span></span></div>')},show_hide_element_on_change:function(){a(".show-hide-trigger input, .show-hide-trigger select").on("change",(function(){a(".quick-ajax-field-container[data-conditional]").each((function(){var e=a(this),t=e.data("conditional"),_=!0;a.each(t,(function(e,t){var n=a("#"+e);if((n.is(":checkbox")?n.is(":checked")?"1":"0":n.val())!==t)return _=!1,!1})),_?e.removeClass("inactive"):e.addClass("inactive")}))}))},quick_ajax_tabs:function(){if(a(".quick-ajax-tabs").length){const e=a(".quick-ajax-tab-button"),t=a(".quick-ajax-tab-content");e.on("click",(function(_){_.preventDefault();const n=a(this).data("tab");e.removeClass("active").attr("aria-selected","false").attr("tabindex","-1"),t.removeClass("active").attr("hidden",!0),a(this).addClass("active").attr("aria-selected","true").attr("tabindex","0"),a("#"+n).addClass("active").attr("hidden",!1)})),e.on("keydown",(function(a){const t=e.index(this);let _;if("ArrowRight"===a.key)_=(t+1)%e.length;else{if("ArrowLeft"!==a.key)return;_=(t-1+e.length)%e.length}e.eq(_).focus().click()}))}},copy_code:function(){a(".copy-button").on("click",(function(){var e=a("#"+a(this).data("copy")),t=a("<textarea>").val(e.text()).appendTo("body").select();try{navigator.clipboard.writeText(e.text()).then((()=>{})).catch((a=>{}))}finally{t.remove(),a(this).text("Code Copied"),setTimeout((()=>{a(this).text("Copy Code")}),2e3)}}))},generateId:function(a){let e=0;for(let t=0;t<a.length;t++)e+=a.charCodeAt(t),t%2==0?e+=a.charCodeAt(t):e-=a.charCodeAt(t);return e},getExcludedPostIds:function(a){var e=a.split(/[,\s]+/),t=[];return e.forEach((function(a){/^\d+$/.test(a)&&-1===t.indexOf(a)&&t.push(a)})),t.join(", ")},cleanClassNames:function(a){let e=a.replace(/,/g," ").split(/\s+/);return e=e.filter(((a,e,t)=>!/^\d/.test(a)&&""!==a&&t.indexOf(a)===e)),e.join(", ")},quick_ajax_function_generator:function(){var e=this;a(".generate-function-button").on("click",(function(){var t=a(this),_=t.attr("data-output");t.prop("disabled",!0);var n=a('.copy-button[data-copy="'+_+'"]');n.prop("disabled",!0);var i={};a(".function-generator-wrap input, .function-generator-wrap select").each((function(e,t){var _=a(t),n=_.attr("name"),o=_.attr("id");if("checkbox"===t.type)if(n&&n.endsWith("[]")){let a=n.replace(/\[\]$/,"");i[a]||(i[a]=[]),_.prop("checked")&&i[a].push(_.val())}else i[o]=_.prop("checked")?1:0;else i[o]=_.val()}));let o=Object.values(i).join("");var l="";(l+="$quick_ajax_args = [\n",l+="    'post_type' => '"+i.qapl_select_post_type+"',\n",l+="    'posts_per_page' => "+i.qapl_select_posts_per_page+",\n","none"!==i.qapl_select_orderby&&(l+="    'orderby' => '"+i.qapl_select_orderby+"',\n"),l+="    'order' => '"+i.qapl_select_order+"',\n",""!==i.qapl_select_post_not_in)&&(l+="    'post__not_in' => ["+e.getExcludedPostIds(i.qapl_select_post_not_in)+"],\n");if(1===i.qapl_ignore_sticky_posts&&(l+="    'ignore_sticky_posts' => "+i.qapl_ignore_sticky_posts+",\n"),1===i.qapl_show_select_taxonomy&&(l+="    'selected_taxonomy' => '"+i.qapl_select_taxonomy+"',\n"),1===i.qapl_show_select_taxonomy&&1===i.qapl_manual_term_selection){var c=i.qapl_manual_selected_terms;if(c&&c.length>0){var r="[";r+=c.map((a=>`${a}`)).join(", "),r+="]"}r&&(l+="    'selected_terms' => "+r+",\n")}let s=l.trimEnd();if(s.endsWith(",")&&(l=s.slice(0,-1)+"\n"),l+="];","undefined"!=typeof qapl_quick_ajax_helper&&qapl_quick_ajax_helper){var p={};if(p[qapl_quick_ajax_helper.quick_ajax_id]=e.generateId(o),1===i.qapl_layout_quick_ajax_css_style&&(p[qapl_quick_ajax_helper.quick_ajax_css_style]=i.qapl_layout_quick_ajax_css_style,p[qapl_quick_ajax_helper.grid_num_columns]=i.qapl_layout_select_columns_qty),i.qapl_layout_quick_ajax_post_item_template){var u=i.qapl_layout_quick_ajax_post_item_template;p[qapl_quick_ajax_helper.post_item_template]=u}if(i.qapl_layout_add_taxonomy_filter_class&&""!==i.qapl_layout_add_taxonomy_filter_class){u=e.cleanClassNames(i.qapl_layout_add_taxonomy_filter_class);p[qapl_quick_ajax_helper.taxonomy_filter_class]=u}if(i.qapl_layout_add_container_class&&""!==i.qapl_layout_add_container_class){u=e.cleanClassNames(i.qapl_layout_add_container_class);p[qapl_quick_ajax_helper.container_class]=u}1===i.qapl_show_custom_load_more_post_quantity&&(p[qapl_quick_ajax_helper.load_more_posts]=i.qapl_select_custom_load_more_post_quantity),1===i.qapl_override_global_loader_icon&&(p[qapl_quick_ajax_helper.loader_icon]=i.qapl_loader_icon),1===i.qapl_ajax_on_initial_load&&(p[qapl_quick_ajax_helper.ajax_initial_load]=i.qapl_ajax_on_initial_load),1===i.qapl_ajax_infinite_scroll&&(p[qapl_quick_ajax_helper.infinite_scroll]=i.qapl_ajax_infinite_scroll),1===i.qapl_show_end_post_message&&(p[qapl_quick_ajax_helper.show_end_message]=i.qapl_show_end_post_message)}var d="";Object.keys(p).length>0&&(d="",d+="$quick_ajax_attributes = [\n",Object.entries(p).forEach((([a,t])=>{let _;_=e.quick_ajax_is_numeric(t)?parseInt(t):"string"==typeof t?`'${t}'`:t,d+=`    '${a}' => ${_},\n`})),d=d.slice(0,-2)+"\n",d+="];");var q=null,h=null;if(1===i.qapl_show_order_button&&((q=i.qapl_select_orderby_button_options)&&q.length>0)){h="$quick_ajax_sort_options = [";h+=q.map((a=>`'${a}'`)).join(", "),h+="];"}var x="",f="";null!==q&&(x="",x+=h,f="",f+="if(function_exists('qapl_render_sort_controls')):\n",f+="    qapl_render_sort_controls(\n",f+="        $quick_ajax_args,\n",f+="        $quick_ajax_attributes,\n",f=(f+="        $quick_ajax_sort_options,\n").slice(0,-2)+"\n",f+="    );\n",f+="endif;");var k=null;if(1===i.qapl_show_select_taxonomy)k=i.qapl_select_taxonomy;var j="",m="";null!==k&&(j="",m="",m+="if(function_exists('qapl_render_taxonomy_filter')):\n",m+="    qapl_render_taxonomy_filter(\n",m+="        $quick_ajax_args,\n",m=(m+="        $quick_ajax_attributes,\n").slice(0,-2)+"\n",m+="    );\n",m+="endif;");var g="";g+="if(function_exists('qapl_render_post_container')):\n",g+="   qapl_render_post_container(\n",g+="       $quick_ajax_args,\n",""!==d&&(g+="       $quick_ajax_attributes,\n"),g=g.slice(0,-2)+"\n",g+="   );\n",g+="endif;";var y="";""!==l.trim()&&(y+="\n// Define AJAX query parameters for '"+i.qapl_select_post_type+"' type posts.\n",y+=l.trim()+"\n"),""!==d.trim()&&(y+="\n// Define attributes for AJAX.\n",y+=d.trim()+"\n"),""!==x.trim()&&(y+="\n// Set the sort options for the button.\n",y+=x.trim()+"\n"),""!==f.trim()&&(y+="\n// Render the sorting control button.\n",y+=f.trim()+"\n"),""!==j.trim()&&(y+="\n// Set the taxonomy for filtering posts.\n",y+=j.trim()+"\n"),""!==m.trim()&&(y+="\n// Render the navigation for '"+i.qapl_select_taxonomy+"' taxonomy.\n",y+=m.trim()+"\n"),""!==g.trim()&&(y+="\n// Render the grid for '"+i.qapl_select_post_type+"' type posts.\n",y+=g.trim()+"\n");var v=a("#"+_);v.empty();for(var b=y.split("\n"),w=0;w<b.length;w++)!function(a){setTimeout((function(){v.append(b[a]+"\n"),a===b.length-1&&(t.prop("disabled",!1),n.prop("disabled",!1))}),50*w)}(w)}))},quick_ajax_is_numeric:function(a){return/^-?\d+(\.\d+)?$/.test(a)},quick_ajax_color_picker:function(){a(".color-picker-field").wpColorPicker()},quick_ajax_select_text:function(a){var e,t;document.body.createTextRange?((e=document.body.createTextRange()).moveToElementText(a),e.select()):window.getSelection&&(t=window.getSelection(),(e=document.createRange()).selectNodeContents(a),t.removeAllRanges(),t.addRange(e))},click_and_select_shortcode:function(){var e=this;a(".quick-ajax-shortcode").on("click",(function(){e.quick_ajax_select_text(this)}))},click_and_select_all:function(){var e=this;a(".click-and-select-all").on("click",(function(){var t=a(this).find("code").get(0);e.quick_ajax_select_text(t)}))},accordion_block_toggle:function(){var e=a("#wpbody-content");if(e.find(".quick-ajax-tabs").length>0){var t=a("#adminmenuwrap").outerHeight();e.css("min-height",t)}a(".quick-ajax-accordion-toggle").click((function(){a(this).toggleClass("active").next(".quick-ajax-accordion-content").slideToggle(200)}))}};a(document).ready((function(){e.init()}))}(jQuery);
     1!function(e){var t={helper_available:"undefined"!=typeof qapl_quick_ajax_helper&&qapl_quick_ajax_helper,init:function(){this.click_and_select_shortcode(),this.click_and_select_all(),this.handle_post_type_change(),this.handle_taxonomy_change(),this.show_hide_element_on_change(),this.quick_ajax_tabs(),this.copy_code(),this.quick_ajax_function_generator(),this.accordion_block_toggle()},handle_post_type_change:function(){if(!this.helper_available)return;const t=this,a=e("#"+qapl_quick_ajax_helper.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_helper.quick_ajax_post_type);a.length&&a.on("change",(function(){const a=e(this).val();e.ajax({url:qapl_quick_ajax_helper.ajax_url,type:"POST",data:{action:"qapl_quick_ajax_get_taxonomies_by_post_type",post_type:a,nonce:qapl_quick_ajax_helper.nonce},success:function(a){if(a&&a.data){const n=e("#"+qapl_quick_ajax_helper.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_helper.quick_ajax_taxonomy);n.empty(),n.append(a.data),t.trigger_taxonomy_change()}},error:function(e,t,a){}})}))},handle_taxonomy_change:function(){if(!this.helper_available)return;const t=this,a=e("#"+qapl_quick_ajax_helper.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_helper.quick_ajax_taxonomy),n=e("#"+qapl_quick_ajax_helper.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_helper.quick_ajax_manual_selected_terms);a.length&&a.on("change",(function(){n.empty(),t.admin_page_loader(n);let a=e(this).val(),_="";e("#post_ID").length&&(_=e("#post_ID").val()),e.ajax({url:qapl_quick_ajax_helper.ajax_url,type:"POST",data:{action:"qapl_quick_ajax_get_terms_by_taxonomy",taxonomy:a,post_id:_,nonce:qapl_quick_ajax_helper.nonce},success:function(e){e&&e.data&&n.fadeOut(100,(function(){n.empty(),n.append(e.data),n.fadeIn(100)}))},error:function(e,t,a){}})}))},trigger_taxonomy_change:function(){if(!this.helper_available)return;const t=this,a=e("#"+qapl_quick_ajax_helper.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_helper.quick_ajax_taxonomy),n=e("#"+qapl_quick_ajax_helper.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_helper.quick_ajax_manual_selected_terms);n.length&&(t.admin_page_loader(n),a.trigger("change"))},admin_page_loader:function(e){e.append('<div class="qapl-admin-page-loader"><span></span><span></span><span></span></div>')},show_hide_element_on_change:function(){e(".show-hide-trigger input, .show-hide-trigger select").on("change",(function(){e(".quick-ajax-field-container[data-conditional]").each((function(){const t=e(this),a=t.data("conditional");let n=!0;for(const t in a){if(!a.hasOwnProperty(t))continue;const _=a[t],o=e("#"+t);if((o.is(":checkbox")?o.is(":checked")?"1":"0":o.val())!==_){n=!1;break}}n?t.removeClass("inactive"):t.addClass("inactive")}))}))},quick_ajax_tabs:function(){if(e(".quick-ajax-tabs").length){const t=e(".quick-ajax-tab-button"),a=e(".quick-ajax-tab-content");t.on("click",(function(n){n.preventDefault();const _=e(this).data("tab");t.removeClass("active").attr("aria-selected","false").attr("tabindex","-1"),a.removeClass("active").attr("hidden",!0),e(this).addClass("active").attr("aria-selected","true").attr("tabindex","0"),e("#"+_).addClass("active").attr("hidden",!1)})),t.on("keydown",(function(e){const a=t.index(this);let n;if("ArrowRight"===e.key)n=(a+1)%t.length;else{if("ArrowLeft"!==e.key)return;n=(a-1+t.length)%t.length}t.eq(n).focus().click()}))}},copy_code:function(){e(".copy-button").on("click",(function(){var t=e("#"+e(this).data("copy")),a=e("<textarea>").val(t.text()).appendTo("body").select();try{navigator.clipboard.writeText(t.text()).then((()=>{})).catch((e=>{}))}finally{a.remove(),e(this).text("Code Copied"),setTimeout((()=>{e(this).text("Copy Code")}),2e3)}}))},generateId:function(e){let t=0;for(let a=0;a<e.length;a++)t+=e.charCodeAt(a),a%2==0?t+=e.charCodeAt(a):t-=e.charCodeAt(a);return t},getExcludedPostIds:function(e){var t=e.split(/[,\s]+/),a=[];return t.forEach((function(e){/^\d+$/.test(e)&&-1===a.indexOf(e)&&a.push(e)})),a.join(", ")},cleanClassNames:function(e){let t=e.replace(/,/g," ").split(/\s+/);return t=t.filter(((e,t,a)=>!/^\d/.test(e)&&""!==e&&a.indexOf(e)===t)),t.join(", ")},qapl_collect_input_data:function(){const t={};return e(".function-generator-wrap input, .function-generator-wrap select").each((function(a,n){const _=e(n),o=_.attr("name"),i=_.attr("id");if("checkbox"===n.type)if(o&&o.endsWith("[]")){let e=o.replace(/\[\]$/,"");t[e]||(t[e]=[]),_.prop("checked")&&t[e].push(_.val())}else t[i]=_.prop("checked")?1:0;else t[i]=_.val()})),t},qapl_generate_args:function(e){const t=this;let a="",n="",_="";(a+="$quick_ajax_args = [\n",a+="    'post_type' => '"+e.qapl_select_post_type+"',\n",a+="    'posts_per_page' => "+e.qapl_select_posts_per_page+",\n","none"!==e.qapl_select_orderby&&(a+="    'orderby' => '"+e.qapl_select_orderby+"',\n"),a+="    'order' => '"+e.qapl_select_order+"',\n",""!==e.qapl_select_post_not_in)&&(a+="    'post__not_in' => ["+t.getExcludedPostIds(e.qapl_select_post_not_in)+"],\n");if(1===e.qapl_ignore_sticky_posts&&(a+="    'ignore_sticky_posts' => "+e.qapl_ignore_sticky_posts+",\n"),1===e.qapl_show_select_taxonomy&&(a+="    'selected_taxonomy' => '"+e.qapl_select_taxonomy+"',\n"),1===e.qapl_show_select_taxonomy&&1===e.qapl_manual_term_selection){var o=e.qapl_manual_selected_terms;o&&o.length>0&&(n="[",n+=o.map((e=>`${e}`)).join(", "),n+="]"),n&&(a+="    'selected_terms' => "+n+",\n")}let i=a.trimEnd();return i.endsWith(",")&&(a=i.slice(0,-1)+"\n"),a+="];",""!==a.trim()&&(_+="\n// Define AJAX query parameters for '"+e.qapl_select_post_type+"' type posts.\n",_+=a.trim()+"\n"),_},qapl_generate_attributes:function(e,t){const a=this;let n={},_="";n[qapl_quick_ajax_helper.quick_ajax_id]=t,1===e.qapl_layout_quick_ajax_css_style&&(n[qapl_quick_ajax_helper.quick_ajax_css_style]=e.qapl_layout_quick_ajax_css_style,n[qapl_quick_ajax_helper.grid_num_columns]=e.qapl_layout_select_columns_qty),e.qapl_layout_quick_ajax_post_item_template&&(n[qapl_quick_ajax_helper.post_item_template]=e.qapl_layout_quick_ajax_post_item_template),e.qapl_layout_add_taxonomy_filter_class&&""!==e.qapl_layout_add_taxonomy_filter_class&&(n[qapl_quick_ajax_helper.taxonomy_filter_class]=a.cleanClassNames(e.qapl_layout_add_taxonomy_filter_class)),e.qapl_layout_add_container_class&&""!==e.qapl_layout_add_container_class&&(n[qapl_quick_ajax_helper.container_class]=a.cleanClassNames(e.qapl_layout_add_container_class)),1===e.qapl_show_custom_load_more_post_quantity&&(n[qapl_quick_ajax_helper.load_more_posts]=e.qapl_select_custom_load_more_post_quantity),1===e.qapl_override_global_loader_icon&&(n[qapl_quick_ajax_helper.loader_icon]=e.qapl_loader_icon),1===e.qapl_ajax_on_initial_load&&(n[qapl_quick_ajax_helper.ajax_initial_load]=e.qapl_ajax_on_initial_load),1===e.qapl_ajax_infinite_scroll&&(n[qapl_quick_ajax_helper.infinite_scroll]=e.qapl_ajax_infinite_scroll),1===e.qapl_show_end_post_message&&(n[qapl_quick_ajax_helper.show_end_message]=e.qapl_show_end_post_message);var o="";return Object.keys(n).length>0&&(o="",o+="$quick_ajax_attributes = [\n",Object.entries(n).forEach((([e,t])=>{let n;n=a.quick_ajax_is_numeric(t)?parseInt(t):"string"==typeof t?`'${t}'`:t,o+=`    '${e}' => ${n},\n`})),o=o.slice(0,-2)+"\n",o+="];"),""!==o.trim()&&(_+="\n// Define attributes for AJAX.\n",_+=o.trim()+"\n"),_},qapl_generate_sort_controls:function(e){let t=null,a=null;1===e.qapl_show_order_button&&(t=e.qapl_select_orderby_button_options,t&&t.length>0&&(a="$quick_ajax_sort_options = [",a+=t.map((e=>`'${e}'`)).join(", "),a+="];"));var n="",_="";null!==t&&(n="",n+=a,_="",_+="if(function_exists('qapl_render_sort_controls')){\n",_+="    qapl_render_sort_controls(\n",_+="        $quick_ajax_args,\n",_+="        $quick_ajax_attributes,\n",_+="        $quick_ajax_sort_options\n",_+="    );\n",_+="}");let o="";return""!==n.trim()&&(o+="\n// Set the sort options for the button.\n",o+=n.trim()+"\n"),""!==_.trim()&&(o+="\n// Render the sorting control button.\n",o+=_.trim()+"\n"),o},qapl_generate_taxonomy_filter:function(e){let t=null,a="",n="";return 1===e.qapl_show_select_taxonomy&&(t=e.qapl_select_taxonomy),null!==t&&(n+="if(function_exists('qapl_render_taxonomy_filter')){\n",n+="    qapl_render_taxonomy_filter(\n",n+="        $quick_ajax_args,\n",n+="        $quick_ajax_attributes,\n",n=n.slice(0,-2)+"\n",n+="    );\n",n+="}"),""!==n.trim()&&(a+="\n// Render the navigation for '"+e.qapl_select_taxonomy+"' taxonomy.\n",a+=n.trim()+"\n"),a},qapl_generate_post_container:function(e,t){let a="",n="";return n+="if(function_exists('qapl_render_post_container')){\n",n+="   qapl_render_post_container(\n",n+="       $quick_ajax_args,\n",""!==t&&(n+="       $quick_ajax_attributes,\n"),n=n.slice(0,-2)+"\n",n+="   );\n",n+="}",""!==n.trim()&&(a+="\n// Render the grid for '"+e.qapl_select_post_type+"' type posts.\n",a+=n.trim()+"\n"),a},quick_ajax_function_generator:function(){const t=this;this.helper_available&&e(".generate-function-button").on("click",(function(){const a=e(this),n=a.attr("data-output"),_=e("#"+n),o=e('.copy-button[data-copy="'+n+'"]');a.prop("disabled",!0),o.prop("disabled",!0);const i=t.qapl_collect_input_data(),l=Object.values(i).join(""),c=t.generateId(l),s=t.qapl_generate_args(i),r=t.qapl_generate_attributes(i,c),p=[s,r,t.qapl_generate_sort_controls(i),t.qapl_generate_taxonomy_filter(i),t.qapl_generate_post_container(i,r)].filter(Boolean).join("");_.empty();for(var u=p.split("\n"),d=0;d<u.length;d++)!function(e){setTimeout((function(){_.append(u[e]+"\n"),e===u.length-1&&(a.prop("disabled",!1),o.prop("disabled",!1))}),50*d)}(d)}))},quick_ajax_is_numeric:function(e){return/^-?\d+(\.\d+)?$/.test(e)},quick_ajax_color_picker:function(){e(".color-picker-field").wpColorPicker()},quick_ajax_select_text:function(e){var t,a;document.body.createTextRange?((t=document.body.createTextRange()).moveToElementText(e),t.select()):window.getSelection&&(a=window.getSelection(),(t=document.createRange()).selectNodeContents(e),a.removeAllRanges(),a.addRange(t))},click_and_select_shortcode:function(){const t=this;e(".quick-ajax-shortcode").on("click",(function(){t.quick_ajax_select_text(this)}))},click_and_select_all:function(){const t=this;e(".click-and-select-all").on("click",(function(){var a=e(this).find("code").get(0);t.quick_ajax_select_text(a)}))},accordion_block_toggle:function(){var t=e("#wpbody-content");if(t.find(".quick-ajax-tabs").length>0){var a=e("#adminmenuwrap").outerHeight();t.css("min-height",a)}e(".quick-ajax-accordion-toggle").click((function(){e(this).toggleClass("active").next(".quick-ajax-accordion-content").slideToggle(200)}))}};e(document).ready((function(){t.init()}))}(jQuery);
  • quick-ajax-post-loader/trunk/quick-ajax-post-loader.php

    r3322466 r3328398  
    55* Text Domain: quick-ajax-post-loader
    66* Domain Path: /languages
    7 * Version: 1.7.5
     7* Version: 1.7.6
    88* Description: Supercharge post loading with Quick Ajax Post Loader. Enhance user experience and optimize site performance using AJAX technology.
    99* Author: Pawel Grzelkowski
  • quick-ajax-post-loader/trunk/readme.txt

    r3322466 r3328398  
    22
    33Contributors: grzelkowski
    4 Tags: ajax-load-more, infinite-scroll, category-filter, load-more, ajax
     4Tags: ajax-load-more, infinite-scroll, ajax-filter, post-grid, category-filter
    55Requires at least: 5.6
    66Tested up to: 6.8
    7 Stable tag: 1.7.5
     7Stable tag: 1.7.6
    88Requires PHP: 7.4
    99License: GPLv2 or later
    1010License URI: https://www.gnu.org/licenses/gpl-2.0.html
    1111
    12 Load and display WordPress posts dynamically using AJAX for faster, interactive browsing - no page reloads.
     12Load WordPress posts dynamically with AJAX for faster browsing, infinite scroll, and category filtering - no page reloads.
    1313
    1414== Description ==
     
    106106== Changelog ==
    107107
     108= 1.7.6 - 2025-07-15 =
     109- Refactored the Function Generator module to produce cleaner and more consistent PHP output.
     110- Enhanced the shortcode generation process for better formatting and improved reliability.
     111- Updated admin area CSS to improve layout consistency, spacing, and alignment within the Function Generator.
     112
    108113= 1.7.5 - 2025-07-04 =
    109 - Resolved post visibility problems in specific configurations when using taxonomy filter buttons.
    110 - Improved layout stability by preserving container height during AJAX transitions.
    111 - Refined CSS styling for better visual presentation and smoother content reloads.
    112 - Enhanced support for multiple AJAX containers on a single page when switching filters.
    113 - Fixed issue with Polish translation not loading correctly.
     114- Resolved post visibility issues that occurred in specific configurations when using taxonomy filter buttons.
     115- Improved layout stability by preserving the container height during AJAX transitions.
     116- Refined CSS styling for smoother reloads and better consistency with various themes.
     117- Enhanced support for using multiple AJAX containers on a single page.
     118- Fixed an issue where Polish translation files were not loading correctly in some environments.
     119
    114120
    115121= 1.7.4 - 2025-07-02 =
Note: See TracChangeset for help on using the changeset viewer.