Commit abae9237c5b73fbc5a8e3c7e9526c323ee608a8f
1 parent
3a68588e10
Exists in
master
and in
1 other branch
First commit
Showing
4 changed files
with
113 additions
and
83 deletions
Show diff stats
package.json
| ... | ... | @@ -4,6 +4,7 @@ |
| 4 | 4 | "description": "Modal para seleccionar la forma de pago", |
| 5 | 5 | "main": "index.js", |
| 6 | 6 | "scripts": { |
| 7 | + "refresh": "gulp uglify && cp tmp/foca-modal-forma-pago.js ../wrapper-demo/node_modules/foca-modal-forma-pago/dist/foca-modal-forma-pago.min.js", | |
| 7 | 8 | "test": "echo \"Error: no test specified\" && exit 1", |
| 8 | 9 | "gulp-pre-commit": "gulp pre-commit", |
| 9 | 10 | "compile": "gulp uglify", |
src/js/controller.js
| 1 | 1 | angular.module('focaModalFormaPago') |
| 2 | 2 | .controller('focaModalFormaPagoController', [ |
| 3 | - '$timeout', | |
| 4 | - '$filter', | |
| 5 | - '$scope', | |
| 6 | - '$uibModalInstance', | |
| 7 | - 'focaModalFormaPagoService', | |
| 8 | - 'filters', | |
| 9 | - function($timeout, $filter, $scope, $uibModalInstance, focaModalFormaPagoService, filters) { | |
| 10 | - | |
| 11 | - $scope.filters = filters; | |
| 12 | - $scope.formasPago = []; | |
| 13 | - | |
| 14 | - focaModalFormaPagoService.getFormasPago().then(function(res) { | |
| 15 | - $scope.formasPago = res.data; | |
| 16 | - }); | |
| 17 | - | |
| 18 | - $scope.cancel = function() { | |
| 3 | + '$timeout', '$filter', '$scope', '$uibModalInstance', 'focaModalFormaPagoService', | |
| 4 | + function ($timeout, $filter, $scope, $uibModalInstance, focaModalFormaPagoService) { | |
| 5 | + | |
| 6 | + //#region Variables | |
| 7 | + $scope.botonesTarjetas = []; | |
| 8 | + $scope.showForm = false; | |
| 9 | + | |
| 10 | + //#endregion | |
| 11 | + | |
| 12 | + init(); | |
| 13 | + | |
| 14 | + function init() { | |
| 15 | + $scope.botonesTarjetas = focaModalFormaPagoService.getBotonera(); | |
| 16 | + } | |
| 17 | + | |
| 18 | + $scope.seleccionarTarjeta = function () { | |
| 19 | + animateForm(); | |
| 20 | + }; | |
| 21 | + | |
| 22 | + $scope.cancel = function () { | |
| 19 | 23 | $uibModalInstance.dismiss('cancel'); |
| 20 | 24 | }; |
| 21 | 25 | |
| 22 | - $scope.select = function(iva) { | |
| 26 | + $scope.select = function (iva) { | |
| 23 | 27 | $uibModalInstance.close(iva); |
| 24 | 28 | }; |
| 29 | + | |
| 30 | + function animateForm() { | |
| 31 | + $scope.showForm = false; | |
| 32 | + $timeout(function () { | |
| 33 | + $scope.showForm = true; | |
| 34 | + }, 100); | |
| 35 | + } | |
| 25 | 36 | }] |
| 26 | 37 | ); |
src/js/service.js
| 1 | 1 | angular.module('focaModalFormaPago') |
| 2 | - .factory('focaModalFormaPagoService', ['$http', 'API_ENDPOINT', function($http, API_ENDPOINT) { | |
| 2 | + .factory('focaModalFormaPagoService', ['$http', 'API_ENDPOINT', function ($http, API_ENDPOINT) { | |
| 3 | 3 | return { |
| 4 | - getFormasPago: function() { | |
| 4 | + getFormasPago: function () { | |
| 5 | 5 | //TODO: pasar filtro |
| 6 | 6 | return $http.get(API_ENDPOINT.URL + '/forma-pago'); |
| 7 | + }, | |
| 8 | + getBotonera: function () { | |
| 9 | + return [ | |
| 10 | + { | |
| 11 | + label: 'tarjeta', | |
| 12 | + image: 'visa.svg', | |
| 13 | + active: false, | |
| 14 | + }, | |
| 15 | + { | |
| 16 | + label: 'tarjeta', | |
| 17 | + image: 'mastercard.svg', | |
| 18 | + active: false, | |
| 19 | + }, | |
| 20 | + { | |
| 21 | + label: 'tarjeta', | |
| 22 | + image: 'maestro.svg', | |
| 23 | + active: false, | |
| 24 | + }, | |
| 25 | + { | |
| 26 | + label: 'tarjeta', | |
| 27 | + image: 'americanExpress.svg', | |
| 28 | + active: false, | |
| 29 | + }, | |
| 30 | + { | |
| 31 | + label: 'tarjeta', | |
| 32 | + image: 'naranja.png', | |
| 33 | + active: false, | |
| 34 | + }, | |
| 35 | + { | |
| 36 | + label: 'tarjeta', | |
| 37 | + image: 'cabal.svg', | |
| 38 | + active: false, | |
| 39 | + }, | |
| 40 | + { | |
| 41 | + label: 'tarjeta', | |
| 42 | + image: 'argencard.svg', | |
| 43 | + active: false, | |
| 44 | + }, | |
| 45 | + { | |
| 46 | + label: 'tarjeta', | |
| 47 | + image: 'nativa.png', | |
| 48 | + active: false, | |
| 49 | + }, | |
| 50 | + { | |
| 51 | + label: 'tarjeta', | |
| 52 | + image: 'cencosud.png', | |
| 53 | + active: false, | |
| 54 | + }, | |
| 55 | + ]; | |
| 7 | 56 | } |
| 8 | 57 | }; |
| 9 | 58 | }]); |
src/views/modal-forma-pago.html
| 1 | 1 | <div class="modal-header"> |
| 2 | - <h5 class="modal-title my-1">Búsqueda de formas de pago</h5> | |
| 2 | + <h5 class="modal-title">Pago con Tarjeta</h5> | |
| 3 | 3 | </div> |
| 4 | + | |
| 4 | 5 | <div class="modal-body" id="modal-body"> |
| 5 | - <div class="input-group"> | |
| 6 | - <input | |
| 7 | - ladda="searchLoading" | |
| 8 | - type="text" | |
| 9 | - class="form-control form-control-sm" | |
| 10 | - id="search" | |
| 11 | - placeholder="Búsqueda" | |
| 12 | - ng-model="filters" | |
| 13 | - ng-change="search()" | |
| 14 | - ng-keydown="busquedaDown($event.keyCode)" | |
| 15 | - ng-keypress="busquedaPress($event.keyCode)" | |
| 16 | - foca-focus="selectedProvincia == -1" | |
| 17 | - ng-focus="selectedProvincia = -1" | |
| 18 | - teclado-virtual | |
| 19 | - > | |
| 20 | - <div class="input-group-append"> | |
| 21 | - <button | |
| 22 | - ladda="searchLoading" | |
| 23 | - class="btn btn-outline-secondary" | |
| 24 | - type="button" | |
| 25 | - ng-click="busquedaPress(13)" | |
| 26 | - > | |
| 27 | - <i class="fa fa-search" aria-hidden="true"></i> | |
| 28 | - </button> | |
| 6 | + <div class="row mb-2"> | |
| 7 | + <div class="col-12 p-0"> | |
| 8 | + <div class="row mx-0 botonera-secundaria"> | |
| 9 | + <div class="col-12"> | |
| 10 | + <foca-botonera-tarjetas | |
| 11 | + botones="botonesTarjetas" | |
| 12 | + max="1" | |
| 13 | + class="row justify-content-start mx-0" | |
| 14 | + > | |
| 15 | + </foca-botonera-tarjetas> | |
| 16 | + </div> | |
| 17 | + </div> | |
| 29 | 18 | </div> |
| 30 | 19 | </div> |
| 31 | - <table class="table table-striped table-sm col-12"> | |
| 32 | - <thead> | |
| 33 | - <tr> | |
| 34 | - <th>Código</th> | |
| 35 | - <th>Nombre</th> | |
| 36 | - <th></th> | |
| 37 | - </tr> | |
| 38 | - </thead> | |
| 39 | - <tbody> | |
| 40 | - <tr ng-show="formasPago.length == 0"> | |
| 41 | - <td colspan="3"> | |
| 42 | - No se encontraron resultados. | |
| 43 | - </td> | |
| 44 | - </tr> | |
| 45 | - <tr class="selected" | |
| 46 | - ng-repeat="(key, formaPago) in formasPago | filter: filters" | |
| 47 | - ng-click="select(formaPago)" | |
| 48 | - > | |
| 49 | - <td ng-bind="formaPago.ID | rellenarDigitos: 3: 0"></td> | |
| 50 | - <td ng-bind="formaPago.NOMBRE"></td> | |
| 51 | - <td class="d-md-none text-primary"> | |
| 52 | - <i class="fa fa-circle-thin" aria-hidden="true"></i> | |
| 53 | - </td> | |
| 54 | - <td class="d-none d-md-table-cell"> | |
| 55 | - <button | |
| 56 | - type="button" | |
| 57 | - class="btn btn-xs p-1 float-right" | |
| 58 | - ng-class="{ | |
| 59 | - 'btn-secondary': selectedProvincia != key, | |
| 60 | - 'btn-primary': selectedProvincia == key | |
| 61 | - }" | |
| 62 | - foca-focus="selectedProvincia == {{key}}" | |
| 63 | - ng-keydown="itemProvincia($event.keyCode)"> | |
| 64 | - <i class="fa fa-circle-thin" aria-hidden="true"></i> | |
| 65 | - </button> | |
| 66 | - </td> | |
| 67 | - </tr> | |
| 68 | - </tbody> | |
| 69 | - </table> | |
| 20 | + | |
| 21 | + <div class="border-top" ng-show="showForm"> | |
| 22 | + <div class="row mt-4 fadeIn"> | |
| 23 | + <div class="col"> | |
| 24 | + <form> | |
| 25 | + <div class="row"> | |
| 26 | + <div class="col-3 col-sm-2 pr-1"> | |
| 27 | + <input class="form-control"> | |
| 28 | + </div> | |
| 29 | + <div class="col-9 col-sm-4 pl-2"> | |
| 30 | + <input class="form-control"> | |
| 31 | + </div> | |
| 32 | + </div> | |
| 33 | + </form> | |
| 34 | + </div> | |
| 35 | + </div> | |
| 36 | + </div> | |
| 37 | + | |
| 70 | 38 | </div> |
| 39 | + | |
| 71 | 40 | <div class="modal-footer"> |
| 72 | 41 | <button class="btn btn-sm btn-secondary my-1" type="button" ng-click="cancel()">Cancelar</button> |
| 73 | 42 | </div> |