ixbrl-viewer 1.4.23__py3-none-any.whl → 1.4.24__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/dist/ixbrlviewer.js.LICENSE.txt +9 -2
- iXBRLViewerPlugin/viewer/src/i18n/en/translation.json +6 -1
- iXBRLViewerPlugin/viewer/src/i18n/es/translation.json +6 -0
- iXBRLViewerPlugin/viewer/src/js/accordian.js +1 -1
- iXBRLViewerPlugin/viewer/src/js/aspect.js +0 -3
- iXBRLViewerPlugin/viewer/src/js/calculation.js +0 -2
- iXBRLViewerPlugin/viewer/src/js/calculationInspector.js +4 -7
- iXBRLViewerPlugin/viewer/src/js/chart.js +13 -15
- iXBRLViewerPlugin/viewer/src/js/concept.js +0 -2
- iXBRLViewerPlugin/viewer/src/js/dialog.js +3 -3
- iXBRLViewerPlugin/viewer/src/js/fact.js +0 -2
- iXBRLViewerPlugin/viewer/src/js/inspector.js +35 -34
- iXBRLViewerPlugin/viewer/src/js/ixbrlviewer.js +1 -1
- iXBRLViewerPlugin/viewer/src/js/menu.js +4 -4
- iXBRLViewerPlugin/viewer/src/js/outline.js +0 -2
- iXBRLViewerPlugin/viewer/src/js/period.js +0 -1
- iXBRLViewerPlugin/viewer/src/js/report.js +1 -5
- iXBRLViewerPlugin/viewer/src/js/reportset.js +0 -1
- iXBRLViewerPlugin/viewer/src/js/search.js +0 -2
- iXBRLViewerPlugin/viewer/src/js/tableExport.js +1 -2
- iXBRLViewerPlugin/viewer/src/js/viewer.js +12 -12
- iXBRLViewerPlugin/viewer/src/js/viewerOptions.js +0 -2
- iXBRLViewerPlugin/viewer/webpack.common.js +19 -9
- {ixbrl_viewer-1.4.23.dist-info → ixbrl_viewer-1.4.24.dist-info}/METADATA +1 -1
- {ixbrl_viewer-1.4.23.dist-info → ixbrl_viewer-1.4.24.dist-info}/RECORD +32 -33
- iXBRLViewerPlugin/viewer/src/js/interact.min.js +0 -6
- {ixbrl_viewer-1.4.23.dist-info → ixbrl_viewer-1.4.24.dist-info}/LICENSE +0 -0
- {ixbrl_viewer-1.4.23.dist-info → ixbrl_viewer-1.4.24.dist-info}/NOTICE +0 -0
- {ixbrl_viewer-1.4.23.dist-info → ixbrl_viewer-1.4.24.dist-info}/WHEEL +0 -0
- {ixbrl_viewer-1.4.23.dist-info → ixbrl_viewer-1.4.24.dist-info}/entry_points.txt +0 -0
- {ixbrl_viewer-1.4.23.dist-info → ixbrl_viewer-1.4.24.dist-info}/top_level.txt +0 -0
|
@@ -11,9 +11,16 @@ https://github.com/nodeca/pako/blob/main/LICENSE
|
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
/*!
|
|
14
|
-
*
|
|
14
|
+
* @kurkle/color v0.3.2
|
|
15
|
+
* https://github.com/kurkle/color#readme
|
|
16
|
+
* (c) 2023 Jukka Kurkela
|
|
17
|
+
* Released under the MIT License
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/*!
|
|
21
|
+
* Chart.js v4.4.2
|
|
15
22
|
* https://www.chartjs.org
|
|
16
|
-
* (c)
|
|
23
|
+
* (c) 2024 Chart.js Contributors
|
|
17
24
|
* Released under the MIT License
|
|
18
25
|
*/
|
|
19
26
|
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"calculated-total": "Calculated",
|
|
4
4
|
"concept": "Concept",
|
|
5
5
|
"consistent-duplicate-facts-present": "{{nfacts}} consistent duplicate facts present",
|
|
6
|
+
"does-not-bind": "Calculation does not bind",
|
|
6
7
|
"inconsistent-duplicate-facts-present": "{{nfacts}} inconsistent duplicate facts present",
|
|
7
8
|
"maximum": "Maximum",
|
|
8
9
|
"mininum": "Minimum",
|
|
@@ -45,13 +46,15 @@
|
|
|
45
46
|
"inspector": {
|
|
46
47
|
"anchoring": "Anchoring",
|
|
47
48
|
"associatedFacts": "Associated facts",
|
|
48
|
-
"calculationDetails": "",
|
|
49
|
+
"calculationDetails": "Calculation details",
|
|
49
50
|
"calculations": "Calculations",
|
|
50
51
|
"concealedFact": "Concealed fact",
|
|
51
52
|
"conceptType": "Concept Type",
|
|
52
53
|
"contributor": "Contributor",
|
|
54
|
+
"dimensions": "Dimension Type",
|
|
53
55
|
"documentOutline": "Document outline",
|
|
54
56
|
"documentSummary": "Document summary",
|
|
57
|
+
"explicitDimension": "Explicit Dimensions",
|
|
55
58
|
"fact-groups": "Sections",
|
|
56
59
|
"factProperties": "Fact Properties",
|
|
57
60
|
"factSearch": "Fact Search",
|
|
@@ -108,7 +111,9 @@
|
|
|
108
111
|
}
|
|
109
112
|
},
|
|
110
113
|
"summation": "Summation",
|
|
114
|
+
"targetDocument": "Target Document",
|
|
111
115
|
"textOption": "Text",
|
|
116
|
+
"typedDimensions": "Typed Dimensions",
|
|
112
117
|
"units": "Units",
|
|
113
118
|
"validationCode": "Code",
|
|
114
119
|
"validationMessage": "Message",
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"calculated-total": "",
|
|
4
4
|
"concept": "",
|
|
5
5
|
"consistent-duplicate-facts-present": "",
|
|
6
|
+
"does-not-bind": "",
|
|
6
7
|
"inconsistent-duplicate-facts-present": "",
|
|
7
8
|
"maximum": "",
|
|
8
9
|
"mininum": "",
|
|
@@ -50,8 +51,10 @@
|
|
|
50
51
|
"concealedFact": "",
|
|
51
52
|
"conceptType": "Tipo de concepto",
|
|
52
53
|
"contributor": "",
|
|
54
|
+
"dimensions": "",
|
|
53
55
|
"documentOutline": "",
|
|
54
56
|
"documentSummary": "",
|
|
57
|
+
"explicitDimension": "",
|
|
55
58
|
"fact-groups": "",
|
|
56
59
|
"factProperties": "Propiedades del hecho",
|
|
57
60
|
"factSearch": "Búsqueda de hechos",
|
|
@@ -108,7 +111,9 @@
|
|
|
108
111
|
}
|
|
109
112
|
},
|
|
110
113
|
"summation": "",
|
|
114
|
+
"targetDocument": "",
|
|
111
115
|
"textOption": "Texto",
|
|
116
|
+
"typedDimensions": "",
|
|
112
117
|
"units": "Unidads",
|
|
113
118
|
"validationCode": "",
|
|
114
119
|
"validationMessage": "",
|
|
@@ -134,6 +139,7 @@
|
|
|
134
139
|
},
|
|
135
140
|
"search": {
|
|
136
141
|
"concealedFact": "",
|
|
142
|
+
"default": "",
|
|
137
143
|
"hiddenFact": "Hecho oculto",
|
|
138
144
|
"noMatchFound": "No se encontró ninguna coincidencia",
|
|
139
145
|
"selected": "seleccionados",
|
|
@@ -17,7 +17,7 @@ export class Accordian {
|
|
|
17
17
|
const card = $('<div class="card"></div>')
|
|
18
18
|
.append($('<div class="title"></div>')
|
|
19
19
|
.append(title)
|
|
20
|
-
.click
|
|
20
|
+
.on("click", function () {
|
|
21
21
|
var thisCard = $(this).closest(".card");
|
|
22
22
|
if (thisCard.hasClass("active")) {
|
|
23
23
|
if (!a.options.alwaysOpen) {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// See COPYRIGHT.md for copyright information
|
|
2
2
|
|
|
3
|
-
import $ from 'jquery';
|
|
4
3
|
import Decimal from 'decimal.js';
|
|
5
4
|
import { setDefault } from './util.js';
|
|
6
5
|
import { Interval } from './interval.js';
|
|
@@ -79,7 +78,6 @@ export class Calculation {
|
|
|
79
78
|
* Returns a ResolvedCalculation object for the specified ELR
|
|
80
79
|
*/
|
|
81
80
|
resolvedCalculation(elr) {
|
|
82
|
-
const calc = [];
|
|
83
81
|
const calcFacts = this.calculationFacts()[elr];
|
|
84
82
|
const report = this.fact.report;
|
|
85
83
|
const rels = report.getChildRelationships(this.fact.conceptName(), "calc")[elr];
|
|
@@ -16,7 +16,7 @@ import $ from 'jquery';
|
|
|
16
16
|
import i18next from 'i18next';
|
|
17
17
|
|
|
18
18
|
import { Dialog } from './dialog.js';
|
|
19
|
-
import { ResolvedCalc11Calculation
|
|
19
|
+
import { ResolvedCalc11Calculation } from './calculation.js';
|
|
20
20
|
|
|
21
21
|
export class CalculationInspector extends Dialog {
|
|
22
22
|
constructor() {
|
|
@@ -112,8 +112,6 @@ export class CalculationInspector extends Dialog {
|
|
|
112
112
|
let hasIcons = false;
|
|
113
113
|
for (const row of resolvedCalculation.rows) {
|
|
114
114
|
let factText = "";
|
|
115
|
-
let minText = "";
|
|
116
|
-
let maxText = "";
|
|
117
115
|
|
|
118
116
|
if (!row.facts.isEmpty()) {
|
|
119
117
|
let f = row.facts.items()[0];
|
|
@@ -162,7 +160,6 @@ export class CalculationInspector extends Dialog {
|
|
|
162
160
|
const tbody = table.find("tbody");
|
|
163
161
|
// We remove the padding on the icons column (used to indicate
|
|
164
162
|
// duplicate facts) if it is empty to avoid an unsightly gap
|
|
165
|
-
var hasIcons = false;
|
|
166
163
|
tbody.empty();
|
|
167
164
|
table.removeClass("has-icons");
|
|
168
165
|
if (resolvedCalculation instanceof ResolvedCalc11Calculation) {
|
|
@@ -176,13 +173,13 @@ export class CalculationInspector extends Dialog {
|
|
|
176
173
|
const messageCell = table.find("td.status");
|
|
177
174
|
messageCell.removeClass("inconsistent").removeClass("consistent").removeClass("unchecked");
|
|
178
175
|
if (resolvedCalculation.unchecked()) {
|
|
179
|
-
messageCell.addClass("unchecked").find(".message").text(
|
|
176
|
+
messageCell.addClass("unchecked").find(".message").text(i18next.t('calculation.does-not-bind'));
|
|
180
177
|
}
|
|
181
178
|
else if (resolvedCalculation.isConsistent()) {
|
|
182
|
-
messageCell.addClass("consistent").find(".message").text(
|
|
179
|
+
messageCell.addClass("consistent").find(".message").text(i18next.t('factDetails.calculationIsConsistent'));
|
|
183
180
|
}
|
|
184
181
|
else {
|
|
185
|
-
messageCell.addClass("inconsistent").find(".message").text(
|
|
182
|
+
messageCell.addClass("inconsistent").find(".message").text(i18next.t('factDetails.calculationIsConsistent'));
|
|
186
183
|
}
|
|
187
184
|
}
|
|
188
185
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// See COPYRIGHT.md for copyright information
|
|
2
2
|
|
|
3
3
|
import $ from 'jquery';
|
|
4
|
-
import Chart from 'chart.js';
|
|
4
|
+
import { BarController, BarElement, CategoryScale, Chart, LinearScale } from 'chart.js';
|
|
5
5
|
import { AspectSet } from './aspect.js';
|
|
6
6
|
import { wrapLabel } from "./util.js";
|
|
7
7
|
import { Dialog } from './dialog.js';
|
|
@@ -145,7 +145,7 @@ export class IXBRLChart extends Dialog {
|
|
|
145
145
|
if (dims.includes(av.name())) {
|
|
146
146
|
a.addClass("selected")
|
|
147
147
|
.text(av.label() + ": *")
|
|
148
|
-
.click(
|
|
148
|
+
.on("click", () => this.removeAspect(av.name()));
|
|
149
149
|
}
|
|
150
150
|
else {
|
|
151
151
|
if (av.name() != 'u') {
|
|
@@ -154,7 +154,7 @@ export class IXBRLChart extends Dialog {
|
|
|
154
154
|
a.text(av.label() + ": " + av.valueLabel());
|
|
155
155
|
if (dims.length < 2) {
|
|
156
156
|
a.addClass("addable")
|
|
157
|
-
.click(
|
|
157
|
+
.on("click", () => this.addAspect(av.name()));
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
160
|
}
|
|
@@ -173,6 +173,7 @@ export class IXBRLChart extends Dialog {
|
|
|
173
173
|
this.setChartSize();
|
|
174
174
|
|
|
175
175
|
const ctx = $("canvas", c);
|
|
176
|
+
Chart.register(BarController, BarElement, CategoryScale, LinearScale);
|
|
176
177
|
const chart = new Chart(ctx, {
|
|
177
178
|
type: "bar",
|
|
178
179
|
data: {
|
|
@@ -183,26 +184,23 @@ export class IXBRLChart extends Dialog {
|
|
|
183
184
|
responsive: true,
|
|
184
185
|
maintainAspectRatio: false,
|
|
185
186
|
scales: {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
},
|
|
190
|
-
scaleLabel: {
|
|
187
|
+
y: {
|
|
188
|
+
beginAtZero: true,
|
|
189
|
+
title: {
|
|
191
190
|
display: true,
|
|
192
|
-
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
xAxes: [{
|
|
191
|
+
text: yLabel,
|
|
192
|
+
},
|
|
193
|
+
},
|
|
194
|
+
x: {
|
|
197
195
|
ticks: {
|
|
198
196
|
autoSkip: false
|
|
199
197
|
}
|
|
200
|
-
}
|
|
198
|
+
}
|
|
201
199
|
}
|
|
202
200
|
|
|
203
201
|
}
|
|
204
202
|
});
|
|
205
|
-
$(window).resize(
|
|
203
|
+
$(window).on("resize", () => {
|
|
206
204
|
this.setChartSize();
|
|
207
205
|
chart.resize();
|
|
208
206
|
});
|
|
@@ -6,9 +6,9 @@ export class Dialog {
|
|
|
6
6
|
constructor(selector) {
|
|
7
7
|
this.node = $("#dialog-templates").find(selector).clone().appendTo("#ixv #dialog-container");
|
|
8
8
|
|
|
9
|
-
$('.close', this.node).click(
|
|
10
|
-
$(document).
|
|
11
|
-
if (e.
|
|
9
|
+
$('.close', this.node).on("click", () => this.close());
|
|
10
|
+
$(document).on("keyup", (e) => {
|
|
11
|
+
if (e.which === 27) {
|
|
12
12
|
this.close();
|
|
13
13
|
}
|
|
14
14
|
});
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import $ from 'jquery'
|
|
4
4
|
import i18next from "i18next";
|
|
5
|
-
import { isodateToHuman } from "./util.js"
|
|
6
|
-
import { QName } from "./qname.js"
|
|
7
5
|
import { Aspect } from "./aspect.js";
|
|
8
6
|
import { Period } from './period.js';
|
|
9
7
|
import { formatNumber, localId } from "./util.js";
|
|
@@ -16,7 +16,6 @@ import { Footnote } from './footnote.js';
|
|
|
16
16
|
import { ValidationReportDialog } from './validationreport.js';
|
|
17
17
|
import { TextBlockViewerDialog } from './textblockviewer.js';
|
|
18
18
|
import { MessageBox } from './messagebox.js';
|
|
19
|
-
import { Interval } from './interval.js';
|
|
20
19
|
import { Calculation } from "./calculation.js";
|
|
21
20
|
import { CalculationInspector } from './calculationInspector.js';
|
|
22
21
|
import { ReportSetOutline } from './outline.js';
|
|
@@ -101,7 +100,11 @@ export class Inspector {
|
|
|
101
100
|
$("#inspector-head .back").on("click", function () {
|
|
102
101
|
$(this).closest("#inspector").removeClass(["summary-mode", "outline-mode", "search-mode"]);
|
|
103
102
|
});
|
|
104
|
-
$(".popup-trigger").
|
|
103
|
+
$(".popup-trigger").on("mouseenter", function () {
|
|
104
|
+
$(this).find(".popup-content").show()
|
|
105
|
+
}).on("mouseleave", function () {
|
|
106
|
+
$(this).find(".popup-content").hide()
|
|
107
|
+
});
|
|
105
108
|
$("#inspector").on("click", ".clipboard-copy", function () {
|
|
106
109
|
navigator.clipboard.writeText($(this).data("cb-text"));
|
|
107
110
|
});
|
|
@@ -137,8 +140,8 @@ export class Inspector {
|
|
|
137
140
|
this._viewer.onSelect.add((vuid, eltSet, byClick) => this.selectItem(vuid, eltSet, byClick));
|
|
138
141
|
this._viewer.onMouseEnter.add((id) => this.viewerMouseEnter(id));
|
|
139
142
|
this._viewer.onMouseLeave.add(id => this.viewerMouseLeave(id));
|
|
140
|
-
$('.ixbrl-next-tag').click(
|
|
141
|
-
$('.ixbrl-prev-tag').click(
|
|
143
|
+
$('.ixbrl-next-tag').on("click", () => this._viewer.selectNextTag(this._currentItem));
|
|
144
|
+
$('.ixbrl-prev-tag').on("click", () => this._viewer.selectPrevTag(this._currentItem));
|
|
142
145
|
}
|
|
143
146
|
|
|
144
147
|
postLoadAsync() {
|
|
@@ -288,9 +291,9 @@ export class Inspector {
|
|
|
288
291
|
|
|
289
292
|
factListRow(f) {
|
|
290
293
|
const row = $('<div class="fact-list-item"></div>')
|
|
291
|
-
.click(
|
|
292
|
-
.dblclick(
|
|
293
|
-
.mousedown(
|
|
294
|
+
.on("click", () => this.selectItem(f.vuid))
|
|
295
|
+
.on("dblclick", () => $('#inspector').removeClass("search-mode"))
|
|
296
|
+
.on("mousedown", (e) => {
|
|
294
297
|
/* Prevents text selection via double click without
|
|
295
298
|
* disabling click+drag text selection (which user-select:
|
|
296
299
|
* none would )
|
|
@@ -299,11 +302,11 @@ export class Inspector {
|
|
|
299
302
|
e.preventDefault()
|
|
300
303
|
}
|
|
301
304
|
})
|
|
302
|
-
.mouseenter(
|
|
303
|
-
.mouseleave(
|
|
305
|
+
.on("mouseenter", () => this._viewer.linkedHighlightFact(f))
|
|
306
|
+
.on("mouseleave", () => this._viewer.clearLinkedHighlightFact(f))
|
|
304
307
|
.data('ivid', f.vuid);
|
|
305
308
|
$('<div class="select-icon"></div>')
|
|
306
|
-
.click(
|
|
309
|
+
.on("click", () => {
|
|
307
310
|
this.selectItem(f.vuid);
|
|
308
311
|
$('#inspector').removeClass("search-mode");
|
|
309
312
|
})
|
|
@@ -374,9 +377,9 @@ export class Inspector {
|
|
|
374
377
|
|
|
375
378
|
setupSearchControls(viewer) {
|
|
376
379
|
const inspector = this;
|
|
377
|
-
$('.search-controls input, .search-controls select').change(
|
|
378
|
-
$(".search-controls div.filter-toggle").click(
|
|
379
|
-
$(".search-controls .search-filters .reset").click(
|
|
380
|
+
$('.search-controls input, .search-controls select').on("change", () => this.search());
|
|
381
|
+
$(".search-controls div.filter-toggle").on("click", () => $(".search-controls").toggleClass('show-filters'));
|
|
382
|
+
$(".search-controls .search-filters .reset").on("click", () => this.resetSearchFilters());
|
|
380
383
|
$(".search-controls .search-filters .reset-multiselect").on("click", function () {
|
|
381
384
|
$(this).siblings().children('select option:selected').prop('selected', false);
|
|
382
385
|
inspector.search();
|
|
@@ -620,9 +623,9 @@ export class Inspector {
|
|
|
620
623
|
for (const group of this.outline.sortedSections()) {
|
|
621
624
|
$('<div class="fact-list-item"></div>')
|
|
622
625
|
.text(group.report.getRoleLabel(group.elr))
|
|
623
|
-
.click(
|
|
624
|
-
.dblclick(
|
|
625
|
-
.mousedown(
|
|
626
|
+
.on("click", () => this.selectItem(group.fact.vuid))
|
|
627
|
+
.on("dblclick", () => $('#inspector').removeClass("outline-mode"))
|
|
628
|
+
.on("mousedown", (e) => {
|
|
626
629
|
// Prevent text selection by double click
|
|
627
630
|
if (e.detail > 1) {
|
|
628
631
|
e.preventDefault()
|
|
@@ -638,7 +641,7 @@ export class Inspector {
|
|
|
638
641
|
for (const group of this.outline.groupsForFact(cf)) {
|
|
639
642
|
$('<div class="fact-list-item"></div>')
|
|
640
643
|
.text(cf.report.getRoleLabel(group.elr))
|
|
641
|
-
.click(
|
|
644
|
+
.on("click", () => this.selectItem(group.fact.vuid))
|
|
642
645
|
.appendTo($('.fact-groups'));
|
|
643
646
|
}
|
|
644
647
|
|
|
@@ -701,7 +704,6 @@ export class Inspector {
|
|
|
701
704
|
}
|
|
702
705
|
|
|
703
706
|
_referencesHTML(fact) {
|
|
704
|
-
const c = fact.concept();
|
|
705
707
|
const a = new Accordian();
|
|
706
708
|
for (const [i, r] of fact.concept().references().entries()) {
|
|
707
709
|
const title = $("<span></span>").text(r[0].value);
|
|
@@ -730,7 +732,6 @@ export class Inspector {
|
|
|
730
732
|
const tableFacts = this._viewer.factsInSameTable(fact);
|
|
731
733
|
const selectedELR = calc.bestELRForFactSet(tableFacts);
|
|
732
734
|
const report = fact.report;
|
|
733
|
-
const inspector = this;
|
|
734
735
|
const a = new Accordian();
|
|
735
736
|
|
|
736
737
|
for (const rCalc of calc.resolvedCalculations()) {
|
|
@@ -752,9 +753,9 @@ export class Inspector {
|
|
|
752
753
|
itemHTML.addClass("calc-fact-link");
|
|
753
754
|
itemHTML.addClass("calc-fact-link");
|
|
754
755
|
itemHTML.data('ivids', r.facts.items().map(f => f.vuid));
|
|
755
|
-
itemHTML.click(
|
|
756
|
-
itemHTML.mouseenter(
|
|
757
|
-
itemHTML.mouseleave(
|
|
756
|
+
itemHTML.on("click", () => this.selectItem(r.facts.items[0].vuid));
|
|
757
|
+
itemHTML.on("mouseenter", () => r.facts.items().forEach(f => this._viewer.linkedHighlightFact(f)));
|
|
758
|
+
itemHTML.on("mouseleave", () => r.facts.items().forEach(f => this._viewer.clearLinkedHighlightFact(f)));
|
|
758
759
|
r.facts.items().forEach(f => this._viewer.highlightRelatedFact(f));
|
|
759
760
|
itemHTML.find(".value").text(r.facts.mostPrecise().readableValue());
|
|
760
761
|
}
|
|
@@ -774,13 +775,13 @@ export class Inspector {
|
|
|
774
775
|
.addClass("calculation-details-link")
|
|
775
776
|
.attr("title", i18next.t('factDetails.viewCalculationDetails'))
|
|
776
777
|
.text("details")
|
|
777
|
-
.click(
|
|
778
|
+
.on("click", (e) => {
|
|
778
779
|
const dialog = new CalculationInspector();
|
|
779
780
|
dialog.displayCalculation(rCalc);
|
|
780
781
|
dialog.show();
|
|
781
782
|
e.stopPropagation();
|
|
782
783
|
})
|
|
783
|
-
|
|
784
|
+
$("<p></p>")
|
|
784
785
|
.append(calcStatusText)
|
|
785
786
|
.append($("<span></span>").text(" ("))
|
|
786
787
|
.append(calcDetailsLink)
|
|
@@ -819,9 +820,9 @@ export class Inspector {
|
|
|
819
820
|
$("<div></div>")
|
|
820
821
|
.addClass("block-list-item")
|
|
821
822
|
.text(truncateLabel(fn.textContent(), 120))
|
|
822
|
-
.mouseenter(
|
|
823
|
-
.mouseleave(
|
|
824
|
-
.click(
|
|
823
|
+
.on("mouseenter", () => this._viewer.linkedHighlightFact(fn))
|
|
824
|
+
.on("mouseleave", () => this._viewer.clearLinkedHighlightFact(fn))
|
|
825
|
+
.on("click", () => this.selectItem(fn.vuid))
|
|
825
826
|
.appendTo(html);
|
|
826
827
|
}
|
|
827
828
|
else if (fn instanceof Fact) {
|
|
@@ -867,9 +868,9 @@ export class Inspector {
|
|
|
867
868
|
if (factList.length > 0) {
|
|
868
869
|
html
|
|
869
870
|
.addClass("fact-link")
|
|
870
|
-
.click(
|
|
871
|
-
.mouseenter(
|
|
872
|
-
.mouseleave(
|
|
871
|
+
.on("click", () => this.selectItem(factList[0].vuid))
|
|
872
|
+
.on("mouseenter", () => factList.forEach(f => this._viewer.linkedHighlightFact(f)))
|
|
873
|
+
.on("mouseleave", () => factList.forEach(f => this._viewer.clearLinkedHighlightFact(f)));
|
|
873
874
|
}
|
|
874
875
|
return html;
|
|
875
876
|
}
|
|
@@ -932,7 +933,7 @@ export class Inspector {
|
|
|
932
933
|
tr
|
|
933
934
|
.addClass('text-block')
|
|
934
935
|
.find('.expand-text-block')
|
|
935
|
-
.off().click(
|
|
936
|
+
.off().on("click", () => this.showTextBlock(item));
|
|
936
937
|
}
|
|
937
938
|
else {
|
|
938
939
|
tr.removeClass('text-block');
|
|
@@ -1002,7 +1003,7 @@ export class Inspector {
|
|
|
1002
1003
|
$("<span></span>")
|
|
1003
1004
|
.addClass("analyse")
|
|
1004
1005
|
.text("")
|
|
1005
|
-
.click(
|
|
1006
|
+
.on('click', () => this.analyseDimension(fact, ["p"]))
|
|
1006
1007
|
);
|
|
1007
1008
|
}
|
|
1008
1009
|
this._updateEntityIdentifier(fact, factHTML);
|
|
@@ -1095,8 +1096,8 @@ export class Inspector {
|
|
|
1095
1096
|
}
|
|
1096
1097
|
}
|
|
1097
1098
|
$('.duplicates .text').text(i18next.t('factDetails.duplicatesCount', { current: n + 1, total: ndup}));
|
|
1098
|
-
$('.duplicates .prev').off().click(
|
|
1099
|
-
$('.duplicates .next').off().click(
|
|
1099
|
+
$('.duplicates .prev').off().on("click", () => this.selectItem(duplicates[(n+ndup-1) % ndup].vuid));
|
|
1100
|
+
$('.duplicates .next').off().on("click", () => this.selectItem(duplicates[(n+1) % ndup].vuid));
|
|
1100
1101
|
|
|
1101
1102
|
this.getPeriodIncrease(cf);
|
|
1102
1103
|
if (cf.isHidden()) {
|
|
@@ -120,7 +120,7 @@ export class iXBRLViewer {
|
|
|
120
120
|
_loadInspectorHTML() {
|
|
121
121
|
/* Insert HTML and CSS styles into body */
|
|
122
122
|
$(require('../html/inspector.html')).prependTo('body');
|
|
123
|
-
const inspector_css = require('
|
|
123
|
+
const inspector_css = require('../less/inspector.less').toString();
|
|
124
124
|
$('<style id="ixv-style"></style>')
|
|
125
125
|
.prop("type", "text/css")
|
|
126
126
|
.text(inspector_css)
|
|
@@ -8,14 +8,14 @@ export class Menu {
|
|
|
8
8
|
attr = attr || {};
|
|
9
9
|
this.type = attr.type || "dropdown";
|
|
10
10
|
|
|
11
|
-
elt.find(".menu-title").click(
|
|
11
|
+
elt.find(".menu-title").on("click", (e) => {
|
|
12
12
|
elt.find(".content-container").toggle();
|
|
13
13
|
/* Stop an opening click from also being treated as an "out-of-menu"
|
|
14
14
|
* closing click */
|
|
15
15
|
e.stopPropagation();
|
|
16
16
|
});
|
|
17
17
|
|
|
18
|
-
$('html').click(
|
|
18
|
+
$('html').on("click", (event) => {
|
|
19
19
|
if ($(".content", elt).find($(event.target)).length === 0) {
|
|
20
20
|
this.close();
|
|
21
21
|
}
|
|
@@ -50,7 +50,7 @@ export class Menu {
|
|
|
50
50
|
.attr({
|
|
51
51
|
href: filename})
|
|
52
52
|
.text(name)
|
|
53
|
-
.click(
|
|
53
|
+
.on("click", () => menu.close());
|
|
54
54
|
this._add(item);
|
|
55
55
|
}
|
|
56
56
|
|
|
@@ -89,7 +89,7 @@ export class Menu {
|
|
|
89
89
|
.prepend(
|
|
90
90
|
$('<input type="radio"></input>')
|
|
91
91
|
.attr({ "name": name, "value": v})
|
|
92
|
-
.change
|
|
92
|
+
.on("change", function () {
|
|
93
93
|
callback($(this).val())
|
|
94
94
|
menu.close();
|
|
95
95
|
})
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
// See COPYRIGHT.md for copyright information
|
|
2
2
|
|
|
3
|
-
import { Fact } from "./fact.js"
|
|
4
|
-
import { Footnote } from "./footnote.js"
|
|
5
|
-
import { QName } from "./qname.js"
|
|
6
3
|
import { Concept } from "./concept.js";
|
|
7
|
-
import { setDefault
|
|
8
|
-
import $ from 'jquery'
|
|
4
|
+
import { setDefault } from "./util.js";
|
|
9
5
|
import i18next from "i18next";
|
|
10
6
|
|
|
11
7
|
// Class to represent the XBRL data from a single target document in a single
|
|
@@ -7,7 +7,6 @@ import { Unit } from "./unit";
|
|
|
7
7
|
import { titleCase, viewerUniqueId } from "./util.js";
|
|
8
8
|
import { QName } from "./qname.js";
|
|
9
9
|
import { ViewerOptions } from './viewerOptions.js';
|
|
10
|
-
import $ from 'jquery'
|
|
11
10
|
|
|
12
11
|
|
|
13
12
|
// Class represents the set of XBRL "target" reports shown in the viewer.
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// See COPYRIGHT.md for copyright information
|
|
2
2
|
|
|
3
3
|
import $ from 'jquery'
|
|
4
|
-
import FileSaver from 'file-saver'
|
|
5
4
|
import writeXlsxFile from 'write-excel-file'
|
|
6
5
|
import { Fact } from './fact.js';
|
|
7
6
|
|
|
@@ -20,7 +19,7 @@ export class TableExport {
|
|
|
20
19
|
const exporter = new TableExport(table, reportSet);
|
|
21
20
|
$('<div class="ixbrl-table-handle"><span>Export table</span></div>')
|
|
22
21
|
.appendTo(table)
|
|
23
|
-
.click(
|
|
22
|
+
.on("click", () => exporter.exportTable());
|
|
24
23
|
}
|
|
25
24
|
});
|
|
26
25
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// See COPYRIGHT.md for copyright information
|
|
2
2
|
|
|
3
3
|
import $ from 'jquery'
|
|
4
|
-
import { numberMatchSearch
|
|
4
|
+
import { numberMatchSearch } from './number-matcher.js'
|
|
5
5
|
import { TableExport } from './tableExport.js'
|
|
6
6
|
import { IXNode } from './ixnode.js';
|
|
7
|
-
import { getIXHiddenLinkStyle, runGenerator,
|
|
7
|
+
import { getIXHiddenLinkStyle, runGenerator, viewerUniqueId, HIGHLIGHT_COLORS } from './util.js';
|
|
8
8
|
import { DocOrderIndex } from './docOrderIndex.js';
|
|
9
9
|
import { MessageBox } from './messagebox.js';
|
|
10
10
|
|
|
@@ -112,7 +112,7 @@ export class Viewer {
|
|
|
112
112
|
.text(doc.file)
|
|
113
113
|
.prop('title', doc.file)
|
|
114
114
|
.data('ix-doc-id', i)
|
|
115
|
-
.click(
|
|
115
|
+
.on("click", () => this.selectDocument(i))
|
|
116
116
|
.appendTo($('#ixv #viewer-pane .ixds-tabs .tab-area'));
|
|
117
117
|
}
|
|
118
118
|
$('#ixv #viewer-pane .ixds-tabs .tab-area .tab').eq(0).addClass("active");
|
|
@@ -232,7 +232,7 @@ export class Viewer {
|
|
|
232
232
|
const [file, fragment] = url.split('#', 2);
|
|
233
233
|
const docIndex = this._reportSet.reportFiles().indexOf(file);
|
|
234
234
|
if (!url.includes('/') && docIndex != -1) {
|
|
235
|
-
$(n).click(
|
|
235
|
+
$(n).on("click", (e) => {
|
|
236
236
|
this._showDocumentAndElement(docIndex, fragment);
|
|
237
237
|
e.preventDefault();
|
|
238
238
|
});
|
|
@@ -472,7 +472,7 @@ export class Viewer {
|
|
|
472
472
|
_applyStyles() {
|
|
473
473
|
const stlyeElts = $("<style>")
|
|
474
474
|
.prop("type", "text/css")
|
|
475
|
-
.text(require('
|
|
475
|
+
.text(require('../less/viewer.less').toString())
|
|
476
476
|
.appendTo(this._iframes.contents().find("head"));
|
|
477
477
|
this._iv.callPluginMethod("updateViewerStyleElements", stlyeElts);
|
|
478
478
|
}
|
|
@@ -512,18 +512,18 @@ export class Viewer {
|
|
|
512
512
|
_bindHandlers() {
|
|
513
513
|
const viewer = this;
|
|
514
514
|
$('.ixbrl-element', this._contents)
|
|
515
|
-
.click
|
|
515
|
+
.on("click", function (e) {
|
|
516
516
|
e.stopPropagation();
|
|
517
517
|
viewer.selectElementByClick($(this));
|
|
518
518
|
})
|
|
519
|
-
.mouseenter
|
|
520
|
-
.mouseleave
|
|
519
|
+
.on("mouseenter", function (e) { viewer._mouseEnter($(this)) })
|
|
520
|
+
.on("mouseleave", function (e) { viewer._mouseLeave($(this)) });
|
|
521
521
|
$("body", this._contents)
|
|
522
|
-
.click(
|
|
522
|
+
.on("click", () => viewer.selectElement(null));
|
|
523
523
|
|
|
524
|
-
$('#iframe-container .zoom-in').click(
|
|
525
|
-
$('#iframe-container .zoom-out').click(
|
|
526
|
-
$('#iframe-container .print').click(
|
|
524
|
+
$('#iframe-container .zoom-in').on("click", () => this.zoomIn());
|
|
525
|
+
$('#iframe-container .zoom-out').on("click", () => this.zoomOut());
|
|
526
|
+
$('#iframe-container .print').on("click", () => this.currentDocument().get(0).contentWindow.print());
|
|
527
527
|
|
|
528
528
|
TableExport.addHandles(this._contents, this._reportSet);
|
|
529
529
|
}
|