From 04ff67e26b880dde8bfb6462f312cf434457cd46 Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sat, 26 Nov 2016 16:00:52 -0500 Subject: Rewrite task move position component and remove Vuejs --- assets/js/components/submit-cancel.js | 81 +++++++++++++++++++++-------------- 1 file changed, 49 insertions(+), 32 deletions(-) (limited to 'assets/js/components/submit-cancel.js') diff --git a/assets/js/components/submit-cancel.js b/assets/js/components/submit-cancel.js index 061b1146..ccb3c1d9 100644 --- a/assets/js/components/submit-cancel.js +++ b/assets/js/components/submit-cancel.js @@ -1,35 +1,52 @@ -Vue.component('submit-cancel', { - props: ['labelButton', 'labelOr', 'labelCancel', 'callback'], - template: '
' + - ' ' + - '{{ labelOr }} {{ labelCancel }}' + - '
' - , - data: function () { - return { - loading: false - }; - }, - computed: { - isLoading: function () { - return this.loading; - } - }, - methods: { - onSubmit: function () { - this.loading = true; - this.callback(); - }, - onCancel: function () { - _KB.get('Popover').close(); - } - }, - events: { - 'submitCancelled': function() { - this.loading = false; +KB.component('submit-cancel', function (containerElement, options) { + var isLoading = false; + + function onSubmit() { + isLoading = true; + KB.find('#modal-submit-button').replace(buildButton()); + KB.trigger('modal.submit'); + } + + function onCancel() { + KB.trigger('modal.cancel'); + _KB.get('Popover').close(); + } + + function onStop() { + isLoading = false; + KB.find('#modal-submit-button').replace(buildButton()); + } + + function buildButton() { + var button = KB.dom('button') + .click(onSubmit) + .attr('id', 'modal-submit-button') + .attr('type', 'submit') + .attr('class', 'btn btn-blue'); + + if (isLoading) { + button + .disable() + .add(KB.dom('i').attr('class', 'fa fa-spinner fa-pulse').build()) + .text(' ') + ; } + + return button + .text(options.submitLabel) + .build(); } + + this.render = function () { + KB.on('modal.stop', onStop); + + var element = KB.dom('div') + .attr('class', 'form-actions') + .add(buildButton()) + .text(' ' + options.orLabel + ' ') + .add(KB.dom('a').attr('href', '#').click(onCancel).text(options.cancelLabel).build()) + .build(); + + containerElement.appendChild(element); + }; }); -- cgit v1.2.3