1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /**
- * <ajax-button>
- * -----------------------------------------------------------------------------
- * A button with a built-in loading spinner.
- *
- * @type {Component}
- * -----------------------------------------------------------------------------
- */
- parasails.registerComponent('ajaxButton', {
- // ╔═╗╦═╗╔═╗╔═╗╔═╗
- // ╠═╝╠╦╝║ ║╠═╝╚═╗
- // ╩ ╩╚═╚═╝╩ ╚═╝
- props: [
- 'syncing'
- ],
- // ╦╔╗╔╦╔╦╗╦╔═╗╦ ╔═╗╔╦╗╔═╗╔╦╗╔═╗
- // ║║║║║ ║ ║╠═╣║ ╚═╗ ║ ╠═╣ ║ ║╣
- // ╩╝╚╝╩ ╩ ╩╩ ╩╩═╝ ╚═╝ ╩ ╩ ╩ ╩ ╚═╝
- data: function (){
- return {
- };
- },
- // ╦ ╦╔╦╗╔╦╗╦
- // ╠═╣ ║ ║║║║
- // ╩ ╩ ╩ ╩ ╩╩═╝
- template: `
- <button type="submit" class="btn ajax-button" :class="[syncing ? 'syncing' : '']">
- <span class="button-text" v-if="!syncing"><slot name="default">Submit</slot></span>
- <span class="button-loader clearfix" v-if="syncing">
- <slot name="syncing-state">
- <div class="loading-dot dot1"></div>
- <div class="loading-dot dot2"></div>
- <div class="loading-dot dot3"></div>
- <div class="loading-dot dot4"></div>
- </slot>
- </span>
- </button>
- `,
- // ╦ ╦╔═╗╔═╗╔═╗╦ ╦╔═╗╦ ╔═╗
- // ║ ║╠╣ ║╣ ║ ╚╦╝║ ║ ║╣
- // ╩═╝╩╚ ╚═╝╚═╝ ╩ ╚═╝╩═╝╚═╝
- beforeMount: function() {
- },
- mounted: function (){
- },
- beforeDestroy: function() {
- },
- // ╦╔╗╔╔╦╗╔═╗╦═╗╔═╗╔═╗╔╦╗╦╔═╗╔╗╔╔═╗
- // ║║║║ ║ ║╣ ╠╦╝╠═╣║ ║ ║║ ║║║║╚═╗
- // ╩╝╚╝ ╩ ╚═╝╩╚═╩ ╩╚═╝ ╩ ╩╚═╝╝╚╝╚═╝
- methods: {
- }
- });
|