ixbrl-viewer 1.4.20__py3-none-any.whl → 1.4.21__py3-none-any.whl
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.
Potentially problematic release.
This version of ixbrl-viewer might be problematic. Click here for more details.
- iXBRLViewerPlugin/_version.py +2 -2
- iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js +1 -1
- iXBRLViewerPlugin/viewer/src/js/fact.js +1 -1
- iXBRLViewerPlugin/viewer/src/js/fact.test.js +44 -13
- {ixbrl_viewer-1.4.20.dist-info → ixbrl_viewer-1.4.21.dist-info}/METADATA +1 -1
- {ixbrl_viewer-1.4.20.dist-info → ixbrl_viewer-1.4.21.dist-info}/RECORD +11 -11
- {ixbrl_viewer-1.4.20.dist-info → ixbrl_viewer-1.4.21.dist-info}/LICENSE +0 -0
- {ixbrl_viewer-1.4.20.dist-info → ixbrl_viewer-1.4.21.dist-info}/NOTICE +0 -0
- {ixbrl_viewer-1.4.20.dist-info → ixbrl_viewer-1.4.21.dist-info}/WHEEL +0 -0
- {ixbrl_viewer-1.4.20.dist-info → ixbrl_viewer-1.4.21.dist-info}/entry_points.txt +0 -0
- {ixbrl_viewer-1.4.20.dist-info → ixbrl_viewer-1.4.21.dist-info}/top_level.txt +0 -0
|
@@ -90,7 +90,7 @@ export class Fact {
|
|
|
90
90
|
else if (this.isNil()) {
|
|
91
91
|
v = "nil";
|
|
92
92
|
}
|
|
93
|
-
else if (this.
|
|
93
|
+
else if (this.isTextBlock()) {
|
|
94
94
|
const html = $("<div>").append($($.parseHTML(v, null, false)));
|
|
95
95
|
/* Insert an extra space at the beginning and end of block elements to
|
|
96
96
|
* preserve separation of sections of text. */
|
|
@@ -33,6 +33,14 @@ var testReportData = {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
|
+
"eg:TextBlockConcept1": {
|
|
37
|
+
"labels": {
|
|
38
|
+
"std": {
|
|
39
|
+
"en": "Text block concept"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"t": true,
|
|
43
|
+
},
|
|
36
44
|
"eg:EnumConcept": {
|
|
37
45
|
"labels": {
|
|
38
46
|
"std": {
|
|
@@ -550,20 +558,43 @@ describe("Readable value", () => {
|
|
|
550
558
|
|
|
551
559
|
});
|
|
552
560
|
|
|
553
|
-
test("
|
|
561
|
+
test("Escaped string", () => {
|
|
554
562
|
|
|
555
563
|
expect(testFact({ "v": "<b>foo</b>" }, {"escaped": true }).readableValue())
|
|
556
|
-
.toBe("foo");
|
|
564
|
+
.toBe("<b>foo</b>");
|
|
557
565
|
|
|
558
566
|
expect(testFact({ "v": " <b>foo</b>bar" }, {"escaped": true }).readableValue())
|
|
559
|
-
.toBe("
|
|
567
|
+
.toBe(" <b>foo</b>bar");
|
|
560
568
|
|
|
561
569
|
expect(testFact({ "v": "\u00a0<b>foo</b>" }, {"escaped": true }).readableValue())
|
|
570
|
+
.toBe("\u00a0<b>foo</b>");
|
|
571
|
+
|
|
572
|
+
});
|
|
573
|
+
|
|
574
|
+
test("Strip HTML tags and normalise whitespace", () => {
|
|
575
|
+
|
|
576
|
+
expect(testFact({ "a": { "c": "eg:TextBlockConcept1" }, "v": "<b>foo</b>" }, {"escaped": true }).readableValue())
|
|
577
|
+
.toBe("foo");
|
|
578
|
+
|
|
579
|
+
expect(testFact({ "a": { "c": "eg:TextBlockConcept1" }, "v": " <b>foo</b>bar" }, {"escaped": true }).readableValue())
|
|
580
|
+
.toBe("foobar");
|
|
581
|
+
|
|
582
|
+
expect(testFact({ "a": { "c": "eg:TextBlockConcept1" }, "v": "\u00a0<b>foo</b>" }, {"escaped": true }).readableValue())
|
|
583
|
+
.toBe("foo");
|
|
584
|
+
|
|
585
|
+
});
|
|
586
|
+
|
|
587
|
+
test("Strip non-escaped text block facts", () => {
|
|
588
|
+
|
|
589
|
+
expect(testFact({ "a": { "c": "eg:TextBlockConcept1" }, "v": "\u00a0<b>foo</b>" }, {"escaped": false }).readableValue())
|
|
590
|
+
.toBe("foo");
|
|
591
|
+
|
|
592
|
+
expect(testFact({ "a": { "c": "eg:TextBlockConcept1" }, "v": "\u00a0<b>foo</b>" }, { }).readableValue())
|
|
562
593
|
.toBe("foo");
|
|
563
594
|
|
|
564
595
|
});
|
|
565
596
|
|
|
566
|
-
test("Don't strip non-
|
|
597
|
+
test("Don't strip non-text-block facts", () => {
|
|
567
598
|
|
|
568
599
|
expect(testFact({ "v": "\u00a0<b>foo</b>" }, {"escaped": false }).readableValue())
|
|
569
600
|
.toBe("\u00a0<b>foo</b>");
|
|
@@ -574,40 +605,40 @@ describe("Readable value", () => {
|
|
|
574
605
|
});
|
|
575
606
|
|
|
576
607
|
test("Detect and strip HTML tags - XHTML tags and attributes", () => {
|
|
577
|
-
expect(testFact({ "v": "<xhtml:b>foo</xhtml:b>" }, {"escaped": true }).readableValue())
|
|
608
|
+
expect(testFact({ "a": { "c": "eg:TextBlockConcept1" }, "v": "<xhtml:b>foo</xhtml:b>" }, {"escaped": true }).readableValue())
|
|
578
609
|
.toBe("foo");
|
|
579
610
|
|
|
580
|
-
expect(testFact({ "v": '<xhtml:span style="font-weight: bold">foo</xhtml:span>' }, {"escaped": true }).readableValue())
|
|
611
|
+
expect(testFact({ "a": { "c": "eg:TextBlockConcept1" }, "v": '<xhtml:span style="font-weight: bold">foo</xhtml:span>' }, {"escaped": true }).readableValue())
|
|
581
612
|
.toBe("foo");
|
|
582
613
|
});
|
|
583
614
|
|
|
584
615
|
test("Detect and strip HTML tags - check behaviour with invalid HTML", () => {
|
|
585
616
|
/* Invalid HTML */
|
|
586
|
-
expect(testFact({ "v": "<b:b:b>foo</b:b:b>" }, {"escaped": true }).readableValue())
|
|
617
|
+
expect(testFact({ "a": { "c": "eg:TextBlockConcept1" }, "v": "<b:b:b>foo</b:b:b>" }, {"escaped": true }).readableValue())
|
|
587
618
|
.toBe("foo");
|
|
588
619
|
|
|
589
|
-
expect(testFact({ "v": "<foo<bar>baz</bar>" }, {"escaped": true }).readableValue())
|
|
620
|
+
expect(testFact({ "a": { "c": "eg:TextBlockConcept1" }, "v": "<foo<bar>baz</bar>" }, {"escaped": true }).readableValue())
|
|
590
621
|
.toBe("baz");
|
|
591
622
|
});
|
|
592
623
|
|
|
593
624
|
test("Text in consecutive inline elements should be contiguous", () => {
|
|
594
625
|
|
|
595
|
-
expect(testFact({ "v": "<b>foo</b><i>bar</i>" }, {"escaped":true }).readableValue())
|
|
626
|
+
expect(testFact({ "a": { "c": "eg:TextBlockConcept1" }, "v": "<b>foo</b><i>bar</i>" }, {"escaped":true }).readableValue())
|
|
596
627
|
.toBe("foobar");
|
|
597
628
|
|
|
598
629
|
});
|
|
599
630
|
|
|
600
631
|
test("Text in block/table elements should be separated.", () => {
|
|
601
632
|
|
|
602
|
-
expect(testFact({ "v": "<p>foo</p><p>bar</p>" }, {"escaped":true }).readableValue())
|
|
633
|
+
expect(testFact({ "a": { "c": "eg:TextBlockConcept1" }, "v": "<p>foo</p><p>bar</p>" }, {"escaped":true }).readableValue())
|
|
603
634
|
.toBe("foo bar");
|
|
604
635
|
|
|
605
636
|
/* This should really return "foo bar", but we don't correctly detect
|
|
606
637
|
* block tags in prefixed XHTML */
|
|
607
|
-
expect(testFact({ "v": '<xhtml:p xmlns:xhtml="https://www.w3.org/1999/xhtml/">foo</xhtml:p><xhtml:p>bar</xhtml:p>' }, {"escaped":true }).readableValue())
|
|
638
|
+
expect(testFact({ "a": { "c": "eg:TextBlockConcept1" }, "v": '<xhtml:p xmlns:xhtml="https://www.w3.org/1999/xhtml/">foo</xhtml:p><xhtml:p>bar</xhtml:p>' }, {"escaped":true }).readableValue())
|
|
608
639
|
.toBe("foobar");
|
|
609
640
|
|
|
610
|
-
expect(testFact({ "v": "<table><tr><td>cell1</td><td>cell2</td></tr></table>" }, {"escaped":true })
|
|
641
|
+
expect(testFact({ "a": { "c": "eg:TextBlockConcept1" }, "v": "<table><tr><td>cell1</td><td>cell2</td></tr></table>" }, {"escaped":true })
|
|
611
642
|
.readableValue())
|
|
612
643
|
.toBe("cell1 cell2");
|
|
613
644
|
|
|
@@ -615,7 +646,7 @@ describe("Readable value", () => {
|
|
|
615
646
|
|
|
616
647
|
test("Whitespace normalisation", () => {
|
|
617
648
|
|
|
618
|
-
expect(testFact({ "v": "<p>bar foo</p> <p>bar</p>" }, {"escaped":true }).readableValue())
|
|
649
|
+
expect(testFact({ "a": { "c": "eg:TextBlockConcept1" }, "v": "<p>bar foo</p> <p>bar</p>" }, {"escaped":true }).readableValue())
|
|
619
650
|
.toBe("bar foo bar");
|
|
620
651
|
|
|
621
652
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
iXBRLViewerPlugin/__init__.py,sha256=b8_eShZkOtWQMdnsUXuikslSPiKQYRF7NrjhZXH58Dk,15968
|
|
2
|
-
iXBRLViewerPlugin/_version.py,sha256
|
|
2
|
+
iXBRLViewerPlugin/_version.py,sha256=-yoGeMczTZyNPurLLsOk7_h-1iA3LIkwjfryyCQRt3I,413
|
|
3
3
|
iXBRLViewerPlugin/constants.py,sha256=gXwZxPp5PJETC-sOvLxOToSe5pIjmQv2WMhZMNoPpKw,1062
|
|
4
4
|
iXBRLViewerPlugin/featureConfig.py,sha256=tOViPYmN32i2uIf_T9HGgbkkv41VoTpTjqhn4w9rTgw,194
|
|
5
5
|
iXBRLViewerPlugin/iXBRLViewer.py,sha256=KgZUTZKEwThPlfPecrsECv7zt11RHa-05P2_Qu6e604,27363
|
|
@@ -11,7 +11,7 @@ iXBRLViewerPlugin/viewer/version.js,sha256=7b5si8UmaS7QqALQIP-wJ0I8onKFox8VyaAiU
|
|
|
11
11
|
iXBRLViewerPlugin/viewer/webpack.common.js,sha256=AsiOVAW2XbmSNjv6Kl6LC4VUM2rA9UyQ8vwhz_1jb1Y,1320
|
|
12
12
|
iXBRLViewerPlugin/viewer/webpack.dev.js,sha256=R9AwY_TBrg9otvXpDxT1UsGg5eMqi4aXW7C7EIsHzZk,551
|
|
13
13
|
iXBRLViewerPlugin/viewer/webpack.prod.js,sha256=vfLowWC1EOty0zbq9P-usGaJ3w-JoERpJrYaE9MfoSE,499
|
|
14
|
-
iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js,sha256=
|
|
14
|
+
iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js,sha256=sLxFhgf879d25lbmwShv1QiTOXxDSkHn9LsBeCKdmMo,846939
|
|
15
15
|
iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js.LICENSE.txt,sha256=eA5xbvB65RVR5QmweqeHe4sYtW3dzEmgLhUDFOGr9m4,1697
|
|
16
16
|
iXBRLViewerPlugin/viewer/src/html/fact-details.html,sha256=P9BJw1OK4nIYfoT4KPwW1WP94ZeD7v1nisvSKMeSnU8,1495
|
|
17
17
|
iXBRLViewerPlugin/viewer/src/html/footnote-details.html,sha256=9I7y0KM7xsPzbiZheuHkm1k4nHNXD8S9qxvD_Y0I1Us,278
|
|
@@ -69,8 +69,8 @@ iXBRLViewerPlugin/viewer/src/js/concept.js,sha256=49NXm5jJnakLe2QDsG2Vo5Jf1QDuaj
|
|
|
69
69
|
iXBRLViewerPlugin/viewer/src/js/concept.test.js,sha256=ZQHRJSxrDo4iB9srYxdmpLtgqFP1iWiCIKrezLIgthw,2543
|
|
70
70
|
iXBRLViewerPlugin/viewer/src/js/dialog.js,sha256=09uGcyAcaWLyMyUNDmP9XqYKsuDiAAEIQUM6YLwG_j4,1058
|
|
71
71
|
iXBRLViewerPlugin/viewer/src/js/docOrderIndex.js,sha256=rhNooqCDRU0f8Sb-adHnwqF7kq6vJA_rskGh6oPqdx8,674
|
|
72
|
-
iXBRLViewerPlugin/viewer/src/js/fact.js,sha256=
|
|
73
|
-
iXBRLViewerPlugin/viewer/src/js/fact.test.js,sha256
|
|
72
|
+
iXBRLViewerPlugin/viewer/src/js/fact.js,sha256=xeZxcETeaMmIKoYNQE8RCRswj7PtIRhjE7WqRzF0Zzs,11312
|
|
73
|
+
iXBRLViewerPlugin/viewer/src/js/fact.test.js,sha256=6lZ9w0glGm9yI_2OdLGxXEPTP11-AyHb64UXQC5Tv-c,24124
|
|
74
74
|
iXBRLViewerPlugin/viewer/src/js/factset.js,sha256=VwJSiIVra3IO5Zwz5LV4aQj5D_Q7tPAtlpQEPUioKU8,5120
|
|
75
75
|
iXBRLViewerPlugin/viewer/src/js/factset.test.js,sha256=WNpm9EE1Eu3DkguUubN2nXnHWY9TIzQdJ6LuidRCHHY,8877
|
|
76
76
|
iXBRLViewerPlugin/viewer/src/js/footnote.js,sha256=jZreicIBPAtBjbpoRbLnkSs8fHdCYVlr-mqn_x5fUfw,597
|
|
@@ -157,10 +157,10 @@ tests/unit_tests/iXBRLViewerPlugin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQe
|
|
|
157
157
|
tests/unit_tests/iXBRLViewerPlugin/mock_arelle.py,sha256=fQKJGwceaEVaxvqV9tyuvT6DJB5s1X3-oSMjbFMKlS8,1301
|
|
158
158
|
tests/unit_tests/iXBRLViewerPlugin/test_iXBRLViewer.py,sha256=XSMbjEwof877OT2uwZ8mF8v_umWg39ySodOocQqP4XM,31447
|
|
159
159
|
tests/unit_tests/iXBRLViewerPlugin/test_xhtmlserialize.py,sha256=kdrg4i-YXnYAGl9TLWEACPQF0V69OAMXdXLYJwefsH0,12521
|
|
160
|
-
ixbrl_viewer-1.4.
|
|
161
|
-
ixbrl_viewer-1.4.
|
|
162
|
-
ixbrl_viewer-1.4.
|
|
163
|
-
ixbrl_viewer-1.4.
|
|
164
|
-
ixbrl_viewer-1.4.
|
|
165
|
-
ixbrl_viewer-1.4.
|
|
166
|
-
ixbrl_viewer-1.4.
|
|
160
|
+
ixbrl_viewer-1.4.21.dist-info/LICENSE,sha256=TZJhu77S_2-WQcPAkuIAlQiuuiNqVcuHBjd7z3Y5S08,16645
|
|
161
|
+
ixbrl_viewer-1.4.21.dist-info/METADATA,sha256=98-aPPe7DdJ6iBHA7D8wRnX7rB3s1WHaaKo9t4s2vIY,14715
|
|
162
|
+
ixbrl_viewer-1.4.21.dist-info/NOTICE,sha256=-SHDY0OY7s4gm4Rdk5AB3nbnUsrdHEHPdJuGFR_vuM4,566
|
|
163
|
+
ixbrl_viewer-1.4.21.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
164
|
+
ixbrl_viewer-1.4.21.dist-info/entry_points.txt,sha256=2XUzP20WGwxdvnugdBybUBwAB3xf_zvrOR5W_smFz_4,65
|
|
165
|
+
ixbrl_viewer-1.4.21.dist-info/top_level.txt,sha256=h8MkrMhC_t2-KbfS1oxJVnFAbn5NZJH8END_BL40mv8,24
|
|
166
|
+
ixbrl_viewer-1.4.21.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|