{"version":3,"sources":["webpack:///./src/services/api/feedback.service.ts","webpack:///../../../src/components/VRadioGroup/VRadio.ts","webpack:///../../../src/components/VPagination/VPagination.ts","webpack:///./src/components/mixins/ServerGridMixins.ts","webpack:///./src/views/feedback/List.vue?edbd","webpack:///./src/views/feedback/shared/MenuList.vue?34cc","webpack:///./src/views/feedback/shared/MenuList.vue","webpack:///./src/views/feedback/shared/MenuList.vue?b726","webpack:///./src/views/feedback/shared/MenuList.vue?d4e0","webpack:///./src/views/feedback/List.vue","webpack:///./src/views/feedback/List.vue?e4b8","webpack:///./src/views/feedback/List.vue?afb9","webpack:///./src/views/feedback/List.vue?350f"],"names":["FeedbacksEndpoint","FeedbacksRequestIncludes","parent","FeedbackService","request","this","Get","baseUrl","GetQueryStringByObject","idFeedback","id","entity","Post","command","Put","Delete","idUser","baseMixins","name","inheritAttrs","props","disabled","label","offIcon","type","default","onIcon","readonly","value","data","isFocused","computed","classes","groupClasses","computedColor","computedIcon","isActive","computedId","hasLabel","hasState","radioGroup","isDisabled","isReadonly","computedName","rippleState","validationState","methods","genInput","genLabel","$createElement","on","click","attrs","for","color","focused","genRadio","staticClass","setTextColor","dense","attrs$","genRipple","onFocus","onBlur","onChange","onKeydown","render","class","h","onVisible","directives","Resize","circle","length","validator","val","nextIcon","prevIcon","totalVisible","Number","pageAriaLabel","currentPageAriaLabel","previousAriaLabel","nextAriaLabel","wrapperAriaLabel","maxButtons","selected","themeClasses","items","parseInt","maxLength","Math","range","even","left","right","start","end","watch","mounted","init","setTimeout","onResize","width","$el","parentElement","window","next","e","previous","from","i","genIcon","fn","genItem","isCurrentPage","ariaLabel","setBackgroundColor","$vuetify","lang","t","genItems","map","key","index","isNaN","genList","modifiers","quiet","children","rtl","role","DataServerGridOptions","inited","page","pageSize","total","columns","loading","ServerGrid","$route","query","skip","gridConfigs","list","take","p","header","Object","assign","filterItem","$router","push","GridFilter","onGridOptionsChange","catch","console","log","find","filterable","ceil","_vm","_h","_c","_self","_v","createFeedback","scopedSlots","_u","proxy","ref","headers","_l","$event","GridClearFilter","model","callback","$$v","$set","expression","_e","item","_s","_f","dateStart","dateEnd","user","photo","getProfilePhotoSrc","initials","viewFeedback","pageCount","GridPageChanged","staticStyle","GridPagesizeChanged","staticRenderFns","currentTypeId","title","idFeedbackType","currentState","configsService","types","resolved","q","Load","currentLanguage","idLanguage","then","result","component","VRadio","feedbackService","usersService","photoSrc","path","GetProfilePhotoSrc","substring","toUpperCase","text","align","sortable","GridInit","includes","feedbackType","GridSetLoading","GetList","GridLoad","error","finally","feedback","comp","args","openSideMenu","deep","components","LeftMenu","MenuList","VAvatar","VBtn","VDataTable","VPagination","VSelect","VTextField"],"mappings":"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","file":"js/chunk-ce4ba5f0.c916b3a8.js","sourcesContent":["import { Route } from \"vue-router\";\r\nimport { AuthenticatedService } from \"../abstract/base.service\";\r\nimport { ListRequest } from \"@/models/grids/list.request\";\r\nimport OrderBy from \"@/models/shared/orderby\";\r\nimport { ListResponse } from \"@/models/grids/list.response\";\r\nimport {\r\n CreateFeedbackCommand,\r\n EditFeedbackCommand,\r\n} from \"@/server/app.commands\";\r\nimport { FeedbackDto, FeedbackStatsDto } from \"@/server/app.dtos\";\r\nimport {\r\n GetFeedbackDtosQuery,\r\n GetSingleFeedbackDtoQuery,\r\n} from \"@/server/app.queries\";\r\n\r\nexport const FeedbacksEndpoint = `api/feedbacks`;\r\nexport const FeedbackQuestionsEndpoint = `api/feedbackquestions`;\r\n\r\nexport class FeedbacksRequestIncludes {\r\n parent: boolean = false;\r\n}\r\n\r\nexport class FeedbacksListRequestFilter extends ListRequest {\r\n search?: string;\r\n name?: string;\r\n email?: string;\r\n idAppInterface?: number;\r\n orderBy?: string = \"NameAsc\";\r\n includes: FeedbacksRequestIncludes = new FeedbacksRequestIncludes();\r\n\r\n get GetOrderOptions(): OrderBy[] {\r\n return [\r\n new OrderBy(\"Nome Ascendente\", \"NameAsc\"),\r\n new OrderBy(\"Nome Descendente\", \"NameDesc\")\r\n ];\r\n }\r\n\r\n loadByRoute(route: Route) {\r\n if (route && route.query) {\r\n if (route.query.search) {\r\n this.search = route.query.search as string;\r\n }\r\n this.name = route.query.name ? (route.query.name as string) : undefined;\r\n this.email = route.query.email\r\n ? (route.query.email as string)\r\n : undefined;\r\n if (route.query.idAppInterface) {\r\n this.idAppInterface = parseInt(route.query.idAppInterface as string);\r\n }\r\n if (route.query.orderBy) {\r\n this.orderBy = route.query.orderBy as string;\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport class FeedbackService extends AuthenticatedService {\r\n GetList(request: GetFeedbackDtosQuery): Promise> {\r\n return this.Get>(\r\n `${this.baseUrl}${FeedbacksEndpoint}?${this.GetQueryStringByObject(request)}`\r\n );\r\n }\r\n\r\n GetSingle(request: GetSingleFeedbackDtoQuery): Promise {\r\n return this.Get(\r\n `${this.baseUrl}${FeedbacksEndpoint}/${\r\n request.idFeedback\r\n }?${this.GetQueryStringByObject(request)}`\r\n );\r\n }\r\n\r\n GetStats(id: number): Promise{\r\n return this.Get(\r\n `${this.baseUrl}${FeedbacksEndpoint}/${id}/stats`\r\n );\r\n }\r\n\r\n Create(entity: CreateFeedbackCommand): Promise {\r\n return this.Post(`${this.baseUrl}${FeedbacksEndpoint}`, entity);\r\n }\r\n\r\n Edit(command: EditFeedbackCommand): Promise {\r\n return this.Put(\r\n `${this.baseUrl}${FeedbacksEndpoint}/${command.idFeedback}`,\r\n command\r\n );\r\n }\r\n\r\n DeleteById(id: number): Promise {\r\n return this.Delete(`${this.baseUrl}${FeedbacksEndpoint}/${id}`);\r\n }\r\n\r\n DeleteFeedbackVsUser(idFeedback: number, idUser: number): Promise {\r\n return this.Delete(\r\n `${this.baseUrl}${FeedbacksEndpoint}/${idFeedback}/deletefeedbackvsuser/${idUser}`\r\n );\r\n }\r\n\r\n}\r\n","// Styles\nimport './VRadio.sass'\n\n// Components\nimport VRadioGroup from './VRadioGroup'\nimport VLabel from '../VLabel'\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable, { prevent } from '../../mixins/selectable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\nimport { mergeListeners } from '../../util/mergeData'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Colorable,\n Rippleable,\n GroupableFactory('radioGroup'),\n Themeable\n)\n\ninterface options extends InstanceType {\n radioGroup: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-radio',\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n id: String,\n label: String,\n name: String,\n offIcon: {\n type: String,\n default: '$radioOff',\n },\n onIcon: {\n type: String,\n default: '$radioOn',\n },\n readonly: Boolean,\n value: {\n default: null,\n },\n },\n\n data: () => ({\n isFocused: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses,\n ...this.groupClasses,\n }\n },\n computedColor (): string | undefined {\n return Selectable.options.computed.computedColor.call(this)\n },\n computedIcon (): string {\n return this.isActive\n ? this.onIcon\n : this.offIcon\n },\n computedId (): string {\n return VInput.options.computed.computedId.call(this)\n },\n hasLabel: VInput.options.computed.hasLabel,\n hasState (): boolean {\n return (this.radioGroup || {}).hasState\n },\n isDisabled (): boolean {\n return this.disabled || (\n !!this.radioGroup &&\n this.radioGroup.isDisabled\n )\n },\n isReadonly (): boolean {\n return this.readonly || (\n !!this.radioGroup &&\n this.radioGroup.isReadonly\n )\n },\n computedName (): string {\n if (this.name || !this.radioGroup) {\n return this.name\n }\n\n return this.radioGroup.name || `radio-${this.radioGroup._uid}`\n },\n rippleState (): string | undefined {\n return Selectable.options.computed.rippleState.call(this)\n },\n validationState (): string | undefined {\n return (this.radioGroup || {}).validationState || this.computedColor\n },\n },\n\n methods: {\n genInput (args: any) {\n // We can't actually use the mixin directly because\n // it's made for standalone components, but its\n // genInput method is exactly what we need\n return Selectable.options.methods.genInput.call(this, 'radio', args)\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n on: {\n // Label shouldn't cause the input to focus\n click: prevent,\n },\n attrs: {\n for: this.computedId,\n },\n props: {\n color: this.validationState,\n focused: this.hasState,\n },\n }, getSlot(this, 'label') || this.label)\n },\n genRadio () {\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.radioGroup && this.radioGroup.dense,\n },\n }), this.computedIcon),\n this.genInput({\n name: this.computedName,\n value: this.value,\n ...this.attrs$,\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n onFocus (e: Event) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: Event) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n onChange () {\n if (this.isDisabled || this.isReadonly || this.isActive) return\n\n this.toggle()\n },\n onKeydown: () => {}, // Override default with noop\n },\n\n render (h): VNode {\n const data: VNodeData = {\n staticClass: 'v-radio',\n class: this.classes,\n on: mergeListeners({\n click: this.onChange,\n }, this.listeners$),\n }\n\n return h('div', data, [\n this.genRadio(),\n this.genLabel(),\n ])\n },\n})\n","import './VPagination.sass'\n\nimport VIcon from '../VIcon'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Intersectable from '../../mixins/intersectable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, CreateElement, VNodeChildrenArrayContents } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Intersectable({ onVisible: ['init'] }),\n Themeable\n).extend({\n name: 'v-pagination',\n\n directives: { Resize },\n\n props: {\n circle: Boolean,\n disabled: Boolean,\n length: {\n type: Number,\n default: 0,\n validator: (val: number) => val % 1 === 0,\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n totalVisible: [Number, String],\n value: {\n type: Number,\n default: 0,\n },\n pageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.page',\n },\n currentPageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.currentPage',\n },\n previousAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.previous',\n },\n nextAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.next',\n },\n wrapperAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.wrapper',\n },\n },\n\n data () {\n return {\n maxButtons: 0,\n selected: null as number | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-pagination': true,\n 'v-pagination--circle': this.circle,\n 'v-pagination--disabled': this.disabled,\n ...this.themeClasses,\n }\n },\n\n items (): (string | number)[] {\n const totalVisible = parseInt(this.totalVisible, 10)\n\n const maxLength = Math.min(\n Math.max(0, totalVisible) || this.length,\n Math.max(0, this.maxButtons) || this.length,\n this.length\n )\n\n if (this.length <= maxLength) {\n return this.range(1, this.length)\n }\n\n const even = maxLength % 2 === 0 ? 1 : 0\n const left = Math.floor(maxLength / 2)\n const right = this.length - left + 1 + even\n\n if (this.value > left && this.value < right) {\n const start = this.value - left + 2\n const end = this.value + left - 2 - even\n\n return [1, '...', ...this.range(start, end), '...', this.length]\n } else if (this.value === left) {\n const end = this.value + left - 1 - even\n return [...this.range(1, end), '...', this.length]\n } else if (this.value === right) {\n const start = this.value - left + 1\n return [1, '...', ...this.range(start, this.length)]\n } else {\n return [\n ...this.range(1, left),\n '...',\n ...this.range(right, this.length),\n ]\n }\n },\n },\n\n watch: {\n value () {\n this.init()\n },\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init () {\n this.selected = null\n\n this.$nextTick(this.onResize)\n // TODO: Change this (f75dee3a, cbdf7caa)\n setTimeout(() => (this.selected = this.value), 100)\n },\n onResize () {\n const width = this.$el && this.$el.parentElement\n ? this.$el.parentElement.clientWidth\n : window.innerWidth\n\n this.maxButtons = Math.floor((width - 96) / 42)\n },\n next (e: Event) {\n e.preventDefault()\n this.$emit('input', this.value + 1)\n this.$emit('next')\n },\n previous (e: Event) {\n e.preventDefault()\n this.$emit('input', this.value - 1)\n this.$emit('previous')\n },\n range (from: number, to: number) {\n const range = []\n\n from = from > 0 ? from : 1\n\n for (let i = from; i <= to; i++) {\n range.push(i)\n }\n\n return range\n },\n genIcon (h: CreateElement, icon: string, disabled: boolean, fn: EventListener, label: String): VNode {\n return h('li', [\n h('button', {\n staticClass: 'v-pagination__navigation',\n class: {\n 'v-pagination__navigation--disabled': disabled,\n },\n attrs: {\n type: 'button',\n 'aria-label': label,\n },\n on: disabled ? {} : { click: fn },\n }, [h(VIcon, [icon])]),\n ])\n },\n genItem (h: CreateElement, i: string | number): VNode {\n const color: string | false = (i === this.value) && (this.color || 'primary')\n const isCurrentPage = i === this.value\n const ariaLabel = isCurrentPage ? this.currentPageAriaLabel : this.pageAriaLabel\n\n return h('button', this.setBackgroundColor(color, {\n staticClass: 'v-pagination__item',\n class: {\n 'v-pagination__item--active': i === this.value,\n },\n attrs: {\n type: 'button',\n 'aria-current': isCurrentPage,\n 'aria-label': this.$vuetify.lang.t(ariaLabel, i),\n },\n on: {\n click: () => this.$emit('input', i),\n },\n }), [i.toString()])\n },\n genItems (h: CreateElement): VNode[] {\n return this.items.map((i, index) => {\n return h('li', { key: index }, [\n isNaN(Number(i)) ? h('span', { class: 'v-pagination__more' }, [i.toString()]) : this.genItem(h, i),\n ])\n })\n },\n genList (h: CreateElement, children: VNodeChildrenArrayContents): VNode {\n return h('ul', {\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.onResize,\n }],\n class: this.classes,\n }, children)\n },\n },\n\n render (h): VNode {\n const children = [\n this.genIcon(h,\n this.$vuetify.rtl ? this.nextIcon : this.prevIcon,\n this.value <= 1,\n this.previous,\n this.$vuetify.lang.t(this.previousAriaLabel)),\n this.genItems(h),\n this.genIcon(h,\n this.$vuetify.rtl ? this.prevIcon : this.nextIcon,\n this.value >= this.length,\n this.next,\n this.$vuetify.lang.t(this.nextAriaLabel)),\n ]\n\n return h('nav', {\n attrs: {\n role: 'navigation',\n 'aria-label': this.$vuetify.lang.t(this.wrapperAriaLabel),\n },\n }, [this.genList(h, children)])\n },\n})\n","import Vue from \"vue\";\r\nimport Component from \"vue-class-component\";\r\nimport { ListResponse } from \"@/models/grids/list.response\";\r\nimport { DataTableHeader } from \"vuetify\";\r\nimport { Watch } from \"vue-property-decorator\";\r\n\r\nexport interface DataServerGridTableHeader\r\n extends DataTableHeader {\r\n filterItem?: any;\r\n}\r\n\r\nexport class DataServerGridOptions {\r\n inited: boolean = false;\r\n page: number = 1;\r\n pageSize: number = 10;\r\n total: number = 0;\r\n data: any[] = [];\r\n columns: DataServerGridTableHeader[] = [];\r\n loading: boolean = false;\r\n}\r\n\r\n@Component\r\nexport class ServerGrid extends Vue {\r\n gridConfigs!: DataServerGridOptions;\r\n\r\n @Watch(\"$route.query.skip\")\r\n onGridRouteSkipChanged() {\r\n if (!this.$route.query.skip) {\r\n this.gridConfigs.page = 1;\r\n } else {\r\n let p =\r\n parseInt(this.$route.query.skip as string) / this.gridConfigs.pageSize;\r\n p = p + 1;\r\n }\r\n }\r\n\r\n get hasGridFilters(): boolean {\r\n return (\r\n this.gridConfigs.columns.find((i: DataTableHeader) => i.filterable) !=\r\n null\r\n );\r\n }\r\n\r\n get pageCount(): number {\r\n return Math.ceil(this.gridConfigs.total / this.gridConfigs.pageSize);\r\n }\r\n\r\n GridLoad(list: ListResponse): void {\r\n this.gridConfigs.data = list.data;\r\n this.gridConfigs.total = list.total;\r\n }\r\n\r\n GridClear(): void {\r\n this.gridConfigs.total = 0;\r\n this.gridConfigs.data = [];\r\n }\r\n\r\n GridSetLoading(loading: boolean): void {\r\n this.gridConfigs.loading = loading;\r\n }\r\n\r\n GridInit() {\r\n if (this.$route.query) {\r\n if (this.$route.query.take) {\r\n this.gridConfigs.pageSize = parseInt(this.$route.query.take as string);\r\n }\r\n if (this.$route.query.skip) {\r\n let p =\r\n parseInt(this.$route.query.skip as string) /\r\n this.gridConfigs.pageSize;\r\n p = p + 1;\r\n this.gridConfigs.page = p;\r\n }\r\n }\r\n this.gridConfigs.inited = true;\r\n }\r\n\r\n GridFilter(header: DataServerGridTableHeader) {\r\n if (this.gridConfigs.page <= 1) {\r\n const p = Object.assign({}, this.$route.query, { skip: 0 });\r\n p[header.value] = header.filterItem;\r\n this.$router.push({ query: p });\r\n } else {\r\n this.gridConfigs.page = 1;\r\n }\r\n }\r\n\r\n GridClearFilter(header: DataServerGridTableHeader) {\r\n header.filterItem = \"\";\r\n this.GridFilter(header);\r\n }\r\n\r\n GridPagesizeChanged() {\r\n this.onGridOptionsChange();\r\n }\r\n\r\n GridPageChanged() {\r\n this.onGridOptionsChange();\r\n }\r\n\r\n onGridOptionsChange() {\r\n if (this.gridConfigs.inited) {\r\n const p = Object.assign({}, this.$route.query, {\r\n skip: (this.gridConfigs.page - 1) * this.gridConfigs.pageSize,\r\n take: this.gridConfigs.pageSize\r\n });\r\n // TODO Compare with previus route\r\n // const pQuery = Object.keys(p)\r\n // .map(key => key + (p[key] ? \"=\" + p[key] : \"\"))\r\n // .join(\"&\");\r\n // const routeQuery = this.$route.fullPath.split(\"?\")[1];\r\n // console.log([routeQuery, pQuery]);\r\n // if (pQuery !== routeQuery) {\r\n // console.log(\"Do sometinng\");\r\n // //this.$router.push({ query: p }).catch();\r\n // }\r\n\r\n this.$router.push({ query: p }).catch(() => {\r\n console.log(\"duplicated\");\r\n });\r\n }\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('Subheader',[_c('div',{staticClass:\"d-flex align-center justify-space-between w-100\"},[_c('Breadcrumb',{attrs:{\"routes\":['Dashboard', 'Feedback']}}),_c('DateClock')],1),_c('div',{staticClass:\"d-flex align-center justify-space-between w-100\"},[_c('h1',[_vm._v(\"Avaliações\")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"rounded\":\"\"},on:{\"click\":_vm.createFeedback}},[_c('i',{staticClass:\"las la-plus\"}),_vm._v(\" Adicionar \")])],1)]),_c('LeftMenuLayout',{scopedSlots:_vm._u([{key:\"Menu\",fn:function(){return [_c('LeftMenu')]},proxy:true}])},[(_vm.gridConfigs.inited)?_c('v-data-table',{staticClass:\"elevation-1 my-grid custom-grid custom-grid__icon\",attrs:{\"headers\":_vm.gridConfigs.columns,\"items\":_vm.gridConfigs.data,\"loading\":_vm.gridConfigs.loading,\"server-items-length\":_vm.gridConfigs.total,\"disable-filtering\":false,\"hide-default-footer\":true},scopedSlots:_vm._u([(_vm.hasGridFilters)?{key:\"body.prepend\",fn:function(ref){\nvar headers = ref.headers;\nreturn [_c('tr',{staticClass:\"filters-grid\"},_vm._l((headers),function(header,index){return _c('td',{key:(\"Col-Header-\" + index)},[(header.filterable)?[_c('v-text-field',{attrs:{\"clearable\":true,\"hide-details\":true,\"label\":\"Filtrar\"},on:{\"change\":function($event){return _vm.GridFilter(header)},\"click:clear\":function($event){return _vm.GridClearFilter(header)}},model:{value:(header.filterItem),callback:function ($$v) {_vm.$set(header, \"filterItem\", $$v)},expression:\"header.filterItem\"}})]:_vm._e()],2)}),0)]}}:null,{key:\"item.dateStart\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',[_vm._v(_vm._s(_vm._f(\"datetime\")(item.dateStart)))])]}},{key:\"item.dateEnd\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',[_vm._v(_vm._s(_vm._f(\"datetime\")(item.dateEnd)))])]}},{key:\"item.user.photo\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-avatar',{staticClass:\"photo\",attrs:{\"size\":50,\"color\":\"#FF7500\"}},[(item.user && item.user.photo)?_c('img',{attrs:{\"src\":((_vm.getProfilePhotoSrc(item.user.photo)) + \"?h=\" + (50) + \"&w=\" + (50) + \"&mode=crop\"),\"alt\":item.user.name}}):_c('span',{staticClass:\"white--text\"},[_vm._v(\" \"+_vm._s(_vm.initials(item.user)))])])]}},{key:\"item.idFeedback\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-btn',{attrs:{\"text\":\"\",\"small\":\"\",\"rounded\":\"\",\"fab\":\"\"},on:{\"click\":function($event){return _vm.viewFeedback(item)}}},[_c('i',{staticClass:\"las la-search-plus size--s20\"})])]}},{key:\"item.resolved\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.resolved)?_c('span',[_vm._v(\" Arquivado \")]):_c('span',[_vm._v(\" Ativo \")])]}},{key:\"footer\",fn:function(){return [_c('div',{staticClass:\"d-flex align-center justify-space-between align-center v-data-footer py-3\"},[_c('v-pagination',{attrs:{\"circle\":true,\"length\":_vm.pageCount,\"total-visible\":7},on:{\"input\":_vm.GridPageChanged},model:{value:(_vm.gridConfigs.page),callback:function ($$v) {_vm.$set(_vm.gridConfigs, \"page\", $$v)},expression:\"gridConfigs.page\"}}),_c('div',{staticClass:\"d-flex align-center\"},[_c('span',{staticClass:\"mr-5 size--s20\"},[_vm._v(_vm._s(_vm.gridConfigs.total)+\" results\")]),_c('span',{staticStyle:{\"width\":\"100px\"}},[_c('v-select',{attrs:{\"label\":\"Paginação\",\"items\":[5, 10, 50, 100],\"hide-details\":true},on:{\"input\":_vm.GridPagesizeChanged},model:{value:(_vm.gridConfigs.pageSize),callback:function ($$v) {_vm.$set(_vm.gridConfigs, \"pageSize\", $$v)},expression:\"gridConfigs.pageSize\"}})],1)])],1)]},proxy:true}],null,true)}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h4',[_vm._v(\"Tipo\")]),_c('nav',[_c('v-radio-group-extended',{staticClass:\"m-0 p-0\",attrs:{\"mandatory\":false},model:{value:(_vm.currentTypeId),callback:function ($$v) {_vm.currentTypeId=$$v},expression:\"currentTypeId\"}},[_c('v-radio',{staticClass:\"m-0 p-0\",attrs:{\"label\":\"Todos\",\"value\":null,\"hide-details\":true}}),_vm._l((_vm.types),function(item){return _c('v-radio',{key:(\"cbGroup-\" + (item.idFeedbackType)),staticClass:\"m-0 p-0\",attrs:{\"label\":item.title,\"value\":item.idFeedbackType,\"hide-details\":true}})})],2)],1),_c('h4',[_vm._v(\"Estados\")]),_c('nav',[_c('v-radio-group-extended',{staticClass:\"m-0 p-0\",attrs:{\"mandatory\":false},model:{value:(_vm.currentState),callback:function ($$v) {_vm.currentState=$$v},expression:\"currentState\"}},[_c('v-radio',{staticClass:\"m-0 p-0\",attrs:{\"label\":\"Todos\",\"value\":null,\"hide-details\":true}}),_c('v-radio',{staticClass:\"m-0 p-0\",attrs:{\"label\":\"Ativos\",\"value\":1,\"hide-details\":true}}),_c('v-radio',{staticClass:\"m-0 p-0\",attrs:{\"label\":\"Arquivados\",\"value\":2,\"hide-details\":true}})],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Watch } from \"vue-property-decorator\";\r\nimport { Getter } from \"vuex-class\";\r\nimport ConfigsService from \"@/services/api/configs.service\";\r\nimport { LanguageDto, FeedbackTypeDto } from \"@/server/app.dtos\";\r\n\r\n@Component\r\nexport default class FeedbacksMenuGlobal extends Vue {\r\n @Getter(\"currentLanguage\") currentLanguage!: LanguageDto;\r\n\r\n @Watch(\"currentTypeId\")\r\n onTypeChanged() {\r\n const p = Object.assign({}, this.$route.query, {\r\n skip: 0,\r\n idFeedbackType: this.currentTypeId\r\n });\r\n this.$router.push({ query: p });\r\n }\r\n\r\n @Watch(\"currentState\")\r\n onGroupChanged() {\r\n const p = Object.assign({}, this.$route.query, {\r\n skip: 0,\r\n resolved: this.currentState\r\n });\r\n this.$router.push({ query: p });\r\n }\r\n configsService: ConfigsService = new ConfigsService();\r\n types: FeedbackTypeDto[] = [];\r\n currentState: number | null = null;\r\n currentTypeId: number | null = null;\r\n\r\n async created() {\r\n if (this.$route.query) {\r\n const q = this.$route.query;\r\n if (q.resolved) {\r\n this.currentState = parseInt(q.resolved as string);\r\n }\r\n\r\n if (q.idFeedbackType) {\r\n this.currentTypeId = parseInt(q.idFeedbackType as string);\r\n }\r\n }\r\n await this.Load();\r\n }\r\n\r\n async Load() {\r\n const q = this.$route.query;\r\n\r\n await this.configsService\r\n .Load(\"api/feedbacktypes\", \"IdLanguage=\" + this.currentLanguage.idLanguage)\r\n .then(result => {\r\n this.types = result;\r\n if (q.idFeedbackType) {\r\n this.currentTypeId = parseInt(q.idFeedbackType as string);\r\n }\r\n });\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MenuList.vue?vue&type=template&id=6f5161db&\"\nimport script from \"./MenuList.vue?vue&type=script&lang=ts&\"\nexport * from \"./MenuList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\ninstallComponents(component, {VRadio})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Watch } from \"vue-property-decorator\";\r\nimport { Getter } from \"vuex-class\";\r\nimport { mixins } from \"vue-class-component\";\r\nimport { FeedbackDto, LanguageDto } from \"@/server/app.dtos\";\r\nimport SideComponent from \"@/models/shared/side.component\";\r\nimport { LayoutServiceBus } from \"@/services/bus/layout.service\";\r\nimport { FeedbackService } from \"@/services/api/feedback.service\";\r\nimport { UsersService } from \"@/services/api/users.service\";\r\nimport MenuList from \"./shared/MenuList.vue\";\r\nimport {\r\n ServerGrid,\r\n DataServerGridOptions\r\n} from \"@/components/mixins/ServerGridMixins\";\r\n\r\nimport {\r\n GetFeedbackDtosQuery,\r\n GetFeedbacksDtosIncludeOptions\r\n} from \"@/server/app.queries\";\r\nimport { ListResponse } from \"@/models/grids/list.response\";\r\n\r\n@Component({\r\n components: {\r\n LeftMenu: MenuList\r\n }\r\n})\r\nexport default class FeedbackListPage extends mixins(ServerGrid) {\r\n @Getter(\"currentLanguage\") currentLanguage!: LanguageDto;\r\n @Watch(\"$route\", { deep: true })\r\n onRouteChange() {\r\n this.Load();\r\n }\r\n feedbackService: FeedbackService = new FeedbackService();\r\n usersService: UsersService = new UsersService();\r\n photoSrc: string = \"\"\r\n\r\n constructor() {\r\n super();\r\n this.gridConfigs = new DataServerGridOptions();\r\n }\r\n\r\n getProfilePhotoSrc(path:string) {\r\n return this.usersService.GetProfilePhotoSrc(path);\r\n }\r\n\r\n initials(user:any){\r\n return user?.name?.substring(0, 2).toUpperCase() || \"\"\r\n }\r\n\r\n async created() {\r\n this.gridConfigs.columns = [\r\n {\r\n text: \"Tipo\",\r\n value: \"feedbackType.title\",\r\n filterable: false,\r\n align: \"center\",\r\n sortable: true\r\n },\r\n {\r\n text: \"Designação\",\r\n value: \"title\",\r\n filterable: true,\r\n sortable: true\r\n },\r\n {\r\n text: \"Data de Inicio\",\r\n value: \"dateStart\",\r\n filterable: false,\r\n sortable: true\r\n },\r\n {\r\n text: \"Data de Fim\",\r\n value: \"dateEnd\",\r\n filterable: false,\r\n sortable: true\r\n },\r\n {\r\n text: \"Estado\",\r\n value: \"resolved\",\r\n filterable: false,\r\n sortable: false\r\n },\r\n {\r\n text: \"Responsavel\",\r\n value: \"user.photo\",\r\n filterable: false,\r\n sortable: false\r\n },\r\n {\r\n text: \"Ações\",\r\n value: \"idFeedback\",\r\n filterable: false,\r\n sortable: false\r\n }\r\n ];\r\n this.GridInit();\r\n await this.Load();\r\n }\r\n\r\n async Load() {\r\n const request = new GetFeedbackDtosQuery();\r\n request.init(this.$route.query);\r\n request.includes = new GetFeedbacksDtosIncludeOptions();\r\n request.includes.feedbackType = true;\r\n request.includes.user= true;\r\n \r\n if (!request.take || request.take <= 0) {\r\n request.skip = 0;\r\n request.take = this.gridConfigs.pageSize;\r\n }\r\n this.GridSetLoading(true);\r\n await this.feedbackService\r\n .GetList(request)\r\n .then((result: ListResponse) => {this.GridLoad(result)})\r\n .catch((error: any) => console.log(error))\r\n .finally(() => this.GridSetLoading(false));\r\n }\r\n\r\n viewFeedback(feedback: FeedbackDto): void {\r\n const comp = new SideComponent();\r\n comp.title = \"DetailFeedbackSideMenuComponent\";\r\n comp.args = {\r\n feedback: feedback\r\n };\r\n LayoutServiceBus.openSideMenu(comp);\r\n }\r\n\r\n createFeedback(): void {\r\n const comp = new SideComponent();\r\n comp.title = \"CreateFeedbackSideMenuComponent\";\r\n comp.args = {};\r\n LayoutServiceBus.openSideMenu(comp);\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./List.vue?vue&type=template&id=67f90eaa&scoped=true&\"\nimport script from \"./List.vue?vue&type=script&lang=ts&\"\nexport * from \"./List.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./List.vue?vue&type=style&index=0&id=67f90eaa&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"67f90eaa\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VPagination } from 'vuetify/lib/components/VPagination';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VAvatar,VBtn,VDataTable,VPagination,VSelect,VTextField})\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=style&index=0&id=67f90eaa&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./List.vue?vue&type=style&index=0&id=67f90eaa&scoped=true&lang=scss&\""],"sourceRoot":""}