ixbrl-viewer 1.4.76__py3-none-any.whl → 1.4.77__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/aspect.js +11 -0
- iXBRLViewerPlugin/viewer/src/js/fact.js +14 -1
- iXBRLViewerPlugin/viewer/src/js/fact.test.js +102 -0
- {ixbrl_viewer-1.4.76.dist-info → ixbrl_viewer-1.4.77.dist-info}/METADATA +1 -1
- {ixbrl_viewer-1.4.76.dist-info → ixbrl_viewer-1.4.77.dist-info}/RECORD +12 -12
- {ixbrl_viewer-1.4.76.dist-info → ixbrl_viewer-1.4.77.dist-info}/WHEEL +0 -0
- {ixbrl_viewer-1.4.76.dist-info → ixbrl_viewer-1.4.77.dist-info}/entry_points.txt +0 -0
- {ixbrl_viewer-1.4.76.dist-info → ixbrl_viewer-1.4.77.dist-info}/licenses/LICENSE.md +0 -0
- {ixbrl_viewer-1.4.76.dist-info → ixbrl_viewer-1.4.77.dist-info}/licenses/NOTICE +0 -0
- {ixbrl_viewer-1.4.76.dist-info → ixbrl_viewer-1.4.77.dist-info}/top_level.txt +0 -0
|
@@ -40,6 +40,17 @@ export class Aspect {
|
|
|
40
40
|
return a !== undefined && this._aspect === a._aspect && this._value === a._value;
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
+
/**
|
|
44
|
+
* Compares this Aspect to another
|
|
45
|
+
*
|
|
46
|
+
*
|
|
47
|
+
* @param {Aspect} b - The Aspect instance to compare against.
|
|
48
|
+
* @returns {number} - Negative if this < b, positive if this > b, zero if
|
|
49
|
+
* equal.
|
|
50
|
+
*/
|
|
51
|
+
compareTo(b) {
|
|
52
|
+
return this._aspect.localeCompare(b._aspect);
|
|
53
|
+
}
|
|
43
54
|
|
|
44
55
|
isTaxonomyDefined() {
|
|
45
56
|
return this._aspect.includes(":");
|
|
@@ -215,10 +215,23 @@ export class Fact {
|
|
|
215
215
|
return this.concept().isTextBlock();
|
|
216
216
|
}
|
|
217
217
|
|
|
218
|
+
/**
|
|
219
|
+
* Get all defined Aspects (sorted by aspect name).
|
|
220
|
+
*
|
|
221
|
+
* @returns {Aspect[]} An array of instantiated Aspect objects.
|
|
222
|
+
*/
|
|
218
223
|
aspects() {
|
|
219
|
-
return Object.keys(this.f.a)
|
|
224
|
+
return Object.keys(this.f.a)
|
|
225
|
+
.map(k => this.aspect(k))
|
|
226
|
+
.sort((a, b) => a.compareTo(b));
|
|
220
227
|
}
|
|
221
228
|
|
|
229
|
+
/**
|
|
230
|
+
* Retrieves or lazily creates an Aspect instance for the given aspect key.
|
|
231
|
+
*
|
|
232
|
+
* @param {string} a - The aspect key to retrieve or create.
|
|
233
|
+
* @returns {Aspect|undefined} The Aspect instance associated with the key, or undefined if not defined in `this.f.a`.
|
|
234
|
+
*/
|
|
222
235
|
aspect(a) {
|
|
223
236
|
if (this._aspects === undefined) {
|
|
224
237
|
this._aspects = {}
|
|
@@ -8,6 +8,8 @@ import { NAMESPACE_ISO4217 } from "./util";
|
|
|
8
8
|
var testReportData = {
|
|
9
9
|
"prefixes": {
|
|
10
10
|
"eg": "http://www.example.com",
|
|
11
|
+
"aa": "http://www.example.com/aa",
|
|
12
|
+
"zz": "http://www.example.com/zz",
|
|
11
13
|
"iso4217": NAMESPACE_ISO4217,
|
|
12
14
|
"e": "http://example.com/entity",
|
|
13
15
|
},
|
|
@@ -57,6 +59,30 @@ var testReportData = {
|
|
|
57
59
|
},
|
|
58
60
|
"d": "e"
|
|
59
61
|
},
|
|
62
|
+
"eg:Dimension2": {
|
|
63
|
+
"labels": {
|
|
64
|
+
"std": {
|
|
65
|
+
"en": "Dimension Two"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"d": "e"
|
|
69
|
+
},
|
|
70
|
+
"zz:Axis1": {
|
|
71
|
+
"labels": {
|
|
72
|
+
"std": {
|
|
73
|
+
"en": "Axis One"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"d": "e"
|
|
77
|
+
},
|
|
78
|
+
"aa:Dimension3": {
|
|
79
|
+
"labels": {
|
|
80
|
+
"std": {
|
|
81
|
+
"en": "Dimension Three"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"d": "e"
|
|
85
|
+
},
|
|
60
86
|
"eg:Member1": {
|
|
61
87
|
"labels": {
|
|
62
88
|
"std": {
|
|
@@ -71,6 +97,20 @@ var testReportData = {
|
|
|
71
97
|
}
|
|
72
98
|
}
|
|
73
99
|
},
|
|
100
|
+
"eg:Member3": {
|
|
101
|
+
"labels": {
|
|
102
|
+
"std": {
|
|
103
|
+
"en": "Member Three"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"eg:Member4": {
|
|
108
|
+
"labels": {
|
|
109
|
+
"std": {
|
|
110
|
+
"en": "Member Four"
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
},
|
|
74
114
|
"eg:UnlabelledMember": {
|
|
75
115
|
"labels": {
|
|
76
116
|
}
|
|
@@ -720,6 +760,68 @@ describe("Aspect methods", () => {
|
|
|
720
760
|
});
|
|
721
761
|
});
|
|
722
762
|
|
|
763
|
+
describe("Aspect sorting", () => {
|
|
764
|
+
var f = testFact({
|
|
765
|
+
"d": -3,
|
|
766
|
+
"v": 1000,
|
|
767
|
+
"a": {
|
|
768
|
+
"c": "eg:Concept1",
|
|
769
|
+
"u": "iso4217:USD",
|
|
770
|
+
"p": "2018-01-01/2019-01-01",
|
|
771
|
+
"eg:Dimension2": "eg:Member1",
|
|
772
|
+
"aa:Dimension3": "eg:Member2",
|
|
773
|
+
"zz:Axis1": "eg:Member3",
|
|
774
|
+
"eg:Dimension1": "eg:Member4"
|
|
775
|
+
}});
|
|
776
|
+
test("Fact.aspects() is sorted", () => {
|
|
777
|
+
expect(f.aspects().length).toEqual(7);
|
|
778
|
+
expect(f.aspects().filter(a => a.isTaxonomyDefined()).length).toEqual(4);
|
|
779
|
+
|
|
780
|
+
expect(f.aspects().filter(a => a.isTaxonomyDefined())[0].name()).toEqual("aa:Dimension3");
|
|
781
|
+
expect(f.aspects().filter(a => a.isTaxonomyDefined())[0].label()).toEqual("Dimension Three");
|
|
782
|
+
expect(f.aspects().filter(a => a.isTaxonomyDefined())[0].value()).toEqual("eg:Member2");
|
|
783
|
+
expect(f.aspects().filter(a => a.isTaxonomyDefined())[0].valueLabel()).toEqual("Member Two");
|
|
784
|
+
|
|
785
|
+
expect(f.aspects().filter(a => a.isTaxonomyDefined()).at(-1).label()).toEqual("Axis One");
|
|
786
|
+
expect(f.aspects().filter(a => a.isTaxonomyDefined()).at(-1).valueLabel()).toEqual("Member Three");
|
|
787
|
+
|
|
788
|
+
expect(f.aspects().filter(a => a.isTaxonomyDefined()).map(k => k.name())).toEqual(["aa:Dimension3", "eg:Dimension1", "eg:Dimension2", "zz:Axis1"]);
|
|
789
|
+
expect(f.aspects().filter(a => !a.isTaxonomyDefined()).map(k => k.name())).toEqual(["c", "p", "u"]);
|
|
790
|
+
});
|
|
791
|
+
});
|
|
792
|
+
|
|
793
|
+
describe("Aspect sorting consistent between facts", () => {
|
|
794
|
+
var fact1 = testFact({
|
|
795
|
+
"d": -3,
|
|
796
|
+
"v": 1000,
|
|
797
|
+
"a": {
|
|
798
|
+
"c": "eg:Concept1",
|
|
799
|
+
"u": "iso4217:USD",
|
|
800
|
+
"p": "2018-01-01/2019-01-01",
|
|
801
|
+
"eg:Dimension2": "eg:Member1",
|
|
802
|
+
"aa:Dimension3": "eg:Member2",
|
|
803
|
+
"zz:Axis1": "eg:Member3",
|
|
804
|
+
"eg:Dimension1": "eg:Member4"
|
|
805
|
+
}});
|
|
806
|
+
var fact2 = testFact({
|
|
807
|
+
"d": -3,
|
|
808
|
+
"v": 1001,
|
|
809
|
+
"a": {
|
|
810
|
+
"c": "eg:Concept2",
|
|
811
|
+
"u": "iso4217:USD",
|
|
812
|
+
"p": "2018-01-01/2019-01-01",
|
|
813
|
+
"zz:Axis1": "eg:Member1",
|
|
814
|
+
"eg:Dimension2": "eg:Member2",
|
|
815
|
+
"aa:Dimension3": "eg:Member3",
|
|
816
|
+
"eg:Dimension1": "eg:Member4"
|
|
817
|
+
}});
|
|
818
|
+
test("fact1 dims are sorted as expected and in exactly the same order as fact2 dims", () => {
|
|
819
|
+
expect(fact1.aspects().filter(a => a.isTaxonomyDefined()).map(k => k.name())).toEqual(["aa:Dimension3", "eg:Dimension1", "eg:Dimension2", "zz:Axis1"]);
|
|
820
|
+
expect(fact1.aspects().filter(a => a.isTaxonomyDefined()).map(k => k.name())).toEqual(fact2.aspects().filter(a => a.isTaxonomyDefined()).map(k => k.name()));
|
|
821
|
+
});
|
|
822
|
+
});
|
|
823
|
+
|
|
824
|
+
|
|
723
825
|
describe("Fact errors", () => {
|
|
724
826
|
test("iXBRL Invalid", () => {
|
|
725
827
|
var f = testFact({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
iXBRLViewerPlugin/__init__.py,sha256=263DtPKBXeTomSI-4SeE7gTX0ak16GiIB9DFOoxBK3k,16839
|
|
2
|
-
iXBRLViewerPlugin/_version.py,sha256=
|
|
2
|
+
iXBRLViewerPlugin/_version.py,sha256=8i4UboN7LyikKfY_6__GpilwC8bffYse-IldkSAZMkU,706
|
|
3
3
|
iXBRLViewerPlugin/constants.py,sha256=DMyEKzoJZPN36vINiNF9wiP7PPofQg0ZLF0H2CP-ns4,3866
|
|
4
4
|
iXBRLViewerPlugin/featureConfig.py,sha256=551aLjiGAkoxsgFDMBJT8s3nVaF787kgbRjFumTTsBE,255
|
|
5
5
|
iXBRLViewerPlugin/iXBRLViewer.py,sha256=7IqbLuapCla5_c-lSM4KiKgSezbioKulJ5pa4ZEPejs,30643
|
|
@@ -12,7 +12,7 @@ iXBRLViewerPlugin/viewer/version.js,sha256=7b5si8UmaS7QqALQIP-wJ0I8onKFox8VyaAiU
|
|
|
12
12
|
iXBRLViewerPlugin/viewer/webpack.common.js,sha256=hpXufjShXAESQh8Ds7ViJ_tbr8XSb7EdqQLRvyu_mQg,1691
|
|
13
13
|
iXBRLViewerPlugin/viewer/webpack.dev.js,sha256=R9AwY_TBrg9otvXpDxT1UsGg5eMqi4aXW7C7EIsHzZk,551
|
|
14
14
|
iXBRLViewerPlugin/viewer/webpack.prod.js,sha256=vfLowWC1EOty0zbq9P-usGaJ3w-JoERpJrYaE9MfoSE,499
|
|
15
|
-
iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js,sha256=
|
|
15
|
+
iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js,sha256=w-Q7gLIm5ejl5ajp62Ihve4Ipst3BcDOhVzru_KkedI,943170
|
|
16
16
|
iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js.LICENSE.txt,sha256=LtlhXpjEorsiefz-usoFDNTZC_le1KyOKPWgb3RWIq8,1832
|
|
17
17
|
iXBRLViewerPlugin/viewer/src/data/utr.json,sha256=32ZuovUvTOiCiXnxQH1fyOlgLEbah8DhUInqxZNIjFc,20159
|
|
18
18
|
iXBRLViewerPlugin/viewer/src/html/fact-details.html,sha256=r3cPuOzcosgBkYl0jfmRUGjYnLgv6Eu0IeTMmUHY4Ak,2863
|
|
@@ -122,7 +122,7 @@ iXBRLViewerPlugin/viewer/src/img/inline-viewer.svg,sha256=7gwas3nHxMunJIhb3clFbS
|
|
|
122
122
|
iXBRLViewerPlugin/viewer/src/img/powered-by-workiva.png,sha256=4XE5yykXtKUxF2hytq9Uqjx64pa7AgOuidVuB5_04wU,10362
|
|
123
123
|
iXBRLViewerPlugin/viewer/src/img/powered-by-workiva.svg,sha256=Zf2JArzszZCn7zCkHNVZiW8bhlDwPEdgIDJLJe86W30,7620
|
|
124
124
|
iXBRLViewerPlugin/viewer/src/js/accordian.js,sha256=HLEwlBC6qh1bCnq79_r0eJd6sLgCcqjchXuOk4ZgVlY,1918
|
|
125
|
-
iXBRLViewerPlugin/viewer/src/js/aspect.js,sha256=
|
|
125
|
+
iXBRLViewerPlugin/viewer/src/js/aspect.js,sha256=BgMhxSAxnPq9RAtYV8WnyXocH2aYa8eSn9-iVH_g6j8,2770
|
|
126
126
|
iXBRLViewerPlugin/viewer/src/js/aspect.test.js,sha256=2XGS_g7thB8UYSJ-lxHR-LmvM7N_cXPtCI1-7-rP4DQ,4271
|
|
127
127
|
iXBRLViewerPlugin/viewer/src/js/balance.js,sha256=wOy4yTsvHkSW61pxGBQaCk-8mIBPbOpd3Jec0AcvA3c,323
|
|
128
128
|
iXBRLViewerPlugin/viewer/src/js/calculation.js,sha256=tB5Tzr6aMrnERkBlLcPjJ0_SfGUT94FvXUbUR0id1iU,6778
|
|
@@ -136,8 +136,8 @@ iXBRLViewerPlugin/viewer/src/js/datatype.js,sha256=_hdRkZOZ-it8Jq4d10skIrQqKOcHL
|
|
|
136
136
|
iXBRLViewerPlugin/viewer/src/js/datatype.test.js,sha256=A7rSgpvyPbhMpmt-dllaP1hwk4jDGBoi5eLi4TKqDWo,1738
|
|
137
137
|
iXBRLViewerPlugin/viewer/src/js/dialog.js,sha256=Jr2RDS6wIJh8gtXoROCi-Xq9mz5QxdUPLYK9MmQTMYo,1131
|
|
138
138
|
iXBRLViewerPlugin/viewer/src/js/docOrderIndex.js,sha256=rhNooqCDRU0f8Sb-adHnwqF7kq6vJA_rskGh6oPqdx8,674
|
|
139
|
-
iXBRLViewerPlugin/viewer/src/js/fact.js,sha256=
|
|
140
|
-
iXBRLViewerPlugin/viewer/src/js/fact.test.js,sha256=
|
|
139
|
+
iXBRLViewerPlugin/viewer/src/js/fact.js,sha256=A1PfYzsWKryOcpzLTBqaIXKhcTjBb_Z4qbtFeLWSgac,12983
|
|
140
|
+
iXBRLViewerPlugin/viewer/src/js/fact.test.js,sha256=gQoGD4SQFNgnJMN9ob-_3rg2j62ezUWpqHDoN_VkUO0,28087
|
|
141
141
|
iXBRLViewerPlugin/viewer/src/js/factset.js,sha256=VwJSiIVra3IO5Zwz5LV4aQj5D_Q7tPAtlpQEPUioKU8,5120
|
|
142
142
|
iXBRLViewerPlugin/viewer/src/js/factset.test.js,sha256=WNpm9EE1Eu3DkguUubN2nXnHWY9TIzQdJ6LuidRCHHY,8877
|
|
143
143
|
iXBRLViewerPlugin/viewer/src/js/footnote.js,sha256=YPj7GQAdTC2KPSHAZSWF2z_gnJoJPQupusq3qcIwjhs,770
|
|
@@ -208,10 +208,10 @@ iXBRLViewerPlugin/viewer/src/less/text-mixins.less,sha256=pYeQjz6JptSyUTxoVwfNeb
|
|
|
208
208
|
iXBRLViewerPlugin/viewer/src/less/validation-report.less,sha256=HWkYEWxny-_zAYrwPXwAXuNCbThMRyomhu6KteUAjEg,351
|
|
209
209
|
iXBRLViewerPlugin/viewer/src/less/viewer.less,sha256=2Q_kms-bYCUHCX1sGUGzF3nQ6GGAy0y348wjybWchl8,5595
|
|
210
210
|
iXBRLViewerPlugin/viewer/tools/build-font.js,sha256=Q-Uh0o6Uj2fkKd0zjS7rbVV2mkNydmEWGpkg0uWVir4,818
|
|
211
|
-
ixbrl_viewer-1.4.
|
|
212
|
-
ixbrl_viewer-1.4.
|
|
213
|
-
ixbrl_viewer-1.4.
|
|
214
|
-
ixbrl_viewer-1.4.
|
|
215
|
-
ixbrl_viewer-1.4.
|
|
216
|
-
ixbrl_viewer-1.4.
|
|
217
|
-
ixbrl_viewer-1.4.
|
|
211
|
+
ixbrl_viewer-1.4.77.dist-info/licenses/LICENSE.md,sha256=FOClHlBMDtwKei0tOJ7pv8WZ_HuQJMNYD1az3NpK73o,16647
|
|
212
|
+
ixbrl_viewer-1.4.77.dist-info/licenses/NOTICE,sha256=-SHDY0OY7s4gm4Rdk5AB3nbnUsrdHEHPdJuGFR_vuM4,566
|
|
213
|
+
ixbrl_viewer-1.4.77.dist-info/METADATA,sha256=gUMgcmNkJ7sxPxlEWhOUBljanIGTxFfqnp80wL53Fq4,18490
|
|
214
|
+
ixbrl_viewer-1.4.77.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
215
|
+
ixbrl_viewer-1.4.77.dist-info/entry_points.txt,sha256=2XUzP20WGwxdvnugdBybUBwAB3xf_zvrOR5W_smFz_4,65
|
|
216
|
+
ixbrl_viewer-1.4.77.dist-info/top_level.txt,sha256=iQGm144gaJwCPqPDGQHi8umPFRQAvQShVKDk3JQv3JE,18
|
|
217
|
+
ixbrl_viewer-1.4.77.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|