diff --git a/dist/example.js b/dist/example.js
index c6b5fc3..39c97a8 100644
--- a/dist/example.js
+++ b/dist/example.js
@@ -812,6 +812,23 @@
'btn_first': 'Primer',
'btn_last': 'Últim'
}
+ },
+
+ 'pt-BR': {
+ 'table': {
+ 'label_limits': 'Mostrar',
+ 'label_search': 'Buscar',
+ 'placeholder_search': 'Digite para pesquisar..',
+ 'records_not_found': 'Nenhum registro encontrado'
+ },
+ 'pagination': {
+ 'label_show': 'Exibindo',
+ 'label_to': 'até',
+ 'label_of': 'de',
+ 'label_entries': 'registros',
+ 'btn_first': 'Primeira',
+ 'btn_last': 'Última'
+ }
}
}
};
@@ -899,7 +916,7 @@
// module
- exports.push([module.id, "\n.Vue__pagination nav .pagination[data-v-2b3d1a0f] {\n margin: 10px 0 !important;\n}\n", ""]);
+ exports.push([module.id, "\nth[data-v-88a438ca] {\n cursor: pointer;\n}\n.vue-datasource .Vue__panel-body[data-v-88a438ca] {\n padding: 0;\n}\n.vue-datasource .Vue__panel-body .Vue__table[data-v-88a438ca] {\n margin-bottom: 0;\n}\n.vue-datasource .Vue__panel-footer .Vue__datasource_actions[data-v-88a438ca] {\n margin: 10px 0;\n}\n", ""]);
// exports
@@ -913,7 +930,7 @@
// module
- exports.push([module.id, "\nth[data-v-a81f9b4e] {\n cursor: pointer;\n}\n.vue-datasource .Vue__panel-body[data-v-a81f9b4e] {\n padding: 0;\n}\n.vue-datasource .Vue__panel-body .Vue__table[data-v-a81f9b4e] {\n margin-bottom: 0;\n}\n.vue-datasource .Vue__panel-footer .Vue__datasource_actions[data-v-a81f9b4e] {\n margin: 10px 0;\n}\n", ""]);
+ exports.push([module.id, "\n.Vue__pagination nav .pagination[data-v-baf928e6] {\n margin: 10px 0 !important;\n}\n", ""]);
// exports
@@ -926,13 +943,13 @@
var __vue_styles__ = {}
/* styles */
- __webpack_require__(18)
+ __webpack_require__(17)
/* script */
__vue_exports__ = __webpack_require__(3)
/* template */
- var __vue_template__ = __webpack_require__(16)
+ var __vue_template__ = __webpack_require__(15)
__vue_options__ = __vue_exports__ = __vue_exports__ || {}
if (
typeof __vue_exports__.default === "object" ||
@@ -946,7 +963,7 @@
__vue_options__.render = __vue_template__.render
__vue_options__.staticRenderFns = __vue_template__.staticRenderFns
- __vue_options__._scopeId = "data-v-a81f9b4e"
+ __vue_options__._scopeId = "data-v-88a438ca"
module.exports = __vue_exports__
@@ -959,13 +976,13 @@
var __vue_styles__ = {}
/* styles */
- __webpack_require__(17)
+ __webpack_require__(18)
/* script */
__vue_exports__ = __webpack_require__(4)
/* template */
- var __vue_template__ = __webpack_require__(15)
+ var __vue_template__ = __webpack_require__(16)
__vue_options__ = __vue_exports__ = __vue_exports__ || {}
if (
typeof __vue_exports__.default === "object" ||
@@ -979,101 +996,13 @@
__vue_options__.render = __vue_template__.render
__vue_options__.staticRenderFns = __vue_template__.staticRenderFns
- __vue_options__._scopeId = "data-v-2b3d1a0f"
+ __vue_options__._scopeId = "data-v-baf928e6"
module.exports = __vue_exports__
/***/ }),
/* 15 */
-/***/ (function(module, exports) {
-
- module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
- return _c('div', {
- staticClass: "Vue__pagination"
- }, [_c('nav', {
- attrs: {
- "aria-label": "Page navigation"
- }
- }, [_c('ul', {
- staticClass: "pagination"
- }, [_c('li', {
- class: (_vm.pages.current_page == 1) ? 'disabled' : ''
- }, [_c('a', {
- attrs: {
- "href": "#"
- },
- on: {
- "click": function($event) {
- $event.preventDefault();
- _vm.firstPage($event)
- }
- }
- }, [_vm._v(_vm._s(_vm.translation.btn_first))])]), _vm._v(" "), _c('li', {
- class: (_vm.pages.current_page == 1) ? 'disabled' : ''
- }, [_c('a', {
- attrs: {
- "href": "#",
- "aria-label": "Previous"
- },
- on: {
- "click": function($event) {
- $event.preventDefault();
- _vm.previous($event)
- }
- }
- }, [_c('span', {
- attrs: {
- "aria-hidden": "true"
- }
- }, [_vm._v("«")])])]), _vm._v(" "), _vm._l((_vm.items), function(n) {
- return _c('li', {
- class: (_vm.pages.current_page == n) ? 'active' : ''
- }, [_c('a', {
- attrs: {
- "href": "#"
- },
- on: {
- "click": function($event) {
- $event.preventDefault();
- _vm.change(n)
- }
- }
- }, [_vm._v(_vm._s(n))])])
- }), _vm._v(" "), _c('li', {
- class: (_vm.pages.current_page == _vm.pages.last_page) ? 'disabled' : ''
- }, [_c('a', {
- attrs: {
- "href": "#",
- "aria-label": "Next"
- },
- on: {
- "click": function($event) {
- $event.preventDefault();
- _vm.next($event)
- }
- }
- }, [_c('span', {
- attrs: {
- "aria-hidden": "true"
- }
- }, [_vm._v("»")])])]), _vm._v(" "), _c('li', {
- class: (_vm.pages.current_page == _vm.pages.last_page) ? 'disabled' : ''
- }, [_c('a', {
- attrs: {
- "href": "#"
- },
- on: {
- "click": function($event) {
- $event.preventDefault();
- _vm.lastPage(_vm.pages.last_page)
- }
- }
- }, [_vm._v(_vm._s(_vm.translation.btn_last))])])], 2)])])
- },staticRenderFns: []}
-
-/***/ }),
-/* 16 */
/***/ (function(module, exports) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
@@ -1249,6 +1178,94 @@
})])])])
},staticRenderFns: []}
+/***/ }),
+/* 16 */
+/***/ (function(module, exports) {
+
+ module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
+ return _c('div', {
+ staticClass: "Vue__pagination"
+ }, [_c('nav', {
+ attrs: {
+ "aria-label": "Page navigation"
+ }
+ }, [_c('ul', {
+ staticClass: "pagination"
+ }, [_c('li', {
+ class: (_vm.pages.current_page == 1) ? 'disabled' : ''
+ }, [_c('a', {
+ attrs: {
+ "href": "#"
+ },
+ on: {
+ "click": function($event) {
+ $event.preventDefault();
+ _vm.firstPage($event)
+ }
+ }
+ }, [_vm._v(_vm._s(_vm.translation.btn_first))])]), _vm._v(" "), _c('li', {
+ class: (_vm.pages.current_page == 1) ? 'disabled' : ''
+ }, [_c('a', {
+ attrs: {
+ "href": "#",
+ "aria-label": "Previous"
+ },
+ on: {
+ "click": function($event) {
+ $event.preventDefault();
+ _vm.previous($event)
+ }
+ }
+ }, [_c('span', {
+ attrs: {
+ "aria-hidden": "true"
+ }
+ }, [_vm._v("«")])])]), _vm._v(" "), _vm._l((_vm.items), function(n) {
+ return _c('li', {
+ class: (_vm.pages.current_page == n) ? 'active' : ''
+ }, [_c('a', {
+ attrs: {
+ "href": "#"
+ },
+ on: {
+ "click": function($event) {
+ $event.preventDefault();
+ _vm.change(n)
+ }
+ }
+ }, [_vm._v(_vm._s(n))])])
+ }), _vm._v(" "), _c('li', {
+ class: (_vm.pages.current_page == _vm.pages.last_page) ? 'disabled' : ''
+ }, [_c('a', {
+ attrs: {
+ "href": "#",
+ "aria-label": "Next"
+ },
+ on: {
+ "click": function($event) {
+ $event.preventDefault();
+ _vm.next($event)
+ }
+ }
+ }, [_c('span', {
+ attrs: {
+ "aria-hidden": "true"
+ }
+ }, [_vm._v("»")])])]), _vm._v(" "), _c('li', {
+ class: (_vm.pages.current_page == _vm.pages.last_page) ? 'disabled' : ''
+ }, [_c('a', {
+ attrs: {
+ "href": "#"
+ },
+ on: {
+ "click": function($event) {
+ $event.preventDefault();
+ _vm.lastPage(_vm.pages.last_page)
+ }
+ }
+ }, [_vm._v(_vm._s(_vm.translation.btn_last))])])], 2)])])
+ },staticRenderFns: []}
+
/***/ }),
/* 17 */
/***/ (function(module, exports, __webpack_require__) {
@@ -1265,8 +1282,8 @@
if(false) {
// When the styles change, update the \n\n\n// WEBPACK FOOTER //\n// Datasource.vue?075bba02","\n \n\n\n\n\n\n// WEBPACK FOOTER //\n// Pagination.vue?633c2b7c","import Vue from 'vue/dist/vue.js';\nimport Datasource from './Datasource.vue';\n\nvar data = {\n \"pagination\": {\n \"total\": 4,\n \"per_page\": 15,\n \"current_page\": 1,\n \"last_page\": 1,\n \"next_page_url\": null,\n \"prev_page_url\": null,\n \"from\": 1,\n \"to\": 4\n },\n \"data\": [\n {\n \"id_grupo\": 1,\n \"tipo_grupo\": \"1\",\n \"nombre_grupo\": \"All\",\n \"estado_grupo\": \"1\",\n \"created_at\": \"2016-12-06 14:18:54\",\n \"updated_at\": \"2016-12-06 14:18:54\",\n \"deleted_at\": null,\n \"detalle_grupos_count\": \"4\"\n },\n {\n \"id_grupo\": 2,\n \"tipo_grupo\": \"1\",\n \"nombre_grupo\": \"Ladies\",\n \"estado_grupo\": \"1\",\n \"created_at\": \"2016-12-06 14:18:54\",\n \"updated_at\": \"2016-12-06 14:18:54\",\n \"deleted_at\": null,\n \"detalle_grupos_count\": \"1\"\n },\n {\n \"id_grupo\": 3,\n \"tipo_grupo\": \"2\",\n \"nombre_grupo\": \"Mens\",\n \"estado_grupo\": \"2\",\n \"created_at\": \"2016-12-06 14:18:54\",\n \"updated_at\": \"2016-12-06 14:18:54\",\n \"deleted_at\": null,\n \"detalle_grupos_count\": \"3\"\n },\n {\n \"id_grupo\": 4,\n \"tipo_grupo\": \"1\",\n \"nombre_grupo\": \"Chiefs\",\n \"estado_grupo\": \"1\",\n \"created_at\": \"2016-12-06 14:18:54\",\n \"updated_at\": \"2016-12-06 14:18:54\",\n \"deleted_at\": null,\n \"detalle_grupos_count\": \"1\"\n },\n {\n \"id_grupo\": 5,\n \"tipo_grupo\": \"2\",\n \"nombre_grupo\": \"Operators\",\n \"estado_grupo\": \"1\",\n \"created_at\": \"2016-12-06 14:18:54\",\n \"updated_at\": \"2016-12-06 14:18:54\",\n \"deleted_at\": null,\n \"detalle_grupos_count\": \"1\"\n }\n ]\n};\n\nnew Vue({\n el: '#app',\n components: {\n Datasource\n },\n data() {\n return {\n groups: {\n pagination: {},\n data: []\n },\n columns: [\n {\n name: 'Id',\n key: 'id_grupo',\n filter: false,\n render(value) {\n return `# ${value}`;\n }\n },\n {\n name: 'Name',\n key: 'nombre_grupo',\n filter: false\n },\n {\n name: 'Type',\n key: 'tipo_grupo',\n filter: false,\n render(value) {\n switch (value) {\n case '1':\n return 'Global';\n break;\n case '2':\n return 'General';\n break;\n case '3':\n return 'Personal';\n break;\n }\n }\n },\n {\n name: 'Total',\n key: 'detalle_grupos_count',\n filter: false,\n },\n {\n name: 'Date',\n key: 'created_at',\n filter: false\n },\n ],\n actions: [\n {\n text: 'Edit',\n icon: 'glyphicon glyphicon-pencil',\n class: 'btn-primary',\n event(e, row) {\n console.warn('Did clicked me?', e);\n if (row == null) {\n console.info('Ups.. data not found :(')\n } else {\n console.info('Yeeei, I found this :)', JSON.stringify(row));\n }\n }\n },\n {\n text: 'Delete',\n icon: 'glyphicon glyphicon-trash',\n class: 'btn-danger',\n event(e, row) {\n console.warn('Are you clicked me?', e);\n if (row == null) {\n console.info('Ups.. data not found :(')\n } else {\n console.info('Yeeei, I found this :)', JSON.stringify(row));\n }\n }\n },\n {\n text: 'Show',\n icon: 'glyphicon glyphicon-eye-open',\n class: 'btn-info',\n event(e, row) {\n console.warn('Are you clicked me?', e);\n if (row == null) {\n console.info('Ups.. data not found :(')\n } else {\n console.info('Yeeei, I found this :)', JSON.stringify(row));\n }\n }\n }\n ]\n }\n },\n mounted() {\n this.groups = data;\n },\n methods: {\n changePage(values) {\n alert(`Show limit changed, the new limit is ${values.perpage} and the current page is ${values.page}`);\n },\n onSearch(searchQuery) {\n alert(`Did you find this? ${searchQuery}`);\n }\n }\n});\n\n\n// WEBPACK FOOTER //\n// ./src/example.js","export default {\n translations: {\n // English translation\n 'en': {\n 'table': {\n 'label_limits': 'Show',\n 'label_search': 'Search',\n 'placeholder_search': 'Type to search..',\n 'records_not_found': 'No records found'\n },\n 'pagination': {\n 'label_show': 'Showing',\n 'label_to': 'to',\n 'label_of': 'of',\n 'label_entries': 'entries',\n 'btn_first': 'First',\n 'btn_last': 'Latest'\n }\n },\n // Spanish translation\n 'es': {\n 'table': {\n 'label_limits': 'Mostrar',\n 'label_search': 'Buscar',\n 'placeholder_search': 'Buscar ..',\n 'records_not_found': 'No se encontraron registros.'\n },\n 'pagination': {\n 'label_show': 'Mostrando',\n 'label_to': 'a',\n 'label_of': 'de',\n 'label_entries': 'registros',\n 'btn_first': 'Primero',\n 'btn_last': 'Último'\n }\n },\n // French translation\n 'fr': {\n 'table': {\n 'label_limits': 'Afficher',\n 'label_search': 'Recherche',\n 'placeholder_search': 'Recherche par mot-clé..',\n 'records_not_found': 'Aucun enregistrements trouvés'\n },\n 'pagination': {\n 'label_show': 'Affichage de',\n 'label_to': 'à',\n 'label_of': 'de',\n 'label_entries': 'entrées',\n 'btn_first': 'Première',\n 'btn_last': 'Dernière'\n }\n },\n // Chinese Simplified translation\n 'zh-CN': {\n 'table': {\n 'label_limits': '显示',\n 'label_search': '搜索',\n 'placeholder_search': '输入搜索..',\n 'records_not_found': '记录未找到'\n },\n 'pagination': {\n 'label_show': '正在显示',\n 'label_to': '到',\n 'label_of': '总共',\n 'label_entries': '条目',\n 'btn_first': '首页',\n 'btn_last': '未页'\n }\n },\n // Catalan translation\n 'ca': {\n 'table': {\n 'label_limits': 'Mostrar',\n 'label_search': 'Buscar',\n 'placeholder_search': 'Buscar ..',\n 'records_not_found': 'No s\\'han trobat registres.'\n },\n 'pagination': {\n 'label_show': 'Mostrant',\n 'label_to': 'a',\n 'label_of': 'de',\n 'label_entries': 'registres',\n 'btn_first': 'Primer',\n 'btn_last': 'Últim'\n }\n }, \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/DatasourceLanguage.js","export default {\n /**\n * Find the element value using Recursive Method and return the value rendered if it's defined\n * @param obj\n * @param column\n * @param render\n * @returns {*}\n */\n fetchFromObject(obj, column, render) {\n if (typeof obj === 'undefined') return false;\n let _index = column.indexOf('.');\n if (_index > -1) {\n return this.fetchFromObject(obj[column.substring(0, _index)], column.substr(_index + 1));\n }\n if (typeof render != 'undefined') {\n return render(obj[column]);\n }\n return obj[column];\n },\n\n /**\n * Emit event to change page from pagination\n * @param page\n * @return {void}\n */\n changePage(page) {\n this.selected = null;\n this.indexSelected = -1;\n this.$emit('change', {perpage: this.perpage, page: page});\n },\n\n /**\n * Effect toggle to selected row\n * @param row\n * @param index\n * @return {void}\n */\n selectRow(row, index) {\n if (this.indexSelected == index) {\n this.indexSelected = -1;\n this.selected = null;\n } else {\n this.indexSelected = index;\n this.selected = {\n 'row': row,\n 'index': index\n };\n }\n },\n\n /**\n * Computed property: Building custom string information with translation\n * @returns {String}\n */\n tableInfo() {\n let label_show = this.translation.pagination.label_show;\n let from = (this.pagination.from == null) ? 0 : this.pagination.from;\n let label_to = this.translation.pagination.label_to;\n let to = (this.pagination.to == null) ? 0 : this.pagination.to;\n let label_of = this.translation.pagination.label_of;\n let total = this.pagination.total;\n let label_entries = this.translation.pagination.label_entries;\n\n return `${label_show} ${from} ${label_to} ${to} ${label_of} ${total} ${label_entries}`;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/utils/DatasourceUtils.js","module.exports = { \"default\": require(\"core-js/library/fn/json/stringify\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/json/stringify.js\n// module id = 8\n// module chunks = 0","var core = require('../../modules/_core')\n , $JSON = core.JSON || (core.JSON = {stringify: JSON.stringify});\nmodule.exports = function stringify(it){ // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/json/stringify.js\n// module id = 9\n// module chunks = 0","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_core.js\n// module id = 10\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"\\n.Vue__pagination nav .pagination[data-v-2b3d1a0f] {\\n margin: 10px 0 !important;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-rewriter.js?id=data-v-2b3d1a0f&scoped=true!./~/sass-loader!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/components/Pagination.vue\n// module id = 11\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"\\nth[data-v-a81f9b4e] {\\n cursor: pointer;\\n}\\n.vue-datasource .Vue__panel-body[data-v-a81f9b4e] {\\n padding: 0;\\n}\\n.vue-datasource .Vue__panel-body .Vue__table[data-v-a81f9b4e] {\\n margin-bottom: 0;\\n}\\n.vue-datasource .Vue__panel-footer .Vue__datasource_actions[data-v-a81f9b4e] {\\n margin: 10px 0;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-rewriter.js?id=data-v-a81f9b4e&scoped=true!./~/sass-loader!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/Datasource.vue\n// module id = 12\n// module chunks = 0","var __vue_exports__, __vue_options__\nvar __vue_styles__ = {}\n\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!vue-loader/lib/style-rewriter?id=data-v-a81f9b4e&scoped=true!sass-loader!vue-loader/lib/selector?type=styles&index=0!./Datasource.vue\")\n\n/* script */\n__vue_exports__ = require(\"!!babel-loader!vue-loader/lib/selector?type=script&index=0!./Datasource.vue\")\n\n/* template */\nvar __vue_template__ = require(\"!!vue-loader/lib/template-compiler?id=data-v-a81f9b4e!vue-loader/lib/selector?type=template&index=0!./Datasource.vue\")\n__vue_options__ = __vue_exports__ = __vue_exports__ || {}\nif (\n typeof __vue_exports__.default === \"object\" ||\n typeof __vue_exports__.default === \"function\"\n) {\n__vue_options__ = __vue_exports__ = __vue_exports__.default\n}\nif (typeof __vue_options__ === \"function\") {\n __vue_options__ = __vue_options__.options\n}\n\n__vue_options__.render = __vue_template__.render\n__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n__vue_options__._scopeId = \"data-v-a81f9b4e\"\n\nmodule.exports = __vue_exports__\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/Datasource.vue\n// module id = 13\n// module chunks = 0","var __vue_exports__, __vue_options__\nvar __vue_styles__ = {}\n\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!vue-loader/lib/style-rewriter?id=data-v-2b3d1a0f&scoped=true!sass-loader!vue-loader/lib/selector?type=styles&index=0!./Pagination.vue\")\n\n/* script */\n__vue_exports__ = require(\"!!babel-loader!vue-loader/lib/selector?type=script&index=0!./Pagination.vue\")\n\n/* template */\nvar __vue_template__ = require(\"!!vue-loader/lib/template-compiler?id=data-v-2b3d1a0f!vue-loader/lib/selector?type=template&index=0!./Pagination.vue\")\n__vue_options__ = __vue_exports__ = __vue_exports__ || {}\nif (\n typeof __vue_exports__.default === \"object\" ||\n typeof __vue_exports__.default === \"function\"\n) {\n__vue_options__ = __vue_exports__ = __vue_exports__.default\n}\nif (typeof __vue_options__ === \"function\") {\n __vue_options__ = __vue_options__.options\n}\n\n__vue_options__.render = __vue_template__.render\n__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n__vue_options__._scopeId = \"data-v-2b3d1a0f\"\n\nmodule.exports = __vue_exports__\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Pagination.vue\n// module id = 14\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"Vue__pagination\"\n }, [_c('nav', {\n attrs: {\n \"aria-label\": \"Page navigation\"\n }\n }, [_c('ul', {\n staticClass: \"pagination\"\n }, [_c('li', {\n class: (_vm.pages.current_page == 1) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.firstPage($event)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.btn_first))])]), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == 1) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\",\n \"aria-label\": \"Previous\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.previous($event)\n }\n }\n }, [_c('span', {\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }, [_vm._v(\"«\")])])]), _vm._v(\" \"), _vm._l((_vm.items), function(n) {\n return _c('li', {\n class: (_vm.pages.current_page == n) ? 'active' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.change(n)\n }\n }\n }, [_vm._v(_vm._s(n))])])\n }), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == _vm.pages.last_page) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\",\n \"aria-label\": \"Next\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.next($event)\n }\n }\n }, [_c('span', {\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }, [_vm._v(\"»\")])])]), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == _vm.pages.last_page) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.lastPage(_vm.pages.last_page)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.btn_last))])])], 2)])])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-2b3d1a0f!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/Pagination.vue\n// module id = 15\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"vue-datasource\"\n }, [_c('div', {\n staticClass: \"panel panel-default\"\n }, [_c('div', {\n staticClass: \"panel-heading\"\n }, [_c('div', {\n staticClass: \"form-inline\"\n }, [_c('div', {\n staticClass: \"form-group pull-left\"\n }, [_c('label', {\n staticClass: \"control-label pr2\"\n }, [_vm._v(_vm._s(_vm.translation.table.label_limits))]), _vm._v(\" \"), _c('select', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.perpage),\n expression: \"perpage\"\n }],\n staticClass: \"form-control\",\n attrs: {\n \"number\": \"\"\n },\n on: {\n \"change\": function($event) {\n var $$selectedVal = Array.prototype.filter.call($event.target.options, function(o) {\n return o.selected\n }).map(function(o) {\n var val = \"_value\" in o ? o._value : o.value;\n return val\n });\n _vm.perpage = $event.target.multiple ? $$selectedVal : $$selectedVal[0]\n }\n }\n }, _vm._l((_vm.limits), function(limit) {\n return _c('option', {\n domProps: {\n \"value\": limit\n }\n }, [_vm._v(_vm._s(limit))])\n }))]), _vm._v(\" \"), _c('div', {\n staticClass: \"form-group pull-right\"\n }, [_c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.search),\n expression: \"search\"\n }],\n staticClass: \"form-control\",\n attrs: {\n \"type\": \"text\",\n \"placeholder\": _vm.translation.table.placeholder_search\n },\n domProps: {\n \"value\": (_vm.search)\n },\n on: {\n \"keyup\": function($event) {\n if (!('button' in $event) && _vm._k($event.keyCode, \"enter\", 13)) { return null; }\n _vm.searching($event)\n },\n \"input\": function($event) {\n if ($event.target.composing) { return; }\n _vm.search = $event.target.value\n }\n }\n }), _vm._v(\" \"), _c('button', {\n staticClass: \"btn btn-primary\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.searching($event)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.table.label_search) + \"\\n \")])]), _vm._v(\" \"), _c('div', {\n staticClass: \"clearfix\"\n })])]), _vm._v(\" \"), _c('div', {\n staticClass: \"panel-body Vue__panel-body\"\n }, [_c('table', {\n staticClass: \"table table-striped Vue__table\"\n }, [_c('thead', [_c('tr', _vm._l((_vm.columns), function(column, key) {\n return _c('th', {\n on: {\n \"click\": function($event) {\n _vm.columnSort(key)\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(column.name) + \"\\n \"), _c('span', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.shouldShowUpArrow(key)),\n expression: \"shouldShowUpArrow(key)\"\n }],\n staticClass: \"glyphicon glyphicon-triangle-top\"\n }), _vm._v(\" \"), _c('span', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.shouldShowDownArrow(key)),\n expression: \"shouldShowDownArrow(key)\"\n }],\n staticClass: \"glyphicon glyphicon-triangle-bottom\"\n })])\n }))]), _vm._v(\" \"), _c('tbody', [(_vm.pagination.total == 0) ? _c('tr', [_c('td', {\n attrs: {\n \"colspan\": _vm.columns.length\n }\n }, [_vm._v(_vm._s(_vm.translation.table.records_not_found))])]) : _vm._l((_vm.tableData), function(row, index) {\n return _c('tr', {\n class: {\n 'success': (index == _vm.indexSelected)\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.selectRow(row, index)\n }\n }\n }, _vm._l((_vm.columns), function(k) {\n return _c('td', {\n domProps: {\n \"innerHTML\": _vm._s(_vm.fetchFromObject(row, k.key, k.render))\n }\n })\n }))\n }), _vm._v(\" \"), _c('tr', [_c('td', {\n staticClass: \"text-center\",\n attrs: {\n \"colspan\": _vm.columns.length\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.tableInfo) + \"\\n \")])])], 2)])]), _vm._v(\" \"), _c('div', {\n staticClass: \"panel-footer Vue__panel-footer\"\n }, [_c('div', {\n staticClass: \"pull-left\"\n }, [_c('div', {\n staticClass: \"btn-group Vue__datasource_actions\"\n }, _vm._l((_vm.actions), function(btn) {\n return _c('button', {\n staticClass: \"btn btn-default\",\n class: btn.class,\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function($event) {\n btn.event($event, _vm.selected)\n }\n }\n }, [(btn.icon) ? _c('i', {\n staticClass: \"pr1\",\n class: btn.icon\n }) : _vm._e(), _vm._v(\"\\n \" + _vm._s(btn.text) + \"\\n \")])\n }))]), _vm._v(\" \"), _c('div', {\n staticClass: \"pull-right\"\n }, [_c('pagination', {\n attrs: {\n \"pages\": _vm.pagination,\n \"translation\": _vm.translation.pagination\n },\n on: {\n \"change\": _vm.changePage\n }\n })], 1), _vm._v(\" \"), _c('div', {\n staticClass: \"clearfix\"\n })])])])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-a81f9b4e!./~/vue-loader/lib/selector.js?type=template&index=0!./src/Datasource.vue\n// module id = 16\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a \n\n\n// WEBPACK FOOTER //\n// Datasource.vue?075bba02","\n \n\n\n\n\n\n// WEBPACK FOOTER //\n// Pagination.vue?633c2b7c","import Vue from 'vue/dist/vue.js';\nimport Datasource from './Datasource.vue';\n\nvar data = {\n \"pagination\": {\n \"total\": 4,\n \"per_page\": 15,\n \"current_page\": 1,\n \"last_page\": 1,\n \"next_page_url\": null,\n \"prev_page_url\": null,\n \"from\": 1,\n \"to\": 4\n },\n \"data\": [\n {\n \"id_grupo\": 1,\n \"tipo_grupo\": \"1\",\n \"nombre_grupo\": \"All\",\n \"estado_grupo\": \"1\",\n \"created_at\": \"2016-12-06 14:18:54\",\n \"updated_at\": \"2016-12-06 14:18:54\",\n \"deleted_at\": null,\n \"detalle_grupos_count\": \"4\"\n },\n {\n \"id_grupo\": 2,\n \"tipo_grupo\": \"1\",\n \"nombre_grupo\": \"Ladies\",\n \"estado_grupo\": \"1\",\n \"created_at\": \"2016-12-06 14:18:54\",\n \"updated_at\": \"2016-12-06 14:18:54\",\n \"deleted_at\": null,\n \"detalle_grupos_count\": \"1\"\n },\n {\n \"id_grupo\": 3,\n \"tipo_grupo\": \"2\",\n \"nombre_grupo\": \"Mens\",\n \"estado_grupo\": \"2\",\n \"created_at\": \"2016-12-06 14:18:54\",\n \"updated_at\": \"2016-12-06 14:18:54\",\n \"deleted_at\": null,\n \"detalle_grupos_count\": \"3\"\n },\n {\n \"id_grupo\": 4,\n \"tipo_grupo\": \"1\",\n \"nombre_grupo\": \"Chiefs\",\n \"estado_grupo\": \"1\",\n \"created_at\": \"2016-12-06 14:18:54\",\n \"updated_at\": \"2016-12-06 14:18:54\",\n \"deleted_at\": null,\n \"detalle_grupos_count\": \"1\"\n },\n {\n \"id_grupo\": 5,\n \"tipo_grupo\": \"2\",\n \"nombre_grupo\": \"Operators\",\n \"estado_grupo\": \"1\",\n \"created_at\": \"2016-12-06 14:18:54\",\n \"updated_at\": \"2016-12-06 14:18:54\",\n \"deleted_at\": null,\n \"detalle_grupos_count\": \"1\"\n }\n ]\n};\n\nnew Vue({\n el: '#app',\n components: {\n Datasource\n },\n data() {\n return {\n groups: {\n pagination: {},\n data: []\n },\n columns: [\n {\n name: 'Id',\n key: 'id_grupo',\n filter: false,\n render(value) {\n return `# ${value}`;\n }\n },\n {\n name: 'Name',\n key: 'nombre_grupo',\n filter: false\n },\n {\n name: 'Type',\n key: 'tipo_grupo',\n filter: false,\n render(value) {\n switch (value) {\n case '1':\n return 'Global';\n break;\n case '2':\n return 'General';\n break;\n case '3':\n return 'Personal';\n break;\n }\n }\n },\n {\n name: 'Total',\n key: 'detalle_grupos_count',\n filter: false,\n },\n {\n name: 'Date',\n key: 'created_at',\n filter: false\n },\n ],\n actions: [\n {\n text: 'Edit',\n icon: 'glyphicon glyphicon-pencil',\n class: 'btn-primary',\n event(e, row) {\n console.warn('Did clicked me?', e);\n if (row == null) {\n console.info('Ups.. data not found :(')\n } else {\n console.info('Yeeei, I found this :)', JSON.stringify(row));\n }\n }\n },\n {\n text: 'Delete',\n icon: 'glyphicon glyphicon-trash',\n class: 'btn-danger',\n event(e, row) {\n console.warn('Are you clicked me?', e);\n if (row == null) {\n console.info('Ups.. data not found :(')\n } else {\n console.info('Yeeei, I found this :)', JSON.stringify(row));\n }\n }\n },\n {\n text: 'Show',\n icon: 'glyphicon glyphicon-eye-open',\n class: 'btn-info',\n event(e, row) {\n console.warn('Are you clicked me?', e);\n if (row == null) {\n console.info('Ups.. data not found :(')\n } else {\n console.info('Yeeei, I found this :)', JSON.stringify(row));\n }\n }\n }\n ]\n }\n },\n mounted() {\n this.groups = data;\n },\n methods: {\n changePage(values) {\n alert(`Show limit changed, the new limit is ${values.perpage} and the current page is ${values.page}`);\n },\n onSearch(searchQuery) {\n alert(`Did you find this? ${searchQuery}`);\n }\n }\n});\n\n\n// WEBPACK FOOTER //\n// ./src/example.js","export default {\n translations: {\n // English translation\n 'en': {\n 'table': {\n 'label_limits': 'Show',\n 'label_search': 'Search',\n 'placeholder_search': 'Type to search..',\n 'records_not_found': 'No records found'\n },\n 'pagination': {\n 'label_show': 'Showing',\n 'label_to': 'to',\n 'label_of': 'of',\n 'label_entries': 'entries',\n 'btn_first': 'First',\n 'btn_last': 'Latest'\n }\n },\n // Spanish translation\n 'es': {\n 'table': {\n 'label_limits': 'Mostrar',\n 'label_search': 'Buscar',\n 'placeholder_search': 'Buscar ..',\n 'records_not_found': 'No se encontraron registros.'\n },\n 'pagination': {\n 'label_show': 'Mostrando',\n 'label_to': 'a',\n 'label_of': 'de',\n 'label_entries': 'registros',\n 'btn_first': 'Primero',\n 'btn_last': 'Último'\n }\n },\n // French translation\n 'fr': {\n 'table': {\n 'label_limits': 'Afficher',\n 'label_search': 'Recherche',\n 'placeholder_search': 'Recherche par mot-clé..',\n 'records_not_found': 'Aucun enregistrements trouvés'\n },\n 'pagination': {\n 'label_show': 'Affichage de',\n 'label_to': 'à',\n 'label_of': 'de',\n 'label_entries': 'entrées',\n 'btn_first': 'Première',\n 'btn_last': 'Dernière'\n }\n },\n // Chinese Simplified translation\n 'zh-CN': {\n 'table': {\n 'label_limits': '显示',\n 'label_search': '搜索',\n 'placeholder_search': '输入搜索..',\n 'records_not_found': '记录未找到'\n },\n 'pagination': {\n 'label_show': '正在显示',\n 'label_to': '到',\n 'label_of': '总共',\n 'label_entries': '条目',\n 'btn_first': '首页',\n 'btn_last': '未页'\n }\n },\n // Catalan translation\n 'ca': {\n 'table': {\n 'label_limits': 'Mostrar',\n 'label_search': 'Buscar',\n 'placeholder_search': 'Buscar ..',\n 'records_not_found': 'No s\\'han trobat registres.'\n },\n 'pagination': {\n 'label_show': 'Mostrant',\n 'label_to': 'a',\n 'label_of': 'de',\n 'label_entries': 'registres',\n 'btn_first': 'Primer',\n 'btn_last': 'Últim'\n }\n },\n // Brazilian Portuguese translation\n 'pt-BR': {\n 'table': {\n 'label_limits': 'Mostrar',\n 'label_search': 'Buscar',\n 'placeholder_search': 'Digite para pesquisar..',\n 'records_not_found': 'Nenhum registro encontrado'\n },\n 'pagination': {\n 'label_show': 'Exibindo',\n 'label_to': 'até',\n 'label_of': 'de',\n 'label_entries': 'registros',\n 'btn_first': 'Primeira',\n 'btn_last': 'Última'\n }\n } \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/DatasourceLanguage.js","export default {\n /**\n * Find the element value using Recursive Method and return the value rendered if it's defined\n * @param obj\n * @param column\n * @param render\n * @returns {*}\n */\n fetchFromObject(obj, column, render) {\n if (typeof obj === 'undefined') return false;\n let _index = column.indexOf('.');\n if (_index > -1) {\n return this.fetchFromObject(obj[column.substring(0, _index)], column.substr(_index + 1));\n }\n if (typeof render != 'undefined') {\n return render(obj[column]);\n }\n return obj[column];\n },\n\n /**\n * Emit event to change page from pagination\n * @param page\n * @return {void}\n */\n changePage(page) {\n this.selected = null;\n this.indexSelected = -1;\n this.$emit('change', {perpage: this.perpage, page: page});\n },\n\n /**\n * Effect toggle to selected row\n * @param row\n * @param index\n * @return {void}\n */\n selectRow(row, index) {\n if (this.indexSelected == index) {\n this.indexSelected = -1;\n this.selected = null;\n } else {\n this.indexSelected = index;\n this.selected = {\n 'row': row,\n 'index': index\n };\n }\n },\n\n /**\n * Computed property: Building custom string information with translation\n * @returns {String}\n */\n tableInfo() {\n let label_show = this.translation.pagination.label_show;\n let from = (this.pagination.from == null) ? 0 : this.pagination.from;\n let label_to = this.translation.pagination.label_to;\n let to = (this.pagination.to == null) ? 0 : this.pagination.to;\n let label_of = this.translation.pagination.label_of;\n let total = this.pagination.total;\n let label_entries = this.translation.pagination.label_entries;\n\n return `${label_show} ${from} ${label_to} ${to} ${label_of} ${total} ${label_entries}`;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/utils/DatasourceUtils.js","module.exports = { \"default\": require(\"core-js/library/fn/json/stringify\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/babel-runtime/core-js/json/stringify.js\n// module id = 8\n// module chunks = 0","var core = require('../../modules/_core')\n , $JSON = core.JSON || (core.JSON = {stringify: JSON.stringify});\nmodule.exports = function stringify(it){ // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/fn/json/stringify.js\n// module id = 9\n// module chunks = 0","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/core-js/library/modules/_core.js\n// module id = 10\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"\\nth[data-v-88a438ca] {\\n cursor: pointer;\\n}\\n.vue-datasource .Vue__panel-body[data-v-88a438ca] {\\n padding: 0;\\n}\\n.vue-datasource .Vue__panel-body .Vue__table[data-v-88a438ca] {\\n margin-bottom: 0;\\n}\\n.vue-datasource .Vue__panel-footer .Vue__datasource_actions[data-v-88a438ca] {\\n margin: 10px 0;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-rewriter.js?id=data-v-88a438ca&scoped=true!./~/sass-loader!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/Datasource.vue\n// module id = 11\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"\\n.Vue__pagination nav .pagination[data-v-baf928e6] {\\n margin: 10px 0 !important;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-rewriter.js?id=data-v-baf928e6&scoped=true!./~/sass-loader!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/components/Pagination.vue\n// module id = 12\n// module chunks = 0","var __vue_exports__, __vue_options__\nvar __vue_styles__ = {}\n\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!vue-loader/lib/style-rewriter?id=data-v-88a438ca&scoped=true!sass-loader!vue-loader/lib/selector?type=styles&index=0!./Datasource.vue\")\n\n/* script */\n__vue_exports__ = require(\"!!babel-loader!vue-loader/lib/selector?type=script&index=0!./Datasource.vue\")\n\n/* template */\nvar __vue_template__ = require(\"!!vue-loader/lib/template-compiler?id=data-v-88a438ca!vue-loader/lib/selector?type=template&index=0!./Datasource.vue\")\n__vue_options__ = __vue_exports__ = __vue_exports__ || {}\nif (\n typeof __vue_exports__.default === \"object\" ||\n typeof __vue_exports__.default === \"function\"\n) {\n__vue_options__ = __vue_exports__ = __vue_exports__.default\n}\nif (typeof __vue_options__ === \"function\") {\n __vue_options__ = __vue_options__.options\n}\n\n__vue_options__.render = __vue_template__.render\n__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n__vue_options__._scopeId = \"data-v-88a438ca\"\n\nmodule.exports = __vue_exports__\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/Datasource.vue\n// module id = 13\n// module chunks = 0","var __vue_exports__, __vue_options__\nvar __vue_styles__ = {}\n\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!vue-loader/lib/style-rewriter?id=data-v-baf928e6&scoped=true!sass-loader!vue-loader/lib/selector?type=styles&index=0!./Pagination.vue\")\n\n/* script */\n__vue_exports__ = require(\"!!babel-loader!vue-loader/lib/selector?type=script&index=0!./Pagination.vue\")\n\n/* template */\nvar __vue_template__ = require(\"!!vue-loader/lib/template-compiler?id=data-v-baf928e6!vue-loader/lib/selector?type=template&index=0!./Pagination.vue\")\n__vue_options__ = __vue_exports__ = __vue_exports__ || {}\nif (\n typeof __vue_exports__.default === \"object\" ||\n typeof __vue_exports__.default === \"function\"\n) {\n__vue_options__ = __vue_exports__ = __vue_exports__.default\n}\nif (typeof __vue_options__ === \"function\") {\n __vue_options__ = __vue_options__.options\n}\n\n__vue_options__.render = __vue_template__.render\n__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n__vue_options__._scopeId = \"data-v-baf928e6\"\n\nmodule.exports = __vue_exports__\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Pagination.vue\n// module id = 14\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"vue-datasource\"\n }, [_c('div', {\n staticClass: \"panel panel-default\"\n }, [_c('div', {\n staticClass: \"panel-heading\"\n }, [_c('div', {\n staticClass: \"form-inline\"\n }, [_c('div', {\n staticClass: \"form-group pull-left\"\n }, [_c('label', {\n staticClass: \"control-label pr2\"\n }, [_vm._v(_vm._s(_vm.translation.table.label_limits))]), _vm._v(\" \"), _c('select', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.perpage),\n expression: \"perpage\"\n }],\n staticClass: \"form-control\",\n attrs: {\n \"number\": \"\"\n },\n on: {\n \"change\": function($event) {\n var $$selectedVal = Array.prototype.filter.call($event.target.options, function(o) {\n return o.selected\n }).map(function(o) {\n var val = \"_value\" in o ? o._value : o.value;\n return val\n });\n _vm.perpage = $event.target.multiple ? $$selectedVal : $$selectedVal[0]\n }\n }\n }, _vm._l((_vm.limits), function(limit) {\n return _c('option', {\n domProps: {\n \"value\": limit\n }\n }, [_vm._v(_vm._s(limit))])\n }))]), _vm._v(\" \"), _c('div', {\n staticClass: \"form-group pull-right\"\n }, [_c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.search),\n expression: \"search\"\n }],\n staticClass: \"form-control\",\n attrs: {\n \"type\": \"text\",\n \"placeholder\": _vm.translation.table.placeholder_search\n },\n domProps: {\n \"value\": (_vm.search)\n },\n on: {\n \"keyup\": function($event) {\n if (!('button' in $event) && _vm._k($event.keyCode, \"enter\", 13)) { return null; }\n _vm.searching($event)\n },\n \"input\": function($event) {\n if ($event.target.composing) { return; }\n _vm.search = $event.target.value\n }\n }\n }), _vm._v(\" \"), _c('button', {\n staticClass: \"btn btn-primary\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.searching($event)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.table.label_search) + \"\\n \")])]), _vm._v(\" \"), _c('div', {\n staticClass: \"clearfix\"\n })])]), _vm._v(\" \"), _c('div', {\n staticClass: \"panel-body Vue__panel-body\"\n }, [_c('table', {\n staticClass: \"table table-striped Vue__table\"\n }, [_c('thead', [_c('tr', _vm._l((_vm.columns), function(column, key) {\n return _c('th', {\n on: {\n \"click\": function($event) {\n _vm.columnSort(key)\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(column.name) + \"\\n \"), _c('span', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.shouldShowUpArrow(key)),\n expression: \"shouldShowUpArrow(key)\"\n }],\n staticClass: \"glyphicon glyphicon-triangle-top\"\n }), _vm._v(\" \"), _c('span', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.shouldShowDownArrow(key)),\n expression: \"shouldShowDownArrow(key)\"\n }],\n staticClass: \"glyphicon glyphicon-triangle-bottom\"\n })])\n }))]), _vm._v(\" \"), _c('tbody', [(_vm.pagination.total == 0) ? _c('tr', [_c('td', {\n attrs: {\n \"colspan\": _vm.columns.length\n }\n }, [_vm._v(_vm._s(_vm.translation.table.records_not_found))])]) : _vm._l((_vm.tableData), function(row, index) {\n return _c('tr', {\n class: {\n 'success': (index == _vm.indexSelected)\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.selectRow(row, index)\n }\n }\n }, _vm._l((_vm.columns), function(k) {\n return _c('td', {\n domProps: {\n \"innerHTML\": _vm._s(_vm.fetchFromObject(row, k.key, k.render))\n }\n })\n }))\n }), _vm._v(\" \"), _c('tr', [_c('td', {\n staticClass: \"text-center\",\n attrs: {\n \"colspan\": _vm.columns.length\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.tableInfo) + \"\\n \")])])], 2)])]), _vm._v(\" \"), _c('div', {\n staticClass: \"panel-footer Vue__panel-footer\"\n }, [_c('div', {\n staticClass: \"pull-left\"\n }, [_c('div', {\n staticClass: \"btn-group Vue__datasource_actions\"\n }, _vm._l((_vm.actions), function(btn) {\n return _c('button', {\n staticClass: \"btn btn-default\",\n class: btn.class,\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function($event) {\n btn.event($event, _vm.selected)\n }\n }\n }, [(btn.icon) ? _c('i', {\n staticClass: \"pr1\",\n class: btn.icon\n }) : _vm._e(), _vm._v(\"\\n \" + _vm._s(btn.text) + \"\\n \")])\n }))]), _vm._v(\" \"), _c('div', {\n staticClass: \"pull-right\"\n }, [_c('pagination', {\n attrs: {\n \"pages\": _vm.pagination,\n \"translation\": _vm.translation.pagination\n },\n on: {\n \"change\": _vm.changePage\n }\n })], 1), _vm._v(\" \"), _c('div', {\n staticClass: \"clearfix\"\n })])])])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-88a438ca!./~/vue-loader/lib/selector.js?type=template&index=0!./src/Datasource.vue\n// module id = 15\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"Vue__pagination\"\n }, [_c('nav', {\n attrs: {\n \"aria-label\": \"Page navigation\"\n }\n }, [_c('ul', {\n staticClass: \"pagination\"\n }, [_c('li', {\n class: (_vm.pages.current_page == 1) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.firstPage($event)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.btn_first))])]), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == 1) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\",\n \"aria-label\": \"Previous\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.previous($event)\n }\n }\n }, [_c('span', {\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }, [_vm._v(\"«\")])])]), _vm._v(\" \"), _vm._l((_vm.items), function(n) {\n return _c('li', {\n class: (_vm.pages.current_page == n) ? 'active' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.change(n)\n }\n }\n }, [_vm._v(_vm._s(n))])])\n }), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == _vm.pages.last_page) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\",\n \"aria-label\": \"Next\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.next($event)\n }\n }\n }, [_c('span', {\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }, [_vm._v(\"»\")])])]), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == _vm.pages.last_page) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.lastPage(_vm.pages.last_page)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.btn_last))])])], 2)])])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-baf928e6!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/Pagination.vue\n// module id = 16\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a \n\n\n// WEBPACK FOOTER //\n// Datasource.vue?075bba02","\n \n\n\n\n\n\n// WEBPACK FOOTER //\n// Pagination.vue?633c2b7c","export default {\n translations: {\n // English translation\n 'en': {\n 'table': {\n 'label_limits': 'Show',\n 'label_search': 'Search',\n 'placeholder_search': 'Type to search..',\n 'records_not_found': 'No records found'\n },\n 'pagination': {\n 'label_show': 'Showing',\n 'label_to': 'to',\n 'label_of': 'of',\n 'label_entries': 'entries',\n 'btn_first': 'First',\n 'btn_last': 'Latest'\n }\n },\n // Spanish translation\n 'es': {\n 'table': {\n 'label_limits': 'Mostrar',\n 'label_search': 'Buscar',\n 'placeholder_search': 'Buscar ..',\n 'records_not_found': 'No se encontraron registros.'\n },\n 'pagination': {\n 'label_show': 'Mostrando',\n 'label_to': 'a',\n 'label_of': 'de',\n 'label_entries': 'registros',\n 'btn_first': 'Primero',\n 'btn_last': 'Último'\n }\n },\n // French translation\n 'fr': {\n 'table': {\n 'label_limits': 'Afficher',\n 'label_search': 'Recherche',\n 'placeholder_search': 'Recherche par mot-clé..',\n 'records_not_found': 'Aucun enregistrements trouvés'\n },\n 'pagination': {\n 'label_show': 'Affichage de',\n 'label_to': 'à',\n 'label_of': 'de',\n 'label_entries': 'entrées',\n 'btn_first': 'Première',\n 'btn_last': 'Dernière'\n }\n },\n // Chinese Simplified translation\n 'zh-CN': {\n 'table': {\n 'label_limits': '显示',\n 'label_search': '搜索',\n 'placeholder_search': '输入搜索..',\n 'records_not_found': '记录未找到'\n },\n 'pagination': {\n 'label_show': '正在显示',\n 'label_to': '到',\n 'label_of': '总共',\n 'label_entries': '条目',\n 'btn_first': '首页',\n 'btn_last': '未页'\n }\n },\n // Catalan translation\n 'ca': {\n 'table': {\n 'label_limits': 'Mostrar',\n 'label_search': 'Buscar',\n 'placeholder_search': 'Buscar ..',\n 'records_not_found': 'No s\\'han trobat registres.'\n },\n 'pagination': {\n 'label_show': 'Mostrant',\n 'label_to': 'a',\n 'label_of': 'de',\n 'label_entries': 'registres',\n 'btn_first': 'Primer',\n 'btn_last': 'Últim'\n }\n }, \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/DatasourceLanguage.js","export default {\n /**\n * Find the element value using Recursive Method and return the value rendered if it's defined\n * @param obj\n * @param column\n * @param render\n * @returns {*}\n */\n fetchFromObject(obj, column, render) {\n if (typeof obj === 'undefined') return false;\n let _index = column.indexOf('.');\n if (_index > -1) {\n return this.fetchFromObject(obj[column.substring(0, _index)], column.substr(_index + 1));\n }\n if (typeof render != 'undefined') {\n return render(obj[column]);\n }\n return obj[column];\n },\n\n /**\n * Emit event to change page from pagination\n * @param page\n * @return {void}\n */\n changePage(page) {\n this.selected = null;\n this.indexSelected = -1;\n this.$emit('change', {perpage: this.perpage, page: page});\n },\n\n /**\n * Effect toggle to selected row\n * @param row\n * @param index\n * @return {void}\n */\n selectRow(row, index) {\n if (this.indexSelected == index) {\n this.indexSelected = -1;\n this.selected = null;\n } else {\n this.indexSelected = index;\n this.selected = {\n 'row': row,\n 'index': index\n };\n }\n },\n\n /**\n * Computed property: Building custom string information with translation\n * @returns {String}\n */\n tableInfo() {\n let label_show = this.translation.pagination.label_show;\n let from = (this.pagination.from == null) ? 0 : this.pagination.from;\n let label_to = this.translation.pagination.label_to;\n let to = (this.pagination.to == null) ? 0 : this.pagination.to;\n let label_of = this.translation.pagination.label_of;\n let total = this.pagination.total;\n let label_entries = this.translation.pagination.label_entries;\n\n return `${label_show} ${from} ${label_to} ${to} ${label_of} ${total} ${label_entries}`;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/utils/DatasourceUtils.js","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"\\n.Vue__pagination nav .pagination[data-v-2b3d1a0f] {\\n margin: 10px 0 !important;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-rewriter.js?id=data-v-2b3d1a0f&scoped=true!./~/sass-loader!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/components/Pagination.vue\n// module id = 7\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"\\nth[data-v-a81f9b4e] {\\n cursor: pointer;\\n}\\n.vue-datasource .Vue__panel-body[data-v-a81f9b4e] {\\n padding: 0;\\n}\\n.vue-datasource .Vue__panel-body .Vue__table[data-v-a81f9b4e] {\\n margin-bottom: 0;\\n}\\n.vue-datasource .Vue__panel-footer .Vue__datasource_actions[data-v-a81f9b4e] {\\n margin: 10px 0;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-rewriter.js?id=data-v-a81f9b4e&scoped=true!./~/sass-loader!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/Datasource.vue\n// module id = 8\n// module chunks = 0","var __vue_exports__, __vue_options__\nvar __vue_styles__ = {}\n\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!vue-loader/lib/style-rewriter?id=data-v-a81f9b4e&scoped=true!sass-loader!vue-loader/lib/selector?type=styles&index=0!./Datasource.vue\")\n\n/* script */\n__vue_exports__ = require(\"!!babel-loader!vue-loader/lib/selector?type=script&index=0!./Datasource.vue\")\n\n/* template */\nvar __vue_template__ = require(\"!!vue-loader/lib/template-compiler?id=data-v-a81f9b4e!vue-loader/lib/selector?type=template&index=0!./Datasource.vue\")\n__vue_options__ = __vue_exports__ = __vue_exports__ || {}\nif (\n typeof __vue_exports__.default === \"object\" ||\n typeof __vue_exports__.default === \"function\"\n) {\n__vue_options__ = __vue_exports__ = __vue_exports__.default\n}\nif (typeof __vue_options__ === \"function\") {\n __vue_options__ = __vue_options__.options\n}\n\n__vue_options__.render = __vue_template__.render\n__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n__vue_options__._scopeId = \"data-v-a81f9b4e\"\n\nmodule.exports = __vue_exports__\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/Datasource.vue\n// module id = 9\n// module chunks = 0","var __vue_exports__, __vue_options__\nvar __vue_styles__ = {}\n\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!vue-loader/lib/style-rewriter?id=data-v-2b3d1a0f&scoped=true!sass-loader!vue-loader/lib/selector?type=styles&index=0!./Pagination.vue\")\n\n/* script */\n__vue_exports__ = require(\"!!babel-loader!vue-loader/lib/selector?type=script&index=0!./Pagination.vue\")\n\n/* template */\nvar __vue_template__ = require(\"!!vue-loader/lib/template-compiler?id=data-v-2b3d1a0f!vue-loader/lib/selector?type=template&index=0!./Pagination.vue\")\n__vue_options__ = __vue_exports__ = __vue_exports__ || {}\nif (\n typeof __vue_exports__.default === \"object\" ||\n typeof __vue_exports__.default === \"function\"\n) {\n__vue_options__ = __vue_exports__ = __vue_exports__.default\n}\nif (typeof __vue_options__ === \"function\") {\n __vue_options__ = __vue_options__.options\n}\n\n__vue_options__.render = __vue_template__.render\n__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n__vue_options__._scopeId = \"data-v-2b3d1a0f\"\n\nmodule.exports = __vue_exports__\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Pagination.vue\n// module id = 10\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"Vue__pagination\"\n }, [_c('nav', {\n attrs: {\n \"aria-label\": \"Page navigation\"\n }\n }, [_c('ul', {\n staticClass: \"pagination\"\n }, [_c('li', {\n class: (_vm.pages.current_page == 1) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.firstPage($event)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.btn_first))])]), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == 1) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\",\n \"aria-label\": \"Previous\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.previous($event)\n }\n }\n }, [_c('span', {\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }, [_vm._v(\"«\")])])]), _vm._v(\" \"), _vm._l((_vm.items), function(n) {\n return _c('li', {\n class: (_vm.pages.current_page == n) ? 'active' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.change(n)\n }\n }\n }, [_vm._v(_vm._s(n))])])\n }), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == _vm.pages.last_page) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\",\n \"aria-label\": \"Next\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.next($event)\n }\n }\n }, [_c('span', {\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }, [_vm._v(\"»\")])])]), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == _vm.pages.last_page) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.lastPage(_vm.pages.last_page)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.btn_last))])])], 2)])])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-2b3d1a0f!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/Pagination.vue\n// module id = 11\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"vue-datasource\"\n }, [_c('div', {\n staticClass: \"panel panel-default\"\n }, [_c('div', {\n staticClass: \"panel-heading\"\n }, [_c('div', {\n staticClass: \"form-inline\"\n }, [_c('div', {\n staticClass: \"form-group pull-left\"\n }, [_c('label', {\n staticClass: \"control-label pr2\"\n }, [_vm._v(_vm._s(_vm.translation.table.label_limits))]), _vm._v(\" \"), _c('select', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.perpage),\n expression: \"perpage\"\n }],\n staticClass: \"form-control\",\n attrs: {\n \"number\": \"\"\n },\n on: {\n \"change\": function($event) {\n var $$selectedVal = Array.prototype.filter.call($event.target.options, function(o) {\n return o.selected\n }).map(function(o) {\n var val = \"_value\" in o ? o._value : o.value;\n return val\n });\n _vm.perpage = $event.target.multiple ? $$selectedVal : $$selectedVal[0]\n }\n }\n }, _vm._l((_vm.limits), function(limit) {\n return _c('option', {\n domProps: {\n \"value\": limit\n }\n }, [_vm._v(_vm._s(limit))])\n }))]), _vm._v(\" \"), _c('div', {\n staticClass: \"form-group pull-right\"\n }, [_c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.search),\n expression: \"search\"\n }],\n staticClass: \"form-control\",\n attrs: {\n \"type\": \"text\",\n \"placeholder\": _vm.translation.table.placeholder_search\n },\n domProps: {\n \"value\": (_vm.search)\n },\n on: {\n \"keyup\": function($event) {\n if (!('button' in $event) && _vm._k($event.keyCode, \"enter\", 13)) { return null; }\n _vm.searching($event)\n },\n \"input\": function($event) {\n if ($event.target.composing) { return; }\n _vm.search = $event.target.value\n }\n }\n }), _vm._v(\" \"), _c('button', {\n staticClass: \"btn btn-primary\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.searching($event)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.table.label_search) + \"\\n \")])]), _vm._v(\" \"), _c('div', {\n staticClass: \"clearfix\"\n })])]), _vm._v(\" \"), _c('div', {\n staticClass: \"panel-body Vue__panel-body\"\n }, [_c('table', {\n staticClass: \"table table-striped Vue__table\"\n }, [_c('thead', [_c('tr', _vm._l((_vm.columns), function(column, key) {\n return _c('th', {\n on: {\n \"click\": function($event) {\n _vm.columnSort(key)\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(column.name) + \"\\n \"), _c('span', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.shouldShowUpArrow(key)),\n expression: \"shouldShowUpArrow(key)\"\n }],\n staticClass: \"glyphicon glyphicon-triangle-top\"\n }), _vm._v(\" \"), _c('span', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.shouldShowDownArrow(key)),\n expression: \"shouldShowDownArrow(key)\"\n }],\n staticClass: \"glyphicon glyphicon-triangle-bottom\"\n })])\n }))]), _vm._v(\" \"), _c('tbody', [(_vm.pagination.total == 0) ? _c('tr', [_c('td', {\n attrs: {\n \"colspan\": _vm.columns.length\n }\n }, [_vm._v(_vm._s(_vm.translation.table.records_not_found))])]) : _vm._l((_vm.tableData), function(row, index) {\n return _c('tr', {\n class: {\n 'success': (index == _vm.indexSelected)\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.selectRow(row, index)\n }\n }\n }, _vm._l((_vm.columns), function(k) {\n return _c('td', {\n domProps: {\n \"innerHTML\": _vm._s(_vm.fetchFromObject(row, k.key, k.render))\n }\n })\n }))\n }), _vm._v(\" \"), _c('tr', [_c('td', {\n staticClass: \"text-center\",\n attrs: {\n \"colspan\": _vm.columns.length\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.tableInfo) + \"\\n \")])])], 2)])]), _vm._v(\" \"), _c('div', {\n staticClass: \"panel-footer Vue__panel-footer\"\n }, [_c('div', {\n staticClass: \"pull-left\"\n }, [_c('div', {\n staticClass: \"btn-group Vue__datasource_actions\"\n }, _vm._l((_vm.actions), function(btn) {\n return _c('button', {\n staticClass: \"btn btn-default\",\n class: btn.class,\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function($event) {\n btn.event($event, _vm.selected)\n }\n }\n }, [(btn.icon) ? _c('i', {\n staticClass: \"pr1\",\n class: btn.icon\n }) : _vm._e(), _vm._v(\"\\n \" + _vm._s(btn.text) + \"\\n \")])\n }))]), _vm._v(\" \"), _c('div', {\n staticClass: \"pull-right\"\n }, [_c('pagination', {\n attrs: {\n \"pages\": _vm.pagination,\n \"translation\": _vm.translation.pagination\n },\n on: {\n \"change\": _vm.changePage\n }\n })], 1), _vm._v(\" \"), _c('div', {\n staticClass: \"clearfix\"\n })])])])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-a81f9b4e!./~/vue-loader/lib/selector.js?type=template&index=0!./src/Datasource.vue\n// module id = 12\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a \n\n\n// WEBPACK FOOTER //\n// Datasource.vue?075bba02","\n \n\n\n\n\n\n// WEBPACK FOOTER //\n// Pagination.vue?633c2b7c","export default {\n translations: {\n // English translation\n 'en': {\n 'table': {\n 'label_limits': 'Show',\n 'label_search': 'Search',\n 'placeholder_search': 'Type to search..',\n 'records_not_found': 'No records found'\n },\n 'pagination': {\n 'label_show': 'Showing',\n 'label_to': 'to',\n 'label_of': 'of',\n 'label_entries': 'entries',\n 'btn_first': 'First',\n 'btn_last': 'Latest'\n }\n },\n // Spanish translation\n 'es': {\n 'table': {\n 'label_limits': 'Mostrar',\n 'label_search': 'Buscar',\n 'placeholder_search': 'Buscar ..',\n 'records_not_found': 'No se encontraron registros.'\n },\n 'pagination': {\n 'label_show': 'Mostrando',\n 'label_to': 'a',\n 'label_of': 'de',\n 'label_entries': 'registros',\n 'btn_first': 'Primero',\n 'btn_last': 'Último'\n }\n },\n // French translation\n 'fr': {\n 'table': {\n 'label_limits': 'Afficher',\n 'label_search': 'Recherche',\n 'placeholder_search': 'Recherche par mot-clé..',\n 'records_not_found': 'Aucun enregistrements trouvés'\n },\n 'pagination': {\n 'label_show': 'Affichage de',\n 'label_to': 'à',\n 'label_of': 'de',\n 'label_entries': 'entrées',\n 'btn_first': 'Première',\n 'btn_last': 'Dernière'\n }\n },\n // Chinese Simplified translation\n 'zh-CN': {\n 'table': {\n 'label_limits': '显示',\n 'label_search': '搜索',\n 'placeholder_search': '输入搜索..',\n 'records_not_found': '记录未找到'\n },\n 'pagination': {\n 'label_show': '正在显示',\n 'label_to': '到',\n 'label_of': '总共',\n 'label_entries': '条目',\n 'btn_first': '首页',\n 'btn_last': '未页'\n }\n },\n // Catalan translation\n 'ca': {\n 'table': {\n 'label_limits': 'Mostrar',\n 'label_search': 'Buscar',\n 'placeholder_search': 'Buscar ..',\n 'records_not_found': 'No s\\'han trobat registres.'\n },\n 'pagination': {\n 'label_show': 'Mostrant',\n 'label_to': 'a',\n 'label_of': 'de',\n 'label_entries': 'registres',\n 'btn_first': 'Primer',\n 'btn_last': 'Últim'\n }\n },\n // Brazilian Portuguese translation\n 'pt-BR': {\n 'table': {\n 'label_limits': 'Mostrar',\n 'label_search': 'Buscar',\n 'placeholder_search': 'Digite para pesquisar..',\n 'records_not_found': 'Nenhum registro encontrado'\n },\n 'pagination': {\n 'label_show': 'Exibindo',\n 'label_to': 'até',\n 'label_of': 'de',\n 'label_entries': 'registros',\n 'btn_first': 'Primeira',\n 'btn_last': 'Última'\n }\n } \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/DatasourceLanguage.js","export default {\n /**\n * Find the element value using Recursive Method and return the value rendered if it's defined\n * @param obj\n * @param column\n * @param render\n * @returns {*}\n */\n fetchFromObject(obj, column, render) {\n if (typeof obj === 'undefined') return false;\n let _index = column.indexOf('.');\n if (_index > -1) {\n return this.fetchFromObject(obj[column.substring(0, _index)], column.substr(_index + 1));\n }\n if (typeof render != 'undefined') {\n return render(obj[column]);\n }\n return obj[column];\n },\n\n /**\n * Emit event to change page from pagination\n * @param page\n * @return {void}\n */\n changePage(page) {\n this.selected = null;\n this.indexSelected = -1;\n this.$emit('change', {perpage: this.perpage, page: page});\n },\n\n /**\n * Effect toggle to selected row\n * @param row\n * @param index\n * @return {void}\n */\n selectRow(row, index) {\n if (this.indexSelected == index) {\n this.indexSelected = -1;\n this.selected = null;\n } else {\n this.indexSelected = index;\n this.selected = {\n 'row': row,\n 'index': index\n };\n }\n },\n\n /**\n * Computed property: Building custom string information with translation\n * @returns {String}\n */\n tableInfo() {\n let label_show = this.translation.pagination.label_show;\n let from = (this.pagination.from == null) ? 0 : this.pagination.from;\n let label_to = this.translation.pagination.label_to;\n let to = (this.pagination.to == null) ? 0 : this.pagination.to;\n let label_of = this.translation.pagination.label_of;\n let total = this.pagination.total;\n let label_entries = this.translation.pagination.label_entries;\n\n return `${label_show} ${from} ${label_to} ${to} ${label_of} ${total} ${label_entries}`;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/utils/DatasourceUtils.js","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"\\nth[data-v-88a438ca] {\\n cursor: pointer;\\n}\\n.vue-datasource .Vue__panel-body[data-v-88a438ca] {\\n padding: 0;\\n}\\n.vue-datasource .Vue__panel-body .Vue__table[data-v-88a438ca] {\\n margin-bottom: 0;\\n}\\n.vue-datasource .Vue__panel-footer .Vue__datasource_actions[data-v-88a438ca] {\\n margin: 10px 0;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-rewriter.js?id=data-v-88a438ca&scoped=true!./~/sass-loader!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/Datasource.vue\n// module id = 7\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"\\n.Vue__pagination nav .pagination[data-v-baf928e6] {\\n margin: 10px 0 !important;\\n}\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-rewriter.js?id=data-v-baf928e6&scoped=true!./~/sass-loader!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/components/Pagination.vue\n// module id = 8\n// module chunks = 0","var __vue_exports__, __vue_options__\nvar __vue_styles__ = {}\n\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!vue-loader/lib/style-rewriter?id=data-v-88a438ca&scoped=true!sass-loader!vue-loader/lib/selector?type=styles&index=0!./Datasource.vue\")\n\n/* script */\n__vue_exports__ = require(\"!!babel-loader!vue-loader/lib/selector?type=script&index=0!./Datasource.vue\")\n\n/* template */\nvar __vue_template__ = require(\"!!vue-loader/lib/template-compiler?id=data-v-88a438ca!vue-loader/lib/selector?type=template&index=0!./Datasource.vue\")\n__vue_options__ = __vue_exports__ = __vue_exports__ || {}\nif (\n typeof __vue_exports__.default === \"object\" ||\n typeof __vue_exports__.default === \"function\"\n) {\n__vue_options__ = __vue_exports__ = __vue_exports__.default\n}\nif (typeof __vue_options__ === \"function\") {\n __vue_options__ = __vue_options__.options\n}\n\n__vue_options__.render = __vue_template__.render\n__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n__vue_options__._scopeId = \"data-v-88a438ca\"\n\nmodule.exports = __vue_exports__\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/Datasource.vue\n// module id = 9\n// module chunks = 0","var __vue_exports__, __vue_options__\nvar __vue_styles__ = {}\n\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!vue-loader/lib/style-rewriter?id=data-v-baf928e6&scoped=true!sass-loader!vue-loader/lib/selector?type=styles&index=0!./Pagination.vue\")\n\n/* script */\n__vue_exports__ = require(\"!!babel-loader!vue-loader/lib/selector?type=script&index=0!./Pagination.vue\")\n\n/* template */\nvar __vue_template__ = require(\"!!vue-loader/lib/template-compiler?id=data-v-baf928e6!vue-loader/lib/selector?type=template&index=0!./Pagination.vue\")\n__vue_options__ = __vue_exports__ = __vue_exports__ || {}\nif (\n typeof __vue_exports__.default === \"object\" ||\n typeof __vue_exports__.default === \"function\"\n) {\n__vue_options__ = __vue_exports__ = __vue_exports__.default\n}\nif (typeof __vue_options__ === \"function\") {\n __vue_options__ = __vue_options__.options\n}\n\n__vue_options__.render = __vue_template__.render\n__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n__vue_options__._scopeId = \"data-v-baf928e6\"\n\nmodule.exports = __vue_exports__\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Pagination.vue\n// module id = 10\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"vue-datasource\"\n }, [_c('div', {\n staticClass: \"panel panel-default\"\n }, [_c('div', {\n staticClass: \"panel-heading\"\n }, [_c('div', {\n staticClass: \"form-inline\"\n }, [_c('div', {\n staticClass: \"form-group pull-left\"\n }, [_c('label', {\n staticClass: \"control-label pr2\"\n }, [_vm._v(_vm._s(_vm.translation.table.label_limits))]), _vm._v(\" \"), _c('select', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.perpage),\n expression: \"perpage\"\n }],\n staticClass: \"form-control\",\n attrs: {\n \"number\": \"\"\n },\n on: {\n \"change\": function($event) {\n var $$selectedVal = Array.prototype.filter.call($event.target.options, function(o) {\n return o.selected\n }).map(function(o) {\n var val = \"_value\" in o ? o._value : o.value;\n return val\n });\n _vm.perpage = $event.target.multiple ? $$selectedVal : $$selectedVal[0]\n }\n }\n }, _vm._l((_vm.limits), function(limit) {\n return _c('option', {\n domProps: {\n \"value\": limit\n }\n }, [_vm._v(_vm._s(limit))])\n }))]), _vm._v(\" \"), _c('div', {\n staticClass: \"form-group pull-right\"\n }, [_c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.search),\n expression: \"search\"\n }],\n staticClass: \"form-control\",\n attrs: {\n \"type\": \"text\",\n \"placeholder\": _vm.translation.table.placeholder_search\n },\n domProps: {\n \"value\": (_vm.search)\n },\n on: {\n \"keyup\": function($event) {\n if (!('button' in $event) && _vm._k($event.keyCode, \"enter\", 13)) { return null; }\n _vm.searching($event)\n },\n \"input\": function($event) {\n if ($event.target.composing) { return; }\n _vm.search = $event.target.value\n }\n }\n }), _vm._v(\" \"), _c('button', {\n staticClass: \"btn btn-primary\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.searching($event)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.table.label_search) + \"\\n \")])]), _vm._v(\" \"), _c('div', {\n staticClass: \"clearfix\"\n })])]), _vm._v(\" \"), _c('div', {\n staticClass: \"panel-body Vue__panel-body\"\n }, [_c('table', {\n staticClass: \"table table-striped Vue__table\"\n }, [_c('thead', [_c('tr', _vm._l((_vm.columns), function(column, key) {\n return _c('th', {\n on: {\n \"click\": function($event) {\n _vm.columnSort(key)\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(column.name) + \"\\n \"), _c('span', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.shouldShowUpArrow(key)),\n expression: \"shouldShowUpArrow(key)\"\n }],\n staticClass: \"glyphicon glyphicon-triangle-top\"\n }), _vm._v(\" \"), _c('span', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.shouldShowDownArrow(key)),\n expression: \"shouldShowDownArrow(key)\"\n }],\n staticClass: \"glyphicon glyphicon-triangle-bottom\"\n })])\n }))]), _vm._v(\" \"), _c('tbody', [(_vm.pagination.total == 0) ? _c('tr', [_c('td', {\n attrs: {\n \"colspan\": _vm.columns.length\n }\n }, [_vm._v(_vm._s(_vm.translation.table.records_not_found))])]) : _vm._l((_vm.tableData), function(row, index) {\n return _c('tr', {\n class: {\n 'success': (index == _vm.indexSelected)\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.selectRow(row, index)\n }\n }\n }, _vm._l((_vm.columns), function(k) {\n return _c('td', {\n domProps: {\n \"innerHTML\": _vm._s(_vm.fetchFromObject(row, k.key, k.render))\n }\n })\n }))\n }), _vm._v(\" \"), _c('tr', [_c('td', {\n staticClass: \"text-center\",\n attrs: {\n \"colspan\": _vm.columns.length\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.tableInfo) + \"\\n \")])])], 2)])]), _vm._v(\" \"), _c('div', {\n staticClass: \"panel-footer Vue__panel-footer\"\n }, [_c('div', {\n staticClass: \"pull-left\"\n }, [_c('div', {\n staticClass: \"btn-group Vue__datasource_actions\"\n }, _vm._l((_vm.actions), function(btn) {\n return _c('button', {\n staticClass: \"btn btn-default\",\n class: btn.class,\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function($event) {\n btn.event($event, _vm.selected)\n }\n }\n }, [(btn.icon) ? _c('i', {\n staticClass: \"pr1\",\n class: btn.icon\n }) : _vm._e(), _vm._v(\"\\n \" + _vm._s(btn.text) + \"\\n \")])\n }))]), _vm._v(\" \"), _c('div', {\n staticClass: \"pull-right\"\n }, [_c('pagination', {\n attrs: {\n \"pages\": _vm.pagination,\n \"translation\": _vm.translation.pagination\n },\n on: {\n \"change\": _vm.changePage\n }\n })], 1), _vm._v(\" \"), _c('div', {\n staticClass: \"clearfix\"\n })])])])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-88a438ca!./~/vue-loader/lib/selector.js?type=template&index=0!./src/Datasource.vue\n// module id = 11\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"Vue__pagination\"\n }, [_c('nav', {\n attrs: {\n \"aria-label\": \"Page navigation\"\n }\n }, [_c('ul', {\n staticClass: \"pagination\"\n }, [_c('li', {\n class: (_vm.pages.current_page == 1) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.firstPage($event)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.btn_first))])]), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == 1) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\",\n \"aria-label\": \"Previous\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.previous($event)\n }\n }\n }, [_c('span', {\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }, [_vm._v(\"«\")])])]), _vm._v(\" \"), _vm._l((_vm.items), function(n) {\n return _c('li', {\n class: (_vm.pages.current_page == n) ? 'active' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.change(n)\n }\n }\n }, [_vm._v(_vm._s(n))])])\n }), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == _vm.pages.last_page) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\",\n \"aria-label\": \"Next\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.next($event)\n }\n }\n }, [_c('span', {\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }, [_vm._v(\"»\")])])]), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == _vm.pages.last_page) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.lastPage(_vm.pages.last_page)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.btn_last))])])], 2)])])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-baf928e6!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/Pagination.vue\n// module id = 12\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a \n\n\n// WEBPACK FOOTER //\n// Datasource.vue?075bba02","\n \n\n\n\n\n\n// WEBPACK FOOTER //\n// Pagination.vue?633c2b7c","export default {\n translations: {\n // English translation\n 'en': {\n 'table': {\n 'label_limits': 'Show',\n 'label_search': 'Search',\n 'placeholder_search': 'Type to search..',\n 'records_not_found': 'No records found'\n },\n 'pagination': {\n 'label_show': 'Showing',\n 'label_to': 'to',\n 'label_of': 'of',\n 'label_entries': 'entries',\n 'btn_first': 'First',\n 'btn_last': 'Latest'\n }\n },\n // Spanish translation\n 'es': {\n 'table': {\n 'label_limits': 'Mostrar',\n 'label_search': 'Buscar',\n 'placeholder_search': 'Buscar ..',\n 'records_not_found': 'No se encontraron registros.'\n },\n 'pagination': {\n 'label_show': 'Mostrando',\n 'label_to': 'a',\n 'label_of': 'de',\n 'label_entries': 'registros',\n 'btn_first': 'Primero',\n 'btn_last': 'Último'\n }\n },\n // French translation\n 'fr': {\n 'table': {\n 'label_limits': 'Afficher',\n 'label_search': 'Recherche',\n 'placeholder_search': 'Recherche par mot-clé..',\n 'records_not_found': 'Aucun enregistrements trouvés'\n },\n 'pagination': {\n 'label_show': 'Affichage de',\n 'label_to': 'à',\n 'label_of': 'de',\n 'label_entries': 'entrées',\n 'btn_first': 'Première',\n 'btn_last': 'Dernière'\n }\n },\n // Chinese Simplified translation\n 'zh-CN': {\n 'table': {\n 'label_limits': '显示',\n 'label_search': '搜索',\n 'placeholder_search': '输入搜索..',\n 'records_not_found': '记录未找到'\n },\n 'pagination': {\n 'label_show': '正在显示',\n 'label_to': '到',\n 'label_of': '总共',\n 'label_entries': '条目',\n 'btn_first': '首页',\n 'btn_last': '未页'\n }\n },\n // Catalan translation\n 'ca': {\n 'table': {\n 'label_limits': 'Mostrar',\n 'label_search': 'Buscar',\n 'placeholder_search': 'Buscar ..',\n 'records_not_found': 'No s\\'han trobat registres.'\n },\n 'pagination': {\n 'label_show': 'Mostrant',\n 'label_to': 'a',\n 'label_of': 'de',\n 'label_entries': 'registres',\n 'btn_first': 'Primer',\n 'btn_last': 'Últim'\n }\n }, \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/DatasourceLanguage.js","export default {\n /**\n * Find the element value using Recursive Method and return the value rendered if it's defined\n * @param obj\n * @param column\n * @param render\n * @returns {*}\n */\n fetchFromObject(obj, column, render) {\n if (typeof obj === 'undefined') return false;\n let _index = column.indexOf('.');\n if (_index > -1) {\n return this.fetchFromObject(obj[column.substring(0, _index)], column.substr(_index + 1));\n }\n if (typeof render != 'undefined') {\n return render(obj[column]);\n }\n return obj[column];\n },\n\n /**\n * Emit event to change page from pagination\n * @param page\n * @return {void}\n */\n changePage(page) {\n this.selected = null;\n this.indexSelected = -1;\n this.$emit('change', {perpage: this.perpage, page: page});\n },\n\n /**\n * Effect toggle to selected row\n * @param row\n * @param index\n * @return {void}\n */\n selectRow(row, index) {\n if (this.indexSelected == index) {\n this.indexSelected = -1;\n this.selected = null;\n } else {\n this.indexSelected = index;\n this.selected = {\n 'row': row,\n 'index': index\n };\n }\n },\n\n /**\n * Computed property: Building custom string information with translation\n * @returns {String}\n */\n tableInfo() {\n let label_show = this.translation.pagination.label_show;\n let from = (this.pagination.from == null) ? 0 : this.pagination.from;\n let label_to = this.translation.pagination.label_to;\n let to = (this.pagination.to == null) ? 0 : this.pagination.to;\n let label_of = this.translation.pagination.label_of;\n let total = this.pagination.total;\n let label_entries = this.translation.pagination.label_entries;\n\n return `${label_show} ${from} ${label_to} ${to} ${label_of} ${total} ${label_entries}`;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/utils/DatasourceUtils.js","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".Vue__pagination nav .pagination[data-v-2b3d1a0f]{margin:10px 0!important}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-rewriter.js?id=data-v-2b3d1a0f&scoped=true!./~/sass-loader!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/components/Pagination.vue\n// module id = 7\n// module chunks = 0","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"th[data-v-a81f9b4e]{cursor:pointer}.vue-datasource .Vue__panel-body[data-v-a81f9b4e]{padding:0}.vue-datasource .Vue__panel-body .Vue__table[data-v-a81f9b4e]{margin-bottom:0}.vue-datasource .Vue__panel-footer .Vue__datasource_actions[data-v-a81f9b4e]{margin:10px 0}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-rewriter.js?id=data-v-a81f9b4e&scoped=true!./~/sass-loader!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/Datasource.vue\n// module id = 8\n// module chunks = 0","var __vue_exports__, __vue_options__\nvar __vue_styles__ = {}\n\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!vue-loader/lib/style-rewriter?id=data-v-a81f9b4e&scoped=true!sass-loader!vue-loader/lib/selector?type=styles&index=0!./Datasource.vue\")\n\n/* script */\n__vue_exports__ = require(\"!!babel-loader!vue-loader/lib/selector?type=script&index=0!./Datasource.vue\")\n\n/* template */\nvar __vue_template__ = require(\"!!vue-loader/lib/template-compiler?id=data-v-a81f9b4e!vue-loader/lib/selector?type=template&index=0!./Datasource.vue\")\n__vue_options__ = __vue_exports__ = __vue_exports__ || {}\nif (\n typeof __vue_exports__.default === \"object\" ||\n typeof __vue_exports__.default === \"function\"\n) {\n__vue_options__ = __vue_exports__ = __vue_exports__.default\n}\nif (typeof __vue_options__ === \"function\") {\n __vue_options__ = __vue_options__.options\n}\n\n__vue_options__.render = __vue_template__.render\n__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n__vue_options__._scopeId = \"data-v-a81f9b4e\"\n\nmodule.exports = __vue_exports__\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/Datasource.vue\n// module id = 9\n// module chunks = 0","var __vue_exports__, __vue_options__\nvar __vue_styles__ = {}\n\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!vue-loader/lib/style-rewriter?id=data-v-2b3d1a0f&scoped=true!sass-loader!vue-loader/lib/selector?type=styles&index=0!./Pagination.vue\")\n\n/* script */\n__vue_exports__ = require(\"!!babel-loader!vue-loader/lib/selector?type=script&index=0!./Pagination.vue\")\n\n/* template */\nvar __vue_template__ = require(\"!!vue-loader/lib/template-compiler?id=data-v-2b3d1a0f!vue-loader/lib/selector?type=template&index=0!./Pagination.vue\")\n__vue_options__ = __vue_exports__ = __vue_exports__ || {}\nif (\n typeof __vue_exports__.default === \"object\" ||\n typeof __vue_exports__.default === \"function\"\n) {\n__vue_options__ = __vue_exports__ = __vue_exports__.default\n}\nif (typeof __vue_options__ === \"function\") {\n __vue_options__ = __vue_options__.options\n}\n\n__vue_options__.render = __vue_template__.render\n__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n__vue_options__._scopeId = \"data-v-2b3d1a0f\"\n\nmodule.exports = __vue_exports__\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Pagination.vue\n// module id = 10\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"Vue__pagination\"\n }, [_c('nav', {\n attrs: {\n \"aria-label\": \"Page navigation\"\n }\n }, [_c('ul', {\n staticClass: \"pagination\"\n }, [_c('li', {\n class: (_vm.pages.current_page == 1) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.firstPage($event)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.btn_first))])]), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == 1) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\",\n \"aria-label\": \"Previous\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.previous($event)\n }\n }\n }, [_c('span', {\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }, [_vm._v(\"«\")])])]), _vm._v(\" \"), _vm._l((_vm.items), function(n) {\n return _c('li', {\n class: (_vm.pages.current_page == n) ? 'active' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.change(n)\n }\n }\n }, [_vm._v(_vm._s(n))])])\n }), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == _vm.pages.last_page) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\",\n \"aria-label\": \"Next\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.next($event)\n }\n }\n }, [_c('span', {\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }, [_vm._v(\"»\")])])]), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == _vm.pages.last_page) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.lastPage(_vm.pages.last_page)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.btn_last))])])], 2)])])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-2b3d1a0f!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/Pagination.vue\n// module id = 11\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"vue-datasource\"\n }, [_c('div', {\n staticClass: \"panel panel-default\"\n }, [_c('div', {\n staticClass: \"panel-heading\"\n }, [_c('div', {\n staticClass: \"form-inline\"\n }, [_c('div', {\n staticClass: \"form-group pull-left\"\n }, [_c('label', {\n staticClass: \"control-label pr2\"\n }, [_vm._v(_vm._s(_vm.translation.table.label_limits))]), _vm._v(\" \"), _c('select', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.perpage),\n expression: \"perpage\"\n }],\n staticClass: \"form-control\",\n attrs: {\n \"number\": \"\"\n },\n on: {\n \"change\": function($event) {\n var $$selectedVal = Array.prototype.filter.call($event.target.options, function(o) {\n return o.selected\n }).map(function(o) {\n var val = \"_value\" in o ? o._value : o.value;\n return val\n });\n _vm.perpage = $event.target.multiple ? $$selectedVal : $$selectedVal[0]\n }\n }\n }, _vm._l((_vm.limits), function(limit) {\n return _c('option', {\n domProps: {\n \"value\": limit\n }\n }, [_vm._v(_vm._s(limit))])\n }))]), _vm._v(\" \"), _c('div', {\n staticClass: \"form-group pull-right\"\n }, [_c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.search),\n expression: \"search\"\n }],\n staticClass: \"form-control\",\n attrs: {\n \"type\": \"text\",\n \"placeholder\": _vm.translation.table.placeholder_search\n },\n domProps: {\n \"value\": (_vm.search)\n },\n on: {\n \"keyup\": function($event) {\n if (!('button' in $event) && _vm._k($event.keyCode, \"enter\", 13)) { return null; }\n _vm.searching($event)\n },\n \"input\": function($event) {\n if ($event.target.composing) { return; }\n _vm.search = $event.target.value\n }\n }\n }), _vm._v(\" \"), _c('button', {\n staticClass: \"btn btn-primary\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.searching($event)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.table.label_search) + \"\\n \")])]), _vm._v(\" \"), _c('div', {\n staticClass: \"clearfix\"\n })])]), _vm._v(\" \"), _c('div', {\n staticClass: \"panel-body Vue__panel-body\"\n }, [_c('table', {\n staticClass: \"table table-striped Vue__table\"\n }, [_c('thead', [_c('tr', _vm._l((_vm.columns), function(column, key) {\n return _c('th', {\n on: {\n \"click\": function($event) {\n _vm.columnSort(key)\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(column.name) + \"\\n \"), _c('span', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.shouldShowUpArrow(key)),\n expression: \"shouldShowUpArrow(key)\"\n }],\n staticClass: \"glyphicon glyphicon-triangle-top\"\n }), _vm._v(\" \"), _c('span', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.shouldShowDownArrow(key)),\n expression: \"shouldShowDownArrow(key)\"\n }],\n staticClass: \"glyphicon glyphicon-triangle-bottom\"\n })])\n }))]), _vm._v(\" \"), _c('tbody', [(_vm.pagination.total == 0) ? _c('tr', [_c('td', {\n attrs: {\n \"colspan\": _vm.columns.length\n }\n }, [_vm._v(_vm._s(_vm.translation.table.records_not_found))])]) : _vm._l((_vm.tableData), function(row, index) {\n return _c('tr', {\n class: {\n 'success': (index == _vm.indexSelected)\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.selectRow(row, index)\n }\n }\n }, _vm._l((_vm.columns), function(k) {\n return _c('td', {\n domProps: {\n \"innerHTML\": _vm._s(_vm.fetchFromObject(row, k.key, k.render))\n }\n })\n }))\n }), _vm._v(\" \"), _c('tr', [_c('td', {\n staticClass: \"text-center\",\n attrs: {\n \"colspan\": _vm.columns.length\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.tableInfo) + \"\\n \")])])], 2)])]), _vm._v(\" \"), _c('div', {\n staticClass: \"panel-footer Vue__panel-footer\"\n }, [_c('div', {\n staticClass: \"pull-left\"\n }, [_c('div', {\n staticClass: \"btn-group Vue__datasource_actions\"\n }, _vm._l((_vm.actions), function(btn) {\n return _c('button', {\n staticClass: \"btn btn-default\",\n class: btn.class,\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function($event) {\n btn.event($event, _vm.selected)\n }\n }\n }, [(btn.icon) ? _c('i', {\n staticClass: \"pr1\",\n class: btn.icon\n }) : _vm._e(), _vm._v(\"\\n \" + _vm._s(btn.text) + \"\\n \")])\n }))]), _vm._v(\" \"), _c('div', {\n staticClass: \"pull-right\"\n }, [_c('pagination', {\n attrs: {\n \"pages\": _vm.pagination,\n \"translation\": _vm.translation.pagination\n },\n on: {\n \"change\": _vm.changePage\n }\n })], 1), _vm._v(\" \"), _c('div', {\n staticClass: \"clearfix\"\n })])])])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-a81f9b4e!./~/vue-loader/lib/selector.js?type=template&index=0!./src/Datasource.vue\n// module id = 12\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a \n\n\n// WEBPACK FOOTER //\n// Datasource.vue?075bba02","\n \n\n\n\n\n\n// WEBPACK FOOTER //\n// Pagination.vue?633c2b7c","export default {\n translations: {\n // English translation\n 'en': {\n 'table': {\n 'label_limits': 'Show',\n 'label_search': 'Search',\n 'placeholder_search': 'Type to search..',\n 'records_not_found': 'No records found'\n },\n 'pagination': {\n 'label_show': 'Showing',\n 'label_to': 'to',\n 'label_of': 'of',\n 'label_entries': 'entries',\n 'btn_first': 'First',\n 'btn_last': 'Latest'\n }\n },\n // Spanish translation\n 'es': {\n 'table': {\n 'label_limits': 'Mostrar',\n 'label_search': 'Buscar',\n 'placeholder_search': 'Buscar ..',\n 'records_not_found': 'No se encontraron registros.'\n },\n 'pagination': {\n 'label_show': 'Mostrando',\n 'label_to': 'a',\n 'label_of': 'de',\n 'label_entries': 'registros',\n 'btn_first': 'Primero',\n 'btn_last': 'Último'\n }\n },\n // French translation\n 'fr': {\n 'table': {\n 'label_limits': 'Afficher',\n 'label_search': 'Recherche',\n 'placeholder_search': 'Recherche par mot-clé..',\n 'records_not_found': 'Aucun enregistrements trouvés'\n },\n 'pagination': {\n 'label_show': 'Affichage de',\n 'label_to': 'à',\n 'label_of': 'de',\n 'label_entries': 'entrées',\n 'btn_first': 'Première',\n 'btn_last': 'Dernière'\n }\n },\n // Chinese Simplified translation\n 'zh-CN': {\n 'table': {\n 'label_limits': '显示',\n 'label_search': '搜索',\n 'placeholder_search': '输入搜索..',\n 'records_not_found': '记录未找到'\n },\n 'pagination': {\n 'label_show': '正在显示',\n 'label_to': '到',\n 'label_of': '总共',\n 'label_entries': '条目',\n 'btn_first': '首页',\n 'btn_last': '未页'\n }\n },\n // Catalan translation\n 'ca': {\n 'table': {\n 'label_limits': 'Mostrar',\n 'label_search': 'Buscar',\n 'placeholder_search': 'Buscar ..',\n 'records_not_found': 'No s\\'han trobat registres.'\n },\n 'pagination': {\n 'label_show': 'Mostrant',\n 'label_to': 'a',\n 'label_of': 'de',\n 'label_entries': 'registres',\n 'btn_first': 'Primer',\n 'btn_last': 'Últim'\n }\n },\n // Brazilian Portuguese translation\n 'pt-BR': {\n 'table': {\n 'label_limits': 'Mostrar',\n 'label_search': 'Buscar',\n 'placeholder_search': 'Digite para pesquisar..',\n 'records_not_found': 'Nenhum registro encontrado'\n },\n 'pagination': {\n 'label_show': 'Exibindo',\n 'label_to': 'até',\n 'label_of': 'de',\n 'label_entries': 'registros',\n 'btn_first': 'Primeira',\n 'btn_last': 'Última'\n }\n } \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/DatasourceLanguage.js","export default {\n /**\n * Find the element value using Recursive Method and return the value rendered if it's defined\n * @param obj\n * @param column\n * @param render\n * @returns {*}\n */\n fetchFromObject(obj, column, render) {\n if (typeof obj === 'undefined') return false;\n let _index = column.indexOf('.');\n if (_index > -1) {\n return this.fetchFromObject(obj[column.substring(0, _index)], column.substr(_index + 1));\n }\n if (typeof render != 'undefined') {\n return render(obj[column]);\n }\n return obj[column];\n },\n\n /**\n * Emit event to change page from pagination\n * @param page\n * @return {void}\n */\n changePage(page) {\n this.selected = null;\n this.indexSelected = -1;\n this.$emit('change', {perpage: this.perpage, page: page});\n },\n\n /**\n * Effect toggle to selected row\n * @param row\n * @param index\n * @return {void}\n */\n selectRow(row, index) {\n if (this.indexSelected == index) {\n this.indexSelected = -1;\n this.selected = null;\n } else {\n this.indexSelected = index;\n this.selected = {\n 'row': row,\n 'index': index\n };\n }\n },\n\n /**\n * Computed property: Building custom string information with translation\n * @returns {String}\n */\n tableInfo() {\n let label_show = this.translation.pagination.label_show;\n let from = (this.pagination.from == null) ? 0 : this.pagination.from;\n let label_to = this.translation.pagination.label_to;\n let to = (this.pagination.to == null) ? 0 : this.pagination.to;\n let label_of = this.translation.pagination.label_of;\n let total = this.pagination.total;\n let label_entries = this.translation.pagination.label_entries;\n\n return `${label_show} ${from} ${label_to} ${to} ${label_of} ${total} ${label_entries}`;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/utils/DatasourceUtils.js","exports = module.exports = require(\"../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"th[data-v-88a438ca]{cursor:pointer}.vue-datasource .Vue__panel-body[data-v-88a438ca]{padding:0}.vue-datasource .Vue__panel-body .Vue__table[data-v-88a438ca]{margin-bottom:0}.vue-datasource .Vue__panel-footer .Vue__datasource_actions[data-v-88a438ca]{margin:10px 0}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-rewriter.js?id=data-v-88a438ca&scoped=true!./~/sass-loader!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/Datasource.vue\n// module id = 7\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".Vue__pagination nav .pagination[data-v-baf928e6]{margin:10px 0!important}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader!./~/vue-loader/lib/style-rewriter.js?id=data-v-baf928e6&scoped=true!./~/sass-loader!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/components/Pagination.vue\n// module id = 8\n// module chunks = 0","var __vue_exports__, __vue_options__\nvar __vue_styles__ = {}\n\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!vue-loader/lib/style-rewriter?id=data-v-88a438ca&scoped=true!sass-loader!vue-loader/lib/selector?type=styles&index=0!./Datasource.vue\")\n\n/* script */\n__vue_exports__ = require(\"!!babel-loader!vue-loader/lib/selector?type=script&index=0!./Datasource.vue\")\n\n/* template */\nvar __vue_template__ = require(\"!!vue-loader/lib/template-compiler?id=data-v-88a438ca!vue-loader/lib/selector?type=template&index=0!./Datasource.vue\")\n__vue_options__ = __vue_exports__ = __vue_exports__ || {}\nif (\n typeof __vue_exports__.default === \"object\" ||\n typeof __vue_exports__.default === \"function\"\n) {\n__vue_options__ = __vue_exports__ = __vue_exports__.default\n}\nif (typeof __vue_options__ === \"function\") {\n __vue_options__ = __vue_options__.options\n}\n\n__vue_options__.render = __vue_template__.render\n__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n__vue_options__._scopeId = \"data-v-88a438ca\"\n\nmodule.exports = __vue_exports__\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/Datasource.vue\n// module id = 9\n// module chunks = 0","var __vue_exports__, __vue_options__\nvar __vue_styles__ = {}\n\n/* styles */\nrequire(\"!!vue-style-loader!css-loader!vue-loader/lib/style-rewriter?id=data-v-baf928e6&scoped=true!sass-loader!vue-loader/lib/selector?type=styles&index=0!./Pagination.vue\")\n\n/* script */\n__vue_exports__ = require(\"!!babel-loader!vue-loader/lib/selector?type=script&index=0!./Pagination.vue\")\n\n/* template */\nvar __vue_template__ = require(\"!!vue-loader/lib/template-compiler?id=data-v-baf928e6!vue-loader/lib/selector?type=template&index=0!./Pagination.vue\")\n__vue_options__ = __vue_exports__ = __vue_exports__ || {}\nif (\n typeof __vue_exports__.default === \"object\" ||\n typeof __vue_exports__.default === \"function\"\n) {\n__vue_options__ = __vue_exports__ = __vue_exports__.default\n}\nif (typeof __vue_options__ === \"function\") {\n __vue_options__ = __vue_options__.options\n}\n\n__vue_options__.render = __vue_template__.render\n__vue_options__.staticRenderFns = __vue_template__.staticRenderFns\n__vue_options__._scopeId = \"data-v-baf928e6\"\n\nmodule.exports = __vue_exports__\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Pagination.vue\n// module id = 10\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"vue-datasource\"\n }, [_c('div', {\n staticClass: \"panel panel-default\"\n }, [_c('div', {\n staticClass: \"panel-heading\"\n }, [_c('div', {\n staticClass: \"form-inline\"\n }, [_c('div', {\n staticClass: \"form-group pull-left\"\n }, [_c('label', {\n staticClass: \"control-label pr2\"\n }, [_vm._v(_vm._s(_vm.translation.table.label_limits))]), _vm._v(\" \"), _c('select', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.perpage),\n expression: \"perpage\"\n }],\n staticClass: \"form-control\",\n attrs: {\n \"number\": \"\"\n },\n on: {\n \"change\": function($event) {\n var $$selectedVal = Array.prototype.filter.call($event.target.options, function(o) {\n return o.selected\n }).map(function(o) {\n var val = \"_value\" in o ? o._value : o.value;\n return val\n });\n _vm.perpage = $event.target.multiple ? $$selectedVal : $$selectedVal[0]\n }\n }\n }, _vm._l((_vm.limits), function(limit) {\n return _c('option', {\n domProps: {\n \"value\": limit\n }\n }, [_vm._v(_vm._s(limit))])\n }))]), _vm._v(\" \"), _c('div', {\n staticClass: \"form-group pull-right\"\n }, [_c('input', {\n directives: [{\n name: \"model\",\n rawName: \"v-model\",\n value: (_vm.search),\n expression: \"search\"\n }],\n staticClass: \"form-control\",\n attrs: {\n \"type\": \"text\",\n \"placeholder\": _vm.translation.table.placeholder_search\n },\n domProps: {\n \"value\": (_vm.search)\n },\n on: {\n \"keyup\": function($event) {\n if (!('button' in $event) && _vm._k($event.keyCode, \"enter\", 13)) { return null; }\n _vm.searching($event)\n },\n \"input\": function($event) {\n if ($event.target.composing) { return; }\n _vm.search = $event.target.value\n }\n }\n }), _vm._v(\" \"), _c('button', {\n staticClass: \"btn btn-primary\",\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.searching($event)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.table.label_search) + \"\\n \")])]), _vm._v(\" \"), _c('div', {\n staticClass: \"clearfix\"\n })])]), _vm._v(\" \"), _c('div', {\n staticClass: \"panel-body Vue__panel-body\"\n }, [_c('table', {\n staticClass: \"table table-striped Vue__table\"\n }, [_c('thead', [_c('tr', _vm._l((_vm.columns), function(column, key) {\n return _c('th', {\n on: {\n \"click\": function($event) {\n _vm.columnSort(key)\n }\n }\n }, [_vm._v(\"\\n \" + _vm._s(column.name) + \"\\n \"), _c('span', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.shouldShowUpArrow(key)),\n expression: \"shouldShowUpArrow(key)\"\n }],\n staticClass: \"glyphicon glyphicon-triangle-top\"\n }), _vm._v(\" \"), _c('span', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.shouldShowDownArrow(key)),\n expression: \"shouldShowDownArrow(key)\"\n }],\n staticClass: \"glyphicon glyphicon-triangle-bottom\"\n })])\n }))]), _vm._v(\" \"), _c('tbody', [(_vm.pagination.total == 0) ? _c('tr', [_c('td', {\n attrs: {\n \"colspan\": _vm.columns.length\n }\n }, [_vm._v(_vm._s(_vm.translation.table.records_not_found))])]) : _vm._l((_vm.tableData), function(row, index) {\n return _c('tr', {\n class: {\n 'success': (index == _vm.indexSelected)\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.selectRow(row, index)\n }\n }\n }, _vm._l((_vm.columns), function(k) {\n return _c('td', {\n domProps: {\n \"innerHTML\": _vm._s(_vm.fetchFromObject(row, k.key, k.render))\n }\n })\n }))\n }), _vm._v(\" \"), _c('tr', [_c('td', {\n staticClass: \"text-center\",\n attrs: {\n \"colspan\": _vm.columns.length\n }\n }, [_vm._v(\"\\n \" + _vm._s(_vm.tableInfo) + \"\\n \")])])], 2)])]), _vm._v(\" \"), _c('div', {\n staticClass: \"panel-footer Vue__panel-footer\"\n }, [_c('div', {\n staticClass: \"pull-left\"\n }, [_c('div', {\n staticClass: \"btn-group Vue__datasource_actions\"\n }, _vm._l((_vm.actions), function(btn) {\n return _c('button', {\n staticClass: \"btn btn-default\",\n class: btn.class,\n attrs: {\n \"type\": \"button\"\n },\n on: {\n \"click\": function($event) {\n btn.event($event, _vm.selected)\n }\n }\n }, [(btn.icon) ? _c('i', {\n staticClass: \"pr1\",\n class: btn.icon\n }) : _vm._e(), _vm._v(\"\\n \" + _vm._s(btn.text) + \"\\n \")])\n }))]), _vm._v(\" \"), _c('div', {\n staticClass: \"pull-right\"\n }, [_c('pagination', {\n attrs: {\n \"pages\": _vm.pagination,\n \"translation\": _vm.translation.pagination\n },\n on: {\n \"change\": _vm.changePage\n }\n })], 1), _vm._v(\" \"), _c('div', {\n staticClass: \"clearfix\"\n })])])])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-88a438ca!./~/vue-loader/lib/selector.js?type=template&index=0!./src/Datasource.vue\n// module id = 11\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"Vue__pagination\"\n }, [_c('nav', {\n attrs: {\n \"aria-label\": \"Page navigation\"\n }\n }, [_c('ul', {\n staticClass: \"pagination\"\n }, [_c('li', {\n class: (_vm.pages.current_page == 1) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.firstPage($event)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.btn_first))])]), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == 1) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\",\n \"aria-label\": \"Previous\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.previous($event)\n }\n }\n }, [_c('span', {\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }, [_vm._v(\"«\")])])]), _vm._v(\" \"), _vm._l((_vm.items), function(n) {\n return _c('li', {\n class: (_vm.pages.current_page == n) ? 'active' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.change(n)\n }\n }\n }, [_vm._v(_vm._s(n))])])\n }), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == _vm.pages.last_page) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\",\n \"aria-label\": \"Next\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.next($event)\n }\n }\n }, [_c('span', {\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }, [_vm._v(\"»\")])])]), _vm._v(\" \"), _c('li', {\n class: (_vm.pages.current_page == _vm.pages.last_page) ? 'disabled' : ''\n }, [_c('a', {\n attrs: {\n \"href\": \"#\"\n },\n on: {\n \"click\": function($event) {\n $event.preventDefault();\n _vm.lastPage(_vm.pages.last_page)\n }\n }\n }, [_vm._v(_vm._s(_vm.translation.btn_last))])])], 2)])])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-baf928e6!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/Pagination.vue\n// module id = 12\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a