Skip to content

Commit 9c53f0b

Browse files
committed
update
1 parent d0fb402 commit 9c53f0b

File tree

7 files changed

+42
-30
lines changed

7 files changed

+42
-30
lines changed

dist/index.js

+33-23
Original file line numberDiff line numberDiff line change
@@ -20048,7 +20048,7 @@ exports = module.exports = __webpack_require__(2)(true);
2004820048

2004920049

2005020050
// module
20051-
exports.push([module.i, "\n.select-checkbox, .select-all-checkbox {\n cursor: pointer;\n}\n.dataTables_length {\n float: left;\n padding-right: 10px;\n padding-top: 10px;\n}\n", "", {"version":3,"sources":["/Users/tomn/Desktop/work/niiknow/vue-datatables-net/src/src/VdtnetTable.vue"],"names":[],"mappings":";AAgOA;EACA,gBAAA;CACA;AACA;EACA,YAAA;EACA,oBAAA;EACA,kBAAA;CACA","file":"VdtnetTable.vue","sourcesContent":["<template>\n <div class=\"vdtnet-container\">\n <div class=\"container-fluid vdtnet-head\"><slot name=\"HEAD\" /></div>\n <div class=\"vtdnet-body\">\n <table\n v-once\n ref=\"table\"\n :class=\"className\"\n >\n <thead>\n <tr>\n <th\n v-for=\"(field, i) in options.columns\"\n :key=\"i\"\n :class=\"field.className\"\n >\n <slot\n :name=\"`HEAD_${field.name}`\"\n :field=\"field\"\n :i=\"i\"\n >\n <div v-html=\"field.title\" />\n </slot>\n </th>\n </tr>\n </thead>\n </table>\n </div>\n <div class=\"container-fluid vdtnet-foot\"><slot name=\"FOOT\" /></div>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'VdtnetTable',\n props: {\n className: {\n type: String,\n default: 'table table-striped table-bordered dt-responsive nowrap w-100'\n },\n url: {\n type: String\n },\n opts: {\n type: Object\n },\n fields: {\n type: Object\n },\n jquery: {\n type: Object\n },\n selectable: {\n type: Boolean\n }\n },\n data() {\n // initialize defaults\n return {\n options: {\n/*eslint-disable */\n dom: \"<'row'<'col-sm-12 col-md-9'lB><'col-sm-12 col-md-3'f>>\" +\n \"<'row'<'col-sm-12'tr>>\" +\n \"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>\",\n/*eslint-enable */\n columns: [],\n language: {\n infoFiltered: ''\n },\n buttons: [] // remove any button defaults\n },\n dataTable: null\n }\n },\n computed: {\n jq() {\n return this.jquery || window.jQuery\n }\n },\n created() {\n const vm = this\n const jq = vm.jq\n\n // allow user to override default options\n if (vm.opts) {\n vm.options = jq.extend({}, vm.options, vm.opts)\n }\n\n if (vm.url) {\n vm.options.ajax = vm.url\n }\n\n // if fields are passed in, generate column definition\n // from our custom fields schema\n if (vm.fields) {\n const fields = vm.fields\n const cols = vm.options.columns\n\n for (let k in fields) {\n const field = fields[k]\n field.name = field.name || k\n\n // generate\n let col = {\n searchable: field.searchable,\n title: field.label || k,\n width: field.width,\n data: field.name,\n visible: field.visible,\n className: field.className\n }\n\n if (field.width) {\n col.width = field.width\n }\n\n if (field.defaultContent) {\n col.defaultContent = field.defaultContent\n }\n\n if (field.sortable) {\n col.orderable = field.sortable\n }\n\n if (field.render) {\n col.render = field.render\n }\n // console.log(col)\n\n cols.push(col)\n }\n }\n\n if (vm.selectable) {\n // expand column\n vm.options.columns = [{\n orderable: false,\n className: 'select-checkbox',\n data: null,\n defaultContent: '',\n title: '<input type=\"checkbox\" class=\"select-all-checkbox\">',\n targets: 0\n }].concat(vm.options.columns)\n\n // console.log(vm.options.columns)\n vm.options.select = jq.extend(\n vm.options.select || {},\n {\n style: 'os',\n selector: 'td:first-child'\n }\n )\n\n if (!vm.options.order) {\n vm.options.order = [[1, 'asc']]\n }\n }\n },\n mounted() {\n const vm = this\n const jq = vm.jq\n const $el = jq(vm.$refs.table)\n console.log(vm.options.buttons)\n vm.dataTable = $el.DataTable(vm.options)\n\n if (vm.selectable) {\n $el.on('click', 'th input.select-all-checkbox', (e) => {\n if(jq(e.target).is(':checked')) {\n vm.dataTable.rows().select()\n } else {\n vm.dataTable.rows().deselect()\n }\n })\n\n vm.dataTable.on('select deselect', () => {\n if (vm.dataTable.rows({\n selected: true\n }).count() !== vm.dataTable.rows().count()) {\n jq('th.select-checkbox').removeClass('selected')\n } else {\n jq('th.select-checkbox').addClass('selected')\n }\n })\n }\n\n // wire up edit, delete, and/or action buttons\n $el.on('click', '[data-action]', (e) => {\n e.preventDefault()\n e.stopPropagation()\n const target = jq(e.target)\n let that = target\n let action = that.attr('data-action')\n while(!action) {\n // don't let it propagate outside of container\n if (that.hasClass('vdtnet-container')) {\n // no action, simply exit\n return\n }\n that = that.parent()\n action = that.attr('data-action')\n }\n\n // only emit if there is action\n if (action) {\n // detect if row action\n let tr = that.closest('tr')\n if (tr) {\n if (tr.hasClass('child')) {\n tr = tr.prev()\n }\n const row = vm.dataTable.row(tr)\n const data = row.data()\n vm.$emit(action, {data, row, that})\n } else {\n // not a row click, must be other kind of action\n // such as bulk, csv, pdf, etc...\n vm.$emit(action, {target})\n }\n }\n })\n }\n}\n</script>\n<style>\n.select-checkbox, .select-all-checkbox {\n cursor: pointer;\n}\n.dataTables_length {\n float: left;\n padding-right: 10px;\n padding-top: 10px;\n}\n</style>\n"],"sourceRoot":""}]);
20051+
exports.push([module.i, "\n.select-checkbox, .select-all-checkbox {\n cursor: pointer;\n}\n.dataTables_length {\n float: left;\n padding-right: 10px;\n}\n", "", {"version":3,"sources":["/Users/tomn/Desktop/work/niiknow/vue-datatables-net/src/src/VdtnetTable.vue"],"names":[],"mappings":";AAkOA;EACA,gBAAA;CACA;AACA;EACA,YAAA;EACA,oBAAA;CACA","file":"VdtnetTable.vue","sourcesContent":["<template>\n <div class=\"vdtnet-container\">\n <div class=\"container-fluid vdtnet-head\"><slot name=\"HEAD\" /></div>\n <div class=\"vtdnet-body\">\n <table\n v-once\n ref=\"table\"\n :class=\"className\"\n cellpadding=\"0\"\n >\n <thead>\n <tr>\n <th\n v-for=\"(field, i) in options.columns\"\n :key=\"i\"\n :class=\"field.className\"\n >\n <slot\n :name=\"`HEAD_${field.name}`\"\n :field=\"field\"\n :i=\"i\"\n >\n <div v-html=\"field.title\" />\n </slot>\n </th>\n </tr>\n </thead>\n </table>\n </div>\n <div class=\"container-fluid vdtnet-foot\"><slot name=\"FOOT\" /></div>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'VdtnetTable',\n props: {\n className: {\n type: String,\n default: 'table table-striped table-bordered dt-responsive nowrap w-100'\n },\n url: {\n type: String\n },\n opts: {\n type: Object\n },\n fields: {\n type: Object\n },\n jquery: {\n type: Object\n },\n selectable: {\n type: Boolean\n }\n },\n data() {\n // initialize defaults\n return {\n options: {\n/*eslint-disable */\n dom: \"<'row'<'col-sm-12 col-md-9'lB><'col-sm-12 col-md-3'f>>\" +\n \"<'row'<'col-sm-12'tr>>\" +\n \"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>\",\n/*eslint-enable */\n columns: [],\n language: {\n infoFiltered: ''\n },\n buttons: [] // remove any button defaults\n },\n dataTable: null\n }\n },\n computed: {\n jq() {\n return this.jquery || window.jQuery\n }\n },\n created() {\n const vm = this\n const jq = vm.jq\n\n // allow user to override default options\n if (vm.opts) {\n vm.options = jq.extend({}, vm.options, vm.opts)\n }\n\n if (vm.url) {\n vm.options.ajax = vm.url\n }\n\n // if fields are passed in, generate column definition\n // from our custom fields schema\n if (vm.fields) {\n const fields = vm.fields\n const cols = vm.options.columns\n\n for (let k in fields) {\n const field = fields[k]\n field.name = field.name || k\n\n // generate\n let col = {\n searchable: field.searchable,\n title: field.label || k,\n width: field.width,\n data: field.name,\n visible: field.visible,\n className: field.className\n }\n\n if (field.width) {\n col.width = field.width\n }\n\n if (field.defaultContent) {\n col.defaultContent = field.defaultContent\n }\n\n if (field.sortable) {\n col.orderable = field.sortable\n }\n\n if (field.render) {\n col.render = field.render\n }\n // console.log(col)\n\n cols.push(col)\n }\n }\n\n if (vm.selectable) {\n // expand column\n vm.options.columns = [{\n orderable: false,\n className: 'select-checkbox',\n data: null,\n defaultContent: '',\n title: '<input type=\"checkbox\" class=\"select-all-checkbox\">',\n targets: 0\n }].concat(vm.options.columns)\n\n // console.log(vm.options.columns)\n vm.options.select = jq.extend(\n vm.options.select || {},\n {\n style: 'os',\n selector: 'td:first-child'\n }\n )\n\n if (!vm.options.order) {\n vm.options.order = [[1, 'asc']]\n }\n }\n },\n mounted() {\n const vm = this\n const jq = vm.jq\n const $el = jq(vm.$refs.table)\n\n // console.log(vm.options.buttons)\n vm.dataTable = $el.DataTable(vm.options)\n\n if (vm.selectable) {\n $el.on('click', 'th input.select-all-checkbox', (e) => {\n if(jq(e.target).is(':checked')) {\n vm.dataTable.rows().select()\n } else {\n vm.dataTable.rows().deselect()\n }\n })\n\n vm.dataTable.on('select deselect', () => {\n if (vm.dataTable.rows({\n selected: true\n }).count() !== vm.dataTable.rows().count()) {\n jq('th.select-checkbox').removeClass('selected')\n } else {\n jq('th.select-checkbox').addClass('selected')\n }\n })\n }\n\n // wire up edit, delete, and/or action buttons\n $el.on('click', '[data-action]', (e) => {\n e.preventDefault()\n e.stopPropagation()\n const target = jq(e.target)\n let that = target\n let action = that.attr('data-action')\n while(!action) {\n // don't let it propagate outside of container\n if (that.hasClass('vdtnet-container')) {\n // no action, simply exit\n return\n }\n that = that.parent()\n action = that.attr('data-action')\n }\n\n // only emit if there is action\n if (action) {\n // detect if row action\n let tr = that.closest('tr')\n if (tr) {\n if (tr.hasClass('child')) {\n tr = tr.prev()\n }\n const row = vm.dataTable.row(tr)\n const data = row.data()\n vm.$emit(action, {data, row, that})\n } else {\n // not a row click, must be other kind of action\n // such as bulk, csv, pdf, etc...\n vm.$emit(action, {target})\n }\n }\n })\n }\n}\n</script>\n<style>\n.select-checkbox, .select-all-checkbox {\n cursor: pointer;\n}\n.dataTables_length {\n float: left;\n padding-right: 10px;\n}\n</style>\n"],"sourceRoot":""}]);
2005220052

2005320053
// exports
2005420054

@@ -20091,6 +20091,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2009120091
//
2009220092
//
2009320093
//
20094+
//
2009420095

2009520096
/* harmony default export */ __webpack_exports__["default"] = ({
2009620097
name: 'VdtnetTable',
@@ -20217,7 +20218,8 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
2021720218
var vm = this;
2021820219
var jq = vm.jq;
2021920220
var $el = jq(vm.$refs.table);
20220-
console.log(vm.options.buttons);
20221+
20222+
// console.log(vm.options.buttons)
2022120223
vm.dataTable = $el.DataTable(vm.options);
2022220224

2022320225
if (vm.selectable) {
@@ -20309,27 +20311,35 @@ var staticRenderFns = [
2030920311
var _vm = this
2031020312
var _h = _vm.$createElement
2031120313
var _c = _vm._self._c || _h
20312-
return _c("table", { ref: "table", class: _vm.className }, [
20313-
_c("thead", [
20314-
_c(
20315-
"tr",
20316-
_vm._l(_vm.options.columns, function(field, i) {
20317-
return _c(
20318-
"th",
20319-
{ key: i, class: field.className },
20320-
[
20321-
_vm._t(
20322-
"HEAD_" + field.name,
20323-
[_c("div", { domProps: { innerHTML: _vm._s(field.title) } })],
20324-
{ field: field, i: i }
20325-
)
20326-
],
20327-
2
20328-
)
20329-
})
20330-
)
20331-
])
20332-
])
20314+
return _c(
20315+
"table",
20316+
{ ref: "table", class: _vm.className, attrs: { cellpadding: "0" } },
20317+
[
20318+
_c("thead", [
20319+
_c(
20320+
"tr",
20321+
_vm._l(_vm.options.columns, function(field, i) {
20322+
return _c(
20323+
"th",
20324+
{ key: i, class: field.className },
20325+
[
20326+
_vm._t(
20327+
"HEAD_" + field.name,
20328+
[
20329+
_c("div", {
20330+
domProps: { innerHTML: _vm._s(field.title) }
20331+
})
20332+
],
20333+
{ field: field, i: i }
20334+
)
20335+
],
20336+
2
20337+
)
20338+
})
20339+
)
20340+
])
20341+
]
20342+
)
2033320343
}
2033420344
]
2033520345
render._withStripped = true

dist/index.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)