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.

Files changed (33) hide show
  1. iXBRLViewerPlugin/_version.py +2 -2
  2. iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js +1 -1
  3. iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js.LICENSE.txt +9 -2
  4. iXBRLViewerPlugin/viewer/src/i18n/en/translation.json +6 -1
  5. iXBRLViewerPlugin/viewer/src/i18n/es/translation.json +6 -0
  6. iXBRLViewerPlugin/viewer/src/js/accordian.js +1 -1
  7. iXBRLViewerPlugin/viewer/src/js/aspect.js +0 -3
  8. iXBRLViewerPlugin/viewer/src/js/calculation.js +0 -2
  9. iXBRLViewerPlugin/viewer/src/js/calculationInspector.js +4 -7
  10. iXBRLViewerPlugin/viewer/src/js/chart.js +13 -15
  11. iXBRLViewerPlugin/viewer/src/js/concept.js +0 -2
  12. iXBRLViewerPlugin/viewer/src/js/dialog.js +3 -3
  13. iXBRLViewerPlugin/viewer/src/js/fact.js +0 -2
  14. iXBRLViewerPlugin/viewer/src/js/inspector.js +35 -34
  15. iXBRLViewerPlugin/viewer/src/js/ixbrlviewer.js +1 -1
  16. iXBRLViewerPlugin/viewer/src/js/menu.js +4 -4
  17. iXBRLViewerPlugin/viewer/src/js/outline.js +0 -2
  18. iXBRLViewerPlugin/viewer/src/js/period.js +0 -1
  19. iXBRLViewerPlugin/viewer/src/js/report.js +1 -5
  20. iXBRLViewerPlugin/viewer/src/js/reportset.js +0 -1
  21. iXBRLViewerPlugin/viewer/src/js/search.js +0 -2
  22. iXBRLViewerPlugin/viewer/src/js/tableExport.js +1 -2
  23. iXBRLViewerPlugin/viewer/src/js/viewer.js +12 -12
  24. iXBRLViewerPlugin/viewer/src/js/viewerOptions.js +0 -2
  25. iXBRLViewerPlugin/viewer/webpack.common.js +19 -9
  26. {ixbrl_viewer-1.4.23.dist-info → ixbrl_viewer-1.4.24.dist-info}/METADATA +1 -1
  27. {ixbrl_viewer-1.4.23.dist-info → ixbrl_viewer-1.4.24.dist-info}/RECORD +32 -33
  28. iXBRLViewerPlugin/viewer/src/js/interact.min.js +0 -6
  29. {ixbrl_viewer-1.4.23.dist-info → ixbrl_viewer-1.4.24.dist-info}/LICENSE +0 -0
  30. {ixbrl_viewer-1.4.23.dist-info → ixbrl_viewer-1.4.24.dist-info}/NOTICE +0 -0
  31. {ixbrl_viewer-1.4.23.dist-info → ixbrl_viewer-1.4.24.dist-info}/WHEEL +0 -0
  32. {ixbrl_viewer-1.4.23.dist-info → ixbrl_viewer-1.4.24.dist-info}/entry_points.txt +0 -0
  33. {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
- * Chart.js v2.9.4
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) 2020 Chart.js Contributors
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(function () {
20
+ .on("click", function () {
21
21
  var thisCard = $(this).closest(".card");
22
22
  if (thisCard.hasClass("active")) {
23
23
  if (!a.options.alwaysOpen) {
@@ -1,8 +1,5 @@
1
1
  // See COPYRIGHT.md for copyright information
2
2
 
3
- import $ from 'jquery';
4
- import i18next from 'i18next';
5
- import { QName } from './qname.js';
6
3
  import { Period } from './period.js';
7
4
  import { Identifiers } from './identifiers.js';
8
5
 
@@ -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, ResolvedLegacyCalculation } from './calculation.js';
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("Calculation does not bind");
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("Calculation is consistent");
179
+ messageCell.addClass("consistent").find(".message").text(i18next.t('factDetails.calculationIsConsistent'));
183
180
  }
184
181
  else {
185
- messageCell.addClass("inconsistent").find(".message").text("Calculation is inconsistent");
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(() => this.removeAspect(av.name()));
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(() => this.addAspect(av.name()));
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
- yAxes: [{
187
- ticks: {
188
- beginAtZero:true
189
- },
190
- scaleLabel: {
187
+ y: {
188
+ beginAtZero: true,
189
+ title: {
191
190
  display: true,
192
- labelString: yLabel,
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
  });
@@ -1,7 +1,5 @@
1
1
  // See COPYRIGHT.md for copyright information
2
2
 
3
- import $ from 'jquery'
4
-
5
3
  export class Concept {
6
4
  constructor(report, name) {
7
5
  this._c = report.concepts()[name] || {};
@@ -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(() => this.close());
10
- $(document).bind("keyup", (e) => {
11
- if (e.keyCode === 27) {
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").hover(function () { $(this).find(".popup-content").show() }, function () { $(this).find(".popup-content").hide() });
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(() => this._viewer.selectNextTag(this._currentItem));
141
- $('.ixbrl-prev-tag').click(() => this._viewer.selectPrevTag(this._currentItem));
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(() => this.selectItem(f.vuid))
292
- .dblclick(() => $('#inspector').removeClass("search-mode"))
293
- .mousedown((e) => {
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(() => this._viewer.linkedHighlightFact(f))
303
- .mouseleave(() => this._viewer.clearLinkedHighlightFact(f))
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(() => this.search());
378
- $(".search-controls div.filter-toggle").click(() => $(".search-controls").toggleClass('show-filters'));
379
- $(".search-controls .search-filters .reset").click(() => this.resetSearchFilters());
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(() => this.selectItem(group.fact.vuid))
624
- .dblclick(() => $('#inspector').removeClass("outline-mode"))
625
- .mousedown((e) => {
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(() => this.selectItem(group.fact.vuid))
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(() => this.selectItem(r.facts.items[0].vuid));
756
- itemHTML.mouseenter(() => r.facts.items().forEach(f => this._viewer.linkedHighlightFact(f)));
757
- itemHTML.mouseleave(() => r.facts.items().forEach(f => this._viewer.clearLinkedHighlightFact(f)));
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((e) => {
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
- const calcStatus = $("<p></p>")
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(() => this._viewer.linkedHighlightFact(fn))
823
- .mouseleave(() => this._viewer.clearLinkedHighlightFact(fn))
824
- .click(() => this.selectItem(fn.vuid))
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(() => this.selectItem(factList[0].vuid))
871
- .mouseenter(() => factList.forEach(f => this._viewer.linkedHighlightFact(f)))
872
- .mouseleave(() => factList.forEach(f => this._viewer.clearLinkedHighlightFact(f)));
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(() => this.showTextBlock(item));
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(() => this.analyseDimension(fact, ["p"]))
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(() => this.selectItem(duplicates[(n+ndup-1) % ndup].vuid));
1099
- $('.duplicates .next').off().click(() => this.selectItem(duplicates[(n+1) % ndup].vuid));
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('css-loader!../less/inspector.less').toString();
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((e) => {
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((event) => {
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(() => menu.close());
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(function () {
92
+ .on("change", function () {
93
93
  callback($(this).val())
94
94
  menu.close();
95
95
  })
@@ -1,7 +1,5 @@
1
1
  // See COPYRIGHT.md for copyright information
2
2
 
3
- import $ from 'jquery'
4
-
5
3
  export class ReportSetOutline {
6
4
  constructor(reportSet) {
7
5
  this._reportSet = reportSet;
@@ -1,7 +1,6 @@
1
1
  // See COPYRIGHT.md for copyright information
2
2
 
3
3
  import { xbrlDateToMoment, momentToHuman } from "./util.js"
4
- import moment from "moment";
5
4
 
6
5
  export class Period {
7
6
  constructor(p) {
@@ -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, viewerUniqueId } from "./util.js";
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,8 +1,6 @@
1
1
  // See COPYRIGHT.md for copyright information
2
2
 
3
3
  import lunr from 'lunr'
4
- import $ from 'jquery'
5
- import Decimal from "decimal.js";
6
4
 
7
5
  export class ReportSearch {
8
6
  constructor(reportSet) {
@@ -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(() => exporter.exportTable());
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, fullDateMatch } from './number-matcher.js'
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, escapeRegex, viewerUniqueId, HIGHLIGHT_COLORS } from './util.js';
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(() => this.selectDocument(i))
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((e) => {
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('css-loader!less-loader!../less/viewer.less').toString())
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(function (e) {
515
+ .on("click", function (e) {
516
516
  e.stopPropagation();
517
517
  viewer.selectElementByClick($(this));
518
518
  })
519
- .mouseenter(function (e) { viewer._mouseEnter($(this)) })
520
- .mouseleave(function (e) { viewer._mouseLeave($(this)) });
519
+ .on("mouseenter", function (e) { viewer._mouseEnter($(this)) })
520
+ .on("mouseleave", function (e) { viewer._mouseLeave($(this)) });
521
521
  $("body", this._contents)
522
- .click(() => viewer.selectElement(null));
522
+ .on("click", () => viewer.selectElement(null));
523
523
 
524
- $('#iframe-container .zoom-in').click(() => this.zoomIn());
525
- $('#iframe-container .zoom-out').click(() => this.zoomOut());
526
- $('#iframe-container .print').click(() => this.currentDocument().get(0).contentWindow.print());
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
  }