Commit bc62d1be0408c8ae2ce0383286d2f356ec052cdf
1 parent
e84e56b901
Exists in
master
Modal devuelve objeto
Showing
3 changed files
with
25 additions
and
19 deletions
Show diff stats
package.json
| 1 | { | 1 | { |
| 2 | "name": "foca-modal-flete", | 2 | "name": "foca-modal-flete", |
| 3 | "version": "0.0.1", | 3 | "version": "0.0.1", |
| 4 | "description": "Modal de búsqueda de fletes", | 4 | "description": "Modal de búsqueda de fletes", |
| 5 | "main": "index.js", | 5 | "main": "index.js", |
| 6 | "scripts": { | 6 | "scripts": { |
| 7 | "test": "echo \"Error: no test specified\" && exit 1", | 7 | "test": "echo \"Error: no test specified\" && exit 1", |
| 8 | "gulp-pre-commit": "gulp pre-commit", | 8 | "gulp-pre-commit": "gulp pre-commit", |
| 9 | "compile": "gulp uglify", | 9 | "compile": "gulp uglify", |
| 10 | "postinstall": "npm run compile && gulp clean-post-install", | 10 | "postinstall": "npm run compile && gulp clean-post-install", |
| 11 | "install-dev": "npm install -D angular font-awesome pump jquery bootstrap ui-bootstrap4 jshint gulp gulp-uglify gulp-concat gulp-htmlmin gulp-rename gulp-uglify gulp-jshint gulp-replace gulp-connect gulp-clean gulp-angular-templatecache git+https://debo.suite.repo/modulos-npm/foca-directivas.git" | 11 | "install-dev": "npm install -D angular font-awesome pump jquery bootstrap ui-bootstrap4 jshint gulp gulp-uglify gulp-concat gulp-htmlmin gulp-rename gulp-uglify gulp-jshint gulp-replace gulp-connect gulp-clean gulp-angular-templatecache git+https://debo.suite.repo/modulos-npm/foca-directivas.git" |
| 12 | }, | 12 | }, |
| 13 | "pre-commit": [ | 13 | "pre-commit": [ |
| 14 | "gulp-pre-commit" | 14 | "gulp-pre-commit" |
| 15 | ], | 15 | ], |
| 16 | "repository": { | 16 | "repository": { |
| 17 | "type": "git", | 17 | "type": "git", |
| 18 | "url": "https://debo.suite.repo/modulos-npm/foca-modal-flete.git" | 18 | "url": "https://debo.suite.repo/modulos-npm/foca-modal-flete.git" |
| 19 | }, | 19 | }, |
| 20 | "author": "Foca Software", | 20 | "author": "Foca Software", |
| 21 | "license": "ISC", | 21 | "license": "ISC", |
| 22 | "devDependencies": { | 22 | "devDependencies": { |
| 23 | "angular": "^1.7.5", | 23 | "angular": "^1.7.5", |
| 24 | "bootstrap": "^4.1.3", | 24 | "bootstrap": "^4.1.3", |
| 25 | "foca-directivas": "git+https://debo.suite.repo/modulos-npm/foca-directivas.git", | 25 | "foca-directivas": "git+https://debo.suite.repo/modulos-npm/foca-directivas.git", |
| 26 | "font-awesome": "^4.7.0", | 26 | "font-awesome": "^4.7.0", |
| 27 | "gulp": "^3.9.1", | 27 | "gulp": "^3.9.1", |
| 28 | "gulp-angular-templatecache": "2.2.2", | 28 | "gulp-angular-templatecache": "^2.2.2", |
| 29 | "gulp-clean": "0.4.0", | 29 | "gulp-clean": "^0.4.0", |
| 30 | "gulp-concat": "^2.6.1", | 30 | "gulp-concat": "^2.6.1", |
| 31 | "gulp-connect": "^5.6.1", | 31 | "gulp-connect": "^5.6.1", |
| 32 | "gulp-htmlmin": "5.0.1", | 32 | "gulp-htmlmin": "^5.0.1", |
| 33 | "gulp-jshint": "2.1.0", | 33 | "gulp-jshint": "^2.1.0", |
| 34 | "gulp-rename": "1.4.0", | 34 | "gulp-rename": "^1.4.0", |
| 35 | "gulp-replace": "1.0.0", | 35 | "gulp-replace": "^1.0.0", |
| 36 | "gulp-uglify": "3.0.1", | 36 | "gulp-uglify": "^3.0.1", |
| 37 | "jquery": "^3.3.1", | 37 | "jquery": "^3.3.1", |
| 38 | "jshint": "2.9.6", | 38 | "jshint": "^2.9.6", |
| 39 | "pump": "3.0.0", | 39 | "pump": "^3.0.0", |
| 40 | "ui-bootstrap4": "^3.0.5" | 40 | "ui-bootstrap4": "^3.0.5" |
| 41 | } | 41 | } |
| 42 | } | 42 | } |
| 43 | 43 |
src/js/controller.js
| 1 | angular.module('focaModalFlete') | 1 | angular.module('focaModalFlete') |
| 2 | .controller('focaModalFleteController', | 2 | .controller('focaModalFleteController', |
| 3 | [ | 3 | [ |
| 4 | '$filter', | 4 | '$filter', |
| 5 | '$scope', | 5 | '$scope', |
| 6 | '$uibModalInstance', | 6 | '$uibModalInstance', |
| 7 | 'parametrosFlete', | 7 | 'parametrosFlete', |
| 8 | function($filter, $scope, $uibModalInstance, parametrosFlete) { | 8 | function($filter, $scope, $uibModalInstance, parametrosFlete) { |
| 9 | $scope.parametrosFlete = parametrosFlete; | 9 | $scope.parametrosFlete = parametrosFlete; |
| 10 | $scope.aceptar = function() { | 10 | $scope.aceptar = function() { |
| 11 | $uibModalInstance.close($scope.parametrosFlete); | 11 | var parametrosFlete = { |
| 12 | flete: $scope.parametrosFlete.flete === '1' ? '1' : '0', | ||
| 13 | FOB: $scope.parametrosFlete.flete === 'FOB' ? '1' : '0', | ||
| 14 | bomba: $scope.parametrosFlete.bomba === '1' ? '1' : '0', | ||
| 15 | kilometros: $scope.parametrosFlete.kilometros | ||
| 16 | }; | ||
| 17 | $uibModalInstance.close(parametrosFlete); | ||
| 12 | }; | 18 | }; |
| 13 | 19 | ||
| 14 | $scope.cancel = function() { | 20 | $scope.cancel = function() { |
| 15 | $uibModalInstance.dismiss('cancel'); | 21 | $uibModalInstance.dismiss('cancel'); |
| 16 | }; | 22 | }; |
| 17 | 23 | ||
| 18 | $scope.validar = function() { | 24 | $scope.validar = function() { |
| 19 | return $scope.formFlete.$pristine || | 25 | return $scope.formFlete.$pristine || |
| 20 | ( | 26 | ( |
| 21 | $scope.parametrosFlete.flete === 'si' && | 27 | $scope.parametrosFlete.flete === '1' && |
| 22 | ( | 28 | ( |
| 23 | ( | 29 | ( |
| 24 | $scope.parametrosFlete.bomba !== 'si' && | 30 | $scope.parametrosFlete.bomba !== '1' && |
| 25 | $scope.parametrosFlete.bomba !== 'no' | 31 | $scope.parametrosFlete.bomba !== '0' |
| 26 | ) || | 32 | ) || |
| 27 | ( | 33 | ( |
| 28 | !$scope.parametrosFlete.kilometros || | 34 | !$scope.parametrosFlete.kilometros || |
| 29 | $scope.parametrosFlete.kilometros < 1 | 35 | $scope.parametrosFlete.kilometros < 1 |
| 30 | ) | 36 | ) |
| 31 | ) | 37 | ) |
| 32 | ); | 38 | ); |
| 33 | } | 39 | } |
| 34 | } | 40 | } |
| 35 | ] | 41 | ] |
| 36 | ); | 42 | ); |
| 37 | 43 |
src/views/modal-flete.html
| 1 | <div class="modal-header"> | 1 | <div class="modal-header"> |
| 2 | <h3 class="modal-title">Opciones de Flete</h3> | 2 | <h3 class="modal-title">Opciones de Flete</h3> |
| 3 | </div> | 3 | </div> |
| 4 | <div class="modal-body" id="modal-body"> | 4 | <div class="modal-body" id="modal-body"> |
| 5 | <form name="formFlete"> | 5 | <form name="formFlete"> |
| 6 | <div class="form-group row"> | 6 | <div class="form-group row"> |
| 7 | <div class="col-6"> | 7 | <div class="col-6"> |
| 8 | <div class="row"> | 8 | <div class="row"> |
| 9 | <legend class="col-form-label col-sm-4 pt-0">Flete</legend> | 9 | <legend class="col-form-label col-sm-4 pt-0">Flete</legend> |
| 10 | <div class="col-sm-8"> | 10 | <div class="col-sm-8"> |
| 11 | <div class="form-check"> | 11 | <div class="form-check"> |
| 12 | <input | 12 | <input |
| 13 | class="form-check-input" | 13 | class="form-check-input" |
| 14 | type="radio" | 14 | type="radio" |
| 15 | name="flete" | 15 | name="flete" |
| 16 | id="fleteSi" | 16 | id="fleteSi" |
| 17 | value="si" | 17 | value="1" |
| 18 | checked | 18 | checked |
| 19 | ng-model="parametrosFlete.flete" | 19 | ng-model="parametrosFlete.flete" |
| 20 | /> | 20 | /> |
| 21 | <label class="form-check-label" for="fleteSi">Si</label> | 21 | <label class="form-check-label" for="fleteSi">Si</label> |
| 22 | </div> | 22 | </div> |
| 23 | <div class="form-check"> | 23 | <div class="form-check"> |
| 24 | <input | 24 | <input |
| 25 | class="form-check-input" | 25 | class="form-check-input" |
| 26 | type="radio" | 26 | type="radio" |
| 27 | name="flete" | 27 | name="flete" |
| 28 | id="fleteNo" | 28 | id="fleteNo" |
| 29 | value="no" | 29 | value="0" |
| 30 | ng-model="parametrosFlete.flete" | 30 | ng-model="parametrosFlete.flete" |
| 31 | /> | 31 | /> |
| 32 | <label class="form-check-label" for="fleteNo">No</label> | 32 | <label class="form-check-label" for="fleteNo">No</label> |
| 33 | </div> | 33 | </div> |
| 34 | <div class="form-check"> | 34 | <div class="form-check"> |
| 35 | <input | 35 | <input |
| 36 | class="form-check-input" | 36 | class="form-check-input" |
| 37 | type="radio" | 37 | type="radio" |
| 38 | name="flete" | 38 | name="flete" |
| 39 | id="fleteFub" | 39 | id="fleteFub" |
| 40 | value="FOB" | 40 | value="FOB" |
| 41 | ng-model="parametrosFlete.flete" | 41 | ng-model="parametrosFlete.flete" |
| 42 | /> | 42 | /> |
| 43 | <label class="form-check-label" for="fleteFub">FOB</label> | 43 | <label class="form-check-label" for="fleteFub">FOB</label> |
| 44 | </div> | 44 | </div> |
| 45 | </div> | 45 | </div> |
| 46 | <span ng-show="formFlete.flete.$error.required">Debe seleccionar un flete.</span> | 46 | <span ng-show="formFlete.flete.$error.required">Debe seleccionar un flete.</span> |
| 47 | </div> | 47 | </div> |
| 48 | </div> | 48 | </div> |
| 49 | <div class="col-6"> | 49 | <div class="col-6"> |
| 50 | <div class="form-group row" ng-show="parametrosFlete.flete == 'si'"> | 50 | <div class="form-group row" ng-show="parametrosFlete.flete == '1'"> |
| 51 | <legend class="col-form-label col-sm-4 pt-0">Bomba</legend> | 51 | <legend class="col-form-label col-sm-4 pt-0">Bomba</legend> |
| 52 | <div class="col-sm-8"> | 52 | <div class="col-sm-8"> |
| 53 | <div class="form-check"> | 53 | <div class="form-check"> |
| 54 | <input | 54 | <input |
| 55 | class="form-check-input" | 55 | class="form-check-input" |
| 56 | type="radio" | 56 | type="radio" |
| 57 | name="bomba" | 57 | name="bomba" |
| 58 | id="bombaSi" | 58 | id="bombaSi" |
| 59 | value="si" | 59 | value="1" |
| 60 | checked | 60 | checked |
| 61 | ng-model="parametrosFlete.bomba" | 61 | ng-model="parametrosFlete.bomba" |
| 62 | /> | 62 | /> |
| 63 | <label class="form-check-label" for="bombaSi">Si</label> | 63 | <label class="form-check-label" for="bombaSi">Si</label> |
| 64 | </div> | 64 | </div> |
| 65 | <div class="form-check"> | 65 | <div class="form-check"> |
| 66 | <input | 66 | <input |
| 67 | class="form-check-input" | 67 | class="form-check-input" |
| 68 | type="radio" | 68 | type="radio" |
| 69 | name="bomba" | 69 | name="bomba" |
| 70 | id="bombaNo" | 70 | id="bombaNo" |
| 71 | value="no" | 71 | value="0" |
| 72 | ng-model="parametrosFlete.bomba" | 72 | ng-model="parametrosFlete.bomba" |
| 73 | /> | 73 | /> |
| 74 | <label class="form-check-label" for="bombaNo">No</label> | 74 | <label class="form-check-label" for="bombaNo">No</label> |
| 75 | </div> | 75 | </div> |
| 76 | </div> | 76 | </div> |
| 77 | </div> | 77 | </div> |
| 78 | <div class="form-group row" ng-show="parametrosFlete.flete == 'si'"> | 78 | <div class="form-group row" ng-show="parametrosFlete.flete == '1'"> |
| 79 | <label for="kilometros" class="col-sm-4 col-form-label">Kilometros</label> | 79 | <label for="kilometros" class="col-sm-4 col-form-label">Kilometros</label> |
| 80 | <div class="col-sm-8"> | 80 | <div class="col-sm-8"> |
| 81 | <input | 81 | <input |
| 82 | type="number" | 82 | type="number" |
| 83 | class="form-control" | 83 | class="form-control" |
| 84 | id="kilometros" | 84 | id="kilometros" |
| 85 | name="kilometros" | 85 | name="kilometros" |
| 86 | placeholder="Kilómetros" | 86 | placeholder="Kilómetros" |
| 87 | ng-model="parametrosFlete.kilometros" | 87 | ng-model="parametrosFlete.kilometros" |
| 88 | /> | 88 | /> |
| 89 | </div> | 89 | </div> |
| 90 | </div> | 90 | </div> |
| 91 | </div> | 91 | </div> |
| 92 | </div> | 92 | </div> |
| 93 | </form> | 93 | </form> |
| 94 | </div> | 94 | </div> |
| 95 | <div class="modal-footer"> | 95 | <div class="modal-footer"> |
| 96 | <button | 96 | <button |
| 97 | class="btn btn-secondary" | 97 | class="btn btn-secondary" |
| 98 | type="button" | 98 | type="button" |
| 99 | ng-click="aceptar()" | 99 | ng-click="aceptar()" |
| 100 | ng-disabled="validar()" | 100 | ng-disabled="validar()" |
| 101 | >Aceptar</button> | 101 | >Aceptar</button> |
| 102 | <button class="btn btn-secondary" type="button" ng-click="cancel()">Cancelar</button> | 102 | <button class="btn btn-secondary" type="button" ng-click="cancel()">Cancelar</button> |
| 103 | </div> | 103 | </div> |
| 104 | 104 |