Component

Module

Loading Icon (For Form)

Show loading icon when saving form

Directory

File Folder Link
form.php \\SYNAS\Allan\DOCUMENTATION\Component\Loading Icon (For Form)\rckuc\wolf\app\views\option
style.css \\SYNAS\Allan\DOCUMENTATION\Component\Loading Icon (For Form)\rckuc\wolf\admin\themes\black_and_white
option.js \\SYNAS\Allan\DOCUMENTATION\Component\Loading Icon (For Form)\rckuc\wolf\admin\javascript

 

Step 1

Update: form.php (or your create.php and view.php)
Update your save button and add a loader inside

<div id="button_container"> <p class="buttons"> <input class="button" name="commit" type="submit" accesskey="s" value="<?php echo __('Save & Back'); ?>" /> <input class="button" name="continue" type="submit" accesskey="e" value="<?php echo __('Save and Continue Editing'); ?>" /> <?php echo __('or'); ?> <a href="<?php echo get_url('option'); ?>"><?php echo __('Cancel'); ?></a> </p> <span id="loader_container"> <div id="save_loader"></div> Saving </span> </div>
<div id="button_container">
    <p class="buttons">
        <input class="button" name="commit" type="submit" accesskey="s" value="<?php echo __('Save & Back'); ?>" />
        <input class="button" name="continue" type="submit" accesskey="e" value="<?php echo __('Save and Continue Editing'); ?>" />
        <?php echo __('or'); ?> <a href="<?php echo get_url('option'); ?>"><?php echo __('Cancel'); ?></a>
    </p>
    <span id="loader_container">
        <div id="save_loader"></div>
        Saving
    </span>
</div>

Step 2

Update: style.css

p.buttons { margin: 1rem 0; } #button_container { display: flex; align-items: center; } #save_loader { border: 0.1rem solid white; animation: spin .5s linear infinite; border-top: 0.1rem solid black; border-left: 0.1rem solid black; border-radius: 50%; width: 1rem; height: 1rem; margin: 0.5rem; } #loader_container { display: none; align-items: center; }
  p.buttons {
    margin: 1rem 0;
  }

  #button_container {
    display: flex;
    align-items: center;
  }

  #save_loader {
    border: 0.1rem solid white;
    animation: spin .5s linear infinite;
    border-top: 0.1rem solid black;
    border-left: 0.1rem solid black;
    border-radius: 50%;
    width: 1rem;
    height: 1rem;
    margin: 0.5rem;
  }

  #loader_container {
    display: none;
    align-items: center;
  }

Step 3

Update: option.js (or any module js file)

$("form").on("submit", function() { $("#loader_container").css("display", "flex"); })
$("form").on("submit", function() {
    $("#loader_container").css("display", "flex");
})
Code Copied To Clipboard!