j-WizardExpert
Jednoduché řešení pro vytváření pokročilých čarodějů. Čaroděj stahuje kroky (jako části HTML) podle schématu.
Konfigurace
output {String}je cesta k výstupu, objekt bude obsahovat celý výstup (stupy budou vlastnosti)exec {String}je cesta kmethod(output_object), je spuštěna, pokud kouzelník neobsahuje další kroknext {String}je cesta, zde bude přidělen další krok s vlastnostíenabled {Boolean}back {String}je cesta, zde bude přidělen předchozí krok s vlastnostíenabled {Boolean}validate {Boolean}umožňuje ověření (předvolené:true)
Schéma:
{
'step1': { url: 'step1.html', next: 'step2', validate: false },
'step2': { url: 'step2.html', next: 'step3' },
'step3': { url: 'step3.html' }
}- Komponenta rozšiřuje každý krok přidáním nových vlastností
enabled {Boolean},id {String},prev {String}
Použijte ji s <ui-component name="wizardexpert">Pokud je součástka ještě nezačleněna, jComponent Stáhnout ji na první použití z adresy DEF.fallback a) The Componentator CDN dle předvolby. autor: Peter Širka. zdroj: Componentator Výrobce je autorizován, MIT licence.
<style>
button { background-color: white; border: 1px solid #E0E0E0; font-size: 12px; padding: 5px 15px; }
button:hover { background-color: #F8F8F8; }
button:disabled { background-color: #F0F0F0; cursor: not-allowed; color: #A0A0A0; }
</style>
<div style="border:1px solid #E0E0E0;width:300px;height:150px;padding:20px;margin-bottom:20px">
<ui-component name="wizardexpert" path="currentstep" config="output:currentoutput;next:nextstep;back:prevstep;exec:steps_finish">
<script type="text/plain">
{
'step1': { url: 'step1.html', next: 'step2', validate: false },
'step2': { url: 'step2.html', next: 'step3' },
'step3': { url: 'step3.html' }
}
</script>
</ui-component>
</div>
<nav>
<ui-component name="validation" path="outputdata">
<button is="is-button" path="prevstep" config="enabled:value && value.enabled;click:steps_back" disabled>Back</button>
<button is="is-button" path="nextstep" config="enabled:!value||value.enabled;html:value?'Next':'Finish';click:steps_next" disabled>Next</button>
</ui-component>
</nav>
<script type="text/html" id="step1">
WELCOME
</script>
<script type="text/html" id="step2">
<ui-component name="input" path="?.name" config="required:1">Type your name</ui-component>
</script>
<script type="text/html" id="step3">
FINISH
</script>
<script>
var currentstep = 'step1';
var currentoutput = {};
ON('request', function(options) {
// Hijack response
if (options.url.indexOf('step') !== -1)
options.respond($('#' + options.url.replace('.html', '')).html());
});
function steps_next() {
SET('currentstep', 'NEXT');
}
function steps_back() {
SET('currentstep', 'BACK');
}
function steps_finish() {
alert('DONE: ' + STRINGIFY(currentoutput));
}
</script>