From b9e3db61dbcd876b92835c428558c62b15cba433 Mon Sep 17 00:00:00 2001 From: carlosjr Date: Thu, 12 Nov 2020 13:33:33 +0100 Subject: [PATCH] ticket advanced search grouped state translations --- modules/ticket/front/search-panel/index.html | 12 ++++--- modules/ticket/front/search-panel/index.js | 22 +++++++++++- .../ticket/front/search-panel/index.spec.js | 35 +++++++++++++++++++ .../ticket/front/search-panel/locale/en.yml | 4 +++ .../ticket/front/search-panel/locale/es.yml | 6 +++- 5 files changed, 72 insertions(+), 7 deletions(-) create mode 100644 modules/ticket/front/search-panel/index.spec.js create mode 100644 modules/ticket/front/search-panel/locale/en.yml diff --git a/modules/ticket/front/search-panel/index.html b/modules/ticket/front/search-panel/index.html index 50bc42d46d..8570036c01 100644 --- a/modules/ticket/front/search-panel/index.html +++ b/modules/ticket/front/search-panel/index.html @@ -76,13 +76,15 @@ ng-model="filter.stateFk" url="States"> - + show-field="name" + ng-model="filter.alertLevel"> + + {{name}} + diff --git a/modules/ticket/front/search-panel/index.js b/modules/ticket/front/search-panel/index.js index 22093784ae..08b0fb2447 100644 --- a/modules/ticket/front/search-panel/index.js +++ b/modules/ticket/front/search-panel/index.js @@ -1,7 +1,27 @@ import ngModule from '../module'; import SearchPanel from 'core/components/searchbar/search-panel'; +class Controller extends SearchPanel { + constructor($, $element) { + super($, $element); + this.getGroupedStates(); + } + + getGroupedStates() { + let groupedStates = []; + this.$http.get('AlertLevels').then(res => { + for (let state of res.data) { + groupedStates.push({ + alertLevel: state.alertLevel, + code: state.code, + name: this.$t(state.code) + }); + } + this.groupedStates = groupedStates; + }); + } +} ngModule.vnComponent('vnTicketSearchPanel', { template: require('./index.html'), - controller: SearchPanel + controller: Controller }); diff --git a/modules/ticket/front/search-panel/index.spec.js b/modules/ticket/front/search-panel/index.spec.js new file mode 100644 index 0000000000..55d341d2ac --- /dev/null +++ b/modules/ticket/front/search-panel/index.spec.js @@ -0,0 +1,35 @@ +import './index'; + +describe('Ticket Component vnTicketSearchPanel', () => { + let $httpBackend; + let controller; + + beforeEach(ngModule('ticket')); + + beforeEach(inject(($componentController, _$httpBackend_) => { + $httpBackend = _$httpBackend_; + controller = $componentController('vnTicketSearchPanel', {$element: null}); + controller.$t = () => {}; + })); + + describe('getGroupedStates()', () => { + it('should set an array of groupedStates with the aditionof a name translation', () => { + jest.spyOn(controller, '$t').mockReturnValue('miCodigo'); + const data = [ + { + alertLevel: 9999, + code: 'myCode' + } + ]; + $httpBackend.whenGET('AlertLevels').respond(data); + controller.getGroupedStates(); + $httpBackend.flush(); + + expect(controller.groupedStates).toEqual([{ + alertLevel: 9999, + code: 'myCode', + name: 'miCodigo' + }]); + }); + }); +}); diff --git a/modules/ticket/front/search-panel/locale/en.yml b/modules/ticket/front/search-panel/locale/en.yml new file mode 100644 index 0000000000..21ba978db3 --- /dev/null +++ b/modules/ticket/front/search-panel/locale/en.yml @@ -0,0 +1,4 @@ +FREE: Free +DELIVERED: Delivered +ON_PREPARATION: On preparation +PACKED: Packed \ No newline at end of file diff --git a/modules/ticket/front/search-panel/locale/es.yml b/modules/ticket/front/search-panel/locale/es.yml index 0e338ab0b5..5fa75ac099 100644 --- a/modules/ticket/front/search-panel/locale/es.yml +++ b/modules/ticket/front/search-panel/locale/es.yml @@ -12,4 +12,8 @@ Order id: Id cesta Grouped States: Estado agrupado Days onward: Días adelante With problems: Con problemas -Pending: Pendiente \ No newline at end of file +Pending: Pendiente +FREE: Libre +DELIVERED: Servido +ON_PREPARATION: En preparacion +PACKED: Encajado \ No newline at end of file