@manuscripts/transform 2.1.1-LEAN-3336-8 → 2.1.1-LEAN-3336-9

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.
@@ -967,7 +967,7 @@ class JATSExporter {
967
967
  return;
968
968
  }
969
969
  const table = this.serializeNode(tableNode);
970
- const tbodyElement = document.createElement('tbody');
970
+ const tbodyElement = this.document.createElement('tbody');
971
971
  while (table.firstChild) {
972
972
  const child = table.firstChild;
973
973
  table.removeChild(child);
@@ -15,7 +15,7 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.tableHeader = exports.tableRow = exports.tableCell = exports.table = exports.tableNodes = void 0;
18
+ exports.tableCell = exports.tableHeader = exports.tableRow = exports.table = exports.tableNodes = void 0;
19
19
  const prosemirror_tables_1 = require("prosemirror-tables");
20
20
  const table_cell_styles_1 = require("../../lib/table-cell-styles");
21
21
  const tableOptions = {
@@ -45,6 +45,14 @@ const tableOptions = {
45
45
  }
46
46
  },
47
47
  },
48
+ class: {
49
+ default: null,
50
+ setDOMAttr(value, attrs) {
51
+ if (value) {
52
+ attrs['class'] = value;
53
+ }
54
+ },
55
+ },
48
56
  valign: {
49
57
  default: null,
50
58
  getFromDOM(dom) {
@@ -93,6 +101,26 @@ const tableOptions = {
93
101
  };
94
102
  exports.tableNodes = (0, prosemirror_tables_1.tableNodes)(tableOptions);
95
103
  exports.table = Object.assign(Object.assign({}, exports.tableNodes.table), { attrs: Object.assign(Object.assign({}, exports.tableNodes.table.attrs), { id: { default: '' }, dataTracked: { default: null }, comments: { default: null } }) });
96
- exports.tableCell = exports.tableNodes.table_cell;
104
+ const tableCell = exports.tableNodes.table_cell;
105
+ exports.tableCell = tableCell;
106
+ tableCell.toDOM = (node) => {
107
+ if (!node.textContent) {
108
+ node.attrs.class = 'placeholder';
109
+ }
110
+ if (exports.tableNodes.table_cell.toDOM) {
111
+ return exports.tableNodes.table_cell.toDOM(node);
112
+ }
113
+ return ['td'];
114
+ };
115
+ const tableHeader = exports.tableNodes.table_cell;
116
+ exports.tableHeader = tableHeader;
117
+ tableHeader.toDOM = (node) => {
118
+ if (!node.textContent) {
119
+ node.attrs.class = 'placeholder';
120
+ }
121
+ if (exports.tableNodes.table_header.toDOM) {
122
+ return exports.tableNodes.table_header.toDOM(node);
123
+ }
124
+ return ['th'];
125
+ };
97
126
  exports.tableRow = exports.tableNodes.table_row;
98
- exports.tableHeader = exports.tableNodes.table_header;
@@ -796,11 +796,12 @@ class Decoder {
796
796
  createTableColGroup(model) {
797
797
  const tableId = model.containedObjectID;
798
798
  const tableModel = this.getModel(tableId);
799
- if (tableModel) {
800
- return this.parseContents(tableModel.contents, undefined, [], {
801
- topNode: schema_1.schema.nodes.table_colgroup.create(),
802
- });
799
+ if (!tableModel || !tableModel.contents.includes('<colgroup>')) {
800
+ return undefined;
803
801
  }
802
+ return this.parseContents(tableModel.contents, undefined, [], {
803
+ topNode: schema_1.schema.nodes.table_colgroup.create(),
804
+ });
804
805
  }
805
806
  createTableElementFooter(model) {
806
807
  const tableElementFooterID = model.tableElementFooterID;
@@ -959,7 +959,7 @@ export class JATSExporter {
959
959
  return;
960
960
  }
961
961
  const table = this.serializeNode(tableNode);
962
- const tbodyElement = document.createElement('tbody');
962
+ const tbodyElement = this.document.createElement('tbody');
963
963
  while (table.firstChild) {
964
964
  const child = table.firstChild;
965
965
  table.removeChild(child);
@@ -42,6 +42,14 @@ const tableOptions = {
42
42
  }
43
43
  },
44
44
  },
45
+ class: {
46
+ default: null,
47
+ setDOMAttr(value, attrs) {
48
+ if (value) {
49
+ attrs['class'] = value;
50
+ }
51
+ },
52
+ },
45
53
  valign: {
46
54
  default: null,
47
55
  getFromDOM(dom) {
@@ -90,6 +98,25 @@ const tableOptions = {
90
98
  };
91
99
  export const tableNodes = createTableNodes(tableOptions);
92
100
  export const table = Object.assign(Object.assign({}, tableNodes.table), { attrs: Object.assign(Object.assign({}, tableNodes.table.attrs), { id: { default: '' }, dataTracked: { default: null }, comments: { default: null } }) });
93
- export const tableCell = tableNodes.table_cell;
101
+ const tableCell = tableNodes.table_cell;
102
+ tableCell.toDOM = (node) => {
103
+ if (!node.textContent) {
104
+ node.attrs.class = 'placeholder';
105
+ }
106
+ if (tableNodes.table_cell.toDOM) {
107
+ return tableNodes.table_cell.toDOM(node);
108
+ }
109
+ return ['td'];
110
+ };
111
+ const tableHeader = tableNodes.table_cell;
112
+ tableHeader.toDOM = (node) => {
113
+ if (!node.textContent) {
114
+ node.attrs.class = 'placeholder';
115
+ }
116
+ if (tableNodes.table_header.toDOM) {
117
+ return tableNodes.table_header.toDOM(node);
118
+ }
119
+ return ['th'];
120
+ };
94
121
  export const tableRow = tableNodes.table_row;
95
- export const tableHeader = tableNodes.table_header;
122
+ export { tableHeader, tableCell };
@@ -787,11 +787,12 @@ export class Decoder {
787
787
  createTableColGroup(model) {
788
788
  const tableId = model.containedObjectID;
789
789
  const tableModel = this.getModel(tableId);
790
- if (tableModel) {
791
- return this.parseContents(tableModel.contents, undefined, [], {
792
- topNode: schema.nodes.table_colgroup.create(),
793
- });
790
+ if (!tableModel || !tableModel.contents.includes('<colgroup>')) {
791
+ return undefined;
794
792
  }
793
+ return this.parseContents(tableModel.contents, undefined, [], {
794
+ topNode: schema.nodes.table_colgroup.create(),
795
+ });
795
796
  }
796
797
  createTableElementFooter(model) {
797
798
  const tableElementFooterID = model.tableElementFooterID;
@@ -45,6 +45,7 @@ export declare const table: {
45
45
  toDebugString?: ((node: import("prosemirror-model").Node) => string) | undefined;
46
46
  leafText?: ((node: import("prosemirror-model").Node) => string) | undefined;
47
47
  };
48
- export declare const tableCell: import("prosemirror-model").NodeSpec;
48
+ declare const tableCell: import("prosemirror-model").NodeSpec;
49
+ declare const tableHeader: import("prosemirror-model").NodeSpec;
49
50
  export declare const tableRow: import("prosemirror-model").NodeSpec;
50
- export declare const tableHeader: import("prosemirror-model").NodeSpec;
51
+ export { tableHeader, tableCell };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@manuscripts/transform",
3
3
  "description": "ProseMirror transformer for Manuscripts applications",
4
- "version": "2.1.1-LEAN-3336-8",
4
+ "version": "2.1.1-LEAN-3336-9",
5
5
  "repository": "github:Atypon-OpenSource/manuscripts-transform",
6
6
  "license": "Apache-2.0",
7
7
  "main": "dist/cjs",