Upload folder via GUI - integrations
This commit is contained in:
36
integrations/assets/css/admin.css
Normal file
36
integrations/assets/css/admin.css
Normal file
@@ -0,0 +1,36 @@
|
||||
.wmf-integrations-widget .mode-group{margin:0 0 1em;}
|
||||
.wmf-buttongroup{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;}
|
||||
.wmf-buttongroup input[type=radio]{position:absolute;opacity:0;width:0;height:0;}
|
||||
.wmf-buttongroup label span{display:inline-block;padding:4px 12px;border:1px solid #8c8f94;border-radius:3px;cursor:pointer;background:#f6f7f7;font-size:13px;line-height:2;}
|
||||
.wmf-buttongroup input[type=radio]:checked+span{background:#2271b1;border-color:#2271b1;color:#fff;}
|
||||
.wmf-service-integration{display:none;}
|
||||
.wmf-stripe-block,.wmf-paypal-block{display:none;}
|
||||
#wmf-service-stripe[data-active-mode=live] .wmf-stripe-block-live,
|
||||
#wmf-service-stripe[data-active-mode=test] .wmf-stripe-block-test,
|
||||
#wmf-service-paypal[data-active-mode=live] .wmf-paypal-block-live,
|
||||
#wmf-service-paypal[data-active-mode=sandbox] .wmf-paypal-block-sandbox{display:block;}
|
||||
#wmf-int-widget-recaptcha .has-service-selection[data-active-service=recaptcha] #wmf-service-recaptcha,
|
||||
#wmf-int-widget-recaptcha .has-service-selection[data-active-service=recaptchav3] #wmf-service-recaptchav3{display:block;}
|
||||
#wmf-integration-toolbar{margin-bottom:15px;}
|
||||
#wmf-integration-toolbar .media-toolbar-secondary{float:left;margin-top:11px;}
|
||||
#wmf-no-integrations-found{color:#646970;font-size:16px;text-align:center;padding:60px 0;display:none;}
|
||||
#wmf-integrations-results-wrap.no-results #wmf-no-integrations-found{display:block;}
|
||||
#wmf-integrations-results{display:none;}
|
||||
#wmf-integrations-results .postbox-container{width:25%;padding:0 8px;box-sizing:border-box;float:left;}
|
||||
.wmf-integrations-widget{box-sizing:border-box;}
|
||||
.wmf-integrations-widget .handle-actions{display:none;}
|
||||
.wmf-integrations-widget.closed .inside{display:block;}
|
||||
@media(max-width:799px){#wmf-integrations-results .postbox-container{width:100%;}}
|
||||
|
||||
/* Widget-Inhalte */
|
||||
.wmf-widget-body{padding:4px 0 0;}
|
||||
.wmf-widget-body p{margin-bottom:12px;}
|
||||
.wmf-widget-body label{display:block;font-weight:600;font-size:12px;margin-bottom:4px;color:#1d2327;}
|
||||
.wmf-widget-body .widefat{width:100%;box-sizing:border-box;}
|
||||
.wmf-widget-body .description{font-size:12px;color:#646970;margin-top:3px;display:block;}
|
||||
.wmf-widget-body a{color:#2271b1;}
|
||||
.wmf-connected-badge{display:inline-flex;align-items:center;gap:5px;background:#f0fdf4;border:1px solid #46b450;color:#166534;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;margin-bottom:12px;}
|
||||
.wmf-mode-switch{display:flex;gap:4px;margin-bottom:14px;}
|
||||
.wmf-mode-btn{padding:5px 14px;border:1px solid #8c8f94;border-radius:3px;cursor:pointer;font-size:13px;background:#f6f7f7;line-height:1.8;}
|
||||
.wmf-mode-btn input[type=radio]{display:none;}
|
||||
.wmf-mode-btn.active{background:#2271b1;border-color:#2271b1;color:#fff;}
|
||||
63
integrations/assets/js/dashboard.js
Normal file
63
integrations/assets/js/dashboard.js
Normal file
@@ -0,0 +1,63 @@
|
||||
(function($){
|
||||
$(document).on('change','input[name*=services]',function(e){
|
||||
var $i=$(e.target),v=$i.val(),$w=$i.parents('.inside');
|
||||
if(v){var $s=$('#wmf-service-'+v,$w);if($s.length){$('.wmf-service-integration',$w).hide();$i.parents('[data-active-service]').attr('data-active-service',v);$s.show();}}
|
||||
else{$('.wmf-service-integration',$w).hide();}
|
||||
$i.parents('form').trigger('wmf.enable');
|
||||
});
|
||||
$(document).on('change','input[name*="[mode]"]',function(e){ $(e.target).parents('[data-active-mode]').attr('data-active-mode',$(e.target).val()); });
|
||||
$(document).on('submit','#wmf-integrations-screen form.hf-ajax-submit',function(e){
|
||||
e.preventDefault();
|
||||
var $f=$(e.target),$w=$f.parent(),$sp=$('.spinner',$w),$sb=$('input[type=submit]',$w);
|
||||
$sb.prop('disabled',true);$sp.css('visibility','visible');
|
||||
$.post(ajaxurl,$f.serialize(),function(r){$sb.prop('disabled',false);$sp.css('visibility','hidden');$f.replaceWith(r);});
|
||||
});
|
||||
function refresh(){
|
||||
var sg=$('#wmf-integration-filters').val(),st=$('#wmf-search-input').val().trim();
|
||||
var $rw=$('#wmf-integrations-results-wrap'),$rc=$('#wmf-integrations-results'),$dw=$('#dashboard-widgets');
|
||||
$('.wmf-integrations-widget',$rc).each(function(){$('.notice',$(this)).remove();$('#'+$(this).attr('id'),$dw).replaceWith($(this));});
|
||||
$('.wmf-integrations-widget',$rc).remove();$rc.hide();$rw.removeClass('no-results');
|
||||
if(!sg&&!st){$dw.show();return;}
|
||||
$dw.hide();
|
||||
var $r=$('.wmf-integrations-widget',$dw);
|
||||
if(sg)$r=$r.filter(function(){return $(this).hasClass('wmf-integrations-widget-group-'+sg);});
|
||||
if(st)$r=$r.filter(function(){return $('h2',$(this)).text().toLowerCase().indexOf(st.toLowerCase())>=0;});
|
||||
$r=$r.filter(function(){return'none'!==$(this).css('display');});
|
||||
$r=$r.clone(true,true).get();
|
||||
if(!$r.length)$rw.addClass('no-results');
|
||||
$rc.show();
|
||||
var $cols=$('.postbox-container:visible',$rc);
|
||||
while($r.length>0){$cols.each(function(){if($r.length>0)$(this).append($r.pop());});}
|
||||
}
|
||||
$(document).on('input','#wmf-integration-toolbar',refresh);
|
||||
$(window).on('resize',refresh);
|
||||
})(jQuery);
|
||||
|
||||
/* Widget-Formulare AJAX speichern */
|
||||
(function($){
|
||||
$(document).on('submit', '.wmf-int-form', function(e){
|
||||
e.preventDefault();
|
||||
var $form = $(this);
|
||||
var $btn = $form.find('button[type=submit]');
|
||||
var $wrap = $form.closest('.wmf-widget-body');
|
||||
$btn.prop('disabled', true).text('Speichere...');
|
||||
$.post(ajaxurl, $form.serialize(), function(response){
|
||||
$btn.prop('disabled', false).text('Speichern');
|
||||
var $notice = $('<div class="wmf-widget-notice">').text('Gespeichert!').css({
|
||||
background:'#f0fdf4',border:'1px solid #46b450',color:'#166534',
|
||||
padding:'6px 10px',borderRadius:'3px',marginBottom:'8px',fontSize:'13px'
|
||||
});
|
||||
$wrap.prepend($notice);
|
||||
setTimeout(function(){ $notice.fadeOut(300, function(){ $(this).remove(); }); }, 2500);
|
||||
// Badge aktualisieren
|
||||
if(response && response.indexOf('Verbunden') !== -1) {
|
||||
if(!$wrap.find('.wmf-connected-badge').length) {
|
||||
$wrap.prepend('<div class="wmf-connected-badge">✓ Verbunden</div>');
|
||||
}
|
||||
}
|
||||
}).fail(function(){
|
||||
$btn.prop('disabled', false).text('Speichern');
|
||||
alert('Fehler beim Speichern. Bitte Seite neu laden.');
|
||||
});
|
||||
});
|
||||
})(jQuery);
|
||||
Reference in New Issue
Block a user