Changeset 3369893
- Timestamp:
- 09/29/2025 04:39:48 PM (6 months ago)
- Location:
- quick-ajax-post-loader/trunk
- Files:
-
- 21 added
- 4 deleted
- 17 edited
-
css/admin-style.css (modified) (1 diff)
-
css/admin-style.min.css (modified) (1 diff)
-
includes/admin/admin-pages-config.php (deleted)
-
includes/admin/class-admin-menu.php (added)
-
includes/admin/cpt (added)
-
includes/admin/cpt/class-cpt-editor-form.php (added)
-
includes/admin/cpt/creator (added)
-
includes/admin/cpt/creator/class-creator-columns.php (added)
-
includes/admin/cpt/creator/class-creator-editor.php (added)
-
includes/admin/cpt/creator/class-creator-form.php (added)
-
includes/admin/cpt/creator/class-creator-post-type.php (added)
-
includes/admin/cpt/creator/class-creator-shortcode-box.php (added)
-
includes/admin/cpt/creator/shortcode-page.php (added)
-
includes/admin/pages/class-admin-options-page-form.php (added)
-
includes/admin/pages/help (deleted)
-
includes/admin/pages/settings (added)
-
includes/admin/pages/settings-page.php (deleted)
-
includes/admin/pages/settings/class-settings-page.php (added)
-
includes/admin/pages/settings/tabs (added)
-
includes/admin/pages/settings/tabs/class-settings-tab-cleanup.php (added)
-
includes/admin/pages/settings/tabs/class-settings-tab-help.php (added)
-
includes/admin/pages/settings/tabs/class-settings-tab-options.php (added)
-
includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php (added)
-
includes/admin/pages/settings/tabs/help (added)
-
includes/admin/pages/settings/tabs/help/help_en_US.json (added)
-
includes/admin/pages/shortcode-page.php (deleted)
-
includes/ajax/actions.php (modified) (1 diff)
-
includes/ajax/class-ajax.php (modified) (3 diffs)
-
includes/enqueue/class-enqueue-handler.php (modified) (6 diffs)
-
includes/form/class-form-content-builder.php (added)
-
includes/form/class-form-field-factory.php (modified) (1 diff)
-
includes/maintenance/class-activator.php (modified) (1 diff)
-
includes/resources/class-constants.php (modified) (1 diff)
-
includes/resources/class-logger.php (modified) (1 diff)
-
includes/resources/class-resource-manager.php (modified) (2 diffs)
-
includes/resources/class-utilities.php (modified) (2 diffs)
-
js/admin-script.js (modified) (8 diffs)
-
js/admin-script.min.js (modified) (1 diff)
-
js/script.js (modified) (7 diffs)
-
js/script.min.js (modified) (1 diff)
-
quick-ajax-post-loader.php (modified) (3 diffs)
-
readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
quick-ajax-post-loader/trunk/css/admin-style.css
r3352831 r3369893 268 268 display: -ms-flexbox; 269 269 display: flex; 270 -webkit-transition: background-color 0. 3s ease, border-color 0.3s ease;271 transition: background-color 0. 3s ease, border-color 0.3s ease;270 -webkit-transition: background-color 0.15s ease, border-color 0.15s ease; 271 transition: background-color 0.15s ease, border-color 0.15s ease; 272 272 } 273 273 .quick-ajax-tab-button:first-of-type{ -
quick-ajax-post-loader/trunk/css/admin-style.min.css
r3352831 r3369893 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}.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:background-color .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease;transition:background-color .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease;transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease;transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease}.quick-ajax-form-wrap .switch:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:var(--qapl-bg);-webkit-transition:background-color .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease;transition:background-color .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease;transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease;transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease}.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: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;visibility:visible;opacity:1;margin-bottom:16px;-webkit-transition:opacity .15s ease,margin-bottom .15s ease;transition:opacity .15s ease,margin-bottom .15s ease}.quick-ajax-form-wrap .quick-ajax-field-container.inactive{visibility:hidden;height:0;opacity:0;margin-bottom:0}.quick-ajax-form-wrap .quick-ajax-field-container>label{-webkit-box-flex:0;-ms-flex:0 0 210px;flex:0 0 210px;margin-top:6px}.quick-ajax-form-wrap .quick-ajax-field-container>.quick-ajax-field{max-width:580px;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0}.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%;margin:0}.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}@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%;max-width: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:background-color . 3s ease,border-color .3s ease;transition:background-color .3s ease,border-color .3s ease}.quick-ajax-tab-button:first-of-type{margin-left:0}.quick-ajax-tab-button:hover{background:var(--qapl-bg-mute)}.quick-ajax-tab-button.active{background:var(--qapl-bg);z-index:1;border-bottom:1px solid var(--qapl-bg)}.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)}.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}}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}.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:background-color .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease;transition:background-color .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease;transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease;transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease}.quick-ajax-form-wrap .switch:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:var(--qapl-bg);-webkit-transition:background-color .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease;transition:background-color .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease;transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease;transition:background-color .3s ease,box-shadow .3s ease,transform .3s ease,-webkit-box-shadow .3s ease,-webkit-transform .3s ease}.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: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;visibility:visible;opacity:1;margin-bottom:16px;-webkit-transition:opacity .15s ease,margin-bottom .15s ease;transition:opacity .15s ease,margin-bottom .15s ease}.quick-ajax-form-wrap .quick-ajax-field-container.inactive{visibility:hidden;height:0;opacity:0;margin-bottom:0}.quick-ajax-form-wrap .quick-ajax-field-container>label{-webkit-box-flex:0;-ms-flex:0 0 210px;flex:0 0 210px;margin-top:6px}.quick-ajax-form-wrap .quick-ajax-field-container>.quick-ajax-field{max-width:580px;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0}.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%;margin:0}.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}@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%;max-width: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:background-color .15s ease,border-color .15s ease;transition:background-color .15s ease,border-color .15s ease}.quick-ajax-tab-button:first-of-type{margin-left:0}.quick-ajax-tab-button:hover{background:var(--qapl-bg-mute)}.quick-ajax-tab-button.active{background:var(--qapl-bg);z-index:1;border-bottom:1px solid var(--qapl-bg)}.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)}.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/includes/ajax/actions.php
r3358086 r3369893 89 89 90 90 $output = ob_get_clean(); 91 $load_more = $ajax_class->load_more_button(esc_attr($query->get('paged')), esc_attr($query->max_num_pages), esc_attr($query->found_posts), esc_attr($ ajax_class->attributes['infinite_scroll']));91 $load_more = $ajax_class->load_more_button(esc_attr($query->get('paged')), esc_attr($query->max_num_pages), esc_attr($query->found_posts), esc_attr($query->post_count), esc_attr($ajax_class->attributes['infinite_scroll'])); 92 92 $show_end_message = $ajax_class->render_end_of_posts_message($load_more, esc_attr($query->max_num_pages), esc_attr($ajax_class->attributes['quick_ajax_id']), $ajax_class->attributes['show_end_message']); 93 93 -
quick-ajax-post-loader/trunk/includes/ajax/class-ajax.php
r3358086 r3369893 680 680 if (!$this->ajax_initial_load) { 681 681 $infinite_scroll = isset($this->attributes[QAPL_Quick_Ajax_Constants::ATTRIBUTE_AJAX_INFINITE_SCROLL]) ? intval($this->attributes[QAPL_Quick_Ajax_Constants::ATTRIBUTE_AJAX_INFINITE_SCROLL]) : QAPL_Quick_Ajax_Constants::QUERY_SETTING_AJAX_ON_INITIAL_LOAD_DEFAULT; 682 echo wp_kses_post($this->load_more_button(intval($query->get('paged')), intval($query->max_num_pages), intval($query->found_posts), $infinite_scroll));682 echo wp_kses_post($this->load_more_button(intval($query->get('paged')), intval($query->max_num_pages), intval($query->found_posts), intval($query->post_count), $infinite_scroll)); 683 683 } 684 684 do_action(QAPL_Quick_Ajax_Constants::HOOK_POSTS_CONTAINER_END, $this->quick_ajax_id); … … 693 693 return $output; // Return the content 694 694 } 695 public function load_more_button($paged, $max_num_pages, $found_posts, $ infinite_scroll = false) {695 public function load_more_button($paged, $max_num_pages, $found_posts, $post_count, $infinite_scroll = false) { 696 696 if(!$this->args){ 697 697 return false; … … 706 706 // use 'offset' not 'paged' 707 707 $load_more_posts = intval($this->attributes[QAPL_Quick_Ajax_Constants::ATTRIBUTE_LOAD_MORE_POSTS]); 708 $offset = isset($load_more_args['offset']) ? $load_more_args['offset'] + $load_more_posts : + $load_more_posts; 709 710 if (($found_posts <= $offset) || ($found_posts <= intval($load_more_args['posts_per_page']))) { 708 //get initial offset and number of posts per page 709 $initial_offset = isset($load_more_args['offset']) ? intval($load_more_args['offset']) : 0; 710 //get number of posts per page 711 $posts_per_page = intval($load_more_args['posts_per_page']); 712 713 //old logic 714 //if post_found smaller than initial offset and post per page 715 //if ($found_posts <= $initial_offset + $posts_per_page) { 716 // return false; 717 //} 718 //new logic 719 $shown_posts = $initial_offset + $post_count; 720 if ($found_posts <= $shown_posts) { 711 721 return false; 712 722 } -
quick-ajax-post-loader/trunk/includes/enqueue/class-enqueue-handler.php
r3358086 r3369893 5 5 6 6 class QAPL_Quick_Ajax_Enqueue_Handler implements QAPL_Quick_Ajax_Enqueue_Handler_Interface { 7 private QAPL_Quick_Ajax_File_Manager_Interface $file_ helper;7 private QAPL_Quick_Ajax_File_Manager_Interface $file_manager; 8 8 9 public function __construct(QAPL_Quick_Ajax_File_Manager_Interface $file_ helper) {10 $this->file_ helper = $file_helper;9 public function __construct(QAPL_Quick_Ajax_File_Manager_Interface $file_manager) { 10 $this->file_manager = $file_manager; 11 11 } 12 12 public function register_hooks(): void { … … 23 23 $version = $this->get_version(); 24 24 25 $style_url = $this->file_ helper->get_plugin_css_directory() . 'style' . $style_suffix . '.css';26 $script_url = $this->file_ helper->get_plugin_js_directory() . 'script' . $script_suffix . '.js';25 $style_url = $this->file_manager->get_plugin_css_directory() . 'style' . $style_suffix . '.css'; 26 $script_url = $this->file_manager->get_plugin_js_directory() . 'script' . $script_suffix . '.js'; 27 27 28 28 wp_enqueue_style('qapl-quick-ajax-style', $style_url, [], $version); 29 29 wp_register_script('qapl-quick-ajax-script', $script_url, ['jquery'], $version, true); 30 wp_localize_script('qapl-quick-ajax-script', 'qapl_quick_ajax_ helper', $this->get_localized_data());30 wp_localize_script('qapl-quick-ajax-script', 'qapl_quick_ajax_data', $this->get_localized_data()); 31 31 wp_enqueue_script('qapl-quick-ajax-script'); 32 32 } … … 44 44 $version = $this->get_version(); 45 45 46 $style_url = $this->file_ helper->get_plugin_css_directory() . 'admin-style' . $style_suffix . '.css';47 $script_url = $this->file_ helper->get_plugin_js_directory() . 'admin-script' . $script_suffix . '.js';46 $style_url = $this->file_manager->get_plugin_css_directory() . 'admin-style' . $style_suffix . '.css'; 47 $script_url = $this->file_manager->get_plugin_js_directory() . 'admin-script' . $script_suffix . '.js'; 48 48 49 49 wp_enqueue_style('qapl-quick-ajax-admin-style', $style_url, [], $version); 50 50 wp_register_script('qapl-quick-ajax-admin-script', $script_url, ['jquery'], $version, true); 51 wp_localize_script('qapl-quick-ajax-admin-script', 'qapl_quick_ajax_ helper', $this->get_admin_localized_data());51 wp_localize_script('qapl-quick-ajax-admin-script', 'qapl_quick_ajax_admin_data', $this->get_admin_localized_data()); 52 52 wp_enqueue_script('qapl-quick-ajax-admin-script'); 53 53 } … … 73 73 $dev_file = $base_path . $base_name . '-dev' . $extension; 74 74 // Return the -dev suffix if the file exists 75 if ($this->file_ helper->file_exists($dev_file)) {75 if ($this->file_manager->file_exists($dev_file)) { 76 76 return '-dev'; 77 77 } … … 89 89 'ajax_url' => admin_url('admin-ajax.php'), 90 90 'nonce' => $nonce, 91 ' helper' => [91 'constants' => [ 92 92 'block_id' => QAPL_Quick_Ajax_Constants::ATTRIBUTE_QUICK_AJAX_ID, 93 93 'filter_data_button' => QAPL_Quick_Ajax_Constants::TERM_FILTER_BUTTON_DATA_BUTTON, … … 101 101 'ajax_url' => admin_url('admin-ajax.php'), 102 102 'nonce' => wp_create_nonce(QAPL_Quick_Ajax_Constants::NONCE_FORM_QUICK_AJAX_ACTION), 103 'quick_ajax_settings_wrapper' => QAPL_Quick_Ajax_Constants::SETTINGS_WRAPPER_ID, 104 'quick_ajax_post_type' => QAPL_Quick_Ajax_Constants::QUERY_SETTING_SELECT_POST_TYPE, 105 'quick_ajax_taxonomy' => QAPL_Quick_Ajax_Constants::QUERY_SETTING_SELECT_TAXONOMY, 106 'quick_ajax_manual_selected_terms' => QAPL_Quick_Ajax_Constants::QUERY_SETTING_SELECTED_TERMS, 107 'quick_ajax_css_style' => QAPL_Quick_Ajax_Constants::ATTRIBUTE_QUICK_AJAX_CSS_STYLE, 108 'grid_num_columns' => QAPL_Quick_Ajax_Constants::ATTRIBUTE_GRID_NUM_COLUMNS, 109 'post_item_template' => QAPL_Quick_Ajax_Constants::ATTRIBUTE_POST_ITEM_TEMPLATE, 110 'post_item_template_default' => QAPL_Quick_Ajax_Constants::LAYOUT_SETTING_POST_ITEM_TEMPLATE_DEFAULT, 111 'taxonomy_filter_class' => QAPL_Quick_Ajax_Constants::ATTRIBUTE_TAXONOMY_FILTER_CLASS, 112 'container_class' => QAPL_Quick_Ajax_Constants::ATTRIBUTE_CONTAINER_CLASS, 113 'load_more_posts' => QAPL_Quick_Ajax_Constants::ATTRIBUTE_LOAD_MORE_POSTS, 114 'loader_icon' => QAPL_Quick_Ajax_Constants::ATTRIBUTE_LOADER_ICON, 115 'loader_icon_default' => QAPL_Quick_Ajax_Constants::LAYOUT_SETTING_SELECT_LOADER_ICON_DEFAULT, 116 'ajax_initial_load' => QAPL_Quick_Ajax_Constants::AJAX_SETTING_AJAX_INITIAL_LOAD, 117 'infinite_scroll' => QAPL_Quick_Ajax_Constants::ATTRIBUTE_AJAX_INFINITE_SCROLL, 118 'show_end_message' => QAPL_Quick_Ajax_Constants::ATTRIBUTE_SHOW_END_MESSAGE, 119 'quick_ajax_id' => QAPL_Quick_Ajax_Constants::ATTRIBUTE_QUICK_AJAX_ID, 103 'constants' => [ 104 'quick_ajax_settings_wrapper' => QAPL_Quick_Ajax_Constants::SETTINGS_WRAPPER_ID, 105 'quick_ajax_post_type' => QAPL_Quick_Ajax_Constants::QUERY_SETTING_SELECT_POST_TYPE, 106 'quick_ajax_taxonomy' => QAPL_Quick_Ajax_Constants::QUERY_SETTING_SELECT_TAXONOMY, 107 'quick_ajax_manual_selected_terms' => QAPL_Quick_Ajax_Constants::QUERY_SETTING_SELECTED_TERMS, 108 'quick_ajax_css_style' => QAPL_Quick_Ajax_Constants::ATTRIBUTE_QUICK_AJAX_CSS_STYLE, 109 'grid_num_columns' => QAPL_Quick_Ajax_Constants::ATTRIBUTE_GRID_NUM_COLUMNS, 110 'post_item_template' => QAPL_Quick_Ajax_Constants::ATTRIBUTE_POST_ITEM_TEMPLATE, 111 'post_item_template_default' => QAPL_Quick_Ajax_Constants::LAYOUT_SETTING_POST_ITEM_TEMPLATE_DEFAULT, 112 'taxonomy_filter_class' => QAPL_Quick_Ajax_Constants::ATTRIBUTE_TAXONOMY_FILTER_CLASS, 113 'container_class' => QAPL_Quick_Ajax_Constants::ATTRIBUTE_CONTAINER_CLASS, 114 'load_more_posts' => QAPL_Quick_Ajax_Constants::ATTRIBUTE_LOAD_MORE_POSTS, 115 'loader_icon' => QAPL_Quick_Ajax_Constants::ATTRIBUTE_LOADER_ICON, 116 'loader_icon_default' => QAPL_Quick_Ajax_Constants::LAYOUT_SETTING_SELECT_LOADER_ICON_DEFAULT, 117 'ajax_initial_load' => QAPL_Quick_Ajax_Constants::AJAX_SETTING_AJAX_INITIAL_LOAD, 118 'infinite_scroll' => QAPL_Quick_Ajax_Constants::ATTRIBUTE_AJAX_INFINITE_SCROLL, 119 'show_end_message' => QAPL_Quick_Ajax_Constants::ATTRIBUTE_SHOW_END_MESSAGE, 120 'quick_ajax_id' => QAPL_Quick_Ajax_Constants::ATTRIBUTE_QUICK_AJAX_ID, 121 ] 120 122 ]; 121 123 } -
quick-ajax-post-loader/trunk/includes/form/class-form-field-factory.php
r3358086 r3369893 406 406 //build loader icon select field 407 407 private static function loader_icon_get_field(string $name, string $default): QAPL_Quick_Ajax_Form_Field_Interface { 408 $file_ helper = new QAPL_Quick_Ajax_File_Manager();409 $templates = $file_ helper->get_templates_items_array('loader-icon/*.php','Loader Icon Name:',$default);408 $file_manager = new QAPL_Quick_Ajax_File_Manager(); 409 $templates = $file_manager->get_templates_items_array('loader-icon/*.php','Loader Icon Name:',$default); 410 410 $options = []; 411 411 foreach ($templates as $item) { -
quick-ajax-post-loader/trunk/includes/maintenance/class-activator.php
r3358108 r3369893 10 10 'loader_icon' => QAPL_Quick_Ajax_Constants::LAYOUT_SETTING_SELECT_LOADER_ICON_DEFAULT, 11 11 ]; 12 QAPL_Quick_Ajax_Utilities::add_or_update_option_autoload(QAPL_Quick_Ajax_Constants::GLOBAL_OPTIONS_NAME, $default_value, 'off'); 12 self::add_or_update_option_autoload(QAPL_Quick_Ajax_Constants::GLOBAL_OPTIONS_NAME, $default_value, 'off'); 13 } 14 private static function add_or_update_option_autoload(string $option_name, $default_value = '', string $autoload = 'auto'): void { 15 global $wpdb; 16 17 // Check if the option exists 18 $existing_option = get_option($option_name, false); 19 20 if ($existing_option !== false) { 21 // Update autoload value if the option exists 22 $updated = $wpdb->update( 23 $wpdb->options, 24 ['autoload' => $autoload], // Update autoload field 25 ['option_name' => $option_name], 26 ['%s'], 27 ['%s'] 28 ); 29 30 //clear cache after updating 31 if ($updated !== false) { 32 wp_cache_delete($option_name, 'options'); 33 } 34 } else { 35 // Add the option with specified autoload value 36 add_option($option_name, $default_value, '', $autoload); 37 //clear cache after adding 38 wp_cache_delete($option_name, 'options'); 39 } 13 40 } 14 41 } -
quick-ajax-post-loader/trunk/includes/resources/class-constants.php
r3358108 r3369893 6 6 class QAPL_Quick_Ajax_Constants{ 7 7 // Plugin info 8 public const PLUGIN_VERSION = '1.8. 2';8 public const PLUGIN_VERSION = '1.8.3'; 9 9 public const PLUGIN_NAME = 'Quick Ajax Post Loader'; 10 10 public const PLUGIN_TEXT_DOMAIN = 'quick-ajax-post-loader'; -
quick-ajax-post-loader/trunk/includes/resources/class-logger.php
r3358086 r3369893 12 12 error_log("Quick Ajax Post Loader [".$prefix."]: ".$message); 13 13 } 14 public static function backtrace(){14 public static function log_backtrace(){ 15 15 if (!defined('WP_DEBUG') || WP_DEBUG !== true) { 16 16 return; -
quick-ajax-post-loader/trunk/includes/resources/class-resource-manager.php
r3358086 r3369893 10 10 // constants for page files 11 11 private const PAGE_FILES = [ 12 'admin_pages_config' => 'includes/admin/admin-pages-config.php', 13 'settings_page' => 'includes/admin/pages/settings-page.php', 14 'shortcode_page' => 'includes/admin/pages/shortcode-page.php', 12 'class-admin-menu' => 'includes/admin/class-admin-menu.php', //main admin menu and submenu 13 14 //CPT 15 'class-post-form' => 'includes/admin/cpt/class-cpt-editor-form.php', //abstract form for post type meta box 16 // creator CPT 17 'class-creator-post-type' => 'includes/admin/cpt/creator/class-creator-post-type.php', 18 'class-creator-columns' => 'includes/admin/cpt/creator/class-creator-columns.php', 19 'class-creator-form' => 'includes/admin/cpt/creator/class-creator-form.php', 20 'class-creator-shortcode-box' => 'includes/admin/cpt/creator/class-creator-shortcode-box.php', 21 'class-creator-editor' => 'includes/admin/cpt/creator/class-creator-editor.php', 22 23 //admin pages 24 'class-options-form' => 'includes/admin/pages/class-admin-options-page-form.php', //abstract form for option page 25 // settings page 26 'class-settings-tab-options' => 'includes/admin/pages/settings/tabs/class-settings-tab-options.php', 27 'class-settings-tab-php-snippet' => 'includes/admin/pages/settings/tabs/class-settings-tab-php-snippet.php', 28 'class-settings-tab-help' => 'includes/admin/pages/settings/tabs/class-settings-tab-help.php', 29 'class-settings-tab-cleanup' => 'includes/admin/pages/settings/tabs/class-settings-tab-cleanup.php', 30 'class-settings-page' => 'includes/admin/pages/settings/class-settings-page.php', 31 15 32 ]; 16 33 … … 18 35 private const COMPONENT_FILES = [ 19 36 //form 20 'interface-form-field' => 'includes/form/interface-form-field.php', 21 'class-form-field' => 'includes/form/class-form-field.php', 22 'class-form-field-builder' => 'includes/form/class-form-field-builder.php', 23 'class-form-field-factory' => 'includes/form/class-form-field-factory.php', 37 'interface-form-field' => 'includes/form/interface-form-field.php', //interface for form field 38 'class-form-field' => 'includes/form/class-form-field.php', //final form field object 39 'class-form-field-builder' => 'includes/form/class-form-field-builder.php', //builder for form fields 40 'class-form-field-factory' => 'includes/form/class-form-field-factory.php', //factory to create form fields 41 'class-content-builder' => 'includes/form/class-form-content-builder.php', //base class to build form fields html 24 42 //shortcode 25 43 'class-shortcode' => 'includes/shortcode/class-shortcode.php', -
quick-ajax-post-loader/trunk/includes/resources/class-utilities.php
r3358086 r3369893 31 31 } 32 32 33 public static function element_exists(string $type, string $name) {33 public static function check_name_conflict(string $type, string $name) { 34 34 $exists = false; 35 35 $type_formatted = ''; … … 50 50 return true; 51 51 } 52 public static function add_or_update_option_autoload(string $option_name, $default_value = '', string $autoload = 'auto'): void {53 global $wpdb;54 55 // Check if the option exists56 $existing_option = get_option($option_name, false);57 58 if ($existing_option !== false) {59 // Update autoload value if the option exists60 $updated = $wpdb->update(61 $wpdb->options,62 ['autoload' => $autoload], // Update autoload field63 ['option_name' => $option_name],64 ['%s'],65 ['%s']66 );67 68 //clear cache after updating69 if ($updated !== false) {70 wp_cache_delete($option_name, 'options');71 }72 } else {73 // Add the option with specified autoload value74 add_option($option_name, $default_value, '', $autoload);75 //clear cache after adding76 wp_cache_delete($option_name, 'options');77 }78 }79 52 } -
quick-ajax-post-loader/trunk/js/admin-script.js
r3352831 r3369893 2 2 // Define a unique namespace for your plugin's functions 3 3 var qapl_quick_ajax_post_loader_admin_scripts = { 4 helper_available: typeof qapl_quick_ajax_helper !== "undefined" && qapl_quick_ajax_helper,4 data_available: typeof qapl_quick_ajax_admin_data !== "undefined" && qapl_quick_ajax_admin_data, 5 5 init: function () { 6 6 this.click_and_select_shortcode(); … … 16 16 }, 17 17 handle_post_type_change: function () { 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);18 if (!this.data_available) return; 19 const self = this; 20 const postTypeSelect = $("#" + qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper + " #" + qapl_quick_ajax_admin_data.constants.quick_ajax_post_type); 21 21 if (postTypeSelect.length) { 22 22 postTypeSelect.on("change", function () { 23 23 const postType = $(this).val(); 24 24 $.ajax({ 25 url: qapl_quick_ajax_ helper.ajax_url,25 url: qapl_quick_ajax_admin_data.ajax_url, 26 26 type: "POST", 27 27 data: { 28 28 action: "qapl_quick_ajax_get_taxonomies_by_post_type", 29 29 post_type: postType, 30 nonce: qapl_quick_ajax_ helper.nonce30 nonce: qapl_quick_ajax_admin_data.nonce 31 31 }, 32 32 success: function (response) { 33 33 if (response && response.data) { 34 const taxonomySelect = $("#" + qapl_quick_ajax_ helper.quick_ajax_settings_wrapper + " #" + qapl_quick_ajax_helper.quick_ajax_taxonomy);34 const taxonomySelect = $("#" + qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper + " #" + qapl_quick_ajax_admin_data.constants.quick_ajax_taxonomy); 35 35 taxonomySelect.empty(); 36 36 taxonomySelect.append(response.data); … … 48 48 }, 49 49 handle_taxonomy_change: function () { 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);50 if (!this.data_available) return; 51 const self = this; 52 const taxonomySelect = $("#" + qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper + " #" + qapl_quick_ajax_admin_data.constants.quick_ajax_taxonomy); 53 const termsContainer = $("#" + qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper + " #" + qapl_quick_ajax_admin_data.constants.quick_ajax_manual_selected_terms); 54 54 if (taxonomySelect.length) { 55 55 taxonomySelect.on("change", function () { … … 62 62 } 63 63 $.ajax({ 64 url: qapl_quick_ajax_ helper.ajax_url,64 url: qapl_quick_ajax_admin_data.ajax_url, 65 65 type: "POST", 66 66 data: { … … 68 68 taxonomy: taxonomy, 69 69 post_id: post_id, 70 nonce: qapl_quick_ajax_ helper.nonce70 nonce: qapl_quick_ajax_admin_data.nonce 71 71 }, 72 72 success: function (response) { … … 89 89 }, 90 90 trigger_taxonomy_change: function () { 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);91 if (!this.data_available) return; 92 const self = this; 93 const taxonomySelect = $("#" + qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper + " #" + qapl_quick_ajax_admin_data.constants.quick_ajax_taxonomy); 94 const termsContainer = $("#" + qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper + " #" + qapl_quick_ajax_admin_data.constants.quick_ajax_manual_selected_terms); 95 95 if (termsContainer.length) { 96 96 self.admin_page_loader(termsContainer); … … 307 307 let quickAjaxAttributes = {}; 308 308 let formattedItem = ""; 309 quickAjaxAttributes[qapl_quick_ajax_ helper.quick_ajax_id] = quick_ajax_id;309 quickAjaxAttributes[qapl_quick_ajax_admin_data.constants.quick_ajax_id] = quick_ajax_id; 310 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;311 quickAjaxAttributes[qapl_quick_ajax_admin_data.constants.quick_ajax_css_style] = inputData.qapl_layout_quick_ajax_css_style; 312 quickAjaxAttributes[qapl_quick_ajax_admin_data.constants.grid_num_columns] = inputData.qapl_layout_select_columns_qty; 313 313 } 314 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;315 quickAjaxAttributes[qapl_quick_ajax_admin_data.constants.post_item_template] = inputData.qapl_layout_quick_ajax_post_item_template; 316 316 } 317 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);318 quickAjaxAttributes[qapl_quick_ajax_admin_data.constants.taxonomy_filter_class] = self.cleanClassNames(inputData.qapl_layout_add_taxonomy_filter_class); 319 319 } 320 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);321 quickAjaxAttributes[qapl_quick_ajax_admin_data.constants.container_class] = self.cleanClassNames(inputData.qapl_layout_add_container_class); 322 322 } 323 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;324 quickAjaxAttributes[qapl_quick_ajax_admin_data.constants.load_more_posts] = inputData.qapl_select_custom_load_more_post_quantity; 325 325 } 326 326 if (inputData.qapl_override_global_loader_icon === 1) { 327 quickAjaxAttributes[qapl_quick_ajax_ helper.loader_icon] = inputData.qapl_loader_icon;327 quickAjaxAttributes[qapl_quick_ajax_admin_data.constants.loader_icon] = inputData.qapl_loader_icon; 328 328 } 329 329 if (inputData.qapl_ajax_on_initial_load === 1) { 330 quickAjaxAttributes[qapl_quick_ajax_ helper.ajax_initial_load] = inputData.qapl_ajax_on_initial_load;330 quickAjaxAttributes[qapl_quick_ajax_admin_data.constants.ajax_initial_load] = inputData.qapl_ajax_on_initial_load; 331 331 } 332 332 if (inputData.qapl_ajax_infinite_scroll === 1) { 333 quickAjaxAttributes[qapl_quick_ajax_ helper.infinite_scroll] = inputData.qapl_ajax_infinite_scroll;333 quickAjaxAttributes[qapl_quick_ajax_admin_data.constants.infinite_scroll] = inputData.qapl_ajax_infinite_scroll; 334 334 } 335 335 if (inputData.qapl_show_end_post_message === 1) { 336 quickAjaxAttributes[qapl_quick_ajax_ helper.show_end_message] = inputData.qapl_show_end_post_message;336 quickAjaxAttributes[qapl_quick_ajax_admin_data.constants.show_end_message] = inputData.qapl_show_end_post_message; 337 337 } 338 338 //quickAjaxAttributes code … … 456 456 quick_ajax_function_generator: function () { 457 457 const self = this; 458 if (!this. helper_available) return;458 if (!this.data_available) return; 459 459 $(".generate-function-button").on("click", function () { 460 460 const button = $(this); -
quick-ajax-post-loader/trunk/js/admin-script.min.js
r3352831 r3369893 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&&a&&(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"string"==typeof n&&""!==n.trim()&&(o+="\n// Set the sort options for the button.\n",o+=n.trim()+"\n"),"string"==typeof _&&""!==_.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);1 !function(a){var t={data_available:"undefined"!=typeof qapl_quick_ajax_admin_data&&qapl_quick_ajax_admin_data,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.data_available)return;const t=this,n=a("#"+qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_admin_data.constants.quick_ajax_post_type);n.length&&n.on("change",(function(){const n=a(this).val();a.ajax({url:qapl_quick_ajax_admin_data.ajax_url,type:"POST",data:{action:"qapl_quick_ajax_get_taxonomies_by_post_type",post_type:n,nonce:qapl_quick_ajax_admin_data.nonce},success:function(n){if(n&&n.data){const e=a("#"+qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_admin_data.constants.quick_ajax_taxonomy);e.empty(),e.append(n.data),t.trigger_taxonomy_change()}},error:function(a,t,n){}})}))},handle_taxonomy_change:function(){if(!this.data_available)return;const t=this,n=a("#"+qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_admin_data.constants.quick_ajax_taxonomy),e=a("#"+qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_admin_data.constants.quick_ajax_manual_selected_terms);n.length&&n.on("change",(function(){e.empty(),t.admin_page_loader(e);let n=a(this).val(),_="";a("#post_ID").length&&(_=a("#post_ID").val()),a.ajax({url:qapl_quick_ajax_admin_data.ajax_url,type:"POST",data:{action:"qapl_quick_ajax_get_terms_by_taxonomy",taxonomy:n,post_id:_,nonce:qapl_quick_ajax_admin_data.nonce},success:function(a){a&&a.data&&e.fadeOut(100,(function(){e.empty(),e.append(a.data),e.fadeIn(100)}))},error:function(a,t,n){}})}))},trigger_taxonomy_change:function(){if(!this.data_available)return;const t=this,n=a("#"+qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_admin_data.constants.quick_ajax_taxonomy),e=a("#"+qapl_quick_ajax_admin_data.constants.quick_ajax_settings_wrapper+" #"+qapl_quick_ajax_admin_data.constants.quick_ajax_manual_selected_terms);e.length&&(t.admin_page_loader(e),n.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(){const t=a(this),n=t.data("conditional");let e=!0;for(const t in n){if(!n.hasOwnProperty(t))continue;const _=n[t],o=a("#"+t);if((o.is(":checkbox")?o.is(":checked")?"1":"0":o.val())!==_){e=!1;break}}e?t.removeClass("inactive"):t.addClass("inactive")}))}))},quick_ajax_tabs:function(){if(a(".quick-ajax-tabs").length){const t=a(".quick-ajax-tab-button"),n=a(".quick-ajax-tab-content");t.on("click",(function(e){e.preventDefault();const _=a(this).data("tab");t.removeClass("active").attr("aria-selected","false").attr("tabindex","-1"),n.removeClass("active").attr("hidden",!0),a(this).addClass("active").attr("aria-selected","true").attr("tabindex","0"),a("#"+_).addClass("active").attr("hidden",!1)})),t.on("keydown",(function(a){const n=t.index(this);let e;if("ArrowRight"===a.key)e=(n+1)%t.length;else{if("ArrowLeft"!==a.key)return;e=(n-1+t.length)%t.length}t.eq(e).focus().click()}))}},copy_code:function(){a(".copy-button").on("click",(function(){var t=a("#"+a(this).data("copy")),n=a("<textarea>").val(t.text()).appendTo("body").select();try{navigator.clipboard.writeText(t.text()).then((()=>{})).catch((a=>{}))}finally{n.remove(),a(this).text("Code Copied"),setTimeout((()=>{a(this).text("Copy Code")}),2e3)}}))},generateId:function(a){let t=0;for(let n=0;n<a.length;n++)t+=a.charCodeAt(n),n%2==0?t+=a.charCodeAt(n):t-=a.charCodeAt(n);return t},getExcludedPostIds:function(a){var t=a.split(/[,\s]+/),n=[];return t.forEach((function(a){/^\d+$/.test(a)&&-1===n.indexOf(a)&&n.push(a)})),n.join(", ")},cleanClassNames:function(a){let t=a.replace(/,/g," ").split(/\s+/);return t=t.filter(((a,t,n)=>!/^\d/.test(a)&&""!==a&&n.indexOf(a)===t)),t.join(", ")},qapl_collect_input_data:function(){const t={};return a(".function-generator-wrap input, .function-generator-wrap select").each((function(n,e){const _=a(e),o=_.attr("name"),i=_.attr("id");if("checkbox"===e.type)if(o&&o.endsWith("[]")){let a=o.replace(/\[\]$/,"");t[a]||(t[a]=[]),_.prop("checked")&&t[a].push(_.val())}else t[i]=_.prop("checked")?1:0;else t[i]=_.val()})),t},qapl_generate_args:function(a){const t=this;let n="",e="",_="";(n+="$quick_ajax_args = [\n",n+=" 'post_type' => '"+a.qapl_select_post_type+"',\n",n+=" 'posts_per_page' => "+a.qapl_select_posts_per_page+",\n","none"!==a.qapl_select_orderby&&(n+=" 'orderby' => '"+a.qapl_select_orderby+"',\n"),n+=" 'order' => '"+a.qapl_select_order+"',\n",""!==a.qapl_select_post_not_in)&&(n+=" 'post__not_in' => ["+t.getExcludedPostIds(a.qapl_select_post_not_in)+"],\n");if(1===a.qapl_ignore_sticky_posts&&(n+=" 'ignore_sticky_posts' => "+a.qapl_ignore_sticky_posts+",\n"),1===a.qapl_show_select_taxonomy&&(n+=" 'selected_taxonomy' => '"+a.qapl_select_taxonomy+"',\n"),1===a.qapl_show_select_taxonomy&&1===a.qapl_manual_term_selection){var o=a.qapl_manual_selected_terms;o&&o.length>0&&(e="[",e+=o.map((a=>`${a}`)).join(", "),e+="]"),e&&(n+=" 'selected_terms' => "+e+",\n")}let i=n.trimEnd();return i.endsWith(",")&&(n=i.slice(0,-1)+"\n"),n+="];",""!==n.trim()&&(_+="\n// Define AJAX query parameters for '"+a.qapl_select_post_type+"' type posts.\n",_+=n.trim()+"\n"),_},qapl_generate_attributes:function(a,t){const n=this;let e={},_="";e[qapl_quick_ajax_admin_data.constants.quick_ajax_id]=t,1===a.qapl_layout_quick_ajax_css_style&&(e[qapl_quick_ajax_admin_data.constants.quick_ajax_css_style]=a.qapl_layout_quick_ajax_css_style,e[qapl_quick_ajax_admin_data.constants.grid_num_columns]=a.qapl_layout_select_columns_qty),a.qapl_layout_quick_ajax_post_item_template&&(e[qapl_quick_ajax_admin_data.constants.post_item_template]=a.qapl_layout_quick_ajax_post_item_template),a.qapl_layout_add_taxonomy_filter_class&&""!==a.qapl_layout_add_taxonomy_filter_class&&(e[qapl_quick_ajax_admin_data.constants.taxonomy_filter_class]=n.cleanClassNames(a.qapl_layout_add_taxonomy_filter_class)),a.qapl_layout_add_container_class&&""!==a.qapl_layout_add_container_class&&(e[qapl_quick_ajax_admin_data.constants.container_class]=n.cleanClassNames(a.qapl_layout_add_container_class)),1===a.qapl_show_custom_load_more_post_quantity&&(e[qapl_quick_ajax_admin_data.constants.load_more_posts]=a.qapl_select_custom_load_more_post_quantity),1===a.qapl_override_global_loader_icon&&(e[qapl_quick_ajax_admin_data.constants.loader_icon]=a.qapl_loader_icon),1===a.qapl_ajax_on_initial_load&&(e[qapl_quick_ajax_admin_data.constants.ajax_initial_load]=a.qapl_ajax_on_initial_load),1===a.qapl_ajax_infinite_scroll&&(e[qapl_quick_ajax_admin_data.constants.infinite_scroll]=a.qapl_ajax_infinite_scroll),1===a.qapl_show_end_post_message&&(e[qapl_quick_ajax_admin_data.constants.show_end_message]=a.qapl_show_end_post_message);var o="";return Object.keys(e).length>0&&(o="",o+="$quick_ajax_attributes = [\n",Object.entries(e).forEach((([a,t])=>{let e;e=n.quick_ajax_is_numeric(t)?parseInt(t):"string"==typeof t?`'${t}'`:t,o+=` '${a}' => ${e},\n`})),o=o.slice(0,-2)+"\n",o+="];"),""!==o.trim()&&(_+="\n// Define attributes for AJAX.\n",_+=o.trim()+"\n"),_},qapl_generate_sort_controls:function(a){let t=null,n=null;1===a.qapl_show_order_button&&(t=a.qapl_select_orderby_button_options,t&&t.length>0&&(n="$quick_ajax_sort_options = [",n+=t.map((a=>`'${a}'`)).join(", "),n+="];"));var e="",_="";null!==t&&n&&(e="",e+=n,_="",_+="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"string"==typeof e&&""!==e.trim()&&(o+="\n// Set the sort options for the button.\n",o+=e.trim()+"\n"),"string"==typeof _&&""!==_.trim()&&(o+="\n// Render the sorting control button.\n",o+=_.trim()+"\n"),o},qapl_generate_taxonomy_filter:function(a){let t=null,n="",e="";return 1===a.qapl_show_select_taxonomy&&(t=a.qapl_select_taxonomy),null!==t&&(e+="if(function_exists('qapl_render_taxonomy_filter')){\n",e+=" qapl_render_taxonomy_filter(\n",e+=" $quick_ajax_args,\n",e+=" $quick_ajax_attributes,\n",e=e.slice(0,-2)+"\n",e+=" );\n",e+="}"),""!==e.trim()&&(n+="\n// Render the navigation for '"+a.qapl_select_taxonomy+"' taxonomy.\n",n+=e.trim()+"\n"),n},qapl_generate_post_container:function(a,t){let n="",e="";return e+="if(function_exists('qapl_render_post_container')){\n",e+=" qapl_render_post_container(\n",e+=" $quick_ajax_args,\n",""!==t&&(e+=" $quick_ajax_attributes,\n"),e=e.slice(0,-2)+"\n",e+=" );\n",e+="}",""!==e.trim()&&(n+="\n// Render the grid for '"+a.qapl_select_post_type+"' type posts.\n",n+=e.trim()+"\n"),n},quick_ajax_function_generator:function(){const t=this;this.data_available&&a(".generate-function-button").on("click",(function(){const n=a(this),e=n.attr("data-output"),_=a("#"+e),o=a('.copy-button[data-copy="'+e+'"]');n.prop("disabled",!0),o.prop("disabled",!0);const i=t.qapl_collect_input_data(),c=Object.values(i).join(""),s=t.generateId(c),l=t.qapl_generate_args(i),r=t.qapl_generate_attributes(i,s),d=[l,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 p=d.split("\n"),u=0;u<p.length;u++)!function(a){setTimeout((function(){_.append(p[a]+"\n"),a===p.length-1&&(n.prop("disabled",!1),o.prop("disabled",!1))}),50*u)}(u)}))},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 t,n;document.body.createTextRange?((t=document.body.createTextRange()).moveToElementText(a),t.select()):window.getSelection&&(n=window.getSelection(),(t=document.createRange()).selectNodeContents(a),n.removeAllRanges(),n.addRange(t))},click_and_select_shortcode:function(){const t=this;a(".quick-ajax-shortcode").on("click",(function(){t.quick_ajax_select_text(this)}))},click_and_select_all:function(){const t=this;a(".click-and-select-all").on("click",(function(){var n=a(this).find("code").get(0);t.quick_ajax_select_text(n)}))},accordion_block_toggle:function(){var t=a("#wpbody-content");if(t.find(".quick-ajax-tabs").length>0){var n=a("#adminmenuwrap").outerHeight();t.css("min-height",n)}a(".quick-ajax-accordion-toggle").click((function(){a(this).toggleClass("active").next(".quick-ajax-accordion-content").slideToggle(200)}))}};a(document).ready((function(){t.init()}))}(jQuery); -
quick-ajax-post-loader/trunk/js/script.js
r3337932 r3369893 7 7 }, 8 8 qapl_quick_ajax_handlers: function () { 9 if (typeof qapl_quick_ajax_ helper !== "undefined" && qapl_quick_ajax_helper) {9 if (typeof qapl_quick_ajax_data !== "undefined" && qapl_quick_ajax_data) { 10 10 const self = this; 11 if (qapl_quick_ajax_ helper.helper.load_more_data_button) {12 $(".quick-ajax-posts-container").on("click", `[data-button="${qapl_quick_ajax_ helper.helper.load_more_data_button}"]`, function () {11 if (qapl_quick_ajax_data.constants.load_more_data_button) { 12 $(".quick-ajax-posts-container").on("click", `[data-button="${qapl_quick_ajax_data.constants.load_more_data_button}"]`, function () { 13 13 self.qapl_quick_ajax_handle_ajax($(this)); 14 14 }); 15 15 } 16 if (qapl_quick_ajax_ helper.helper.filter_data_button) {17 $(".quick-ajax-filter-container").on("click", `[data-button="${qapl_quick_ajax_ helper.helper.filter_data_button}"]`, function () {16 if (qapl_quick_ajax_data.constants.filter_data_button) { 17 $(".quick-ajax-filter-container").on("click", `[data-button="${qapl_quick_ajax_data.constants.filter_data_button}"]`, function () { 18 18 self.qapl_quick_ajax_handle_ajax($(this)); 19 19 }); 20 20 } 21 if (qapl_quick_ajax_ helper.helper.sort_button) {22 $(".quick-ajax-sort-options-container").on("click", `[data-button="${qapl_quick_ajax_ helper.helper.sort_button}"]`, function () {21 if (qapl_quick_ajax_data.constants.sort_button) { 22 $(".quick-ajax-sort-options-container").on("click", `[data-button="${qapl_quick_ajax_data.constants.sort_button}"]`, function () { 23 23 self.qapl_quick_ajax_handle_ajax($(this)); 24 24 }); … … 46 46 entries.forEach(function (entry) { 47 47 if (entry.isIntersecting) { 48 const button = $(entry.target).find('button[data-button="' + qapl_quick_ajax_ helper.helper.load_more_data_button + '"]');48 const button = $(entry.target).find('button[data-button="' + qapl_quick_ajax_data.constants.load_more_data_button + '"]'); 49 49 if (button.length && !button.hasClass("loading")) { 50 50 button.addClass("loading"); … … 80 80 81 81 const button_type = button.attr("data-button"); 82 const containerId = attributes[qapl_quick_ajax_ helper.helper.block_id] || "";82 const containerId = attributes[qapl_quick_ajax_data.constants.block_id] || ""; 83 83 const container = $("#quick-ajax-" + containerId); 84 84 const container_inner = $("#quick-ajax-" + containerId + " .quick-ajax-posts-wrapper"); … … 97 97 } 98 98 } 99 if (button_type === qapl_quick_ajax_ helper.helper.filter_data_button || button_type === qapl_quick_ajax_helper.helper.sort_button) {99 if (button_type === qapl_quick_ajax_data.constants.filter_data_button || button_type === qapl_quick_ajax_data.constants.sort_button) { 100 100 container.addClass("filter-update"); 101 101 container_inner.fadeOut(100, function () { … … 104 104 } 105 105 $.ajax({ 106 url: qapl_quick_ajax_ helper.ajax_url,106 url: qapl_quick_ajax_data.ajax_url, 107 107 type: "POST", 108 108 data: { 109 109 action: "qapl_quick_ajax_load_posts", 110 nonce: qapl_quick_ajax_ helper.nonce,110 nonce: qapl_quick_ajax_data.nonce, 111 111 args: args, 112 112 attributes: attributes, … … 115 115 success: function (response) { 116 116 if (response && response.data) { 117 if (button_type === qapl_quick_ajax_ helper.helper.load_more_data_button) {117 if (button_type === qapl_quick_ajax_data.constants.load_more_data_button) { 118 118 self.qapl_quick_ajax_load_more_add_posts(container_inner, button, response.data.output); 119 } else if (button_type === qapl_quick_ajax_ helper.helper.filter_data_button || button_type === qapl_quick_ajax_helper.helper.sort_button) {119 } else if (button_type === qapl_quick_ajax_data.constants.filter_data_button || button_type === qapl_quick_ajax_data.constants.sort_button) { 120 120 self.qapl_quick_ajax_taxonomy_filter_show_posts(container_inner, button, response.data.output, containerId); 121 121 } … … 150 150 qapl_quick_ajax_taxonomy_filter_show_posts: function (container, button, response, containerId) { 151 151 let filterContainer = $("#quick-ajax-filter-" + containerId); 152 filterContainer.find(`[data-button="${qapl_quick_ajax_ helper.helper.filter_data_button}"]`).removeClass("active");152 filterContainer.find(`[data-button="${qapl_quick_ajax_data.constants.filter_data_button}"]`).removeClass("active"); 153 153 button.addClass("active"); 154 154 container.parent().find(".quick-ajax-load-more-container").remove(); -
quick-ajax-post-loader/trunk/js/script.min.js
r3337932 r3369893 1 !function(a){const t={init:function(){this.qapl_quick_ajax_handlers(),this.qapl_quick_ajax_initial_load(),this.qapl_quick_ajax_infinite_scroll()},qapl_quick_ajax_handlers:function(){if("undefined"!=typeof qapl_quick_ajax_ helper&&qapl_quick_ajax_helper){const t=this;qapl_quick_ajax_helper.helper.load_more_data_button&&a(".quick-ajax-posts-container").on("click",`[data-button="${qapl_quick_ajax_helper.helper.load_more_data_button}"]`,(function(){t.qapl_quick_ajax_handle_ajax(a(this))})),qapl_quick_ajax_helper.helper.filter_data_button&&a(".quick-ajax-filter-container").on("click",`[data-button="${qapl_quick_ajax_helper.helper.filter_data_button}"]`,(function(){t.qapl_quick_ajax_handle_ajax(a(this))})),qapl_quick_ajax_helper.helper.sort_button&&a(".quick-ajax-sort-options-container").on("click",`[data-button="${qapl_quick_ajax_helper.helper.sort_button}"]`,(function(){t.qapl_quick_ajax_handle_ajax(a(this))})),a("body").on("change",'select[name="quick_ajax_sort_option"]',(function(){t.qapl_quick_ajax_handle_sort(a(this))}))}},qapl_quick_ajax_initial_load:function(){const t=this,e=a(".qapl-initial-loader");e.length>0&&t.qapl_quick_ajax_handle_ajax(e)},qapl_quick_ajax_infinite_scroll:function(){a(".quick-ajax-load-more-container.infinite-scroll").each((function(){new IntersectionObserver((function(t){t.forEach((function(t){if(t.isIntersecting){const e=a(t.target).find('button[data-button="'+qapl_quick_ajax_helper.helper.load_more_data_button+'"]');e.length&&!e.hasClass("loading")&&(e.addClass("loading"),e.trigger("click"))}}))}),{root:null,rootMargin:"0px",threshold:.5}).observe(this)}))},qapl_quick_ajax_handle_ajax:function(t){const e=this;let i={},n={};try{if(i=JSON.parse(t.attr("data-action")||"{}"),n=JSON.parse(t.attr("data-attributes")||"{}"),"object"!=typeof i||"object"!=typeof n)throw new Error("Quick Ajax Post Loader: Invalid JSON structure")}catch(a){return}const o=t.attr("data-button"),_=n[qapl_quick_ajax_helper.helper.block_id]||"",l=a("#quick-ajax-"+_),r=a("#quick-ajax-"+_+" .quick-ajax-posts-wrapper");if(l.length&&r.length){if(l.find(".quick-ajax-end-message-container").remove(),l.addClass("loading"),l.hasClass("quick-ajax-theme")){const a=r.find(".qapl-post-item:first");a.length&&l.css("min-height",a.outerHeight()+"px")}o!==qapl_quick_ajax_helper.helper.filter_data_button&&o!==qapl_quick_ajax_helper.helper.sort_button||(l.addClass("filter-update"),r.fadeOut(100,(function(){a(this).empty().fadeIn(100)}))),a.ajax({url:qapl_quick_ajax_helper.ajax_url,type:"POST",data:{action:"qapl_quick_ajax_load_posts",nonce:qapl_quick_ajax_helper.nonce,args:i,attributes:n,button_type:o},success:function(a){a&&a.data&&(o===qapl_quick_ajax_helper.helper.load_more_data_button?e.qapl_quick_ajax_load_more_add_posts(r,t,a.data.output):o!==qapl_quick_ajax_helper.helper.filter_data_button&&o!==qapl_quick_ajax_helper.helper.sort_button||e.qapl_quick_ajax_taxonomy_filter_show_posts(r,t,a.data.output,_),e.qapl_quick_ajax_append_load_more_button(r,a.data.load_more)),l.removeClass("loading"),setTimeout((function(){l.removeClass("filter-update")}),200),e.qapl_quick_ajax_append_end_message(l,a.data.show_end_message)},error:function(a,t,e){l.removeClass("loading"),setTimeout((function(){l.removeClass("filter-update")}),200)}})}},qapl_quick_ajax_load_more_add_posts:function(t,e,i){e.parent().remove();const n=a(i).hide();t.append(n),n.slideDown((function(){a(this).removeAttr("style")}))},qapl_quick_ajax_taxonomy_filter_show_posts:function(t,e,i,n){a("#quick-ajax-filter-"+n).find(`[data-button="${qapl_quick_ajax_helper.helper.filter_data_button}"]`).removeClass("active"),e.addClass("active"),t.parent().find(".quick-ajax-load-more-container").remove(),t.stop(!0,!0).fadeOut(100,(function(){const e=a(i).css("opacity","0");t.html(e).fadeIn(400),e.animate({opacity:1},{duration:400,complete:function(){a(this).removeAttr("style")}})}))},qapl_quick_ajax_append_load_more_button:function(a,t){t&&(a.parent().find(".quick-ajax-load-more-container").remove(),a.parent().append(t),this.qapl_quick_ajax_infinite_scroll())},qapl_quick_ajax_append_end_message:function(a,t){t&&a.append(t)},qapl_quick_ajax_handle_sort:function(t){const e=t.closest(".quick-ajax-sort-options-container").find(".quick-ajax-settings"),i=e.data("attributes");if(!i||!i.quick_ajax_id)return;const n=i.quick_ajax_id,o=a("#quick-ajax-filter-"+n),_=t.val(),[l="",r=""]=_.split("-");let c=e.data("action");if("string"==typeof c)try{c=JSON.parse(c)}catch(a){return}if(c.orderby=l,c.order=r,e.attr("data-action",JSON.stringify(c)),!o.length)return void(e.is("[data-action]")&&e.trigger("click"));o.find(".qapl-filter-button").each((function(){const t=a(this);let e=t.data("action");if("string"==typeof e)try{e=JSON.parse(e)}catch(a){return}e.orderby=l,e.order=r,t.attr("data-action",JSON.stringify(e))}));const u=o.find(".qapl-filter-button.active");u.length?u.trigger("click"):e.is("[data-action]")&&e.trigger("click")}};a(document).ready((function(){t.init()}))}(jQuery);1 !function(a){const t={init:function(){this.qapl_quick_ajax_handlers(),this.qapl_quick_ajax_initial_load(),this.qapl_quick_ajax_infinite_scroll()},qapl_quick_ajax_handlers:function(){if("undefined"!=typeof qapl_quick_ajax_data&&qapl_quick_ajax_data){const t=this;qapl_quick_ajax_data.constants.load_more_data_button&&a(".quick-ajax-posts-container").on("click",`[data-button="${qapl_quick_ajax_data.constants.load_more_data_button}"]`,(function(){t.qapl_quick_ajax_handle_ajax(a(this))})),qapl_quick_ajax_data.constants.filter_data_button&&a(".quick-ajax-filter-container").on("click",`[data-button="${qapl_quick_ajax_data.constants.filter_data_button}"]`,(function(){t.qapl_quick_ajax_handle_ajax(a(this))})),qapl_quick_ajax_data.constants.sort_button&&a(".quick-ajax-sort-options-container").on("click",`[data-button="${qapl_quick_ajax_data.constants.sort_button}"]`,(function(){t.qapl_quick_ajax_handle_ajax(a(this))})),a("body").on("change",'select[name="quick_ajax_sort_option"]',(function(){t.qapl_quick_ajax_handle_sort(a(this))}))}},qapl_quick_ajax_initial_load:function(){const t=this,n=a(".qapl-initial-loader");n.length>0&&t.qapl_quick_ajax_handle_ajax(n)},qapl_quick_ajax_infinite_scroll:function(){a(".quick-ajax-load-more-container.infinite-scroll").each((function(){new IntersectionObserver((function(t){t.forEach((function(t){if(t.isIntersecting){const n=a(t.target).find('button[data-button="'+qapl_quick_ajax_data.constants.load_more_data_button+'"]');n.length&&!n.hasClass("loading")&&(n.addClass("loading"),n.trigger("click"))}}))}),{root:null,rootMargin:"0px",threshold:.5}).observe(this)}))},qapl_quick_ajax_handle_ajax:function(t){const n=this;let i={},o={};try{if(i=JSON.parse(t.attr("data-action")||"{}"),o=JSON.parse(t.attr("data-attributes")||"{}"),"object"!=typeof i||"object"!=typeof o)throw new Error("Quick Ajax Post Loader: Invalid JSON structure")}catch(a){return}const _=t.attr("data-button"),e=o[qapl_quick_ajax_data.constants.block_id]||"",c=a("#quick-ajax-"+e),s=a("#quick-ajax-"+e+" .quick-ajax-posts-wrapper");if(c.length&&s.length){if(c.find(".quick-ajax-end-message-container").remove(),c.addClass("loading"),c.hasClass("quick-ajax-theme")){const a=s.find(".qapl-post-item:first");a.length&&c.css("min-height",a.outerHeight()+"px")}_!==qapl_quick_ajax_data.constants.filter_data_button&&_!==qapl_quick_ajax_data.constants.sort_button||(c.addClass("filter-update"),s.fadeOut(100,(function(){a(this).empty().fadeIn(100)}))),a.ajax({url:qapl_quick_ajax_data.ajax_url,type:"POST",data:{action:"qapl_quick_ajax_load_posts",nonce:qapl_quick_ajax_data.nonce,args:i,attributes:o,button_type:_},success:function(a){a&&a.data&&(_===qapl_quick_ajax_data.constants.load_more_data_button?n.qapl_quick_ajax_load_more_add_posts(s,t,a.data.output):_!==qapl_quick_ajax_data.constants.filter_data_button&&_!==qapl_quick_ajax_data.constants.sort_button||n.qapl_quick_ajax_taxonomy_filter_show_posts(s,t,a.data.output,e),n.qapl_quick_ajax_append_load_more_button(s,a.data.load_more)),c.removeClass("loading"),setTimeout((function(){c.removeClass("filter-update")}),200),n.qapl_quick_ajax_append_end_message(c,a.data.show_end_message)},error:function(a,t,n){c.removeClass("loading"),setTimeout((function(){c.removeClass("filter-update")}),200)}})}},qapl_quick_ajax_load_more_add_posts:function(t,n,i){n.parent().remove();const o=a(i).hide();t.append(o),o.slideDown((function(){a(this).removeAttr("style")}))},qapl_quick_ajax_taxonomy_filter_show_posts:function(t,n,i,o){a("#quick-ajax-filter-"+o).find(`[data-button="${qapl_quick_ajax_data.constants.filter_data_button}"]`).removeClass("active"),n.addClass("active"),t.parent().find(".quick-ajax-load-more-container").remove(),t.stop(!0,!0).fadeOut(100,(function(){const n=a(i).css("opacity","0");t.html(n).fadeIn(400),n.animate({opacity:1},{duration:400,complete:function(){a(this).removeAttr("style")}})}))},qapl_quick_ajax_append_load_more_button:function(a,t){t&&(a.parent().find(".quick-ajax-load-more-container").remove(),a.parent().append(t),this.qapl_quick_ajax_infinite_scroll())},qapl_quick_ajax_append_end_message:function(a,t){t&&a.append(t)},qapl_quick_ajax_handle_sort:function(t){const n=t.closest(".quick-ajax-sort-options-container").find(".quick-ajax-settings"),i=n.data("attributes");if(!i||!i.quick_ajax_id)return;const o=i.quick_ajax_id,_=a("#quick-ajax-filter-"+o),e=t.val(),[c="",s=""]=e.split("-");let l=n.data("action");if("string"==typeof l)try{l=JSON.parse(l)}catch(a){return}if(l.orderby=c,l.order=s,n.attr("data-action",JSON.stringify(l)),!_.length)return void(n.is("[data-action]")&&n.trigger("click"));_.find(".qapl-filter-button").each((function(){const t=a(this);let n=t.data("action");if("string"==typeof n)try{n=JSON.parse(n)}catch(a){return}n.orderby=c,n.order=s,t.attr("data-action",JSON.stringify(n))}));const r=_.find(".qapl-filter-button.active");r.length?r.trigger("click"):n.is("[data-action]")&&n.trigger("click")}};a(document).ready((function(){t.init()}))}(jQuery); -
quick-ajax-post-loader/trunk/quick-ajax-post-loader.php
r3358108 r3369893 5 5 * Text Domain: quick-ajax-post-loader 6 6 * Domain Path: /languages 7 * Version: 1.8. 27 * Version: 1.8.3 8 8 * Description: Supercharge post loading with Quick Ajax Post Loader. Enhance user experience and optimize site performance using AJAX technology. 9 9 * Author: Pawel Grzelkowski … … 22 22 if (version_compare(PHP_VERSION, QAPL_Quick_Ajax_Constants::PLUGIN_MINIMUM_PHP_VERSION, '<')) { 23 23 add_action( 'admin_notices', static function () { 24 24 25 $message = sprintf( 26 // translators: %1$s is the required PHP version, %2$s is the current PHP version. 25 27 __('This plugin requires PHP %1$s or higher. Your server is running %2$s.', 'quick-ajax-post-loader'), 26 28 QAPL_Quick_Ajax_Constants::PLUGIN_MINIMUM_PHP_VERSION, … … 36 38 add_action( 'admin_notices', static function () use ($wp_version) { 37 39 $message = sprintf( 40 // translators: %1$s is the minimum supported WordPress version, %2$s is the current WordPress version. 38 41 __('This plugin was tested only with WordPress %1$s or higher. Your site is running %2$s. It may not work correctly.', 'quick-ajax-post-loader'), 39 42 QAPL_Quick_Ajax_Constants::PLUGIN_MINIMUM_WP_VERSION, -
quick-ajax-post-loader/trunk/readme.txt
r3358108 r3369893 5 5 Requires at least: 5.6 6 6 Tested up to: 6.8 7 Stable tag: 1.8. 27 Stable tag: 1.8.3 8 8 Requires PHP: 7.4 9 9 License: GPLv2 or later … … 106 106 == Changelog == 107 107 108 = 1.8.3 - 2025-09-29 = 109 - Added sorting support for the Shortcode column in the shortcode list. 110 - Improved shortcode editor form for more stable field initialization and saving. 111 - Cleaned up labels and descriptions for better clarity. 112 - Fixed minor admin warnings and improved overall stability. 113 - Fixed issue where the Load More button could disappear too early when using custom post limits. 114 115 = 1.8.2 - 2025-09-08 = 116 - Fixed an issue in the plugin activator that could prevent the plugin from starting on some setups. 117 108 118 = 1.8.1 - 2025-09-08 = 109 119 - Improved plugin startup process with better class loading and dependency checks.
Note: See TracChangeset
for help on using the changeset viewer.