рдореИрдВ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ - рдЪреЗрддрд╛рд╡рдиреА (), рдкреБрд╖реНрдЯрд┐ () рдФрд░ рд╢реАрдШреНрд░ () (рдмрд╛рдж рдореЗрдВ рдореЛрдбрд▓ рд╡рд┐рдВрдбреЛ)редрд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд┐рднрд┐рдиреНрди рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдЕрд▓рдЧ рд╣реИрдВ рдФрд░ рджрд┐рдЦрдиреЗ рдореЗрдВ рдмрд╣реБрдд рднрджреНрджреЗ рд╣реИрдВредрдЖрдЦрд┐рд░ рдореЗрдВ рд╣рд╛рде рдкрд╣реБрдВрдЪ рдЧрдПредрд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ? рд╕рдВрд╡рд╛рдж рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╕рд╛рдзрди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмреВрдЯрд╕реНрдЯреНрд░реИрдк) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддрд╛ рд╣реИ (рдХреНрд▓реЛрдЬ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ)ред рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдореЗрдВ рдореЛрдбрд▓ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА - рдПрдХ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛, рдПрдХ рдореЛрдбрд▓ рд╡рд┐рдВрдбреЛ рдХреЛ рдмрдВрдж рдХрд░рдирд╛ ...рдлрд┐рд░ рднреА, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЧреЗрдо рдбрд┐рдЬрд╛рдЗрди рдХреА рд╢реИрд▓реА рдХреЗ рдЕрдиреБрд░реВрдк рдорд╛рдирдХ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреЗрдо рдореЗрдВ рдЕрд▓рд░реНрдЯ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдХрдиреЗрдХреНрд╢рди рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдФрд░ рдЕрдиреНрдп рд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд┐рддрд┐рдпреЛрдВ рд╕рд╣рд┐рдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЕрдЧрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ!
ECMAScript 6 (ES6) рдореЗрдВ рдкреНрд░реЙрдорд┐рд╕ рдХреЗ рдЖрдЧрдорди рдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рд╕рдВрднрд╡ рд╣реИ!рдореИрдВрдиреЗ рдореЛрдбрд▓ рд╡рд┐рдВрдбреЛ рдФрд░ рдХреЛрдб (рдЕрд▓рд░реНрдЯ), рдкреБрд╖реНрдЯрд┐ () рдФрд░ рд╢реАрдШреНрд░ () рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдЖрдк рдХреЛрдб рдореЗрдВ рд╕рдм рдХреБрдЫ рдЫрд┐рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдХреНрдпрд╛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ - рдбрд┐рдЬрд╛рдЗрди рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреГрд╖реНрдареЛрдВ рдкрд░ рдпрд╛ рд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░редрдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреБрд░реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдореЛрдбрд▓ рд╡рд┐рдВрдбреЛ рдХреЗ рдХреЛрдб рдореЗрдВ рдорд╛рд░реНрдХрдЕрдк рдирд╛рдореЛрдВ (рдЖрдИрдбреА) рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХ рджрд╛рдпрд░реЗ рдореЗрдВ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛редрдЕрд▓рд░реНрдЯ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
рддреЛ, рдЪрд▓реЛ рдорд╛рд░реНрдХрдЕрдк (рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдФрд░ рдлрд╝реЙрдиреНрдЯ рдЖрдЗрдХрди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛) рдФрд░ рдЕрд▓рд░реНрдЯ рдХреЛрдб (рдореИрдВ jQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ) рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░реВрдВ: <div id="PromiseAlert" class="modal">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"><i class="fas fa-exclamation-triangle text-warning"></i> <span>The app reports</span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">├Ч</span>
</button>
</div>
<div class="modal-body">
<p></p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">OK</button>
</div>
</div>
</div>
</div>
window.alert = (message) => {
$('#PromiseAlert .modal-body p').html(message);
var PromiseAlert = $('#PromiseAlert').modal({
keyboard: false,
backdrop: 'static'
}).modal('show');
return new Promise(function (resolve, reject) {
PromiseAlert.on('hidden.bs.modal', resolve);
});
};
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдКрдкрд░ рдХрд╣рд╛, рдХреЛрдб рдХреЗ рд▓рд┐рдП рд╡реИрд╢реНрд╡рд┐рдХ рдирд╛рдо PromiseAlert рдФрд░ html рдорд╛рд░реНрдХрдЕрдк рдХрдХреНрд╖рд╛рдПрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИрдВред рдХреЛрдб рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ, рдЪреЗрддрд╛рд╡рдиреА рдлрд╝рдВрдХреНрд╢рди рдкреИрд░рд╛рдореАрдЯрд░ рд╕рдВрджреЗрд╢ рдирд┐рдХрд╛рдп рдХреЛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рд╡рд┐рдзрд┐ рдХреБрдЫ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдореЛрдбрд▓ рд╡рд┐рдВрдбреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИ (рд╡реЗ рдЗрд╕реЗ рджреЗрд╢реА рдЕрд▓рд░реНрдЯ рдХреЗ рдХрд░реАрдм рдмрдирд╛рддреЗ рд╣реИрдВ)ред рдЬрд░реВрд░реА! рдореЛрдбрд▓ рд╡рд┐рдВрдбреЛ рдХреЛ рдПрдХ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдореЗрдВ рдпрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдиреАрдЪреЗ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИредрдЕрдВрдд рдореЗрдВ, рдЗрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЕрд▓рд░реНрдЯ рдкреНрд░реЙрдорд┐рд╕ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рд▓реМрдЯрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ, рдореЛрдбрд▓ рд╡рд┐рдВрдбреЛ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЗрд╕ рдкреНрд░реЛрдорд┐рд╕ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИредрдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рдЕрд▓рд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: $('p a[href="#"]').on('click', async (e) => {
e.preventDefault();
await alert('Promise based alert sample');
});
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХреЗ рднреАрддрд░ рдЦрд╛рд▓реА рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдкрд░ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдирд╛! рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХрд╛ рдЕрдиреБрдкрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрд▓рд░реНрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреАрд╡рд░реНрдб рд╕реЗ рдкрд╣рд▓реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ async рдХреАрд╡рд░реНрдб рдХреЗ рд╕рд╛рде рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рд╣реА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдЗрд╕ рдЬрдЧрд╣ рдореЗрдВ рдЙрдореНрдореАрдж рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧреА, рдЬреИрд╕рд╛ рдХрд┐ рджреЗрд╢реА рдЕрд▓рд░реНрдЯ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣реИ), рдореЛрдбрд▓ рд╡рд┐рдВрдбреЛ рдХрд╛ рд╕рдорд╛рдкрдиредрдЕрдЧрд░ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЗ рддрд░реНрдХ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ (рдКрдкрд░ рдХреА рдЖрдХреГрддрд┐ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг)ред рдпрджрд┐ рдпрд╣ рдХреЛрдб рдХрд╛ рдЕрдВрдд рд╣реИ рдпрд╛ рдХреЛрдб рдХреЗ рдЖрдЧреЗ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдкреГрд╖реНрда рдХреЛ рдЕрдзрд┐рднрд╛рд░ рдирд╣реАрдВ рджреЗрддреА рд╣реИ, рддреЛ рд╢рд╛рдпрдж рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛! рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рддрдХ рдореЛрдбрд▓ рд╡рд┐рдВрдбреЛ sagsред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЕрднреА рднреА рдореЛрдбрд▓ рд╡рд┐рдВрдбреЛ рд╣реИрдВ рдпрд╛ рдпрджрд┐ рдкреГрд╖реНрда рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, рддреЛ рджреВрд╕рд░реЗ рдкреГрд╖реНрда рдкрд░ рдХреЛрдИ рд╕рдВрдХреНрд░рдордг рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЖрдкрдХреА рдореЛрдбрд▓ рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрдЧреА рдФрд░ рддрд░реНрдХ рдирд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдиреБрднрд╡ рд╕реЗ, рд╡рд┐рднрд┐рдиреНрди рд╕рд░реНрд╡рд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ (рд░рд╛рдЬреНрдпреЛрдВ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╛ рдХреЛрдб рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рд╕рдВрджреЗрд╢ рд╣рдорд╛рд░реЗ рдирдП рдЕрд▓рд░реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВредрд╣рдо рдкреБрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реИрдВ
рдЖрдЧреЗ рдЪрд▓рддреЗ рд╣реИрдВред рдПрдХ рд╢рдХ рдХреЗ рдмрд┐рдирд╛, рдкреБрд╖реНрдЯрд┐рдХрд░рдг рдХреЗрд╡рд▓ async / рдкреНрд░рддреАрдХреНрд╖рд╛ рдмрдВрдзрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреЗ рд░реВрдк рдореЗрдВ рдЙрд╕реЗ рдХреЛрдб рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдкрд╕рдВрдж рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рднреА рд╕рдВрдХреЗрдд рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рддреЛ рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ: <div id="PromiseConfirm" class="modal">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"><i class="fas fa-check-circle text-success"></i> <span>Confirm app request</span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">├Ч</span>
</button>
</div>
<div class="modal-body">
<p></p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-success" data-dismiss="modal">OK</button>
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancel</button>
</div>
</div>
</div>
</div>
window.confirm = (message) => {
$('#PromiseConfirm .modal-body p').html(message);
var PromiseConfirm = $('#PromiseConfirm').modal({
keyboard: false,
backdrop: 'static'
}).modal('show');
let confirm = false;
$('#PromiseConfirm .btn-success').on('click', e => {
confirm = true;
});
return new Promise(function (resolve, reject) {
PromiseConfirm.on('hidden.bs.modal', (e) => {
resolve(confirm);
});
});
};
рдХреЗрд╡рд▓ рдПрдХ рдЕрдВрддрд░ рд╣реИ - рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдкрд╕рдВрдж рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдХреНрд▓реЛрдЬрд░ рдореЗрдВ рдПрдХ рдЕрдиреНрдп рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВред рдпрджрд┐ рдкреБрд╖реНрдЯрд┐рдХрд░рдг рдмрдЯрди рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЪрд░ рдХреЛ рд╕рд╣реА рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдорд╛рди рдЧрд▓рдд рд╣реИред рдареАрдХ рд╣реИ, рдЬрдм рдПрдХ рдореЛрдбрд▓ рд╡рд┐рдВрдбреЛ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЗрд╕ рдЪрд░ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИредрдпрд╣рд╛рдБ рдЙрдкрдпреЛрдЧ (async / рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреЗ рд╕рд╛рде рдЖрд╡рд╢реНрдпрдХ) рд╣реИ: $('p a[href="#"]').on('click', async (e) => {
e.preventDefault();
if (await confirm('Want to test the Prompt?')) {
let prmpt = await prompt('Entered value:');
if (prmpt) await alert(`entered: ┬л${prmpt}┬╗`);
else await alert('Do not enter a value');
}
else await alert('Promise based alert sample');
});
рдЪрд▓ рд░рд╣рд╛ рд╣реИ - рд╢реАрдШреНрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг
рдКрдкрд░ рджрд┐рдП рдЧрдП рддрд░реНрдХ рдХреЛ рднреА рдкрд░реАрдХреНрд╖рдг рд╕рдВрдХреЗрдд рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдФрд░ рдЗрд╕рдХреЗ рдорд╛рд░реНрдХрдЕрдк рдФрд░ рддрд░реНрдХ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИрдВ: <div id="PromisePrompt" class="modal">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"><i class="fas fa-question-circle text-primary"></i> <span>Prompt request</span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">├Ч</span>
</button>
</div>
<div class="modal-body">
<div class="form-group">
<label for="PromisePromptInput"></label>
<input type="text" class="form-control" id="PromisePromptInput">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-success" data-dismiss="modal">OK</button>
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancel</button>
</div>
</div>
</div>
</div>
window.prompt = (message) => {
$('#PromisePrompt .modal-body label').html(message);
var PromisePrompt = $('#PromisePrompt').modal({
keyboard: false,
backdrop: 'static'
}).modal('show');
$('#PromisePromptInput').focus();
let prmpt = null;
$('#PromisePrompt .btn-success').on('click', e => {
prmpt = $('#PromisePrompt .modal-body input').val();
});
return new Promise(function (resolve, reject) {
PromisePrompt.on('hidden.bs.modal', (e) => {
resolve(prmpt);
});
});
};
рддрд░реНрдХ рдФрд░ рдкреБрд╖реНрдЯрд┐ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдиреНрдпреВрдирддрдо рд╣реИред рдХреНрд▓реЛрдЬрд░ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрдерд╛рдиреАрдп рдЪрд░ prmpt рд╣реИред рдФрд░ рдЗрд╕рдХрд╛ рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рдореВрд▓реНрдп рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИред рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдЗрд╕рдХрд╛ рдореВрд▓реНрдп рд╣рд▓ рд╣реЛрддрд╛ рд╣реИред рдФрд░ рдПрдХ рд╡реИрд▓реНрдпреВ рдЗрд╕реЗ рддрднреА рд╕реМрдВрдкреА рдЬрд╛рддреА рд╣реИ рдЬрдм рдХрдиреНрдлрд░реНрдореЗрд╢рди рдмрдЯрди рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЗрдирдкреБрдЯ рдлреАрд▓реНрдб рд╕реЗ)ред рд╡реИрд╕реЗ, рдпрд╣рд╛рдВ рдореИрдВрдиреЗ рдПрдХ рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░, PromisePromptInput, рд╕рд┐рд░реНрдл рдЖрд╢реБрд▓рд┐рдкрд┐ рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рде, рдореИрдВрдиреЗ рдЗрдирдкреБрдЯ рдлрд╝реЛрдХрд╕ рд╕реЗрдЯ рдХрд┐рдпрд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХрд▓ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдпрд╛ рддреЛ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдпрд╛ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ)редрдЖрдк рдПрдХреНрд╢рди рдореЗрдВ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред рдХреЛрдб рд▓рд┐рдВрдХ рдкрд░ рд╕реНрдерд┐рдд рд╣реИ редрдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдКрдкрд░ рд▓рд┐рдВрдХ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд┐рдз рд╣реИ):
рдПрдбреНрд╕
рд╡реЗ рд╕реАрдзреЗ рд▓реЗрдЦ рдХреЗ рд╡рд┐рд╖рдп рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдкреВрд░реНрдг рд▓рдЪреАрд▓реЗрдкрди рдХреЛ рдкреНрд░рдХрдЯ рдХрд░рддреЗ рд╣реИрдВредрдЗрд╕рдореЗрдВ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдереАрдо рд╢рд╛рдорд┐рд▓ рд╣реИред рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдореБрдлреНрдд рдереАрдо рд▓реА редрдмреНрд░рд╛рдЙрдЬрд╝рд░ рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднрд╛рд╖рд╛ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВред рддреАрди рдореЛрдб рд╣реИрдВ - рд╕реНрд╡рдЪрд╛рд▓рд┐рдд (рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ), рд░реВрд╕реА рдпрд╛ рдЕрдВрдЧреНрд░реЗрдЬреА (рдордЬрдмреВрд░)ред рдорд╢реАрди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реИредрдХреБрдХреАрдЬрд╝ ( рдпрд╣рд╛рдБ рд╕реЗ ) рдореИрдВ рд╡рд┐рд╖рдп рдФрд░ рднрд╛рд╖рд╛ рд╕реНрд╡рд┐рдЪ рдХреЛ рдпрд╛рдж рдХрд░рддрд╛ рдерд╛редрдереАрдореНрд╕ рдмрд╕ рдКрдкрд░ рд╕рд╛рдЗрдЯ рд╕реЗ href рд╕реАрдПрд╕рдПрд╕ рдЦрдВрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рд╕реНрд╡рд┐рдЪ: $('#themes a.dropdown-item').on('click', (e) => {
e.preventDefault();
$('#themes a.dropdown-item').removeClass('active');
e.currentTarget.classList.add('active');
var cur = e.currentTarget.getAttribute('href');
document.head.children[4].href = 'https://stackpath.bootstrapcdn.com/bootswatch/4.4.1/' + cur + 'bootstrap.min.css';
var ed = new Date();
ed.setFullYear(ed.getFullYear() + 1);
setCookie('WebApplicationPromiseAlertTheme', cur, ed);
});
рдареАрдХ рд╣реИ, рдореБрдЭреЗ рдпрд╛рдж рд╣реИ рдХрд┐ рдХреБрдХреАрдЬрд╝ рдореЗрдВ рдмреВрдЯ рдкрд░ рд░рд┐рдХрд╡рд░реА рдХреЗ рд▓рд┐рдП: var cookie = getCookie('WebApplicationPromiseAlertTheme');
if (cookie) {
$('#themes a.dropdown-item').removeClass('active');
$('#themes a.dropdown-item[href="' + cookie + '"]').addClass('active');
document.head.children[4].href = 'https://stackpath.bootstrapcdn.com/bootswatch/4.4.1/' + cookie + 'bootstrap.min.css';
}
рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕реНрдерд╛рдиреАрдпрдХрд░рдгред Json рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд┐рд╕рдореЗрдВ рдореИрдВрдиреЗ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдЪрд╛рдмрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд╢рдмреНрджрдХреЛрд╢ рдФрд░ рд░реВрд╕реА рдореЗрдВ рдЙрдирдХреЗ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ред рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдорд╛рд░реНрдХрдЕрдк рдХреБрдЫ рдЬрдЧрд╣реЛрдВ рдкрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИ), рдореИрдВ рдХреЗрд╡рд▓ рдЕрдиреБрд╡рд╛рдж рдХрд░рддреЗ рд╕рдордп рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдЯреЗрдХреНрд╕реНрдЯ рдиреЛрдбреНрд╕ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реВрдВ, рдПрдХ рдореВрд▓реНрдп рд╕реЗ рдПрдХ рдХреБрдВрдЬреА рдХреА рдЬрдЧрд╣ред var translate = () => {
$('#cultures .dropdown-toggle samp').text({ ru: ' ', en: ' English ' }[culture]);
if (culture == 'ru') {
let int;
if (localization) {
for (let el of document.all)
if (el.childElementCount == 0 && el.textContent) {
let text = localization[el.textContent];
if (text) el.textContent = text;
}
}
else int = setInterval(() => {
if (localization) {
translate();
clearInterval(int);
}
}, 100);
}
else location.reload();
};
if (culture == 'ru') translate();
рдЗрд╕рд▓рд┐рдП рдЙрддреНрдкрд╛рджрди (рд╕рд░реНрд╡рд░ рдкрд░ рдмреЗрд╣рддрд░) рдХрд░рдирд╛ рд╢рд╛рдпрдж рд╣реА рдЕрдЪреНрдЫрд╛ рд╣реЛ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдореИрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рд╕рдм рдХреБрдЫ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдореИрдВ рдХреЗрд╡рд▓ рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдЬрдм рд░реВрд╕реА рд╕реЗ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдмрджрд▓ рд░рд╣рд╛ рд╣реВрдВ - рдореИрдВ рд╕рд┐рд░реНрдл рдореВрд▓ рдорд╛рд░реНрдХрдЕрдк (рд▓реЛрдХреЗрд╢рди) рд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдВредрдЙрддреНрддрд░рд╛рд░реНрджреНрдз, рдЬреИрд╕рд╛ рдХрд┐ рдЙрдореНрдореАрдж рдХреА рдЧрдИ рдереА, рдСрдирдмреАрдлреНрд░реЛрдВрд▓реЛрдб рдореЗрдВ рд╕рдВрджреЗрд╢ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╣рдорд╛рд░реА рдкреБрд╖реНрдЯрд┐ рдЗрд╕ рдкрд░ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдбрд╛рд▓рддреА рд╣реИред рдХреЛрдб рдХреЗ рдЕрдВрдд рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдВрджреЗрд╢ рдХрд╛ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рд╕рдВрд╕реНрдХрд░рдг рд╣реИ - рдЖрдк рдЗрд╕реЗ рддрдм рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдЖрдк рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред