@progress/kendo-vue-pdf 3.6.4 → 3.7.0-dev.202210250731

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/cdn/js/kendo-vue-pdf.js +1 -1
  2. package/dist/es/PDFExport.js +4 -5
  3. package/dist/es/{grid → common}/dom-queries.d.ts +0 -0
  4. package/dist/es/{grid → common}/dom-queries.js +1 -1
  5. package/dist/es/common/table-query.d.ts +22 -0
  6. package/dist/es/common/table-query.js +36 -0
  7. package/dist/es/common/utils.d.ts +20 -0
  8. package/dist/es/common/utils.js +74 -0
  9. package/dist/es/grid/GridPDFExport.js +2 -5
  10. package/dist/es/grid/export-element.js +2 -58
  11. package/dist/es/grid/grid-query.js +2 -2
  12. package/dist/es/grid/provideSaveGridPDF.js +2 -20
  13. package/dist/es/main.d.ts +2 -1
  14. package/dist/es/main.js +2 -1
  15. package/dist/es/package-metadata.js +1 -1
  16. package/dist/es/treelist/TreeListPDFExport.d.ts +37 -0
  17. package/dist/es/treelist/TreeListPDFExport.js +75 -0
  18. package/dist/es/treelist/export-element.d.ts +4 -0
  19. package/dist/es/treelist/export-element.js +31 -0
  20. package/dist/es/treelist/provideSaveTreeListPDF.d.ts +5 -0
  21. package/dist/es/treelist/provideSaveTreeListPDF.js +116 -0
  22. package/dist/esm/PDFExport.js +4 -5
  23. package/dist/esm/{grid → common}/dom-queries.d.ts +0 -0
  24. package/dist/esm/{grid → common}/dom-queries.js +1 -1
  25. package/dist/esm/common/table-query.d.ts +22 -0
  26. package/dist/esm/common/table-query.js +36 -0
  27. package/dist/esm/common/utils.d.ts +20 -0
  28. package/dist/esm/common/utils.js +74 -0
  29. package/dist/esm/grid/GridPDFExport.js +2 -5
  30. package/dist/esm/grid/export-element.js +2 -58
  31. package/dist/esm/grid/grid-query.js +2 -2
  32. package/dist/esm/grid/provideSaveGridPDF.js +2 -20
  33. package/dist/esm/main.d.ts +2 -1
  34. package/dist/esm/main.js +2 -1
  35. package/dist/esm/package-metadata.js +1 -1
  36. package/dist/esm/treelist/TreeListPDFExport.d.ts +37 -0
  37. package/dist/esm/treelist/TreeListPDFExport.js +75 -0
  38. package/dist/esm/treelist/export-element.d.ts +4 -0
  39. package/dist/esm/treelist/export-element.js +31 -0
  40. package/dist/esm/treelist/provideSaveTreeListPDF.d.ts +5 -0
  41. package/dist/esm/treelist/provideSaveTreeListPDF.js +116 -0
  42. package/dist/npm/PDFExport.js +7 -14
  43. package/dist/npm/{grid → common}/dom-queries.d.ts +0 -0
  44. package/dist/npm/{grid → common}/dom-queries.js +1 -1
  45. package/dist/npm/common/table-query.d.ts +22 -0
  46. package/dist/npm/common/table-query.js +39 -0
  47. package/dist/npm/common/utils.d.ts +20 -0
  48. package/dist/npm/common/utils.js +82 -0
  49. package/dist/npm/grid/GridPDFExport.js +4 -12
  50. package/dist/npm/grid/export-element.js +3 -59
  51. package/dist/npm/grid/grid-query.js +2 -2
  52. package/dist/npm/grid/provideSaveGridPDF.js +2 -25
  53. package/dist/npm/main.d.ts +2 -1
  54. package/dist/npm/main.js +4 -1
  55. package/dist/npm/package-metadata.js +1 -1
  56. package/dist/npm/treelist/TreeListPDFExport.d.ts +37 -0
  57. package/dist/npm/treelist/TreeListPDFExport.js +82 -0
  58. package/dist/npm/treelist/export-element.d.ts +4 -0
  59. package/dist/npm/treelist/export-element.js +35 -0
  60. package/dist/npm/treelist/provideSaveTreeListPDF.d.ts +5 -0
  61. package/dist/npm/treelist/provideSaveTreeListPDF.js +123 -0
  62. package/package.json +2 -2
@@ -2,19 +2,15 @@ var __assign = this && this.__assign || function () {
2
2
  __assign = Object.assign || function (t) {
3
3
  for (var s, i = 1, n = arguments.length; i < n; i++) {
4
4
  s = arguments[i];
5
-
6
5
  for (var p in s) {
7
6
  if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
8
7
  }
9
8
  }
10
-
11
9
  return t;
12
10
  };
13
-
14
11
  return __assign.apply(this, arguments);
15
- }; // @ts-ignore
16
-
17
-
12
+ };
13
+ // @ts-ignore
18
14
  import * as Vue from 'vue';
19
15
  import { canUseDOM } from '@progress/kendo-vue-common';
20
16
  var allVue = Vue;
@@ -24,33 +20,27 @@ import { exportElement } from './export-element.js';
24
20
  /**
25
21
  * @hidden
26
22
  */
27
-
28
23
  export function provideSaveGridPDF(savePDF) {
29
24
  return function (grid, pdfExportOptions, callback, data, columns) {
30
25
  if (pdfExportOptions === void 0) {
31
26
  pdfExportOptions = {};
32
27
  }
33
-
34
28
  return saveGridPDF(savePDF, grid, pdfExportOptions, callback, data, columns);
35
29
  };
36
30
  }
37
-
38
31
  function saveGridPDF(savePDF, grid, pdfExportOptions, callback, data, v3) {
39
32
  if (pdfExportOptions === void 0) {
40
33
  pdfExportOptions = {};
41
34
  }
42
-
43
35
  renderGrid();
44
36
  var gridOuterWrapper;
45
37
  var gridInnerWrapper;
46
38
  var finalContainer;
47
39
  var gridInstance;
48
-
49
40
  function renderGrid() {
50
41
  if (!canUseDOM) {
51
42
  return;
52
43
  }
53
-
54
44
  gridOuterWrapper = document.createElement('div');
55
45
  gridOuterWrapper.setAttribute('style', 'position:absolute; left: -5000px; top: 0px;');
56
46
  gridInnerWrapper = document.createElement('div');
@@ -62,7 +52,6 @@ function saveGridPDF(savePDF, grid, pdfExportOptions, callback, data, v3) {
62
52
  pageSize: data.length,
63
53
  skip: 0
64
54
  };
65
-
66
55
  if (v3) {
67
56
  var gridForPdf = {
68
57
  render: function render() {
@@ -75,7 +64,6 @@ function saveGridPDF(savePDF, grid, pdfExportOptions, callback, data, v3) {
75
64
  // @ts-ignore
76
65
  this.$el.style.width = '1000px';
77
66
  }
78
-
79
67
  onGridRendered.call(this);
80
68
  }
81
69
  };
@@ -90,7 +78,6 @@ function saveGridPDF(savePDF, grid, pdfExportOptions, callback, data, v3) {
90
78
  if (gridInstance.$el.style) {
91
79
  gridInstance.$el.style.width = '1000px';
92
80
  }
93
-
94
81
  onGridRendered.call(gridInstance);
95
82
  }
96
83
  });
@@ -99,27 +86,22 @@ function saveGridPDF(savePDF, grid, pdfExportOptions, callback, data, v3) {
99
86
  gridInstance.$mount(gridInnerWrapper);
100
87
  }
101
88
  }
102
-
103
89
  function onGridRendered() {
104
90
  savePDF(prepareFinalElementForExport.call(this), pdfExportOptions, cleanUpAndInvokeCallback);
105
91
  }
106
-
107
92
  function cleanUpAndInvokeCallback() {
108
93
  if (gridInstance.unmount) {
109
94
  gridInstance.unmount();
110
95
  } else {
111
96
  gridInstance.$destroy();
112
97
  }
113
-
114
98
  document.body.removeChild(gridOuterWrapper);
115
99
  document.body.removeChild(finalContainer);
116
100
  gridOuterWrapper = finalContainer = undefined;
117
-
118
101
  if (callback) {
119
102
  callback();
120
103
  }
121
104
  }
122
-
123
105
  function prepareFinalElementForExport() {
124
106
  /* Ultimatelly, there is no need for double DOM-copying of the grid.
125
107
  The one in this method is a copied Angular implementation
@@ -3,4 +3,5 @@ import { PDFExportProps } from './PDFExportProps';
3
3
  import { PageTemplateProps } from './PageTemplateProps';
4
4
  import { savePDF } from './savePDF';
5
5
  import { GridPdfExport, GridPdfExportVue2, GridPDFExportProps } from './grid/GridPDFExport';
6
- export { PDFExport, PDFExportVue2, PDFExportProps, PageTemplateProps, savePDF, GridPdfExport, GridPdfExportVue2, GridPDFExportProps };
6
+ import { TreeListPDFExport, TreeListPDFExportVue2, TreeListPDFExportProps } from './treelist/TreeListPDFExport';
7
+ export { PDFExport, PDFExportVue2, PDFExportProps, PageTemplateProps, savePDF, GridPdfExport, GridPdfExportVue2, GridPDFExportProps, TreeListPDFExport, TreeListPDFExportVue2, TreeListPDFExportProps };
package/dist/esm/main.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { PDFExport, PDFExportVue2 } from './PDFExport.js';
2
2
  import { savePDF } from './savePDF.js';
3
3
  import { GridPdfExport, GridPdfExportVue2 } from './grid/GridPDFExport.js';
4
- export { PDFExport, PDFExportVue2, savePDF, GridPdfExport, GridPdfExportVue2 };
4
+ import { TreeListPDFExport, TreeListPDFExportVue2 } from './treelist/TreeListPDFExport.js';
5
+ export { PDFExport, PDFExportVue2, savePDF, GridPdfExport, GridPdfExportVue2, TreeListPDFExport, TreeListPDFExportVue2 };
5
6
  // Automatic installation if Vue has been added to the global scope.
6
7
  var vue = 'Vue';
7
8
  if (typeof window !== 'undefined' && window[vue] && window[vue].component) {
@@ -5,7 +5,7 @@ export var packageMetadata = {
5
5
  name: '@progress/kendo-vue-pdf',
6
6
  productName: 'Kendo UI for Vue',
7
7
  productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],
8
- publishDate: 1665151327,
8
+ publishDate: 1666682411,
9
9
  version: '',
10
10
  licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'
11
11
  };
@@ -0,0 +1,37 @@
1
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from '../additionalTypes';
2
+ declare type DefaultData<V> = object | ((this: V) => {});
3
+ declare type DefaultMethods<V> = {
4
+ [key: string]: (this: V, ...args: any[]) => any;
5
+ };
6
+ import { PDFExportProps } from '../PDFExportProps';
7
+ export interface TreeListPDFExportProps extends PDFExportProps {
8
+ }
9
+ /**
10
+ * @hidden
11
+ */
12
+ export interface TreeListPDFExportMethods extends Vue2type {
13
+ save: (data?: any[], callback?: () => void) => void;
14
+ getSavePDF: () => any;
15
+ }
16
+ /**
17
+ * @hidden
18
+ */
19
+ export interface TreeListPDFExportState {
20
+ saveTreeListPDF: any;
21
+ treeListComponent: any;
22
+ v3: boolean;
23
+ }
24
+ /**
25
+ * @hidden
26
+ */
27
+ export interface TreeListPDFExportAll extends TreeListPDFExportMethods, TreeListPDFExportState {
28
+ }
29
+ /**
30
+ * @hidden
31
+ */
32
+ declare let TreeListPDFExportVue2: ComponentOptions<Vue2type, DefaultData<{}>, DefaultMethods<TreeListPDFExportAll>, {}, RecordPropsDefinition<TreeListPDFExportProps>>;
33
+ /**
34
+ * @hidden
35
+ */
36
+ declare const TreeListPDFExport: DefineComponent<TreeListPDFExportProps, any, {}, {}, TreeListPDFExportMethods, {}, {}, {}, string, TreeListPDFExportProps, TreeListPDFExportProps, {}>;
37
+ export { TreeListPDFExport, TreeListPDFExportVue2 };
@@ -0,0 +1,75 @@
1
+ // @ts-ignore
2
+ import * as Vue from 'vue';
3
+ var allVue = Vue;
4
+ var gh = allVue.h;
5
+ var isV3 = allVue.version && allVue.version[0] === '3';
6
+ import { savePDF } from '../savePDF.js';
7
+ import { provideSaveTreeListPDF } from './provideSaveTreeListPDF.js';
8
+ import { getDefaultSlots } from '@progress/kendo-vue-common';
9
+ /**
10
+ * @hidden
11
+ */
12
+ var TreeListPDFExportVue2 = {
13
+ name: 'treelist-pdf-export',
14
+ props: {
15
+ author: String,
16
+ avoidLinks: [Boolean, String],
17
+ forcePageBreak: String,
18
+ keepTogether: String,
19
+ creator: String,
20
+ date: Date,
21
+ imageResolution: Number,
22
+ fileName: String,
23
+ forceProxy: Boolean,
24
+ keywords: String,
25
+ landscape: Boolean,
26
+ margin: [String, Object],
27
+ pageTemplate: [Object, Function],
28
+ paperSize: [String, Object],
29
+ repeatHeaders: Boolean,
30
+ scale: Number,
31
+ proxyData: Object,
32
+ proxyURL: String,
33
+ proxyTarget: String,
34
+ producer: String,
35
+ subject: String,
36
+ title: String
37
+ },
38
+ created: function created() {
39
+ this.saveTreeListPDF = provideSaveTreeListPDF(this.getSavePDF());
40
+ },
41
+ methods: {
42
+ save: function save(data, callback) {
43
+ var defaultSlot = getDefaultSlots(this);
44
+ // @ts-ignore
45
+ var treeListSlot = defaultSlot.filter(function (child) {
46
+ return child && child.tag && child.tag.toLowerCase().indexOf('treelist') !== -1 || child.componentOptions && child.componentOptions.tag && child.componentOptions.tag.toLowerCase().indexOf('treelist') !== -1 || child.type && child.type.name && child.type.name.toLowerCase().indexOf('treelist') !== -1;
47
+ });
48
+ if (treeListSlot.length) {
49
+ this.treeListComponent = this.v3 ? treeListSlot[0] : treeListSlot[0].componentInstance;
50
+ this.saveTreeListPDF(this.treeListComponent, this.$props, callback, data, this.v3);
51
+ }
52
+ },
53
+ getSavePDF: function getSavePDF() {
54
+ return savePDF;
55
+ }
56
+ },
57
+ // @ts-ignore
58
+ setup: !isV3 ? undefined : function () {
59
+ var v3 = !!isV3;
60
+ return {
61
+ v3: v3
62
+ };
63
+ },
64
+ // @ts-ignore
65
+ render: function render(createElement) {
66
+ var h = gh || createElement;
67
+ var defaultSlot = getDefaultSlots(this);
68
+ return h("div", [defaultSlot]);
69
+ }
70
+ };
71
+ /**
72
+ * @hidden
73
+ */
74
+ var TreeListPDFExport = TreeListPDFExportVue2;
75
+ export { TreeListPDFExport, TreeListPDFExportVue2 };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export declare const exportElement: (wrapper: HTMLElement) => HTMLElement;
@@ -0,0 +1,31 @@
1
+ import { GridQuery } from '../common/table-query.js';
2
+ import { wrapTable, createTable } from '../common/utils.js';
3
+ /**
4
+ * @hidden
5
+ */
6
+ export var exportElement = function (wrapper) {
7
+ var query = new GridQuery(wrapper);
8
+ var content = query.content();
9
+ var result;
10
+ var headerWithoutFilter = query.header();
11
+ if (headerWithoutFilter.children.length > 1) {
12
+ headerWithoutFilter.removeChild(headerWithoutFilter.children[1]);
13
+ }
14
+ headerWithoutFilter.children[0].childNodes.forEach(function (headerCell) {
15
+ if (headerCell.style) {
16
+ return headerCell.style.top = 0;
17
+ }
18
+ });
19
+ if (content) {
20
+ var colGroups = [content.querySelector('colgroup')];
21
+ var headers = [headerWithoutFilter];
22
+ var bodies = [content.querySelector('tbody')];
23
+ var footer = query.footer();
24
+ var footers = footer ? [footer.querySelector('tfoot')] : [];
25
+ result = createTable(colGroups, headers, bodies, footers);
26
+ }
27
+ else {
28
+ result = wrapTable(query.table().cloneNode(true));
29
+ }
30
+ return result;
31
+ };
@@ -0,0 +1,5 @@
1
+ import { PDFExportProps } from '../PDFExportProps';
2
+ /**
3
+ * @hidden
4
+ */
5
+ export declare function provideSaveTreeListPDF(savePDF: (domElement: HTMLElement, options?: PDFExportProps, callback?: () => void) => void): (treeList: any, pdfExportOptions?: PDFExportProps, callback?: () => void, data?: any, columns?: any) => void;
@@ -0,0 +1,116 @@
1
+ var __assign = this && this.__assign || function () {
2
+ __assign = Object.assign || function (t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) {
6
+ if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
7
+ }
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ // @ts-ignore
14
+ import * as Vue from 'vue';
15
+ import { canUseDOM } from '@progress/kendo-vue-common';
16
+ var allVue = Vue;
17
+ var h = allVue.h;
18
+ var createApp = allVue.createApp;
19
+ import { exportElement } from './export-element.js';
20
+ /**
21
+ * @hidden
22
+ */
23
+ export function provideSaveTreeListPDF(savePDF) {
24
+ return function (treeList, pdfExportOptions, callback, data, columns) {
25
+ if (pdfExportOptions === void 0) {
26
+ pdfExportOptions = {};
27
+ }
28
+ return saveTreeListPDF(savePDF, treeList, pdfExportOptions, callback, data, columns);
29
+ };
30
+ }
31
+ function saveTreeListPDF(savePDF, treeList, pdfExportOptions, callback, data, v3) {
32
+ if (pdfExportOptions === void 0) {
33
+ pdfExportOptions = {};
34
+ }
35
+ renderTreeList();
36
+ var treeListOuterWrapper;
37
+ var treeListInnerWrapper;
38
+ var finalContainer;
39
+ var treeListInstance;
40
+ function renderTreeList() {
41
+ if (!canUseDOM) {
42
+ return;
43
+ }
44
+ treeListOuterWrapper = document.createElement('div');
45
+ treeListOuterWrapper.setAttribute('style', 'position:absolute; left: -5000px; top: 0px;');
46
+ treeListInnerWrapper = document.createElement('div');
47
+ treeListOuterWrapper.appendChild(treeListInnerWrapper);
48
+ document.body.appendChild(treeListOuterWrapper);
49
+ var customDataProps = data && {
50
+ dataItems: data,
51
+ total: data.length,
52
+ pageSize: data.length,
53
+ skip: 0
54
+ };
55
+ if (v3) {
56
+ var treeListForPdf = {
57
+ render: function render() {
58
+ return h(treeList.type, __assign(__assign({}, treeList.props), customDataProps), treeList.children);
59
+ },
60
+ store: treeList.$store,
61
+ mounted: function mounted() {
62
+ // @ts-ignore
63
+ if (this.$el.style) {
64
+ // @ts-ignore
65
+ this.$el.style.width = '1000px';
66
+ }
67
+ onTreeListRendered.call(this);
68
+ }
69
+ };
70
+ treeListInstance = createApp(treeListForPdf);
71
+ treeListInstance.mount(treeListInnerWrapper);
72
+ } else {
73
+ var treeListConstructor = Object.getPrototypeOf(treeList).constructor;
74
+ treeListInstance = new treeListConstructor({
75
+ propsData: Object.assign({}, treeList.$props, customDataProps),
76
+ store: treeList.$store,
77
+ mounted: function mounted() {
78
+ if (treeListInstance.$el.style) {
79
+ treeListInstance.$el.style.width = '1000px';
80
+ }
81
+ onTreeListRendered.call(treeListInstance);
82
+ }
83
+ });
84
+ treeListInstance.$slots = treeList.$slots;
85
+ treeListInstance.$scopedSlots = treeList.$scopedSlots;
86
+ treeListInstance.$mount(treeListInnerWrapper);
87
+ }
88
+ }
89
+ function onTreeListRendered() {
90
+ savePDF(prepareFinalElementForExport.call(this), pdfExportOptions, cleanUpAndInvokeCallback);
91
+ }
92
+ function cleanUpAndInvokeCallback() {
93
+ if (treeListInstance.unmount) {
94
+ treeListInstance.unmount();
95
+ } else {
96
+ treeListInstance.$destroy();
97
+ }
98
+ document.body.removeChild(treeListOuterWrapper);
99
+ document.body.removeChild(finalContainer);
100
+ treeListOuterWrapper = finalContainer = undefined;
101
+ if (callback) {
102
+ callback();
103
+ }
104
+ }
105
+ function prepareFinalElementForExport() {
106
+ /* Ultimatelly, there is no need for double DOM-copying of the treeList.
107
+ The one in this method is a copied Angular implementation
108
+ that has been plugged almost seemlessly. */
109
+ finalContainer = document.createElement('div');
110
+ finalContainer.className = 'k-treelist-pdf-export-element';
111
+ var result = exportElement(this.$el);
112
+ finalContainer.appendChild(result);
113
+ document.body.appendChild(finalContainer);
114
+ return result;
115
+ }
116
+ }
@@ -3,28 +3,20 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.PDFExportVue2 = exports.PDFExport = void 0; // @ts-ignore
7
-
6
+ exports.PDFExportVue2 = exports.PDFExport = void 0;
7
+ // @ts-ignore
8
8
  var Vue = require("vue");
9
-
10
9
  var allVue = Vue;
11
10
  var gh = allVue.h;
12
11
  var isV3 = allVue.version && allVue.version[0] === '3';
13
-
14
12
  var kendo_drawing_1 = require("@progress/kendo-drawing");
15
-
16
13
  var kendo_file_saver_1 = require("@progress/kendo-file-saver");
17
-
18
14
  var KendoDrawingAdapter_1 = require("./KendoDrawingAdapter");
19
-
20
15
  var kendo_vue_common_1 = require("@progress/kendo-vue-common");
21
-
22
16
  var package_metadata_1 = require("./package-metadata");
23
17
  /**
24
18
  * @hidden
25
19
  */
26
-
27
-
28
20
  var PDFExportVue2 = {
29
21
  name: 'pdf-export',
30
22
  props: {
@@ -53,7 +45,8 @@ var PDFExportVue2 = {
53
45
  },
54
46
  methods: {
55
47
  save: function save(callback) {
56
- new KendoDrawingAdapter_1.default(kendo_drawing_1.drawDOM, kendo_drawing_1.exportPDF, kendo_file_saver_1.saveAs, this.$el, // To do: we should consider whether we need a margin-top, margin-left, etc. props
48
+ new KendoDrawingAdapter_1.default(kendo_drawing_1.drawDOM, kendo_drawing_1.exportPDF, kendo_file_saver_1.saveAs, this.$el,
49
+ // To do: we should consider whether we need a margin-top, margin-left, etc. props
57
50
  this.$props).savePDF(callback);
58
51
  }
59
52
  },
@@ -72,16 +65,16 @@ var PDFExportVue2 = {
72
65
  var h = gh || createElement;
73
66
  var defaultSlot = (0, kendo_vue_common_1.getDefaultSlots)(this);
74
67
  return h("div", [defaultSlot]);
75
- } // To do: we should consider whether we need a margin-top, margin-left, etc. props
68
+ }
69
+ // To do: we should consider whether we need a margin-top, margin-left, etc. props
76
70
  // private getOptions() {
77
71
  // return Object.assign({}, this.$props, { margin: getPageMrgin(this.$props) });
78
72
  // }
79
-
80
73
  };
74
+
81
75
  exports.PDFExportVue2 = PDFExportVue2;
82
76
  /**
83
77
  * @hidden
84
78
  */
85
-
86
79
  var PDFExport = PDFExportVue2;
87
80
  exports.PDFExport = PDFExport;
File without changes
@@ -73,7 +73,7 @@ var isVisible = function (element) {
73
73
  var rect = element.getBoundingClientRect();
74
74
  var hasSize = rect.width > 0 && rect.height > 0;
75
75
  var hasPosition = rect.x !== 0 && rect.y !== 0;
76
- // Elements can have zero size due to styling, but they should still count as visible.
76
+ // Elements can have zero size due to styling, but they still count as visible.
77
77
  // For example, the selection checkbox has no size, but is made visible through styling.
78
78
  return (hasSize || hasPosition) && window.getComputedStyle(element).visibility !== 'hidden';
79
79
  };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export declare const HEADER_CLASS: string;
5
+ /**
6
+ * @hidden
7
+ */
8
+ export declare const FOOTER_CLASS: string;
9
+ /**
10
+ * @hidden
11
+ */
12
+ export declare class GridQuery {
13
+ private element;
14
+ private headerWrap;
15
+ private list;
16
+ private footerWrap;
17
+ constructor(element: HTMLElement);
18
+ content(): Element;
19
+ header(): Element;
20
+ footer(): Element;
21
+ table(): Node;
22
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GridQuery = exports.FOOTER_CLASS = exports.HEADER_CLASS = void 0;
4
+ var dom_queries_1 = require("./dom-queries");
5
+ /**
6
+ * @hidden
7
+ */
8
+ exports.HEADER_CLASS = 'k-grid-header';
9
+ /**
10
+ * @hidden
11
+ */
12
+ exports.FOOTER_CLASS = 'k-grid-footer';
13
+ var TABLE = 'TABLE';
14
+ var matchesTable = (0, dom_queries_1.matchesNodeName)(TABLE);
15
+ /**
16
+ * @hidden
17
+ */
18
+ var GridQuery = /** @class */ (function () {
19
+ function GridQuery(element) {
20
+ this.element = element;
21
+ this.list = (0, dom_queries_1.findElement)(element, (0, dom_queries_1.matchesClasses)('k-grid'));
22
+ }
23
+ GridQuery.prototype.content = function () {
24
+ return (0, dom_queries_1.findElement)(this.list, (0, dom_queries_1.matchesClasses)('k-grid'));
25
+ };
26
+ GridQuery.prototype.header = function () {
27
+ this.headerWrap = this.headerWrap || (0, dom_queries_1.findElement)(this.element, (0, dom_queries_1.matchesClasses)(exports.HEADER_CLASS));
28
+ return (0, dom_queries_1.findElement)(this.headerWrap, (0, dom_queries_1.matchesClasses)("".concat(exports.HEADER_CLASS)));
29
+ };
30
+ GridQuery.prototype.footer = function () {
31
+ this.footerWrap = this.footerWrap || (0, dom_queries_1.findElement)(this.element, (0, dom_queries_1.matchesClasses)(exports.FOOTER_CLASS));
32
+ return (0, dom_queries_1.findElement)(this.footerWrap, (0, dom_queries_1.matchesClasses)("".concat(exports.FOOTER_CLASS)));
33
+ };
34
+ GridQuery.prototype.table = function () {
35
+ return (0, dom_queries_1.findElement)(this.element, matchesTable);
36
+ };
37
+ return GridQuery;
38
+ }());
39
+ exports.GridQuery = GridQuery;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export declare const appendNodes: (element: any, nodes: any[]) => void;
5
+ /**
6
+ * @hidden
7
+ */
8
+ export declare const wrapTable: (table: any) => any;
9
+ /**
10
+ * @hidden
11
+ */
12
+ export declare const createTableElement: (sources: any) => any;
13
+ /**
14
+ * @hidden
15
+ */
16
+ export declare const setFirstCellClass: (header: any, headers: any) => void;
17
+ /**
18
+ * @hidden
19
+ */
20
+ export declare const createTable: (colGroups: any[], headers: any[], bodies: any[], footers: any[]) => any;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTable = exports.setFirstCellClass = exports.createTableElement = exports.wrapTable = exports.appendNodes = void 0;
4
+ var FIRST_CLASS = 'k-first';
5
+ var HEADER_CLASS = 'k-grid-header';
6
+ var FOOTER_CLASS = 'k-grid-footer';
7
+ /**
8
+ * @hidden
9
+ */
10
+ var appendNodes = function (element, nodes) {
11
+ var length = nodes.length;
12
+ for (var idx = 0; idx < length; idx++) {
13
+ element.appendChild(nodes[idx].cloneNode(true));
14
+ }
15
+ };
16
+ exports.appendNodes = appendNodes;
17
+ /**
18
+ * @hidden
19
+ */
20
+ var wrapTable = function (table) {
21
+ var wrapper = document.createElement('div');
22
+ wrapper.className = 'k-widget k-grid';
23
+ wrapper.appendChild(table);
24
+ return wrapper;
25
+ };
26
+ exports.wrapTable = wrapTable;
27
+ /**
28
+ * @hidden
29
+ */
30
+ var createTableElement = function (sources) {
31
+ var sourceCount = sources.length;
32
+ var element = sources[0].cloneNode(true);
33
+ var rowsCount = element.rows.length;
34
+ if (sourceCount > 1) {
35
+ for (var rowIdx = 0; rowIdx < rowsCount; rowIdx++) {
36
+ for (var sourceIdx = 1; sourceIdx < sourceCount; sourceIdx++) {
37
+ (0, exports.appendNodes)(element.rows[rowIdx], sources[sourceIdx].rows[rowIdx].cells);
38
+ }
39
+ }
40
+ }
41
+ return element;
42
+ };
43
+ exports.createTableElement = createTableElement;
44
+ /**
45
+ * @hidden
46
+ */
47
+ var setFirstCellClass = function (header, headers) {
48
+ if (headers.length > 1 && header.rows.length > 1) {
49
+ for (var idx = 1; idx < header.rows.length; idx++) {
50
+ var firstCellIndex = headers[0].rows[idx].cells.length;
51
+ var cell = header.rows[idx].cells[firstCellIndex];
52
+ if (String(cell.className).indexOf(FIRST_CLASS) === -1) {
53
+ cell.className += " ".concat(FIRST_CLASS);
54
+ }
55
+ }
56
+ }
57
+ };
58
+ exports.setFirstCellClass = setFirstCellClass;
59
+ /**
60
+ * @hidden
61
+ */
62
+ var createTable = function (colGroups, headers, bodies, footers) {
63
+ var table = document.createElement('table');
64
+ var colGroup = colGroups[0].cloneNode(true);
65
+ for (var idx = 1; idx < colGroups.length; idx++) {
66
+ (0, exports.appendNodes)(colGroup, colGroups[idx].querySelectorAll('col'));
67
+ }
68
+ var header = (0, exports.createTableElement)(headers);
69
+ var body = (0, exports.createTableElement)(bodies);
70
+ header.className = HEADER_CLASS;
71
+ (0, exports.setFirstCellClass)(header, headers);
72
+ table.appendChild(colGroup);
73
+ table.appendChild(header);
74
+ table.appendChild(body);
75
+ if (footers.length) {
76
+ var footer = (0, exports.createTableElement)(footers);
77
+ footer.className = FOOTER_CLASS;
78
+ table.appendChild(footer);
79
+ }
80
+ return (0, exports.wrapTable)(table);
81
+ };
82
+ exports.createTable = createTable;