binbot-charts 0.6.2 → 0.6.3
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.
- package/babel.config.json +13 -0
- package/browserslist +31 -0
- package/dist/public/charting_library/bundles/0.d46f0b5e9380d7893de5.js +112 -0
- package/dist/public/charting_library/bundles/1.f02c87d35fbc8ffcaedb.js +1 -0
- package/dist/public/charting_library/bundles/10.21e665b7935d5bc4ba64.js +322 -0
- package/dist/public/charting_library/bundles/11.df012db70159a159d927.js +1 -0
- package/dist/public/charting_library/bundles/12.37750b21f6d8d35c6e6e.d.ts +0 -0
- package/dist/public/charting_library/bundles/12.37750b21f6d8d35c6e6e.js +1 -0
- package/dist/public/charting_library/bundles/13.699469c73d09b7add56d.d.ts +0 -0
- package/dist/public/charting_library/bundles/13.699469c73d09b7add56d.js +1 -0
- package/dist/public/charting_library/bundles/14.d1148b38d59df9ca5061.d.ts +0 -0
- package/dist/public/charting_library/bundles/14.d1148b38d59df9ca5061.js +1 -0
- package/dist/public/charting_library/bundles/15.44f2acca80348a1da1a6.d.ts +0 -0
- package/dist/public/charting_library/bundles/15.44f2acca80348a1da1a6.js +89 -0
- package/dist/public/charting_library/bundles/16.680572949c1125757d35.d.ts +0 -0
- package/dist/public/charting_library/bundles/16.680572949c1125757d35.js +1 -0
- package/dist/public/charting_library/bundles/17.404a01f527881dfff424.d.ts +0 -0
- package/dist/public/charting_library/bundles/17.404a01f527881dfff424.js +1 -0
- package/dist/public/charting_library/bundles/18.78de69cfba051874e071.d.ts +0 -0
- package/dist/public/charting_library/bundles/18.78de69cfba051874e071.js +120 -0
- package/dist/public/charting_library/bundles/19.048f7f5d36fef428ca8d.d.ts +0 -0
- package/dist/public/charting_library/bundles/19.048f7f5d36fef428ca8d.js +1 -0
- package/dist/public/charting_library/bundles/2.60931787a6734697ac13.d.ts +0 -0
- package/dist/public/charting_library/bundles/2.60931787a6734697ac13.js +118 -0
- package/dist/public/charting_library/bundles/20.bc09ed47c5a62e1bc5c2.d.ts +0 -0
- package/dist/public/charting_library/bundles/20.bc09ed47c5a62e1bc5c2.js +128 -0
- package/dist/public/charting_library/bundles/21.4c7b5cccb67a95e7e782.d.ts +0 -0
- package/dist/public/charting_library/bundles/21.4c7b5cccb67a95e7e782.js +1 -0
- package/dist/public/charting_library/bundles/22.ca4300bcf614d8d5f4ab.d.ts +0 -0
- package/dist/public/charting_library/bundles/22.ca4300bcf614d8d5f4ab.js +1 -0
- package/dist/public/charting_library/bundles/23.256ba98e6a03200bdeba.d.ts +0 -0
- package/dist/public/charting_library/bundles/23.256ba98e6a03200bdeba.js +1 -0
- package/dist/public/charting_library/bundles/24.bc4fafedb1730259aa10.d.ts +0 -0
- package/dist/public/charting_library/bundles/24.bc4fafedb1730259aa10.js +1 -0
- package/dist/public/charting_library/bundles/25.7416db26ed3dcc87c05a.d.ts +0 -0
- package/dist/public/charting_library/bundles/25.7416db26ed3dcc87c05a.js +611 -0
- package/dist/public/charting_library/bundles/26.3aeec391d4e6e19989ee.d.ts +0 -0
- package/dist/public/charting_library/bundles/26.3aeec391d4e6e19989ee.js +1 -0
- package/dist/public/charting_library/bundles/27.e3ec08b1fb9df5f36ada.d.ts +0 -0
- package/dist/public/charting_library/bundles/27.e3ec08b1fb9df5f36ada.js +69 -0
- package/dist/public/charting_library/bundles/28.9f103042c27ea2df422f.d.ts +0 -0
- package/dist/public/charting_library/bundles/28.9f103042c27ea2df422f.js +1 -0
- package/dist/public/charting_library/bundles/29.3df8712b85d45a626aa0.d.ts +0 -0
- package/dist/public/charting_library/bundles/29.3df8712b85d45a626aa0.js +1 -0
- package/dist/public/charting_library/bundles/3.76c398b01b707e5b251c.d.ts +0 -0
- package/dist/public/charting_library/bundles/3.76c398b01b707e5b251c.js +1 -0
- package/dist/public/charting_library/bundles/30.0b732ccb122d160480b6.d.ts +0 -0
- package/dist/public/charting_library/bundles/30.0b732ccb122d160480b6.js +231 -0
- package/dist/public/charting_library/bundles/31.8d2b7a538755fd1bb760.d.ts +0 -0
- package/dist/public/charting_library/bundles/31.8d2b7a538755fd1bb760.js +166 -0
- package/dist/public/charting_library/bundles/32.13ce02217cf8f9dd6d90.d.ts +0 -0
- package/dist/public/charting_library/bundles/32.13ce02217cf8f9dd6d90.js +121 -0
- package/dist/public/charting_library/bundles/33.4d0dd1f7001fc02099bb.d.ts +0 -0
- package/dist/public/charting_library/bundles/33.4d0dd1f7001fc02099bb.js +1 -0
- package/dist/public/charting_library/bundles/34.c9baa59add71a1e48fd2.d.ts +0 -0
- package/dist/public/charting_library/bundles/34.c9baa59add71a1e48fd2.js +1 -0
- package/dist/public/charting_library/bundles/35.ed9e360f9686ad3a9497.d.ts +0 -0
- package/dist/public/charting_library/bundles/35.ed9e360f9686ad3a9497.js +1 -0
- package/dist/public/charting_library/bundles/36.1882d1a8d312a0e193e9.d.ts +0 -0
- package/dist/public/charting_library/bundles/36.1882d1a8d312a0e193e9.js +1 -0
- package/dist/public/charting_library/bundles/37.90129e4904155350d6a1.d.ts +0 -0
- package/dist/public/charting_library/bundles/37.90129e4904155350d6a1.js +199 -0
- package/dist/public/charting_library/bundles/38.41f3d509b61c8af47de3.d.ts +0 -0
- package/dist/public/charting_library/bundles/38.41f3d509b61c8af47de3.js +74 -0
- package/dist/public/charting_library/bundles/39.bc1e9ce938fd5152831f.d.ts +0 -0
- package/dist/public/charting_library/bundles/39.bc1e9ce938fd5152831f.js +1 -0
- package/dist/public/charting_library/bundles/4.c7430b8d89cddcf51345.d.ts +0 -0
- package/dist/public/charting_library/bundles/4.c7430b8d89cddcf51345.js +1 -0
- package/dist/public/charting_library/bundles/40.b59f41ba4cacbfb8acc3.d.ts +0 -0
- package/dist/public/charting_library/bundles/40.b59f41ba4cacbfb8acc3.js +29 -0
- package/dist/public/charting_library/bundles/41.a19b0ae5d68f855d2753.d.ts +0 -0
- package/dist/public/charting_library/bundles/41.a19b0ae5d68f855d2753.js +1 -0
- package/dist/public/charting_library/bundles/42.494986b0981f6d116fef.d.ts +0 -0
- package/dist/public/charting_library/bundles/42.494986b0981f6d116fef.js +1 -0
- package/dist/public/charting_library/bundles/43.619c5ed4a592cc2965a4.d.ts +0 -0
- package/dist/public/charting_library/bundles/43.619c5ed4a592cc2965a4.js +1 -0
- package/dist/public/charting_library/bundles/44.0a7df307e4f397763ce8.d.ts +0 -0
- package/dist/public/charting_library/bundles/44.0a7df307e4f397763ce8.js +363 -0
- package/dist/public/charting_library/bundles/45.db9dbd3e9bfeca5333da.d.ts +0 -0
- package/dist/public/charting_library/bundles/45.db9dbd3e9bfeca5333da.js +1 -0
- package/dist/public/charting_library/bundles/46.f1d4cfe6d6f830b4a011.d.ts +0 -0
- package/dist/public/charting_library/bundles/46.f1d4cfe6d6f830b4a011.js +114 -0
- package/dist/public/charting_library/bundles/47.a3da3f774c90bd22798e.d.ts +0 -0
- package/dist/public/charting_library/bundles/47.a3da3f774c90bd22798e.js +95 -0
- package/dist/public/charting_library/bundles/48.a93f9cb8b1bcc0e0f21e.d.ts +0 -0
- package/dist/public/charting_library/bundles/48.a93f9cb8b1bcc0e0f21e.js +1 -0
- package/dist/public/charting_library/bundles/49.bacd609f7eb77a4a4b68.d.ts +0 -0
- package/dist/public/charting_library/bundles/49.bacd609f7eb77a4a4b68.js +1 -0
- package/dist/public/charting_library/bundles/5.5e97b270ab80d99e9085.d.ts +0 -0
- package/dist/public/charting_library/bundles/5.5e97b270ab80d99e9085.js +62 -0
- package/dist/public/charting_library/bundles/50.b282667dddcb7fe1569a.d.ts +0 -0
- package/dist/public/charting_library/bundles/50.b282667dddcb7fe1569a.js +1 -0
- package/dist/public/charting_library/bundles/51.11871c50951db825ace3.d.ts +0 -0
- package/dist/public/charting_library/bundles/51.11871c50951db825ace3.js +1 -0
- package/dist/public/charting_library/bundles/52.0379a85baae3ab43b15c.d.ts +0 -0
- package/dist/public/charting_library/bundles/52.0379a85baae3ab43b15c.js +1 -0
- package/dist/public/charting_library/bundles/53.1d3ec98cfb8e19affb1c.d.ts +0 -0
- package/dist/public/charting_library/bundles/53.1d3ec98cfb8e19affb1c.js +76 -0
- package/dist/public/charting_library/bundles/54.bb5888ae55ea0a253a5b.d.ts +0 -0
- package/dist/public/charting_library/bundles/54.bb5888ae55ea0a253a5b.js +203 -0
- package/dist/public/charting_library/bundles/55.3c35a629db21ab961f11.d.ts +0 -0
- package/dist/public/charting_library/bundles/55.3c35a629db21ab961f11.js +303 -0
- package/dist/public/charting_library/bundles/56.b3e69145c0fee614443d.d.ts +0 -0
- package/dist/public/charting_library/bundles/56.b3e69145c0fee614443d.js +95 -0
- package/dist/public/charting_library/bundles/57.236996ec416da4c1f683.d.ts +0 -0
- package/dist/public/charting_library/bundles/57.236996ec416da4c1f683.js +108 -0
- package/dist/public/charting_library/bundles/58.7ffac4ba908b95705e63.d.ts +0 -0
- package/dist/public/charting_library/bundles/58.7ffac4ba908b95705e63.js +61 -0
- package/dist/public/charting_library/bundles/59.397cb6699b74d64072a8.d.ts +0 -0
- package/dist/public/charting_library/bundles/59.397cb6699b74d64072a8.js +1 -0
- package/dist/public/charting_library/bundles/6.2d67b0ae77825dbd455d.d.ts +0 -0
- package/dist/public/charting_library/bundles/6.2d67b0ae77825dbd455d.js +1 -0
- package/dist/public/charting_library/bundles/60.6b5eced2ef8fa856be88.d.ts +0 -0
- package/dist/public/charting_library/bundles/60.6b5eced2ef8fa856be88.js +1 -0
- package/dist/public/charting_library/bundles/61.38a3040c925fadff7b64.d.ts +0 -0
- package/dist/public/charting_library/bundles/61.38a3040c925fadff7b64.js +118 -0
- package/dist/public/charting_library/bundles/62.63b309f5f8da9ca013b8.d.ts +0 -0
- package/dist/public/charting_library/bundles/62.63b309f5f8da9ca013b8.js +61 -0
- package/dist/public/charting_library/bundles/63.8255c7f5191bcafcee7c.d.ts +0 -0
- package/dist/public/charting_library/bundles/63.8255c7f5191bcafcee7c.js +1 -0
- package/dist/public/charting_library/bundles/64.ec4b4d03b28c77658dde.d.ts +0 -0
- package/dist/public/charting_library/bundles/64.ec4b4d03b28c77658dde.js +1 -0
- package/dist/public/charting_library/bundles/65.f895a78b4e04257983ff.d.ts +0 -0
- package/dist/public/charting_library/bundles/65.f895a78b4e04257983ff.js +1 -0
- package/dist/public/charting_library/bundles/66.2979e9b7c35e7bf03a37.d.ts +0 -0
- package/dist/public/charting_library/bundles/66.2979e9b7c35e7bf03a37.js +1 -0
- package/dist/public/charting_library/bundles/67.25fd4b78c8c514988aeb.d.ts +0 -0
- package/dist/public/charting_library/bundles/67.25fd4b78c8c514988aeb.js +1 -0
- package/dist/public/charting_library/bundles/68.8b4124c875484d11fd94.d.ts +0 -0
- package/dist/public/charting_library/bundles/68.8b4124c875484d11fd94.js +1 -0
- package/dist/public/charting_library/bundles/69.43756a5c7477730eb0c4.d.ts +0 -0
- package/dist/public/charting_library/bundles/69.43756a5c7477730eb0c4.js +1 -0
- package/dist/public/charting_library/bundles/7.2c7c4f8a49c6380227de.d.ts +0 -0
- package/dist/public/charting_library/bundles/7.2c7c4f8a49c6380227de.js +68 -0
- package/dist/public/charting_library/bundles/70.cb9d1bb5a00896c1bb97.d.ts +0 -0
- package/dist/public/charting_library/bundles/70.cb9d1bb5a00896c1bb97.js +1 -0
- package/dist/public/charting_library/bundles/71.6a9d0842f5e48f68399c.d.ts +0 -0
- package/dist/public/charting_library/bundles/71.6a9d0842f5e48f68399c.js +1 -0
- package/dist/public/charting_library/bundles/72.e3925aaf38d2c8997638.d.ts +0 -0
- package/dist/public/charting_library/bundles/72.e3925aaf38d2c8997638.js +1 -0
- package/dist/public/charting_library/bundles/73.8ca1a096c5bdc2e5fb8a.d.ts +0 -0
- package/dist/public/charting_library/bundles/73.8ca1a096c5bdc2e5fb8a.js +1 -0
- package/dist/public/charting_library/bundles/74.34dcc0d3cd1bbfa5e951.d.ts +0 -0
- package/dist/public/charting_library/bundles/74.34dcc0d3cd1bbfa5e951.js +1 -0
- package/dist/public/charting_library/bundles/75.1c9a3a6524248ddf88bf.d.ts +0 -0
- package/dist/public/charting_library/bundles/75.1c9a3a6524248ddf88bf.js +1 -0
- package/dist/public/charting_library/bundles/76.5d20bed213399f326603.d.ts +0 -0
- package/dist/public/charting_library/bundles/76.5d20bed213399f326603.js +1 -0
- package/dist/public/charting_library/bundles/77.3e4ccccc7d3eb03c488f.d.ts +0 -0
- package/dist/public/charting_library/bundles/77.3e4ccccc7d3eb03c488f.js +1 -0
- package/dist/public/charting_library/bundles/78.1d1d47a915b06f1496fb.d.ts +0 -0
- package/dist/public/charting_library/bundles/78.1d1d47a915b06f1496fb.js +1 -0
- package/dist/public/charting_library/bundles/79.86e92b77f8cf32e6bc37.d.ts +0 -0
- package/dist/public/charting_library/bundles/79.86e92b77f8cf32e6bc37.js +1 -0
- package/dist/public/charting_library/bundles/8.ffab20b86db484062268.d.ts +0 -0
- package/dist/public/charting_library/bundles/8.ffab20b86db484062268.js +1 -0
- package/dist/public/charting_library/bundles/80.b5bc6acec3b531a510a9.d.ts +0 -0
- package/dist/public/charting_library/bundles/80.b5bc6acec3b531a510a9.js +1 -0
- package/dist/public/charting_library/bundles/81.e6a1f76017a44b03480b.d.ts +0 -0
- package/dist/public/charting_library/bundles/81.e6a1f76017a44b03480b.js +1 -0
- package/dist/public/charting_library/bundles/82.8c2919e6c8f54e36e9e6.d.ts +0 -0
- package/dist/public/charting_library/bundles/82.8c2919e6c8f54e36e9e6.js +1 -0
- package/dist/public/charting_library/bundles/83.f3e53bb5a5940e084955.d.ts +0 -0
- package/dist/public/charting_library/bundles/83.f3e53bb5a5940e084955.js +1 -0
- package/dist/public/charting_library/bundles/84.8acc496b4deeeeefb5af.d.ts +0 -0
- package/dist/public/charting_library/bundles/84.8acc496b4deeeeefb5af.js +1 -0
- package/dist/public/charting_library/bundles/85.39c78fbeaabae306f343.d.ts +0 -0
- package/dist/public/charting_library/bundles/85.39c78fbeaabae306f343.js +1 -0
- package/dist/public/charting_library/bundles/86.4bbbb9e6262243419986.d.ts +0 -0
- package/dist/public/charting_library/bundles/86.4bbbb9e6262243419986.js +1 -0
- package/dist/public/charting_library/bundles/87.cf03fa0a76bfcadd157d.d.ts +0 -0
- package/dist/public/charting_library/bundles/87.cf03fa0a76bfcadd157d.js +1 -0
- package/dist/public/charting_library/bundles/88.d1e3aec63ece25f6b8a9.d.ts +0 -0
- package/dist/public/charting_library/bundles/88.d1e3aec63ece25f6b8a9.js +1 -0
- package/dist/public/charting_library/bundles/89.d8aa43b4b9378722d572.d.ts +0 -0
- package/dist/public/charting_library/bundles/89.d8aa43b4b9378722d572.js +1 -0
- package/dist/public/charting_library/bundles/9.84ecbc930e51cb26d06a.d.ts +0 -0
- package/dist/public/charting_library/bundles/9.84ecbc930e51cb26d06a.js +1 -0
- package/dist/public/charting_library/bundles/90.ce47bb68fc3fc88b5590.d.ts +0 -0
- package/dist/public/charting_library/bundles/90.ce47bb68fc3fc88b5590.js +1 -0
- package/dist/public/charting_library/bundles/91.a9b79ef7ba0a62311a53.d.ts +0 -0
- package/dist/public/charting_library/bundles/91.a9b79ef7ba0a62311a53.js +1 -0
- package/dist/public/charting_library/bundles/92.76d5ca7ebec10a1a7a12.d.ts +0 -0
- package/dist/public/charting_library/bundles/92.76d5ca7ebec10a1a7a12.js +1 -0
- package/dist/public/charting_library/bundles/93.6de56ef1975f4a31e542.d.ts +0 -0
- package/dist/public/charting_library/bundles/93.6de56ef1975f4a31e542.js +1 -0
- package/dist/public/charting_library/bundles/94.231bea5fb12b806ef287.d.ts +0 -0
- package/dist/public/charting_library/bundles/94.231bea5fb12b806ef287.js +1 -0
- package/dist/public/charting_library/bundles/95.6f7da80aac5cf2bf77d6.d.ts +0 -0
- package/dist/public/charting_library/bundles/95.6f7da80aac5cf2bf77d6.js +1 -0
- package/dist/public/charting_library/bundles/96.43bb935eee30715afff7.d.ts +0 -0
- package/dist/public/charting_library/bundles/96.43bb935eee30715afff7.js +1 -0
- package/dist/public/charting_library/bundles/add-compare-dialog.f980c19f222ff9cb8fe6.d.ts +0 -0
- package/dist/public/charting_library/bundles/add-compare-dialog.f980c19f222ff9cb8fe6.js +263 -0
- package/dist/public/charting_library/bundles/change-interval-dialog.e928f8dec65c9244cafe.d.ts +0 -0
- package/dist/public/charting_library/bundles/change-interval-dialog.e928f8dec65c9244cafe.js +52 -0
- package/dist/public/charting_library/bundles/chart-bottom-toolbar.b2e895a5fd3f204fb6b6.d.ts +0 -0
- package/dist/public/charting_library/bundles/chart-bottom-toolbar.b2e895a5fd3f204fb6b6.js +399 -0
- package/dist/public/charting_library/bundles/chart-event-hint.94e94e93f9fdee936b66.d.ts +0 -0
- package/dist/public/charting_library/bundles/chart-event-hint.94e94e93f9fdee936b66.js +97 -0
- package/dist/public/charting_library/bundles/chart-screenshot-hint.14bfec43c52bc3d28f82.d.ts +0 -0
- package/dist/public/charting_library/bundles/chart-screenshot-hint.14bfec43c52bc3d28f82.js +49 -0
- package/dist/public/charting_library/bundles/chart-widget-gui.226991e9f53aba124fc2.d.ts +0 -0
- package/dist/public/charting_library/bundles/chart-widget-gui.226991e9f53aba124fc2.js +1199 -0
- package/dist/public/charting_library/bundles/compare-model.0e6bbdc5f5942c9a716e.d.ts +0 -0
- package/dist/public/charting_library/bundles/compare-model.0e6bbdc5f5942c9a716e.js +181 -0
- package/dist/public/charting_library/bundles/context-menu-renderer.7f6f59270ef0f3afa2ed.d.ts +0 -0
- package/dist/public/charting_library/bundles/context-menu-renderer.7f6f59270ef0f3afa2ed.js +107 -0
- package/dist/public/charting_library/bundles/currency-label-menu.a7a0c0e44d64b092f2cc.d.ts +0 -0
- package/dist/public/charting_library/bundles/currency-label-menu.a7a0c0e44d64b092f2cc.js +131 -0
- package/dist/public/charting_library/bundles/custom-intervals-add-dialog.bb64431fb1c6d852f9f1.d.ts +0 -0
- package/dist/public/charting_library/bundles/custom-intervals-add-dialog.bb64431fb1c6d852f9f1.js +71 -0
- package/dist/public/charting_library/bundles/drawing-toolbar.8cc497633535648562e7.d.ts +0 -0
- package/dist/public/charting_library/bundles/drawing-toolbar.8cc497633535648562e7.js +250 -0
- package/dist/public/charting_library/bundles/export-data.c819cfa996e2815ff11d.d.ts +0 -0
- package/dist/public/charting_library/bundles/export-data.c819cfa996e2815ff11d.js +78 -0
- package/dist/public/charting_library/bundles/floating-toolbars.d78a058b82ab09013aac.d.ts +0 -0
- package/dist/public/charting_library/bundles/floating-toolbars.d78a058b82ab09013aac.js +508 -0
- package/dist/public/charting_library/bundles/full-tooltips-popup.96fc751e06523b742440.d.ts +0 -0
- package/dist/public/charting_library/bundles/full-tooltips-popup.96fc751e06523b742440.js +92 -0
- package/dist/public/charting_library/bundles/general-chart-properties-dialog.b08948e0c90aebf07ebd.d.ts +0 -0
- package/dist/public/charting_library/bundles/general-chart-properties-dialog.b08948e0c90aebf07ebd.js +85 -0
- package/dist/public/charting_library/bundles/general-property-page.32bdfdbafbd81d9e83c6.d.ts +0 -0
- package/dist/public/charting_library/bundles/general-property-page.32bdfdbafbd81d9e83c6.js +104 -0
- package/dist/public/charting_library/bundles/go-to-date-dialog-impl.3481c4fcfde2f4d46426.d.ts +0 -0
- package/dist/public/charting_library/bundles/go-to-date-dialog-impl.3481c4fcfde2f4d46426.js +361 -0
- package/dist/public/charting_library/bundles/hammerjs.e5489031ed611f47bf09.d.ts +0 -0
- package/dist/public/charting_library/bundles/hammerjs.e5489031ed611f47bf09.js +224 -0
- package/dist/public/charting_library/bundles/header-toolbar.4bff61e047f9b8379494.d.ts +0 -0
- package/dist/public/charting_library/bundles/header-toolbar.4bff61e047f9b8379494.js +228 -0
- package/dist/public/charting_library/bundles/library.8b0dd8732414a2bcbcb1.d.ts +0 -0
- package/dist/public/charting_library/bundles/library.8b0dd8732414a2bcbcb1.js +26194 -0
- package/dist/public/charting_library/bundles/line-tools-icons.090f39d92664af3915a5.d.ts +0 -0
- package/dist/public/charting_library/bundles/line-tools-icons.090f39d92664af3915a5.js +60 -0
- package/dist/public/charting_library/bundles/load-chart-dialog.6cc1a47b17698c0108cb.d.ts +0 -0
- package/dist/public/charting_library/bundles/load-chart-dialog.6cc1a47b17698c0108cb.js +101 -0
- package/dist/public/charting_library/bundles/lollipop-tooltip-renderer.6705b971a2e73c26ecad.d.ts +0 -0
- package/dist/public/charting_library/bundles/lollipop-tooltip-renderer.6705b971a2e73c26ecad.js +116 -0
- package/dist/public/charting_library/bundles/lt-pane-views.4d2ee6c5330cd3760eb0.d.ts +0 -0
- package/dist/public/charting_library/bundles/lt-pane-views.4d2ee6c5330cd3760eb0.js +4029 -0
- package/dist/public/charting_library/bundles/lt-property-pages-with-definitions.a5e8283e77afa66b5636.d.ts +0 -0
- package/dist/public/charting_library/bundles/lt-property-pages-with-definitions.a5e8283e77afa66b5636.js +735 -0
- package/dist/public/charting_library/bundles/manage-drawings-dialog.1c0c3737002fa63fe6a6.d.ts +0 -0
- package/dist/public/charting_library/bundles/manage-drawings-dialog.1c0c3737002fa63fe6a6.js +16 -0
- package/dist/public/charting_library/bundles/moment.78e587a83a009ca48cda.d.ts +0 -0
- package/dist/public/charting_library/bundles/moment.78e587a83a009ca48cda.js +369 -0
- package/dist/public/charting_library/bundles/new-confirm-inputs-dialog.00d79c2263e005170345.d.ts +0 -0
- package/dist/public/charting_library/bundles/new-confirm-inputs-dialog.00d79c2263e005170345.js +130 -0
- package/dist/public/charting_library/bundles/new-edit-object-dialog.0ed1c3834cfc0e834aed.d.ts +0 -0
- package/dist/public/charting_library/bundles/new-edit-object-dialog.0ed1c3834cfc0e834aed.js +405 -0
- package/dist/public/charting_library/bundles/object-tree-dialog.8e2b7eb9ba2f1dbfbc11.d.ts +0 -0
- package/dist/public/charting_library/bundles/object-tree-dialog.8e2b7eb9ba2f1dbfbc11.js +1807 -0
- package/dist/public/charting_library/bundles/react.9f2899b40ad0e104f6c9.d.ts +0 -0
- package/dist/public/charting_library/bundles/react.9f2899b40ad0e104f6c9.js +3715 -0
- package/dist/public/charting_library/bundles/redux.43c3f6d214bcf2d1fbd1.d.ts +0 -0
- package/dist/public/charting_library/bundles/redux.43c3f6d214bcf2d1fbd1.js +354 -0
- package/dist/public/charting_library/bundles/restricted-toolset.08fefbae2bc0877b0ef2.d.ts +0 -0
- package/dist/public/charting_library/bundles/restricted-toolset.08fefbae2bc0877b0ef2.js +566 -0
- package/dist/public/charting_library/bundles/runtime.dfe30490f666a6b5d4fe.d.ts +0 -0
- package/dist/public/charting_library/bundles/runtime.dfe30490f666a6b5d4fe.js +79 -0
- package/dist/public/charting_library/bundles/series-icons-map.ec8043f64d8b06dbce29.d.ts +0 -0
- package/dist/public/charting_library/bundles/series-icons-map.ec8043f64d8b06dbce29.js +8 -0
- package/dist/public/charting_library/bundles/series-pane-views.eefe35e1c508ac16c102.d.ts +0 -0
- package/dist/public/charting_library/bundles/series-pane-views.eefe35e1c508ac16c102.js +52 -0
- package/dist/public/charting_library/bundles/share-chart-to-social-utils.c225af2051efd23269e0.d.ts +0 -0
- package/dist/public/charting_library/bundles/share-chart-to-social-utils.c225af2051efd23269e0.js +5 -0
- package/dist/public/charting_library/bundles/show-theme-save-dialog.f81ebf1b2ce08f4399fd.d.ts +0 -0
- package/dist/public/charting_library/bundles/show-theme-save-dialog.f81ebf1b2ce08f4399fd.js +11 -0
- package/dist/public/charting_library/bundles/simple-dialog.bd79f02afd512f0f36dd.d.ts +0 -0
- package/dist/public/charting_library/bundles/simple-dialog.bd79f02afd512f0f36dd.js +189 -0
- package/dist/public/charting_library/bundles/source-properties-editor.e858d44541ebb6f974a2.d.ts +0 -0
- package/dist/public/charting_library/bundles/source-properties-editor.e858d44541ebb6f974a2.js +39 -0
- package/dist/public/charting_library/bundles/study-market.3efd7bf7bc6e6fc7db2d.d.ts +0 -0
- package/dist/public/charting_library/bundles/study-market.3efd7bf7bc6e6fc7db2d.js +174 -0
- package/dist/public/charting_library/bundles/study-pane-views.9a873dcf74adedf7600b.d.ts +0 -0
- package/dist/public/charting_library/bundles/study-pane-views.9a873dcf74adedf7600b.js +204 -0
- package/dist/public/charting_library/bundles/study-property-pages-with-definitions.ca4fc2ef5a4deff8c0bb.d.ts +0 -0
- package/dist/public/charting_library/bundles/study-property-pages-with-definitions.ca4fc2ef5a4deff8c0bb.js +125 -0
- package/dist/public/charting_library/bundles/study-template-dialog.fe56a9893a3695e93531.d.ts +0 -0
- package/dist/public/charting_library/bundles/study-template-dialog.fe56a9893a3695e93531.js +320 -0
- package/dist/public/charting_library/bundles/symbol-info-dialog-impl.17daedab6f893acdeae4.d.ts +0 -0
- package/dist/public/charting_library/bundles/symbol-info-dialog-impl.17daedab6f893acdeae4.js +123 -0
- package/dist/public/charting_library/bundles/symbol-search-dialog.fd3311eee8604f807c80.d.ts +0 -0
- package/dist/public/charting_library/bundles/symbol-search-dialog.fd3311eee8604f807c80.js +35 -0
- package/dist/public/charting_library/bundles/take-chart-image-impl.c0e6073dcac3041eecf2.d.ts +0 -0
- package/dist/public/charting_library/bundles/take-chart-image-impl.c0e6073dcac3041eecf2.js +74 -0
- package/dist/public/charting_library/bundles/vendors.6f5e0d8d267cb3e63ee0.d.ts +0 -0
- package/dist/public/charting_library/bundles/vendors.6f5e0d8d267cb3e63ee0.js +1304 -0
- package/dist/public/charting_library/charting_library.cjs.d.ts +87 -0
- package/dist/public/charting_library/charting_library.cjs.js +98 -0
- package/dist/public/charting_library/charting_library.d.ts +0 -0
- package/dist/public/charting_library/charting_library.esm.d.ts +86 -0
- package/dist/public/charting_library/charting_library.esm.js +101 -0
- package/dist/public/charting_library/charting_library.js +99 -0
- package/dist/public/charting_library/charting_library.standalone.d.ts +1 -0
- package/dist/public/charting_library/charting_library.standalone.js +99 -0
- package/dist/src/App.d.ts +4 -0
- package/dist/src/App.js +81 -0
- package/dist/src/charting_library/bundles/0.d46f0b5e9380d7893de5.d.ts +0 -0
- package/dist/src/charting_library/bundles/0.d46f0b5e9380d7893de5.js +112 -0
- package/dist/src/charting_library/bundles/1.f02c87d35fbc8ffcaedb.d.ts +0 -0
- package/dist/src/charting_library/bundles/1.f02c87d35fbc8ffcaedb.js +1 -0
- package/dist/src/charting_library/bundles/10.21e665b7935d5bc4ba64.d.ts +0 -0
- package/dist/src/charting_library/bundles/10.21e665b7935d5bc4ba64.js +322 -0
- package/dist/src/charting_library/bundles/11.df012db70159a159d927.d.ts +0 -0
- package/dist/src/charting_library/bundles/11.df012db70159a159d927.js +1 -0
- package/dist/src/charting_library/bundles/12.37750b21f6d8d35c6e6e.d.ts +0 -0
- package/dist/src/charting_library/bundles/12.37750b21f6d8d35c6e6e.js +1 -0
- package/dist/src/charting_library/bundles/13.699469c73d09b7add56d.d.ts +0 -0
- package/dist/src/charting_library/bundles/13.699469c73d09b7add56d.js +1 -0
- package/dist/src/charting_library/bundles/14.d1148b38d59df9ca5061.d.ts +0 -0
- package/dist/src/charting_library/bundles/14.d1148b38d59df9ca5061.js +1 -0
- package/dist/src/charting_library/bundles/15.44f2acca80348a1da1a6.d.ts +0 -0
- package/dist/src/charting_library/bundles/15.44f2acca80348a1da1a6.js +89 -0
- package/dist/src/charting_library/bundles/16.680572949c1125757d35.d.ts +0 -0
- package/dist/src/charting_library/bundles/16.680572949c1125757d35.js +1 -0
- package/dist/src/charting_library/bundles/17.404a01f527881dfff424.d.ts +0 -0
- package/dist/src/charting_library/bundles/17.404a01f527881dfff424.js +1 -0
- package/dist/src/charting_library/bundles/18.78de69cfba051874e071.d.ts +0 -0
- package/dist/src/charting_library/bundles/18.78de69cfba051874e071.js +120 -0
- package/dist/src/charting_library/bundles/19.048f7f5d36fef428ca8d.d.ts +0 -0
- package/dist/src/charting_library/bundles/19.048f7f5d36fef428ca8d.js +1 -0
- package/dist/src/charting_library/bundles/2.60931787a6734697ac13.d.ts +0 -0
- package/dist/src/charting_library/bundles/2.60931787a6734697ac13.js +118 -0
- package/dist/src/charting_library/bundles/20.bc09ed47c5a62e1bc5c2.d.ts +0 -0
- package/dist/src/charting_library/bundles/20.bc09ed47c5a62e1bc5c2.js +128 -0
- package/dist/src/charting_library/bundles/21.4c7b5cccb67a95e7e782.d.ts +0 -0
- package/dist/src/charting_library/bundles/21.4c7b5cccb67a95e7e782.js +1 -0
- package/dist/src/charting_library/bundles/22.ca4300bcf614d8d5f4ab.d.ts +0 -0
- package/dist/src/charting_library/bundles/22.ca4300bcf614d8d5f4ab.js +1 -0
- package/dist/src/charting_library/bundles/23.256ba98e6a03200bdeba.d.ts +0 -0
- package/dist/src/charting_library/bundles/23.256ba98e6a03200bdeba.js +1 -0
- package/dist/src/charting_library/bundles/24.bc4fafedb1730259aa10.d.ts +0 -0
- package/dist/src/charting_library/bundles/24.bc4fafedb1730259aa10.js +1 -0
- package/dist/src/charting_library/bundles/25.7416db26ed3dcc87c05a.d.ts +0 -0
- package/dist/src/charting_library/bundles/25.7416db26ed3dcc87c05a.js +611 -0
- package/dist/src/charting_library/bundles/26.3aeec391d4e6e19989ee.d.ts +0 -0
- package/dist/src/charting_library/bundles/26.3aeec391d4e6e19989ee.js +1 -0
- package/dist/src/charting_library/bundles/27.e3ec08b1fb9df5f36ada.d.ts +0 -0
- package/dist/src/charting_library/bundles/27.e3ec08b1fb9df5f36ada.js +69 -0
- package/dist/src/charting_library/bundles/28.9f103042c27ea2df422f.d.ts +0 -0
- package/dist/src/charting_library/bundles/28.9f103042c27ea2df422f.js +1 -0
- package/dist/src/charting_library/bundles/29.3df8712b85d45a626aa0.d.ts +0 -0
- package/dist/src/charting_library/bundles/29.3df8712b85d45a626aa0.js +1 -0
- package/dist/src/charting_library/bundles/3.76c398b01b707e5b251c.d.ts +0 -0
- package/dist/src/charting_library/bundles/3.76c398b01b707e5b251c.js +1 -0
- package/dist/src/charting_library/bundles/30.0b732ccb122d160480b6.d.ts +0 -0
- package/dist/src/charting_library/bundles/30.0b732ccb122d160480b6.js +231 -0
- package/dist/src/charting_library/bundles/31.8d2b7a538755fd1bb760.d.ts +0 -0
- package/dist/src/charting_library/bundles/31.8d2b7a538755fd1bb760.js +166 -0
- package/dist/src/charting_library/bundles/32.13ce02217cf8f9dd6d90.d.ts +0 -0
- package/dist/src/charting_library/bundles/32.13ce02217cf8f9dd6d90.js +121 -0
- package/dist/src/charting_library/bundles/33.4d0dd1f7001fc02099bb.d.ts +0 -0
- package/dist/src/charting_library/bundles/33.4d0dd1f7001fc02099bb.js +1 -0
- package/dist/src/charting_library/bundles/34.c9baa59add71a1e48fd2.d.ts +0 -0
- package/dist/src/charting_library/bundles/34.c9baa59add71a1e48fd2.js +1 -0
- package/dist/src/charting_library/bundles/35.ed9e360f9686ad3a9497.d.ts +0 -0
- package/dist/src/charting_library/bundles/35.ed9e360f9686ad3a9497.js +1 -0
- package/dist/src/charting_library/bundles/36.1882d1a8d312a0e193e9.d.ts +0 -0
- package/dist/src/charting_library/bundles/36.1882d1a8d312a0e193e9.js +1 -0
- package/dist/src/charting_library/bundles/37.90129e4904155350d6a1.d.ts +0 -0
- package/dist/src/charting_library/bundles/37.90129e4904155350d6a1.js +199 -0
- package/dist/src/charting_library/bundles/38.41f3d509b61c8af47de3.d.ts +0 -0
- package/dist/src/charting_library/bundles/38.41f3d509b61c8af47de3.js +74 -0
- package/dist/src/charting_library/bundles/39.bc1e9ce938fd5152831f.d.ts +0 -0
- package/dist/src/charting_library/bundles/39.bc1e9ce938fd5152831f.js +1 -0
- package/dist/src/charting_library/bundles/4.c7430b8d89cddcf51345.d.ts +0 -0
- package/dist/src/charting_library/bundles/4.c7430b8d89cddcf51345.js +1 -0
- package/dist/src/charting_library/bundles/40.b59f41ba4cacbfb8acc3.d.ts +0 -0
- package/dist/src/charting_library/bundles/40.b59f41ba4cacbfb8acc3.js +29 -0
- package/dist/src/charting_library/bundles/41.a19b0ae5d68f855d2753.d.ts +0 -0
- package/dist/src/charting_library/bundles/41.a19b0ae5d68f855d2753.js +1 -0
- package/dist/src/charting_library/bundles/42.494986b0981f6d116fef.d.ts +0 -0
- package/dist/src/charting_library/bundles/42.494986b0981f6d116fef.js +1 -0
- package/dist/src/charting_library/bundles/43.619c5ed4a592cc2965a4.d.ts +0 -0
- package/dist/src/charting_library/bundles/43.619c5ed4a592cc2965a4.js +1 -0
- package/dist/src/charting_library/bundles/44.0a7df307e4f397763ce8.d.ts +0 -0
- package/dist/src/charting_library/bundles/44.0a7df307e4f397763ce8.js +363 -0
- package/dist/src/charting_library/bundles/45.db9dbd3e9bfeca5333da.d.ts +0 -0
- package/dist/src/charting_library/bundles/45.db9dbd3e9bfeca5333da.js +1 -0
- package/dist/src/charting_library/bundles/46.f1d4cfe6d6f830b4a011.d.ts +0 -0
- package/dist/src/charting_library/bundles/46.f1d4cfe6d6f830b4a011.js +114 -0
- package/dist/src/charting_library/bundles/47.a3da3f774c90bd22798e.d.ts +0 -0
- package/dist/src/charting_library/bundles/47.a3da3f774c90bd22798e.js +95 -0
- package/dist/src/charting_library/bundles/48.a93f9cb8b1bcc0e0f21e.d.ts +0 -0
- package/dist/src/charting_library/bundles/48.a93f9cb8b1bcc0e0f21e.js +1 -0
- package/dist/src/charting_library/bundles/49.bacd609f7eb77a4a4b68.d.ts +0 -0
- package/dist/src/charting_library/bundles/49.bacd609f7eb77a4a4b68.js +1 -0
- package/dist/src/charting_library/bundles/5.5e97b270ab80d99e9085.d.ts +0 -0
- package/dist/src/charting_library/bundles/5.5e97b270ab80d99e9085.js +62 -0
- package/dist/src/charting_library/bundles/50.b282667dddcb7fe1569a.d.ts +0 -0
- package/dist/src/charting_library/bundles/50.b282667dddcb7fe1569a.js +1 -0
- package/dist/src/charting_library/bundles/51.11871c50951db825ace3.d.ts +0 -0
- package/dist/src/charting_library/bundles/51.11871c50951db825ace3.js +1 -0
- package/dist/src/charting_library/bundles/52.0379a85baae3ab43b15c.d.ts +0 -0
- package/dist/src/charting_library/bundles/52.0379a85baae3ab43b15c.js +1 -0
- package/dist/src/charting_library/bundles/53.1d3ec98cfb8e19affb1c.d.ts +0 -0
- package/dist/src/charting_library/bundles/53.1d3ec98cfb8e19affb1c.js +76 -0
- package/dist/src/charting_library/bundles/54.bb5888ae55ea0a253a5b.d.ts +0 -0
- package/dist/src/charting_library/bundles/54.bb5888ae55ea0a253a5b.js +203 -0
- package/dist/src/charting_library/bundles/55.3c35a629db21ab961f11.d.ts +0 -0
- package/dist/src/charting_library/bundles/55.3c35a629db21ab961f11.js +303 -0
- package/dist/src/charting_library/bundles/56.b3e69145c0fee614443d.d.ts +0 -0
- package/dist/src/charting_library/bundles/56.b3e69145c0fee614443d.js +95 -0
- package/dist/src/charting_library/bundles/57.236996ec416da4c1f683.d.ts +0 -0
- package/dist/src/charting_library/bundles/57.236996ec416da4c1f683.js +108 -0
- package/dist/src/charting_library/bundles/58.7ffac4ba908b95705e63.d.ts +0 -0
- package/dist/src/charting_library/bundles/58.7ffac4ba908b95705e63.js +61 -0
- package/dist/src/charting_library/bundles/59.397cb6699b74d64072a8.d.ts +0 -0
- package/dist/src/charting_library/bundles/59.397cb6699b74d64072a8.js +1 -0
- package/dist/src/charting_library/bundles/6.2d67b0ae77825dbd455d.d.ts +0 -0
- package/dist/src/charting_library/bundles/6.2d67b0ae77825dbd455d.js +1 -0
- package/dist/src/charting_library/bundles/60.6b5eced2ef8fa856be88.d.ts +0 -0
- package/dist/src/charting_library/bundles/60.6b5eced2ef8fa856be88.js +1 -0
- package/dist/src/charting_library/bundles/61.38a3040c925fadff7b64.d.ts +0 -0
- package/dist/src/charting_library/bundles/61.38a3040c925fadff7b64.js +118 -0
- package/dist/src/charting_library/bundles/62.63b309f5f8da9ca013b8.d.ts +0 -0
- package/dist/src/charting_library/bundles/62.63b309f5f8da9ca013b8.js +61 -0
- package/dist/src/charting_library/bundles/63.8255c7f5191bcafcee7c.d.ts +0 -0
- package/dist/src/charting_library/bundles/63.8255c7f5191bcafcee7c.js +1 -0
- package/dist/src/charting_library/bundles/64.ec4b4d03b28c77658dde.d.ts +0 -0
- package/dist/src/charting_library/bundles/64.ec4b4d03b28c77658dde.js +1 -0
- package/dist/src/charting_library/bundles/65.f895a78b4e04257983ff.d.ts +0 -0
- package/dist/src/charting_library/bundles/65.f895a78b4e04257983ff.js +1 -0
- package/dist/src/charting_library/bundles/66.2979e9b7c35e7bf03a37.d.ts +0 -0
- package/dist/src/charting_library/bundles/66.2979e9b7c35e7bf03a37.js +1 -0
- package/dist/src/charting_library/bundles/67.25fd4b78c8c514988aeb.d.ts +0 -0
- package/dist/src/charting_library/bundles/67.25fd4b78c8c514988aeb.js +1 -0
- package/dist/src/charting_library/bundles/68.8b4124c875484d11fd94.d.ts +0 -0
- package/dist/src/charting_library/bundles/68.8b4124c875484d11fd94.js +1 -0
- package/dist/src/charting_library/bundles/69.43756a5c7477730eb0c4.d.ts +0 -0
- package/dist/src/charting_library/bundles/69.43756a5c7477730eb0c4.js +1 -0
- package/dist/src/charting_library/bundles/7.2c7c4f8a49c6380227de.d.ts +0 -0
- package/dist/src/charting_library/bundles/7.2c7c4f8a49c6380227de.js +68 -0
- package/dist/src/charting_library/bundles/70.cb9d1bb5a00896c1bb97.d.ts +0 -0
- package/dist/src/charting_library/bundles/70.cb9d1bb5a00896c1bb97.js +1 -0
- package/dist/src/charting_library/bundles/71.6a9d0842f5e48f68399c.d.ts +0 -0
- package/dist/src/charting_library/bundles/71.6a9d0842f5e48f68399c.js +1 -0
- package/dist/src/charting_library/bundles/72.e3925aaf38d2c8997638.d.ts +0 -0
- package/dist/src/charting_library/bundles/72.e3925aaf38d2c8997638.js +1 -0
- package/dist/src/charting_library/bundles/73.8ca1a096c5bdc2e5fb8a.d.ts +0 -0
- package/dist/src/charting_library/bundles/73.8ca1a096c5bdc2e5fb8a.js +1 -0
- package/dist/src/charting_library/bundles/74.34dcc0d3cd1bbfa5e951.d.ts +0 -0
- package/dist/src/charting_library/bundles/74.34dcc0d3cd1bbfa5e951.js +1 -0
- package/dist/src/charting_library/bundles/75.1c9a3a6524248ddf88bf.d.ts +0 -0
- package/dist/src/charting_library/bundles/75.1c9a3a6524248ddf88bf.js +1 -0
- package/dist/src/charting_library/bundles/76.5d20bed213399f326603.d.ts +0 -0
- package/dist/src/charting_library/bundles/76.5d20bed213399f326603.js +1 -0
- package/dist/src/charting_library/bundles/77.3e4ccccc7d3eb03c488f.d.ts +0 -0
- package/dist/src/charting_library/bundles/77.3e4ccccc7d3eb03c488f.js +1 -0
- package/dist/src/charting_library/bundles/78.1d1d47a915b06f1496fb.d.ts +0 -0
- package/dist/src/charting_library/bundles/78.1d1d47a915b06f1496fb.js +1 -0
- package/dist/src/charting_library/bundles/79.86e92b77f8cf32e6bc37.d.ts +0 -0
- package/dist/src/charting_library/bundles/79.86e92b77f8cf32e6bc37.js +1 -0
- package/dist/src/charting_library/bundles/8.ffab20b86db484062268.d.ts +0 -0
- package/dist/src/charting_library/bundles/8.ffab20b86db484062268.js +1 -0
- package/dist/src/charting_library/bundles/80.b5bc6acec3b531a510a9.d.ts +0 -0
- package/dist/src/charting_library/bundles/80.b5bc6acec3b531a510a9.js +1 -0
- package/dist/src/charting_library/bundles/81.e6a1f76017a44b03480b.d.ts +0 -0
- package/dist/src/charting_library/bundles/81.e6a1f76017a44b03480b.js +1 -0
- package/dist/src/charting_library/bundles/82.8c2919e6c8f54e36e9e6.d.ts +0 -0
- package/dist/src/charting_library/bundles/82.8c2919e6c8f54e36e9e6.js +1 -0
- package/dist/src/charting_library/bundles/83.f3e53bb5a5940e084955.d.ts +0 -0
- package/dist/src/charting_library/bundles/83.f3e53bb5a5940e084955.js +1 -0
- package/dist/src/charting_library/bundles/84.8acc496b4deeeeefb5af.d.ts +0 -0
- package/dist/src/charting_library/bundles/84.8acc496b4deeeeefb5af.js +1 -0
- package/dist/src/charting_library/bundles/85.39c78fbeaabae306f343.d.ts +0 -0
- package/dist/src/charting_library/bundles/85.39c78fbeaabae306f343.js +1 -0
- package/dist/src/charting_library/bundles/86.4bbbb9e6262243419986.d.ts +0 -0
- package/dist/src/charting_library/bundles/86.4bbbb9e6262243419986.js +1 -0
- package/dist/src/charting_library/bundles/87.cf03fa0a76bfcadd157d.d.ts +0 -0
- package/dist/src/charting_library/bundles/87.cf03fa0a76bfcadd157d.js +1 -0
- package/dist/src/charting_library/bundles/88.d1e3aec63ece25f6b8a9.d.ts +0 -0
- package/dist/src/charting_library/bundles/88.d1e3aec63ece25f6b8a9.js +1 -0
- package/dist/src/charting_library/bundles/89.d8aa43b4b9378722d572.d.ts +0 -0
- package/dist/src/charting_library/bundles/89.d8aa43b4b9378722d572.js +1 -0
- package/dist/src/charting_library/bundles/9.84ecbc930e51cb26d06a.d.ts +0 -0
- package/dist/src/charting_library/bundles/9.84ecbc930e51cb26d06a.js +1 -0
- package/dist/src/charting_library/bundles/90.ce47bb68fc3fc88b5590.d.ts +0 -0
- package/dist/src/charting_library/bundles/90.ce47bb68fc3fc88b5590.js +1 -0
- package/dist/src/charting_library/bundles/91.a9b79ef7ba0a62311a53.d.ts +0 -0
- package/dist/src/charting_library/bundles/91.a9b79ef7ba0a62311a53.js +1 -0
- package/dist/src/charting_library/bundles/92.76d5ca7ebec10a1a7a12.d.ts +0 -0
- package/dist/src/charting_library/bundles/92.76d5ca7ebec10a1a7a12.js +1 -0
- package/dist/src/charting_library/bundles/93.6de56ef1975f4a31e542.d.ts +0 -0
- package/dist/src/charting_library/bundles/93.6de56ef1975f4a31e542.js +1 -0
- package/dist/src/charting_library/bundles/94.231bea5fb12b806ef287.d.ts +0 -0
- package/dist/src/charting_library/bundles/94.231bea5fb12b806ef287.js +1 -0
- package/dist/src/charting_library/bundles/95.6f7da80aac5cf2bf77d6.d.ts +0 -0
- package/dist/src/charting_library/bundles/95.6f7da80aac5cf2bf77d6.js +1 -0
- package/dist/src/charting_library/bundles/96.43bb935eee30715afff7.d.ts +0 -0
- package/dist/src/charting_library/bundles/96.43bb935eee30715afff7.js +1 -0
- package/dist/src/charting_library/bundles/add-compare-dialog.f980c19f222ff9cb8fe6.d.ts +0 -0
- package/dist/src/charting_library/bundles/add-compare-dialog.f980c19f222ff9cb8fe6.js +263 -0
- package/dist/src/charting_library/bundles/change-interval-dialog.e928f8dec65c9244cafe.d.ts +0 -0
- package/dist/src/charting_library/bundles/change-interval-dialog.e928f8dec65c9244cafe.js +52 -0
- package/dist/src/charting_library/bundles/chart-bottom-toolbar.b2e895a5fd3f204fb6b6.d.ts +0 -0
- package/dist/src/charting_library/bundles/chart-bottom-toolbar.b2e895a5fd3f204fb6b6.js +399 -0
- package/dist/src/charting_library/bundles/chart-event-hint.94e94e93f9fdee936b66.d.ts +0 -0
- package/dist/src/charting_library/bundles/chart-event-hint.94e94e93f9fdee936b66.js +97 -0
- package/dist/src/charting_library/bundles/chart-screenshot-hint.14bfec43c52bc3d28f82.d.ts +0 -0
- package/dist/src/charting_library/bundles/chart-screenshot-hint.14bfec43c52bc3d28f82.js +49 -0
- package/dist/src/charting_library/bundles/chart-widget-gui.226991e9f53aba124fc2.d.ts +0 -0
- package/dist/src/charting_library/bundles/chart-widget-gui.226991e9f53aba124fc2.js +1199 -0
- package/dist/src/charting_library/bundles/compare-model.0e6bbdc5f5942c9a716e.d.ts +0 -0
- package/dist/src/charting_library/bundles/compare-model.0e6bbdc5f5942c9a716e.js +181 -0
- package/dist/src/charting_library/bundles/context-menu-renderer.7f6f59270ef0f3afa2ed.d.ts +0 -0
- package/dist/src/charting_library/bundles/context-menu-renderer.7f6f59270ef0f3afa2ed.js +107 -0
- package/dist/src/charting_library/bundles/currency-label-menu.a7a0c0e44d64b092f2cc.d.ts +0 -0
- package/dist/src/charting_library/bundles/currency-label-menu.a7a0c0e44d64b092f2cc.js +131 -0
- package/dist/src/charting_library/bundles/custom-intervals-add-dialog.bb64431fb1c6d852f9f1.d.ts +0 -0
- package/dist/src/charting_library/bundles/custom-intervals-add-dialog.bb64431fb1c6d852f9f1.js +71 -0
- package/dist/src/charting_library/bundles/drawing-toolbar.8cc497633535648562e7.d.ts +0 -0
- package/dist/src/charting_library/bundles/drawing-toolbar.8cc497633535648562e7.js +250 -0
- package/dist/src/charting_library/bundles/export-data.c819cfa996e2815ff11d.d.ts +0 -0
- package/dist/src/charting_library/bundles/export-data.c819cfa996e2815ff11d.js +78 -0
- package/dist/src/charting_library/bundles/floating-toolbars.d78a058b82ab09013aac.d.ts +0 -0
- package/dist/src/charting_library/bundles/floating-toolbars.d78a058b82ab09013aac.js +508 -0
- package/dist/src/charting_library/bundles/full-tooltips-popup.96fc751e06523b742440.d.ts +0 -0
- package/dist/src/charting_library/bundles/full-tooltips-popup.96fc751e06523b742440.js +92 -0
- package/dist/src/charting_library/bundles/general-chart-properties-dialog.b08948e0c90aebf07ebd.d.ts +0 -0
- package/dist/src/charting_library/bundles/general-chart-properties-dialog.b08948e0c90aebf07ebd.js +85 -0
- package/dist/src/charting_library/bundles/general-property-page.32bdfdbafbd81d9e83c6.d.ts +0 -0
- package/dist/src/charting_library/bundles/general-property-page.32bdfdbafbd81d9e83c6.js +104 -0
- package/dist/src/charting_library/bundles/go-to-date-dialog-impl.3481c4fcfde2f4d46426.d.ts +0 -0
- package/dist/src/charting_library/bundles/go-to-date-dialog-impl.3481c4fcfde2f4d46426.js +361 -0
- package/dist/src/charting_library/bundles/hammerjs.e5489031ed611f47bf09.d.ts +0 -0
- package/dist/src/charting_library/bundles/hammerjs.e5489031ed611f47bf09.js +224 -0
- package/dist/src/charting_library/bundles/header-toolbar.4bff61e047f9b8379494.d.ts +0 -0
- package/dist/src/charting_library/bundles/header-toolbar.4bff61e047f9b8379494.js +228 -0
- package/dist/src/charting_library/bundles/library.8b0dd8732414a2bcbcb1.d.ts +0 -0
- package/dist/src/charting_library/bundles/library.8b0dd8732414a2bcbcb1.js +26194 -0
- package/dist/src/charting_library/bundles/line-tools-icons.090f39d92664af3915a5.d.ts +0 -0
- package/dist/src/charting_library/bundles/line-tools-icons.090f39d92664af3915a5.js +60 -0
- package/dist/src/charting_library/bundles/load-chart-dialog.6cc1a47b17698c0108cb.d.ts +0 -0
- package/dist/src/charting_library/bundles/load-chart-dialog.6cc1a47b17698c0108cb.js +101 -0
- package/dist/src/charting_library/bundles/lollipop-tooltip-renderer.6705b971a2e73c26ecad.d.ts +0 -0
- package/dist/src/charting_library/bundles/lollipop-tooltip-renderer.6705b971a2e73c26ecad.js +116 -0
- package/dist/src/charting_library/bundles/lt-pane-views.4d2ee6c5330cd3760eb0.d.ts +0 -0
- package/dist/src/charting_library/bundles/lt-pane-views.4d2ee6c5330cd3760eb0.js +4029 -0
- package/dist/src/charting_library/bundles/lt-property-pages-with-definitions.a5e8283e77afa66b5636.d.ts +0 -0
- package/dist/src/charting_library/bundles/lt-property-pages-with-definitions.a5e8283e77afa66b5636.js +735 -0
- package/dist/src/charting_library/bundles/manage-drawings-dialog.1c0c3737002fa63fe6a6.d.ts +0 -0
- package/dist/src/charting_library/bundles/manage-drawings-dialog.1c0c3737002fa63fe6a6.js +16 -0
- package/dist/src/charting_library/bundles/moment.78e587a83a009ca48cda.d.ts +0 -0
- package/dist/src/charting_library/bundles/moment.78e587a83a009ca48cda.js +369 -0
- package/dist/src/charting_library/bundles/new-confirm-inputs-dialog.00d79c2263e005170345.d.ts +0 -0
- package/dist/src/charting_library/bundles/new-confirm-inputs-dialog.00d79c2263e005170345.js +130 -0
- package/dist/src/charting_library/bundles/new-edit-object-dialog.0ed1c3834cfc0e834aed.d.ts +0 -0
- package/dist/src/charting_library/bundles/new-edit-object-dialog.0ed1c3834cfc0e834aed.js +405 -0
- package/dist/src/charting_library/bundles/object-tree-dialog.8e2b7eb9ba2f1dbfbc11.d.ts +0 -0
- package/dist/src/charting_library/bundles/object-tree-dialog.8e2b7eb9ba2f1dbfbc11.js +1807 -0
- package/dist/src/charting_library/bundles/react.9f2899b40ad0e104f6c9.d.ts +0 -0
- package/dist/src/charting_library/bundles/react.9f2899b40ad0e104f6c9.js +3715 -0
- package/dist/src/charting_library/bundles/redux.43c3f6d214bcf2d1fbd1.d.ts +0 -0
- package/dist/src/charting_library/bundles/redux.43c3f6d214bcf2d1fbd1.js +354 -0
- package/dist/src/charting_library/bundles/restricted-toolset.08fefbae2bc0877b0ef2.d.ts +0 -0
- package/dist/src/charting_library/bundles/restricted-toolset.08fefbae2bc0877b0ef2.js +566 -0
- package/dist/src/charting_library/bundles/runtime.dfe30490f666a6b5d4fe.d.ts +0 -0
- package/dist/src/charting_library/bundles/runtime.dfe30490f666a6b5d4fe.js +79 -0
- package/dist/src/charting_library/bundles/series-icons-map.ec8043f64d8b06dbce29.d.ts +0 -0
- package/dist/src/charting_library/bundles/series-icons-map.ec8043f64d8b06dbce29.js +8 -0
- package/dist/src/charting_library/bundles/series-pane-views.eefe35e1c508ac16c102.d.ts +0 -0
- package/dist/src/charting_library/bundles/series-pane-views.eefe35e1c508ac16c102.js +52 -0
- package/dist/src/charting_library/bundles/share-chart-to-social-utils.c225af2051efd23269e0.d.ts +0 -0
- package/dist/src/charting_library/bundles/share-chart-to-social-utils.c225af2051efd23269e0.js +5 -0
- package/dist/src/charting_library/bundles/show-theme-save-dialog.f81ebf1b2ce08f4399fd.d.ts +0 -0
- package/dist/src/charting_library/bundles/show-theme-save-dialog.f81ebf1b2ce08f4399fd.js +11 -0
- package/dist/src/charting_library/bundles/simple-dialog.bd79f02afd512f0f36dd.d.ts +0 -0
- package/dist/src/charting_library/bundles/simple-dialog.bd79f02afd512f0f36dd.js +189 -0
- package/dist/src/charting_library/bundles/source-properties-editor.e858d44541ebb6f974a2.d.ts +0 -0
- package/dist/src/charting_library/bundles/source-properties-editor.e858d44541ebb6f974a2.js +39 -0
- package/dist/src/charting_library/bundles/study-market.3efd7bf7bc6e6fc7db2d.d.ts +0 -0
- package/dist/src/charting_library/bundles/study-market.3efd7bf7bc6e6fc7db2d.js +174 -0
- package/dist/src/charting_library/bundles/study-pane-views.9a873dcf74adedf7600b.d.ts +0 -0
- package/dist/src/charting_library/bundles/study-pane-views.9a873dcf74adedf7600b.js +204 -0
- package/dist/src/charting_library/bundles/study-property-pages-with-definitions.ca4fc2ef5a4deff8c0bb.d.ts +0 -0
- package/dist/src/charting_library/bundles/study-property-pages-with-definitions.ca4fc2ef5a4deff8c0bb.js +125 -0
- package/dist/src/charting_library/bundles/study-template-dialog.fe56a9893a3695e93531.d.ts +0 -0
- package/dist/src/charting_library/bundles/study-template-dialog.fe56a9893a3695e93531.js +320 -0
- package/dist/src/charting_library/bundles/symbol-info-dialog-impl.17daedab6f893acdeae4.d.ts +0 -0
- package/dist/src/charting_library/bundles/symbol-info-dialog-impl.17daedab6f893acdeae4.js +123 -0
- package/dist/src/charting_library/bundles/symbol-search-dialog.fd3311eee8604f807c80.d.ts +0 -0
- package/dist/src/charting_library/bundles/symbol-search-dialog.fd3311eee8604f807c80.js +35 -0
- package/dist/src/charting_library/bundles/take-chart-image-impl.c0e6073dcac3041eecf2.d.ts +0 -0
- package/dist/src/charting_library/bundles/take-chart-image-impl.c0e6073dcac3041eecf2.js +74 -0
- package/dist/src/charting_library/bundles/vendors.6f5e0d8d267cb3e63ee0.d.ts +0 -0
- package/dist/src/charting_library/bundles/vendors.6f5e0d8d267cb3e63ee0.js +1304 -0
- package/dist/src/charting_library/charting_library.cjs.d.ts +87 -0
- package/dist/src/charting_library/charting_library.cjs.js +98 -0
- package/dist/src/charting_library/charting_library.d.ts +0 -0
- package/dist/src/charting_library/charting_library.esm.d.ts +86 -0
- package/dist/src/charting_library/charting_library.esm.js +101 -0
- package/dist/src/charting_library/charting_library.js +99 -0
- package/dist/src/charting_library/charting_library.standalone.d.ts +1 -0
- package/dist/src/charting_library/charting_library.standalone.js +515 -0
- package/dist/src/datafeed.d.ts +73 -0
- package/dist/src/datafeed.js +195 -0
- package/dist/src/helpers.d.ts +3 -0
- package/dist/src/helpers.js +58 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +14 -0
- package/dist/src/main.d.ts +17 -0
- package/dist/src/main.js +124 -0
- package/dist/src/streaming.d.ts +7 -0
- package/dist/src/streaming.js +92 -0
- package/dist/tsup.config.d.ts +2 -0
- package/dist/tsup.config.js +11 -0
- package/package.json +4 -8
- package/public/charting_library/bundles/1.92647ec0a7beb8b2898d.css +0 -0
- package/public/charting_library/bundles/1.92647ec0a7beb8b2898d.rtl.css +0 -0
- package/public/charting_library/bundles/4.92647ec0a7beb8b2898d.css +0 -0
- package/public/charting_library/bundles/4.92647ec0a7beb8b2898d.rtl.css +0 -0
- package/public/charting_library/charting_library.standalone.js +1 -0
- package/public/index.html +23 -0
- package/src/App.css +26 -0
- package/src/App.tsx +100 -0
- package/src/charting-library-interfaces.d.ts +36 -0
- package/src/charting_library/bundles/0.d46f0b5e9380d7893de5.js +2 -0
- package/src/charting_library/bundles/0579d40b812fa2c3ffe72e5803a6e14c.cur +0 -0
- package/src/charting_library/bundles/1.92647ec0a7beb8b2898d.css +0 -0
- package/src/charting_library/bundles/1.92647ec0a7beb8b2898d.rtl.css +0 -0
- package/src/charting_library/bundles/1.f02c87d35fbc8ffcaedb.js +1 -0
- package/src/charting_library/bundles/10.21e665b7935d5bc4ba64.js +6 -0
- package/src/charting_library/bundles/11.8b65dc2e0d8b6e5041c4.css +1 -0
- package/src/charting_library/bundles/11.8b65dc2e0d8b6e5041c4.rtl.css +1 -0
- package/src/charting_library/bundles/11.df012db70159a159d927.js +1 -0
- package/src/charting_library/bundles/12.37750b21f6d8d35c6e6e.js +1 -0
- package/src/charting_library/bundles/12.ef8057448f3a7ae1c3d8.css +1 -0
- package/src/charting_library/bundles/12.ef8057448f3a7ae1c3d8.rtl.css +1 -0
- package/src/charting_library/bundles/13.699469c73d09b7add56d.js +1 -0
- package/src/charting_library/bundles/13.9240f13280154f2593b7.css +1 -0
- package/src/charting_library/bundles/13.9240f13280154f2593b7.rtl.css +1 -0
- package/src/charting_library/bundles/14.8095b40dd1e7deedf401.css +1 -0
- package/src/charting_library/bundles/14.8095b40dd1e7deedf401.rtl.css +1 -0
- package/src/charting_library/bundles/14.d1148b38d59df9ca5061.js +1 -0
- package/src/charting_library/bundles/15.44f2acca80348a1da1a6.js +3 -0
- package/src/charting_library/bundles/16.680572949c1125757d35.js +1 -0
- package/src/charting_library/bundles/16.d567c9db608f3d98d8de.css +1 -0
- package/src/charting_library/bundles/16.d567c9db608f3d98d8de.rtl.css +1 -0
- package/src/charting_library/bundles/17.404a01f527881dfff424.js +1 -0
- package/src/charting_library/bundles/17.ec35a19db935279c5b42.css +1 -0
- package/src/charting_library/bundles/17.ec35a19db935279c5b42.rtl.css +1 -0
- package/src/charting_library/bundles/18.78de69cfba051874e071.js +4 -0
- package/src/charting_library/bundles/19.048f7f5d36fef428ca8d.js +1 -0
- package/src/charting_library/bundles/19.75c30426f9d3ad5ca0c5.css +1 -0
- package/src/charting_library/bundles/19.75c30426f9d3ad5ca0c5.rtl.css +1 -0
- package/src/charting_library/bundles/1df47f578aeef40dd1f2328338a133be.png +0 -0
- package/src/charting_library/bundles/2.60931787a6734697ac13.js +4 -0
- package/src/charting_library/bundles/20.bc09ed47c5a62e1bc5c2.js +4 -0
- package/src/charting_library/bundles/21.4c7b5cccb67a95e7e782.js +1 -0
- package/src/charting_library/bundles/21.8153544955cdc47262e3.css +1 -0
- package/src/charting_library/bundles/21.8153544955cdc47262e3.rtl.css +1 -0
- package/src/charting_library/bundles/22.ca4300bcf614d8d5f4ab.js +1 -0
- package/src/charting_library/bundles/22.da9773799a06c6066d1e.css +1 -0
- package/src/charting_library/bundles/22.da9773799a06c6066d1e.rtl.css +1 -0
- package/src/charting_library/bundles/23.256ba98e6a03200bdeba.js +1 -0
- package/src/charting_library/bundles/23.ee754f50171546186397.css +1 -0
- package/src/charting_library/bundles/23.ee754f50171546186397.rtl.css +1 -0
- package/src/charting_library/bundles/24.bc4fafedb1730259aa10.js +1 -0
- package/src/charting_library/bundles/24.e70c1623e0c74477ef2e.css +1 -0
- package/src/charting_library/bundles/24.e70c1623e0c74477ef2e.rtl.css +1 -0
- package/src/charting_library/bundles/25.7416db26ed3dcc87c05a.js +18 -0
- package/src/charting_library/bundles/26.3aeec391d4e6e19989ee.js +1 -0
- package/src/charting_library/bundles/26.69139a843bc1c84f790b.css +1 -0
- package/src/charting_library/bundles/26.69139a843bc1c84f790b.rtl.css +1 -0
- package/src/charting_library/bundles/27.e3ec08b1fb9df5f36ada.js +3 -0
- package/src/charting_library/bundles/28.3140e8cb507ad2593c76.css +1 -0
- package/src/charting_library/bundles/28.3140e8cb507ad2593c76.rtl.css +1 -0
- package/src/charting_library/bundles/28.9f103042c27ea2df422f.js +1 -0
- package/src/charting_library/bundles/29.07af6dca962ea27209f0.css +1 -0
- package/src/charting_library/bundles/29.07af6dca962ea27209f0.rtl.css +1 -0
- package/src/charting_library/bundles/29.3df8712b85d45a626aa0.js +1 -0
- package/src/charting_library/bundles/3.76c398b01b707e5b251c.js +1 -0
- package/src/charting_library/bundles/3.eeb90413029441681f91.css +1 -0
- package/src/charting_library/bundles/3.eeb90413029441681f91.rtl.css +1 -0
- package/src/charting_library/bundles/30.0b732ccb122d160480b6.js +8 -0
- package/src/charting_library/bundles/31.8d2b7a538755fd1bb760.js +5 -0
- package/src/charting_library/bundles/32.13ce02217cf8f9dd6d90.js +4 -0
- package/src/charting_library/bundles/3293616ec0c605c7c2db25829a0a509e.woff +0 -0
- package/src/charting_library/bundles/33.02ed7df481ae8243d2f2.css +1 -0
- package/src/charting_library/bundles/33.02ed7df481ae8243d2f2.rtl.css +1 -0
- package/src/charting_library/bundles/33.4d0dd1f7001fc02099bb.js +1 -0
- package/src/charting_library/bundles/34.4b6099931f57311efc1a.css +1 -0
- package/src/charting_library/bundles/34.4b6099931f57311efc1a.rtl.css +1 -0
- package/src/charting_library/bundles/34.c9baa59add71a1e48fd2.js +1 -0
- package/src/charting_library/bundles/35.999f0e072062b7369a1a.css +1 -0
- package/src/charting_library/bundles/35.999f0e072062b7369a1a.rtl.css +1 -0
- package/src/charting_library/bundles/35.ed9e360f9686ad3a9497.js +1 -0
- package/src/charting_library/bundles/36.1882d1a8d312a0e193e9.js +1 -0
- package/src/charting_library/bundles/36.f315a19c17d5636af8f7.css +1 -0
- package/src/charting_library/bundles/36.f315a19c17d5636af8f7.rtl.css +1 -0
- package/src/charting_library/bundles/37.90129e4904155350d6a1.js +8 -0
- package/src/charting_library/bundles/38.41f3d509b61c8af47de3.js +3 -0
- package/src/charting_library/bundles/39.74a7bc3b464cd284827f.css +1 -0
- package/src/charting_library/bundles/39.74a7bc3b464cd284827f.rtl.css +1 -0
- package/src/charting_library/bundles/39.bc1e9ce938fd5152831f.js +1 -0
- package/src/charting_library/bundles/4.92647ec0a7beb8b2898d.css +0 -0
- package/src/charting_library/bundles/4.92647ec0a7beb8b2898d.rtl.css +0 -0
- package/src/charting_library/bundles/4.c7430b8d89cddcf51345.js +1 -0
- package/src/charting_library/bundles/40.b59f41ba4cacbfb8acc3.js +2 -0
- package/src/charting_library/bundles/40566afd832a155e5e370a8bd423de4b.svg +1 -0
- package/src/charting_library/bundles/40f9a03d174178efb12303caa9bc7cd8.woff2 +0 -0
- package/src/charting_library/bundles/41.8fa0fb0bd4ad0241ef2f.css +1 -0
- package/src/charting_library/bundles/41.8fa0fb0bd4ad0241ef2f.rtl.css +1 -0
- package/src/charting_library/bundles/41.a19b0ae5d68f855d2753.js +1 -0
- package/src/charting_library/bundles/42.494986b0981f6d116fef.js +1 -0
- package/src/charting_library/bundles/42.9078fb8f1629e3eee9bd.css +1 -0
- package/src/charting_library/bundles/42.9078fb8f1629e3eee9bd.rtl.css +1 -0
- package/src/charting_library/bundles/43.619c5ed4a592cc2965a4.js +1 -0
- package/src/charting_library/bundles/43.8bf90585004742c338c5.css +1 -0
- package/src/charting_library/bundles/43.8bf90585004742c338c5.rtl.css +1 -0
- package/src/charting_library/bundles/44.0a7df307e4f397763ce8.js +25 -0
- package/src/charting_library/bundles/45.12a19785e3864bd62a76.css +1 -0
- package/src/charting_library/bundles/45.12a19785e3864bd62a76.rtl.css +1 -0
- package/src/charting_library/bundles/45.db9dbd3e9bfeca5333da.js +1 -0
- package/src/charting_library/bundles/46.f1d4cfe6d6f830b4a011.js +3 -0
- package/src/charting_library/bundles/47.a3da3f774c90bd22798e.js +4 -0
- package/src/charting_library/bundles/48.a3fdb9dd54af71b3bda6.css +1 -0
- package/src/charting_library/bundles/48.a3fdb9dd54af71b3bda6.rtl.css +1 -0
- package/src/charting_library/bundles/48.a93f9cb8b1bcc0e0f21e.js +1 -0
- package/src/charting_library/bundles/49.bacd609f7eb77a4a4b68.js +1 -0
- package/src/charting_library/bundles/49.d723843c9192493b8c13.css +1 -0
- package/src/charting_library/bundles/49.d723843c9192493b8c13.rtl.css +1 -0
- package/src/charting_library/bundles/4a9abefd31dab7c8239e02e925aacd78.png +0 -0
- package/src/charting_library/bundles/4fafff07d8914dc11f6d335f606ff47c.png +0 -0
- package/src/charting_library/bundles/5.5e97b270ab80d99e9085.js +3 -0
- package/src/charting_library/bundles/50.8d5cba5b90176d3d2e3d.css +1 -0
- package/src/charting_library/bundles/50.8d5cba5b90176d3d2e3d.rtl.css +1 -0
- package/src/charting_library/bundles/50.b282667dddcb7fe1569a.js +1 -0
- package/src/charting_library/bundles/51.11871c50951db825ace3.js +1 -0
- package/src/charting_library/bundles/51.300c3df03ca063ec03a0.css +1 -0
- package/src/charting_library/bundles/51.300c3df03ca063ec03a0.rtl.css +1 -0
- package/src/charting_library/bundles/52.0379a85baae3ab43b15c.js +1 -0
- package/src/charting_library/bundles/52.29cec22b3525b47af67e.css +1 -0
- package/src/charting_library/bundles/52.29cec22b3525b47af67e.rtl.css +1 -0
- package/src/charting_library/bundles/53.1d3ec98cfb8e19affb1c.js +12 -0
- package/src/charting_library/bundles/54.bb5888ae55ea0a253a5b.js +7 -0
- package/src/charting_library/bundles/55.3c35a629db21ab961f11.js +9 -0
- package/src/charting_library/bundles/56.b3e69145c0fee614443d.js +4 -0
- package/src/charting_library/bundles/57.236996ec416da4c1f683.js +3 -0
- package/src/charting_library/bundles/58.7ffac4ba908b95705e63.js +3 -0
- package/src/charting_library/bundles/59.397cb6699b74d64072a8.js +1 -0
- package/src/charting_library/bundles/59.418f1db161eefae63284.css +1 -0
- package/src/charting_library/bundles/59.418f1db161eefae63284.rtl.css +1 -0
- package/src/charting_library/bundles/6.2221bb6a5d920bbb4bb2.css +1 -0
- package/src/charting_library/bundles/6.2221bb6a5d920bbb4bb2.rtl.css +1 -0
- package/src/charting_library/bundles/6.2d67b0ae77825dbd455d.js +1 -0
- package/src/charting_library/bundles/60.6b5eced2ef8fa856be88.js +1 -0
- package/src/charting_library/bundles/60.d4583c71cca790a25900.css +1 -0
- package/src/charting_library/bundles/60.d4583c71cca790a25900.rtl.css +1 -0
- package/src/charting_library/bundles/61.38a3040c925fadff7b64.js +6 -0
- package/src/charting_library/bundles/62.63b309f5f8da9ca013b8.js +3 -0
- package/src/charting_library/bundles/63.8255c7f5191bcafcee7c.js +1 -0
- package/src/charting_library/bundles/63.898a61bf08239711dc74.css +1 -0
- package/src/charting_library/bundles/63.898a61bf08239711dc74.rtl.css +1 -0
- package/src/charting_library/bundles/64.6f232bdb0fb4cdcc2d7d.css +1 -0
- package/src/charting_library/bundles/64.6f232bdb0fb4cdcc2d7d.rtl.css +1 -0
- package/src/charting_library/bundles/64.ec4b4d03b28c77658dde.js +1 -0
- package/src/charting_library/bundles/65.556980fc277562af83c8.css +1 -0
- package/src/charting_library/bundles/65.556980fc277562af83c8.rtl.css +1 -0
- package/src/charting_library/bundles/65.f895a78b4e04257983ff.js +1 -0
- package/src/charting_library/bundles/66.2979e9b7c35e7bf03a37.js +1 -0
- package/src/charting_library/bundles/66.84b4001b5c622a569dde.css +1 -0
- package/src/charting_library/bundles/66.84b4001b5c622a569dde.rtl.css +1 -0
- package/src/charting_library/bundles/67.19c83a0c303c290216d2.css +1 -0
- package/src/charting_library/bundles/67.19c83a0c303c290216d2.rtl.css +1 -0
- package/src/charting_library/bundles/67.25fd4b78c8c514988aeb.js +1 -0
- package/src/charting_library/bundles/68.8b4124c875484d11fd94.js +1 -0
- package/src/charting_library/bundles/68.fa7424ae9c5fe5483aac.css +1 -0
- package/src/charting_library/bundles/68.fa7424ae9c5fe5483aac.rtl.css +1 -0
- package/src/charting_library/bundles/69.094b4a764d3dc17820cf.css +1 -0
- package/src/charting_library/bundles/69.094b4a764d3dc17820cf.rtl.css +1 -0
- package/src/charting_library/bundles/69.43756a5c7477730eb0c4.js +1 -0
- package/src/charting_library/bundles/7.2c7c4f8a49c6380227de.js +3 -0
- package/src/charting_library/bundles/70.c27146ec029eda556108.css +1 -0
- package/src/charting_library/bundles/70.c27146ec029eda556108.rtl.css +1 -0
- package/src/charting_library/bundles/70.cb9d1bb5a00896c1bb97.js +1 -0
- package/src/charting_library/bundles/71.15e639d294c4209f256e.css +1 -0
- package/src/charting_library/bundles/71.15e639d294c4209f256e.rtl.css +1 -0
- package/src/charting_library/bundles/71.6a9d0842f5e48f68399c.js +1 -0
- package/src/charting_library/bundles/72.07441fd67b864b86147b.css +1 -0
- package/src/charting_library/bundles/72.07441fd67b864b86147b.rtl.css +1 -0
- package/src/charting_library/bundles/72.e3925aaf38d2c8997638.js +1 -0
- package/src/charting_library/bundles/73.6b8b9e5e2c8e2b753cb8.css +1 -0
- package/src/charting_library/bundles/73.6b8b9e5e2c8e2b753cb8.rtl.css +1 -0
- package/src/charting_library/bundles/73.8ca1a096c5bdc2e5fb8a.js +1 -0
- package/src/charting_library/bundles/7393f661fc7d4389ea6d4dabd2a5aeea.png +0 -0
- package/src/charting_library/bundles/74.34dcc0d3cd1bbfa5e951.js +1 -0
- package/src/charting_library/bundles/74.8c591c252b2e7ad8f744.css +1 -0
- package/src/charting_library/bundles/74.8c591c252b2e7ad8f744.rtl.css +1 -0
- package/src/charting_library/bundles/75.1c9a3a6524248ddf88bf.js +1 -0
- package/src/charting_library/bundles/75.fefbc386c59bf7d4f9f7.css +1 -0
- package/src/charting_library/bundles/75.fefbc386c59bf7d4f9f7.rtl.css +1 -0
- package/src/charting_library/bundles/76.5d20bed213399f326603.js +1 -0
- package/src/charting_library/bundles/76.f14d71a31295d8cd8d8b.css +1 -0
- package/src/charting_library/bundles/76.f14d71a31295d8cd8d8b.rtl.css +1 -0
- package/src/charting_library/bundles/77.3e4ccccc7d3eb03c488f.js +1 -0
- package/src/charting_library/bundles/77.9c35f7046b848fbfd7f5.css +1 -0
- package/src/charting_library/bundles/77.9c35f7046b848fbfd7f5.rtl.css +1 -0
- package/src/charting_library/bundles/78.0d502ab4d94441708606.css +1 -0
- package/src/charting_library/bundles/78.0d502ab4d94441708606.rtl.css +1 -0
- package/src/charting_library/bundles/78.1d1d47a915b06f1496fb.js +1 -0
- package/src/charting_library/bundles/79.86e92b77f8cf32e6bc37.js +1 -0
- package/src/charting_library/bundles/79.b990749a4839f9123f26.css +1 -0
- package/src/charting_library/bundles/79.b990749a4839f9123f26.rtl.css +1 -0
- package/src/charting_library/bundles/7e0cc5f7d7f5151500dd60b8d6ca60a1.png +0 -0
- package/src/charting_library/bundles/8.e66ab8f27911a033604f.css +1 -0
- package/src/charting_library/bundles/8.e66ab8f27911a033604f.rtl.css +1 -0
- package/src/charting_library/bundles/8.ffab20b86db484062268.js +1 -0
- package/src/charting_library/bundles/80.5bdd53d5fc42d40eee28.css +1 -0
- package/src/charting_library/bundles/80.5bdd53d5fc42d40eee28.rtl.css +1 -0
- package/src/charting_library/bundles/80.b5bc6acec3b531a510a9.js +1 -0
- package/src/charting_library/bundles/81.552e046aa828739c508b.css +1 -0
- package/src/charting_library/bundles/81.552e046aa828739c508b.rtl.css +1 -0
- package/src/charting_library/bundles/81.e6a1f76017a44b03480b.js +1 -0
- package/src/charting_library/bundles/82.8c2919e6c8f54e36e9e6.js +1 -0
- package/src/charting_library/bundles/82.e06fe84c8cdead4bd52e.css +1 -0
- package/src/charting_library/bundles/82.e06fe84c8cdead4bd52e.rtl.css +1 -0
- package/src/charting_library/bundles/83.e238aa056c5d4827cbdd.css +1 -0
- package/src/charting_library/bundles/83.e238aa056c5d4827cbdd.rtl.css +1 -0
- package/src/charting_library/bundles/83.f3e53bb5a5940e084955.js +1 -0
- package/src/charting_library/bundles/84.8acc496b4deeeeefb5af.js +1 -0
- package/src/charting_library/bundles/84.bb4fc57627c8626019fd.css +1 -0
- package/src/charting_library/bundles/84.bb4fc57627c8626019fd.rtl.css +1 -0
- package/src/charting_library/bundles/85.39c78fbeaabae306f343.js +1 -0
- package/src/charting_library/bundles/85.e0ba32bafcab02208901.css +1 -0
- package/src/charting_library/bundles/85.e0ba32bafcab02208901.rtl.css +1 -0
- package/src/charting_library/bundles/86.4bbbb9e6262243419986.js +1 -0
- package/src/charting_library/bundles/86.9244fc2bcc2370425a15.css +1 -0
- package/src/charting_library/bundles/86.9244fc2bcc2370425a15.rtl.css +1 -0
- package/src/charting_library/bundles/87.605cbc508223ec27341c.css +1 -0
- package/src/charting_library/bundles/87.605cbc508223ec27341c.rtl.css +1 -0
- package/src/charting_library/bundles/87.cf03fa0a76bfcadd157d.js +1 -0
- package/src/charting_library/bundles/88.158dd8a18e176936a343.css +1 -0
- package/src/charting_library/bundles/88.158dd8a18e176936a343.rtl.css +1 -0
- package/src/charting_library/bundles/88.d1e3aec63ece25f6b8a9.js +1 -0
- package/src/charting_library/bundles/89.5f142643917701de773b.css +1 -0
- package/src/charting_library/bundles/89.5f142643917701de773b.rtl.css +1 -0
- package/src/charting_library/bundles/89.d8aa43b4b9378722d572.js +1 -0
- package/src/charting_library/bundles/898929f1acdb622689e0fc0c95c8fcd0.png +0 -0
- package/src/charting_library/bundles/9.84ecbc930e51cb26d06a.js +1 -0
- package/src/charting_library/bundles/9.8ab09f93a5113a634119.css +1 -0
- package/src/charting_library/bundles/9.8ab09f93a5113a634119.rtl.css +1 -0
- package/src/charting_library/bundles/90.877114560c4828a97702.css +1 -0
- package/src/charting_library/bundles/90.877114560c4828a97702.rtl.css +1 -0
- package/src/charting_library/bundles/90.ce47bb68fc3fc88b5590.js +1 -0
- package/src/charting_library/bundles/91.2142b248a2bb29549a99.css +1 -0
- package/src/charting_library/bundles/91.2142b248a2bb29549a99.rtl.css +1 -0
- package/src/charting_library/bundles/91.a9b79ef7ba0a62311a53.js +1 -0
- package/src/charting_library/bundles/92.76d5ca7ebec10a1a7a12.js +1 -0
- package/src/charting_library/bundles/92.e46f0aa06bcdbddf3831.css +1 -0
- package/src/charting_library/bundles/92.e46f0aa06bcdbddf3831.rtl.css +1 -0
- package/src/charting_library/bundles/93.17d34ca77a7fc85a24d9.css +1 -0
- package/src/charting_library/bundles/93.17d34ca77a7fc85a24d9.rtl.css +1 -0
- package/src/charting_library/bundles/93.6de56ef1975f4a31e542.js +1 -0
- package/src/charting_library/bundles/94.231bea5fb12b806ef287.js +1 -0
- package/src/charting_library/bundles/94.b204218cb73b576333a1.css +1 -0
- package/src/charting_library/bundles/94.b204218cb73b576333a1.rtl.css +1 -0
- package/src/charting_library/bundles/95.51244d1c4baf49d08807.css +1 -0
- package/src/charting_library/bundles/95.51244d1c4baf49d08807.rtl.css +1 -0
- package/src/charting_library/bundles/95.6f7da80aac5cf2bf77d6.js +1 -0
- package/src/charting_library/bundles/96.43bb935eee30715afff7.js +1 -0
- package/src/charting_library/bundles/96.be9ad3d6a7c91501bb55.css +1 -0
- package/src/charting_library/bundles/96.be9ad3d6a7c91501bb55.rtl.css +1 -0
- package/src/charting_library/bundles/a6506134daec7169f68f563f084a9d41.svg +1 -0
- package/src/charting_library/bundles/add-compare-dialog.f980c19f222ff9cb8fe6.js +9 -0
- package/src/charting_library/bundles/b1a63a011fd92dfb93db6db243bb036c.woff2 +0 -0
- package/src/charting_library/bundles/change-interval-dialog.e928f8dec65c9244cafe.js +2 -0
- package/src/charting_library/bundles/chart-bottom-toolbar.b2e895a5fd3f204fb6b6.js +15 -0
- package/src/charting_library/bundles/chart-event-hint.94e94e93f9fdee936b66.js +2 -0
- package/src/charting_library/bundles/chart-screenshot-hint.14bfec43c52bc3d28f82.js +2 -0
- package/src/charting_library/bundles/chart-widget-gui.226991e9f53aba124fc2.js +54 -0
- package/src/charting_library/bundles/compare-model.0e6bbdc5f5942c9a716e.js +5 -0
- package/src/charting_library/bundles/context-menu-renderer.7f6f59270ef0f3afa2ed.js +4 -0
- package/src/charting_library/bundles/currency-label-menu.a7a0c0e44d64b092f2cc.js +4 -0
- package/src/charting_library/bundles/custom-intervals-add-dialog.bb64431fb1c6d852f9f1.js +3 -0
- package/src/charting_library/bundles/drawing-toolbar.8cc497633535648562e7.js +13 -0
- package/src/charting_library/bundles/ed68e83c16f77203e73dbc4c3a7c7fa1.cur +0 -0
- package/src/charting_library/bundles/export-data.c819cfa996e2815ff11d.js +2 -0
- package/src/charting_library/bundles/f55394b616ed1ae9462c37daab941d93.png +0 -0
- package/src/charting_library/bundles/floating-toolbars.d78a058b82ab09013aac.js +20 -0
- package/src/charting_library/bundles/full-tooltips-popup.96fc751e06523b742440.js +3 -0
- package/src/charting_library/bundles/general-chart-properties-dialog.b08948e0c90aebf07ebd.js +5 -0
- package/src/charting_library/bundles/general-property-page.32bdfdbafbd81d9e83c6.js +6 -0
- package/src/charting_library/bundles/go-to-date-dialog-impl.3481c4fcfde2f4d46426.js +14 -0
- package/src/charting_library/bundles/hammerjs.e5489031ed611f47bf09.js +7 -0
- package/src/charting_library/bundles/header-toolbar.4bff61e047f9b8379494.js +9 -0
- package/src/charting_library/bundles/library.579e6e3fd95b660ad833.css +1 -0
- package/src/charting_library/bundles/library.579e6e3fd95b660ad833.rtl.css +1 -0
- package/src/charting_library/bundles/library.8b0dd8732414a2bcbcb1.js +756 -0
- package/src/charting_library/bundles/line-tools-icons.090f39d92664af3915a5.js +29 -0
- package/src/charting_library/bundles/load-chart-dialog.6cc1a47b17698c0108cb.js +4 -0
- package/src/charting_library/bundles/lollipop-tooltip-renderer.6705b971a2e73c26ecad.js +4 -0
- package/src/charting_library/bundles/lt-pane-views.4d2ee6c5330cd3760eb0.js +102 -0
- package/src/charting_library/bundles/lt-property-pages-with-definitions.a5e8283e77afa66b5636.js +24 -0
- package/src/charting_library/bundles/manage-drawings-dialog.1c0c3737002fa63fe6a6.js +1 -0
- package/src/charting_library/bundles/moment.78e587a83a009ca48cda.js +17 -0
- package/src/charting_library/bundles/new-confirm-inputs-dialog.00d79c2263e005170345.js +2 -0
- package/src/charting_library/bundles/new-edit-object-dialog.0ed1c3834cfc0e834aed.js +19 -0
- package/src/charting_library/bundles/object-tree-dialog.8e2b7eb9ba2f1dbfbc11.js +58 -0
- package/src/charting_library/bundles/react.9f2899b40ad0e104f6c9.js +45 -0
- package/src/charting_library/bundles/redux.43c3f6d214bcf2d1fbd1.js +9 -0
- package/src/charting_library/bundles/restricted-toolset.08fefbae2bc0877b0ef2.js +27 -0
- package/src/charting_library/bundles/runtime.dfe30490f666a6b5d4fe.js +5 -0
- package/src/charting_library/bundles/series-icons-map.ec8043f64d8b06dbce29.js +2 -0
- package/src/charting_library/bundles/series-pane-views.eefe35e1c508ac16c102.js +1 -0
- package/src/charting_library/bundles/share-chart-to-social-utils.c225af2051efd23269e0.js +1 -0
- package/src/charting_library/bundles/show-theme-save-dialog.f81ebf1b2ce08f4399fd.js +1 -0
- package/src/charting_library/bundles/simple-dialog.bd79f02afd512f0f36dd.js +6 -0
- package/src/charting_library/bundles/source-properties-editor.e858d44541ebb6f974a2.js +2 -0
- package/src/charting_library/bundles/study-market.3efd7bf7bc6e6fc7db2d.js +7 -0
- package/src/charting_library/bundles/study-pane-views.9a873dcf74adedf7600b.js +5 -0
- package/src/charting_library/bundles/study-property-pages-with-definitions.ca4fc2ef5a4deff8c0bb.js +4 -0
- package/src/charting_library/bundles/study-template-dialog.fe56a9893a3695e93531.js +11 -0
- package/src/charting_library/bundles/symbol-info-dialog-impl.17daedab6f893acdeae4.js +4 -0
- package/src/charting_library/bundles/symbol-search-dialog.fd3311eee8604f807c80.js +1 -0
- package/src/charting_library/bundles/take-chart-image-impl.c0e6073dcac3041eecf2.js +2 -0
- package/src/charting_library/bundles/vendors.6f5e0d8d267cb3e63ee0.js +42 -0
- package/src/charting_library/charting_library.cjs.js +1 -0
- package/src/charting_library/charting_library.d.ts +2087 -0
- package/src/charting_library/charting_library.esm.js +1 -0
- package/src/charting_library/charting_library.js +1 -0
- package/src/charting_library/datafeed-api.d.ts +274 -0
- package/src/charting_library/en-tv-chart.f0bc1e45.html +1 -0
- package/src/charting_library/package.json +8 -0
- package/src/charting_library/yarn.lock +4 -0
- package/src/datafeed.ts +283 -0
- package/src/helpers.ts +41 -0
- package/src/index.css +5 -0
- package/src/index.tsx +10 -0
- package/src/main.tsx +152 -0
- package/src/streaming.ts +124 -0
- package/tsconfig.json +97 -0
- package/tsup.config.ts +10 -0
- package/dist/TVChartContainer.d.mts +0 -45
- package/dist/TVChartContainer.d.ts +0 -45
- package/dist/TVChartContainer.js +0 -746
- package/dist/TVChartContainer.js.map +0 -1
- package/dist/TVChartContainer.mjs +0 -729
- package/dist/TVChartContainer.mjs.map +0 -1
- /package/dist/{charting_library/bundles/1.92647ec0a7beb8b2898d.css → public/charting_library/bundles/0.d46f0b5e9380d7893de5.d.ts} +0 -0
- /package/dist/{charting_library/bundles/1.92647ec0a7beb8b2898d.rtl.css → public/charting_library/bundles/1.f02c87d35fbc8ffcaedb.d.ts} +0 -0
- /package/dist/{charting_library/bundles/4.92647ec0a7beb8b2898d.css → public/charting_library/bundles/10.21e665b7935d5bc4ba64.d.ts} +0 -0
- /package/dist/{charting_library/bundles/4.92647ec0a7beb8b2898d.rtl.css → public/charting_library/bundles/11.df012db70159a159d927.d.ts} +0 -0
- /package/{dist → public}/charting_library/bundles/0.d46f0b5e9380d7893de5.js +0 -0
- /package/{dist → public}/charting_library/bundles/0579d40b812fa2c3ffe72e5803a6e14c.cur +0 -0
- /package/{dist → public}/charting_library/bundles/1.f02c87d35fbc8ffcaedb.js +0 -0
- /package/{dist → public}/charting_library/bundles/10.21e665b7935d5bc4ba64.js +0 -0
- /package/{dist → public}/charting_library/bundles/11.8b65dc2e0d8b6e5041c4.css +0 -0
- /package/{dist → public}/charting_library/bundles/11.8b65dc2e0d8b6e5041c4.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/11.df012db70159a159d927.js +0 -0
- /package/{dist → public}/charting_library/bundles/12.37750b21f6d8d35c6e6e.js +0 -0
- /package/{dist → public}/charting_library/bundles/12.ef8057448f3a7ae1c3d8.css +0 -0
- /package/{dist → public}/charting_library/bundles/12.ef8057448f3a7ae1c3d8.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/13.699469c73d09b7add56d.js +0 -0
- /package/{dist → public}/charting_library/bundles/13.9240f13280154f2593b7.css +0 -0
- /package/{dist → public}/charting_library/bundles/13.9240f13280154f2593b7.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/14.8095b40dd1e7deedf401.css +0 -0
- /package/{dist → public}/charting_library/bundles/14.8095b40dd1e7deedf401.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/14.d1148b38d59df9ca5061.js +0 -0
- /package/{dist → public}/charting_library/bundles/15.44f2acca80348a1da1a6.js +0 -0
- /package/{dist → public}/charting_library/bundles/16.680572949c1125757d35.js +0 -0
- /package/{dist → public}/charting_library/bundles/16.d567c9db608f3d98d8de.css +0 -0
- /package/{dist → public}/charting_library/bundles/16.d567c9db608f3d98d8de.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/17.404a01f527881dfff424.js +0 -0
- /package/{dist → public}/charting_library/bundles/17.ec35a19db935279c5b42.css +0 -0
- /package/{dist → public}/charting_library/bundles/17.ec35a19db935279c5b42.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/18.78de69cfba051874e071.js +0 -0
- /package/{dist → public}/charting_library/bundles/19.048f7f5d36fef428ca8d.js +0 -0
- /package/{dist → public}/charting_library/bundles/19.75c30426f9d3ad5ca0c5.css +0 -0
- /package/{dist → public}/charting_library/bundles/19.75c30426f9d3ad5ca0c5.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/1df47f578aeef40dd1f2328338a133be.png +0 -0
- /package/{dist → public}/charting_library/bundles/2.60931787a6734697ac13.js +0 -0
- /package/{dist → public}/charting_library/bundles/20.bc09ed47c5a62e1bc5c2.js +0 -0
- /package/{dist → public}/charting_library/bundles/21.4c7b5cccb67a95e7e782.js +0 -0
- /package/{dist → public}/charting_library/bundles/21.8153544955cdc47262e3.css +0 -0
- /package/{dist → public}/charting_library/bundles/21.8153544955cdc47262e3.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/22.ca4300bcf614d8d5f4ab.js +0 -0
- /package/{dist → public}/charting_library/bundles/22.da9773799a06c6066d1e.css +0 -0
- /package/{dist → public}/charting_library/bundles/22.da9773799a06c6066d1e.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/23.256ba98e6a03200bdeba.js +0 -0
- /package/{dist → public}/charting_library/bundles/23.ee754f50171546186397.css +0 -0
- /package/{dist → public}/charting_library/bundles/23.ee754f50171546186397.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/24.bc4fafedb1730259aa10.js +0 -0
- /package/{dist → public}/charting_library/bundles/24.e70c1623e0c74477ef2e.css +0 -0
- /package/{dist → public}/charting_library/bundles/24.e70c1623e0c74477ef2e.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/25.7416db26ed3dcc87c05a.js +0 -0
- /package/{dist → public}/charting_library/bundles/26.3aeec391d4e6e19989ee.js +0 -0
- /package/{dist → public}/charting_library/bundles/26.69139a843bc1c84f790b.css +0 -0
- /package/{dist → public}/charting_library/bundles/26.69139a843bc1c84f790b.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/27.e3ec08b1fb9df5f36ada.js +0 -0
- /package/{dist → public}/charting_library/bundles/28.3140e8cb507ad2593c76.css +0 -0
- /package/{dist → public}/charting_library/bundles/28.3140e8cb507ad2593c76.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/28.9f103042c27ea2df422f.js +0 -0
- /package/{dist → public}/charting_library/bundles/29.07af6dca962ea27209f0.css +0 -0
- /package/{dist → public}/charting_library/bundles/29.07af6dca962ea27209f0.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/29.3df8712b85d45a626aa0.js +0 -0
- /package/{dist → public}/charting_library/bundles/3.76c398b01b707e5b251c.js +0 -0
- /package/{dist → public}/charting_library/bundles/3.eeb90413029441681f91.css +0 -0
- /package/{dist → public}/charting_library/bundles/3.eeb90413029441681f91.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/30.0b732ccb122d160480b6.js +0 -0
- /package/{dist → public}/charting_library/bundles/31.8d2b7a538755fd1bb760.js +0 -0
- /package/{dist → public}/charting_library/bundles/32.13ce02217cf8f9dd6d90.js +0 -0
- /package/{dist → public}/charting_library/bundles/3293616ec0c605c7c2db25829a0a509e.woff +0 -0
- /package/{dist → public}/charting_library/bundles/33.02ed7df481ae8243d2f2.css +0 -0
- /package/{dist → public}/charting_library/bundles/33.02ed7df481ae8243d2f2.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/33.4d0dd1f7001fc02099bb.js +0 -0
- /package/{dist → public}/charting_library/bundles/34.4b6099931f57311efc1a.css +0 -0
- /package/{dist → public}/charting_library/bundles/34.4b6099931f57311efc1a.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/34.c9baa59add71a1e48fd2.js +0 -0
- /package/{dist → public}/charting_library/bundles/35.999f0e072062b7369a1a.css +0 -0
- /package/{dist → public}/charting_library/bundles/35.999f0e072062b7369a1a.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/35.ed9e360f9686ad3a9497.js +0 -0
- /package/{dist → public}/charting_library/bundles/36.1882d1a8d312a0e193e9.js +0 -0
- /package/{dist → public}/charting_library/bundles/36.f315a19c17d5636af8f7.css +0 -0
- /package/{dist → public}/charting_library/bundles/36.f315a19c17d5636af8f7.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/37.90129e4904155350d6a1.js +0 -0
- /package/{dist → public}/charting_library/bundles/38.41f3d509b61c8af47de3.js +0 -0
- /package/{dist → public}/charting_library/bundles/39.74a7bc3b464cd284827f.css +0 -0
- /package/{dist → public}/charting_library/bundles/39.74a7bc3b464cd284827f.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/39.bc1e9ce938fd5152831f.js +0 -0
- /package/{dist → public}/charting_library/bundles/4.c7430b8d89cddcf51345.js +0 -0
- /package/{dist → public}/charting_library/bundles/40.b59f41ba4cacbfb8acc3.js +0 -0
- /package/{dist → public}/charting_library/bundles/40566afd832a155e5e370a8bd423de4b.svg +0 -0
- /package/{dist → public}/charting_library/bundles/40f9a03d174178efb12303caa9bc7cd8.woff2 +0 -0
- /package/{dist → public}/charting_library/bundles/41.8fa0fb0bd4ad0241ef2f.css +0 -0
- /package/{dist → public}/charting_library/bundles/41.8fa0fb0bd4ad0241ef2f.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/41.a19b0ae5d68f855d2753.js +0 -0
- /package/{dist → public}/charting_library/bundles/42.494986b0981f6d116fef.js +0 -0
- /package/{dist → public}/charting_library/bundles/42.9078fb8f1629e3eee9bd.css +0 -0
- /package/{dist → public}/charting_library/bundles/42.9078fb8f1629e3eee9bd.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/43.619c5ed4a592cc2965a4.js +0 -0
- /package/{dist → public}/charting_library/bundles/43.8bf90585004742c338c5.css +0 -0
- /package/{dist → public}/charting_library/bundles/43.8bf90585004742c338c5.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/44.0a7df307e4f397763ce8.js +0 -0
- /package/{dist → public}/charting_library/bundles/45.12a19785e3864bd62a76.css +0 -0
- /package/{dist → public}/charting_library/bundles/45.12a19785e3864bd62a76.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/45.db9dbd3e9bfeca5333da.js +0 -0
- /package/{dist → public}/charting_library/bundles/46.f1d4cfe6d6f830b4a011.js +0 -0
- /package/{dist → public}/charting_library/bundles/47.a3da3f774c90bd22798e.js +0 -0
- /package/{dist → public}/charting_library/bundles/48.a3fdb9dd54af71b3bda6.css +0 -0
- /package/{dist → public}/charting_library/bundles/48.a3fdb9dd54af71b3bda6.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/48.a93f9cb8b1bcc0e0f21e.js +0 -0
- /package/{dist → public}/charting_library/bundles/49.bacd609f7eb77a4a4b68.js +0 -0
- /package/{dist → public}/charting_library/bundles/49.d723843c9192493b8c13.css +0 -0
- /package/{dist → public}/charting_library/bundles/49.d723843c9192493b8c13.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/4a9abefd31dab7c8239e02e925aacd78.png +0 -0
- /package/{dist → public}/charting_library/bundles/4fafff07d8914dc11f6d335f606ff47c.png +0 -0
- /package/{dist → public}/charting_library/bundles/5.5e97b270ab80d99e9085.js +0 -0
- /package/{dist → public}/charting_library/bundles/50.8d5cba5b90176d3d2e3d.css +0 -0
- /package/{dist → public}/charting_library/bundles/50.8d5cba5b90176d3d2e3d.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/50.b282667dddcb7fe1569a.js +0 -0
- /package/{dist → public}/charting_library/bundles/51.11871c50951db825ace3.js +0 -0
- /package/{dist → public}/charting_library/bundles/51.300c3df03ca063ec03a0.css +0 -0
- /package/{dist → public}/charting_library/bundles/51.300c3df03ca063ec03a0.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/52.0379a85baae3ab43b15c.js +0 -0
- /package/{dist → public}/charting_library/bundles/52.29cec22b3525b47af67e.css +0 -0
- /package/{dist → public}/charting_library/bundles/52.29cec22b3525b47af67e.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/53.1d3ec98cfb8e19affb1c.js +0 -0
- /package/{dist → public}/charting_library/bundles/54.bb5888ae55ea0a253a5b.js +0 -0
- /package/{dist → public}/charting_library/bundles/55.3c35a629db21ab961f11.js +0 -0
- /package/{dist → public}/charting_library/bundles/56.b3e69145c0fee614443d.js +0 -0
- /package/{dist → public}/charting_library/bundles/57.236996ec416da4c1f683.js +0 -0
- /package/{dist → public}/charting_library/bundles/58.7ffac4ba908b95705e63.js +0 -0
- /package/{dist → public}/charting_library/bundles/59.397cb6699b74d64072a8.js +0 -0
- /package/{dist → public}/charting_library/bundles/59.418f1db161eefae63284.css +0 -0
- /package/{dist → public}/charting_library/bundles/59.418f1db161eefae63284.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/6.2221bb6a5d920bbb4bb2.css +0 -0
- /package/{dist → public}/charting_library/bundles/6.2221bb6a5d920bbb4bb2.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/6.2d67b0ae77825dbd455d.js +0 -0
- /package/{dist → public}/charting_library/bundles/60.6b5eced2ef8fa856be88.js +0 -0
- /package/{dist → public}/charting_library/bundles/60.d4583c71cca790a25900.css +0 -0
- /package/{dist → public}/charting_library/bundles/60.d4583c71cca790a25900.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/61.38a3040c925fadff7b64.js +0 -0
- /package/{dist → public}/charting_library/bundles/62.63b309f5f8da9ca013b8.js +0 -0
- /package/{dist → public}/charting_library/bundles/63.8255c7f5191bcafcee7c.js +0 -0
- /package/{dist → public}/charting_library/bundles/63.898a61bf08239711dc74.css +0 -0
- /package/{dist → public}/charting_library/bundles/63.898a61bf08239711dc74.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/64.6f232bdb0fb4cdcc2d7d.css +0 -0
- /package/{dist → public}/charting_library/bundles/64.6f232bdb0fb4cdcc2d7d.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/64.ec4b4d03b28c77658dde.js +0 -0
- /package/{dist → public}/charting_library/bundles/65.556980fc277562af83c8.css +0 -0
- /package/{dist → public}/charting_library/bundles/65.556980fc277562af83c8.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/65.f895a78b4e04257983ff.js +0 -0
- /package/{dist → public}/charting_library/bundles/66.2979e9b7c35e7bf03a37.js +0 -0
- /package/{dist → public}/charting_library/bundles/66.84b4001b5c622a569dde.css +0 -0
- /package/{dist → public}/charting_library/bundles/66.84b4001b5c622a569dde.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/67.19c83a0c303c290216d2.css +0 -0
- /package/{dist → public}/charting_library/bundles/67.19c83a0c303c290216d2.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/67.25fd4b78c8c514988aeb.js +0 -0
- /package/{dist → public}/charting_library/bundles/68.8b4124c875484d11fd94.js +0 -0
- /package/{dist → public}/charting_library/bundles/68.fa7424ae9c5fe5483aac.css +0 -0
- /package/{dist → public}/charting_library/bundles/68.fa7424ae9c5fe5483aac.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/69.094b4a764d3dc17820cf.css +0 -0
- /package/{dist → public}/charting_library/bundles/69.094b4a764d3dc17820cf.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/69.43756a5c7477730eb0c4.js +0 -0
- /package/{dist → public}/charting_library/bundles/7.2c7c4f8a49c6380227de.js +0 -0
- /package/{dist → public}/charting_library/bundles/70.c27146ec029eda556108.css +0 -0
- /package/{dist → public}/charting_library/bundles/70.c27146ec029eda556108.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/70.cb9d1bb5a00896c1bb97.js +0 -0
- /package/{dist → public}/charting_library/bundles/71.15e639d294c4209f256e.css +0 -0
- /package/{dist → public}/charting_library/bundles/71.15e639d294c4209f256e.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/71.6a9d0842f5e48f68399c.js +0 -0
- /package/{dist → public}/charting_library/bundles/72.07441fd67b864b86147b.css +0 -0
- /package/{dist → public}/charting_library/bundles/72.07441fd67b864b86147b.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/72.e3925aaf38d2c8997638.js +0 -0
- /package/{dist → public}/charting_library/bundles/73.6b8b9e5e2c8e2b753cb8.css +0 -0
- /package/{dist → public}/charting_library/bundles/73.6b8b9e5e2c8e2b753cb8.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/73.8ca1a096c5bdc2e5fb8a.js +0 -0
- /package/{dist → public}/charting_library/bundles/7393f661fc7d4389ea6d4dabd2a5aeea.png +0 -0
- /package/{dist → public}/charting_library/bundles/74.34dcc0d3cd1bbfa5e951.js +0 -0
- /package/{dist → public}/charting_library/bundles/74.8c591c252b2e7ad8f744.css +0 -0
- /package/{dist → public}/charting_library/bundles/74.8c591c252b2e7ad8f744.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/75.1c9a3a6524248ddf88bf.js +0 -0
- /package/{dist → public}/charting_library/bundles/75.fefbc386c59bf7d4f9f7.css +0 -0
- /package/{dist → public}/charting_library/bundles/75.fefbc386c59bf7d4f9f7.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/76.5d20bed213399f326603.js +0 -0
- /package/{dist → public}/charting_library/bundles/76.f14d71a31295d8cd8d8b.css +0 -0
- /package/{dist → public}/charting_library/bundles/76.f14d71a31295d8cd8d8b.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/77.3e4ccccc7d3eb03c488f.js +0 -0
- /package/{dist → public}/charting_library/bundles/77.9c35f7046b848fbfd7f5.css +0 -0
- /package/{dist → public}/charting_library/bundles/77.9c35f7046b848fbfd7f5.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/78.0d502ab4d94441708606.css +0 -0
- /package/{dist → public}/charting_library/bundles/78.0d502ab4d94441708606.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/78.1d1d47a915b06f1496fb.js +0 -0
- /package/{dist → public}/charting_library/bundles/79.86e92b77f8cf32e6bc37.js +0 -0
- /package/{dist → public}/charting_library/bundles/79.b990749a4839f9123f26.css +0 -0
- /package/{dist → public}/charting_library/bundles/79.b990749a4839f9123f26.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/7e0cc5f7d7f5151500dd60b8d6ca60a1.png +0 -0
- /package/{dist → public}/charting_library/bundles/8.e66ab8f27911a033604f.css +0 -0
- /package/{dist → public}/charting_library/bundles/8.e66ab8f27911a033604f.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/8.ffab20b86db484062268.js +0 -0
- /package/{dist → public}/charting_library/bundles/80.5bdd53d5fc42d40eee28.css +0 -0
- /package/{dist → public}/charting_library/bundles/80.5bdd53d5fc42d40eee28.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/80.b5bc6acec3b531a510a9.js +0 -0
- /package/{dist → public}/charting_library/bundles/81.552e046aa828739c508b.css +0 -0
- /package/{dist → public}/charting_library/bundles/81.552e046aa828739c508b.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/81.e6a1f76017a44b03480b.js +0 -0
- /package/{dist → public}/charting_library/bundles/82.8c2919e6c8f54e36e9e6.js +0 -0
- /package/{dist → public}/charting_library/bundles/82.e06fe84c8cdead4bd52e.css +0 -0
- /package/{dist → public}/charting_library/bundles/82.e06fe84c8cdead4bd52e.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/83.e238aa056c5d4827cbdd.css +0 -0
- /package/{dist → public}/charting_library/bundles/83.e238aa056c5d4827cbdd.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/83.f3e53bb5a5940e084955.js +0 -0
- /package/{dist → public}/charting_library/bundles/84.8acc496b4deeeeefb5af.js +0 -0
- /package/{dist → public}/charting_library/bundles/84.bb4fc57627c8626019fd.css +0 -0
- /package/{dist → public}/charting_library/bundles/84.bb4fc57627c8626019fd.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/85.39c78fbeaabae306f343.js +0 -0
- /package/{dist → public}/charting_library/bundles/85.e0ba32bafcab02208901.css +0 -0
- /package/{dist → public}/charting_library/bundles/85.e0ba32bafcab02208901.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/86.4bbbb9e6262243419986.js +0 -0
- /package/{dist → public}/charting_library/bundles/86.9244fc2bcc2370425a15.css +0 -0
- /package/{dist → public}/charting_library/bundles/86.9244fc2bcc2370425a15.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/87.605cbc508223ec27341c.css +0 -0
- /package/{dist → public}/charting_library/bundles/87.605cbc508223ec27341c.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/87.cf03fa0a76bfcadd157d.js +0 -0
- /package/{dist → public}/charting_library/bundles/88.158dd8a18e176936a343.css +0 -0
- /package/{dist → public}/charting_library/bundles/88.158dd8a18e176936a343.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/88.d1e3aec63ece25f6b8a9.js +0 -0
- /package/{dist → public}/charting_library/bundles/89.5f142643917701de773b.css +0 -0
- /package/{dist → public}/charting_library/bundles/89.5f142643917701de773b.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/89.d8aa43b4b9378722d572.js +0 -0
- /package/{dist → public}/charting_library/bundles/898929f1acdb622689e0fc0c95c8fcd0.png +0 -0
- /package/{dist → public}/charting_library/bundles/9.84ecbc930e51cb26d06a.js +0 -0
- /package/{dist → public}/charting_library/bundles/9.8ab09f93a5113a634119.css +0 -0
- /package/{dist → public}/charting_library/bundles/9.8ab09f93a5113a634119.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/90.877114560c4828a97702.css +0 -0
- /package/{dist → public}/charting_library/bundles/90.877114560c4828a97702.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/90.ce47bb68fc3fc88b5590.js +0 -0
- /package/{dist → public}/charting_library/bundles/91.2142b248a2bb29549a99.css +0 -0
- /package/{dist → public}/charting_library/bundles/91.2142b248a2bb29549a99.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/91.a9b79ef7ba0a62311a53.js +0 -0
- /package/{dist → public}/charting_library/bundles/92.76d5ca7ebec10a1a7a12.js +0 -0
- /package/{dist → public}/charting_library/bundles/92.e46f0aa06bcdbddf3831.css +0 -0
- /package/{dist → public}/charting_library/bundles/92.e46f0aa06bcdbddf3831.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/93.17d34ca77a7fc85a24d9.css +0 -0
- /package/{dist → public}/charting_library/bundles/93.17d34ca77a7fc85a24d9.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/93.6de56ef1975f4a31e542.js +0 -0
- /package/{dist → public}/charting_library/bundles/94.231bea5fb12b806ef287.js +0 -0
- /package/{dist → public}/charting_library/bundles/94.b204218cb73b576333a1.css +0 -0
- /package/{dist → public}/charting_library/bundles/94.b204218cb73b576333a1.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/95.51244d1c4baf49d08807.css +0 -0
- /package/{dist → public}/charting_library/bundles/95.51244d1c4baf49d08807.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/95.6f7da80aac5cf2bf77d6.js +0 -0
- /package/{dist → public}/charting_library/bundles/96.43bb935eee30715afff7.js +0 -0
- /package/{dist → public}/charting_library/bundles/96.be9ad3d6a7c91501bb55.css +0 -0
- /package/{dist → public}/charting_library/bundles/96.be9ad3d6a7c91501bb55.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/a6506134daec7169f68f563f084a9d41.svg +0 -0
- /package/{dist → public}/charting_library/bundles/add-compare-dialog.f980c19f222ff9cb8fe6.js +0 -0
- /package/{dist → public}/charting_library/bundles/b1a63a011fd92dfb93db6db243bb036c.woff2 +0 -0
- /package/{dist → public}/charting_library/bundles/change-interval-dialog.e928f8dec65c9244cafe.js +0 -0
- /package/{dist → public}/charting_library/bundles/chart-bottom-toolbar.b2e895a5fd3f204fb6b6.js +0 -0
- /package/{dist → public}/charting_library/bundles/chart-event-hint.94e94e93f9fdee936b66.js +0 -0
- /package/{dist → public}/charting_library/bundles/chart-screenshot-hint.14bfec43c52bc3d28f82.js +0 -0
- /package/{dist → public}/charting_library/bundles/chart-widget-gui.226991e9f53aba124fc2.js +0 -0
- /package/{dist → public}/charting_library/bundles/compare-model.0e6bbdc5f5942c9a716e.js +0 -0
- /package/{dist → public}/charting_library/bundles/context-menu-renderer.7f6f59270ef0f3afa2ed.js +0 -0
- /package/{dist → public}/charting_library/bundles/currency-label-menu.a7a0c0e44d64b092f2cc.js +0 -0
- /package/{dist → public}/charting_library/bundles/custom-intervals-add-dialog.bb64431fb1c6d852f9f1.js +0 -0
- /package/{dist → public}/charting_library/bundles/drawing-toolbar.8cc497633535648562e7.js +0 -0
- /package/{dist → public}/charting_library/bundles/ed68e83c16f77203e73dbc4c3a7c7fa1.cur +0 -0
- /package/{dist → public}/charting_library/bundles/export-data.c819cfa996e2815ff11d.js +0 -0
- /package/{dist → public}/charting_library/bundles/f55394b616ed1ae9462c37daab941d93.png +0 -0
- /package/{dist → public}/charting_library/bundles/floating-toolbars.d78a058b82ab09013aac.js +0 -0
- /package/{dist → public}/charting_library/bundles/full-tooltips-popup.96fc751e06523b742440.js +0 -0
- /package/{dist → public}/charting_library/bundles/general-chart-properties-dialog.b08948e0c90aebf07ebd.js +0 -0
- /package/{dist → public}/charting_library/bundles/general-property-page.32bdfdbafbd81d9e83c6.js +0 -0
- /package/{dist → public}/charting_library/bundles/go-to-date-dialog-impl.3481c4fcfde2f4d46426.js +0 -0
- /package/{dist → public}/charting_library/bundles/hammerjs.e5489031ed611f47bf09.js +0 -0
- /package/{dist → public}/charting_library/bundles/header-toolbar.4bff61e047f9b8379494.js +0 -0
- /package/{dist → public}/charting_library/bundles/library.579e6e3fd95b660ad833.css +0 -0
- /package/{dist → public}/charting_library/bundles/library.579e6e3fd95b660ad833.rtl.css +0 -0
- /package/{dist → public}/charting_library/bundles/library.8b0dd8732414a2bcbcb1.js +0 -0
- /package/{dist → public}/charting_library/bundles/line-tools-icons.090f39d92664af3915a5.js +0 -0
- /package/{dist → public}/charting_library/bundles/load-chart-dialog.6cc1a47b17698c0108cb.js +0 -0
- /package/{dist → public}/charting_library/bundles/lollipop-tooltip-renderer.6705b971a2e73c26ecad.js +0 -0
- /package/{dist → public}/charting_library/bundles/lt-pane-views.4d2ee6c5330cd3760eb0.js +0 -0
- /package/{dist → public}/charting_library/bundles/lt-property-pages-with-definitions.a5e8283e77afa66b5636.js +0 -0
- /package/{dist → public}/charting_library/bundles/manage-drawings-dialog.1c0c3737002fa63fe6a6.js +0 -0
- /package/{dist → public}/charting_library/bundles/moment.78e587a83a009ca48cda.js +0 -0
- /package/{dist → public}/charting_library/bundles/new-confirm-inputs-dialog.00d79c2263e005170345.js +0 -0
- /package/{dist → public}/charting_library/bundles/new-edit-object-dialog.0ed1c3834cfc0e834aed.js +0 -0
- /package/{dist → public}/charting_library/bundles/object-tree-dialog.8e2b7eb9ba2f1dbfbc11.js +0 -0
- /package/{dist → public}/charting_library/bundles/react.9f2899b40ad0e104f6c9.js +0 -0
- /package/{dist → public}/charting_library/bundles/redux.43c3f6d214bcf2d1fbd1.js +0 -0
- /package/{dist → public}/charting_library/bundles/restricted-toolset.08fefbae2bc0877b0ef2.js +0 -0
- /package/{dist → public}/charting_library/bundles/runtime.dfe30490f666a6b5d4fe.js +0 -0
- /package/{dist → public}/charting_library/bundles/series-icons-map.ec8043f64d8b06dbce29.js +0 -0
- /package/{dist → public}/charting_library/bundles/series-pane-views.eefe35e1c508ac16c102.js +0 -0
- /package/{dist → public}/charting_library/bundles/share-chart-to-social-utils.c225af2051efd23269e0.js +0 -0
- /package/{dist → public}/charting_library/bundles/show-theme-save-dialog.f81ebf1b2ce08f4399fd.js +0 -0
- /package/{dist → public}/charting_library/bundles/simple-dialog.bd79f02afd512f0f36dd.js +0 -0
- /package/{dist → public}/charting_library/bundles/source-properties-editor.e858d44541ebb6f974a2.js +0 -0
- /package/{dist → public}/charting_library/bundles/study-market.3efd7bf7bc6e6fc7db2d.js +0 -0
- /package/{dist → public}/charting_library/bundles/study-pane-views.9a873dcf74adedf7600b.js +0 -0
- /package/{dist → public}/charting_library/bundles/study-property-pages-with-definitions.ca4fc2ef5a4deff8c0bb.js +0 -0
- /package/{dist → public}/charting_library/bundles/study-template-dialog.fe56a9893a3695e93531.js +0 -0
- /package/{dist → public}/charting_library/bundles/symbol-info-dialog-impl.17daedab6f893acdeae4.js +0 -0
- /package/{dist → public}/charting_library/bundles/symbol-search-dialog.fd3311eee8604f807c80.js +0 -0
- /package/{dist → public}/charting_library/bundles/take-chart-image-impl.c0e6073dcac3041eecf2.js +0 -0
- /package/{dist → public}/charting_library/bundles/vendors.6f5e0d8d267cb3e63ee0.js +0 -0
- /package/{dist → public}/charting_library/charting_library.cjs.js +0 -0
- /package/{dist → public}/charting_library/charting_library.d.ts +0 -0
- /package/{dist → public}/charting_library/charting_library.esm.js +0 -0
- /package/{dist → public}/charting_library/charting_library.js +0 -0
- /package/{dist → public}/charting_library/datafeed-api.d.ts +0 -0
- /package/{dist → public}/charting_library/en-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → public}/charting_library/package.json +0 -0
- /package/{dist → public}/charting_library/yarn.lock +0 -0
- /package/{dist → src}/charting_library/ar-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/charting_library.standalone.js +0 -0
- /package/{dist → src}/charting_library/cs-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/da_DK-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/de-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/el-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/es-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/et_EE-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/fa-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/fr-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/he_IL-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/hu_HU-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/id_ID-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/it-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/ja-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/ko-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/ms_MY-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/nl_NL-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/no-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/pl-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/pt-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/ro-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/ru-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/sk_SK-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/sv-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/th-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/tr-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/vi-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/zh-tv-chart.f0bc1e45.html +0 -0
- /package/{dist → src}/charting_library/zh_TW-tv-chart.f0bc1e45.html +0 -0
|
@@ -0,0 +1,4029 @@
|
|
|
1
|
+
(window.webpackJsonp = window.webpackJsonp || []).push([["lt-pane-views"], { "/S7V": function (e, t, i) {
|
|
2
|
+
"use strict";
|
|
3
|
+
i.r(t), i.d(t, "TriangleRenderer", (function () { return d; }));
|
|
4
|
+
var r = i("GEp6"), n = i("f6yo"), s = i("cPgM"), a = i("VdBB"), o = i("Tmoa"), l = i("jFln"), h = i("Zp/P");
|
|
5
|
+
class d extends s.ScaledPaneRenderer {
|
|
6
|
+
constructor() { super(...arguments), this._data = null; }
|
|
7
|
+
setData(e) { this._data = e; }
|
|
8
|
+
hitTest(e) { if (null === this._data || this._data.points.length < 2)
|
|
9
|
+
return null; const [t, i] = this._data.points; let s = Object(r.distanceToSegment)(t, i, e); const o = Object(h.interactionTolerance)().line; if (s.distance <= o)
|
|
10
|
+
return new a.HitTestResult(a.HitTestResult.MOVEPOINT); if (3 !== this._data.points.length)
|
|
11
|
+
return null; const l = this._data.points[2]; return s = Object(r.distanceToSegment)(i, l, e), s.distance <= o ? new a.HitTestResult(a.HitTestResult.MOVEPOINT) : (s = Object(r.distanceToSegment)(l, t, e), s.distance <= o ? new a.HitTestResult(a.HitTestResult.MOVEPOINT) : this._data.fillBackground && Object(n.pointInTriangle)(e, t, i, l) ? new a.HitTestResult(a.HitTestResult.MOVEPOINT_BACKGROUND) : null); }
|
|
12
|
+
_drawImpl(e) { if (null === this._data || this._data.points.length < 2)
|
|
13
|
+
return; e.lineCap = "butt", e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, void 0 !== this._data.linestyle && Object(l.setLineStyle)(e, this._data.linestyle); const [t, i] = this._data.points, r = 2 === this._data.points.length ? i : this._data.points[2]; e.beginPath(), e.moveTo(t.x, t.y), e.lineTo(i.x, i.y), e.lineTo(r.x, r.y), e.lineTo(t.x, t.y), this._data.fillBackground && (e.fillStyle = Object(o.generateColor)(this._data.backcolor, this._data.transparency), e.fill()), e.stroke(); }
|
|
14
|
+
}
|
|
15
|
+
}, "00XE": function (e, t, i) {
|
|
16
|
+
"use strict";
|
|
17
|
+
i.r(t), i.d(t, "BrushPaneView", (function () { return s; }));
|
|
18
|
+
var r = i("8Uy/"), n = i("hzaj");
|
|
19
|
+
class s extends n.a {
|
|
20
|
+
_createPolygonRendererData() { const e = this._source.properties().childs(), t = { points: this._points, color: e.linecolor.value(), linewidth: e.linewidth.value(), linestyle: r.LINESTYLE_SOLID, linecap: "round", skipClosePath: !0, leftend: e.leftEnd.value(), rightend: e.rightEnd.value(), filled: !1, fillBackground: !1, backcolor: e.backgroundColor.value() }; return e.fillBackground.value() && this._model.lineBeingCreated() !== this._source && (t.filled = !0, t.fillBackground = !0, t.transparency = e.transparency.value()), t; }
|
|
21
|
+
}
|
|
22
|
+
}, "0s1X": function (e, t, i) {
|
|
23
|
+
"use strict";
|
|
24
|
+
i.r(t);
|
|
25
|
+
var r = i("Eyy1"), n = i("aO4+"), s = i("HGP3"), a = i("Zy3/"), o = i("qgcf"), l = i("aB9a"), h = i("GEp6"), d = i("8Uy/"), c = i("jFln"), u = i("zDbI"), _ = i("VaSN"), p = i("VdBB"), f = i("gAom"), g = i("Zp/P");
|
|
26
|
+
function v(e) { let t, i; return e >= -135 && e <= -45 ? (t = "center", i = "bottom") : e > -45 && e < 45 ? (t = "left", i = "middle") : e >= 45 && e <= 135 ? (t = "center", i = "top") : (t = "right", i = "middle"), { horzAlign: t, vertAlign: i }; }
|
|
27
|
+
class w {
|
|
28
|
+
constructor() { this._data = null, this._priceLabelRenderer = new o.TextRenderer(void 0, new p.HitTestResult(p.HitTestResult.MOVEPOINT, { areaName: p.AreaName.Style, activeItem: 1 })), this._hittest = new p.HitTestResult(p.HitTestResult.MOVEPOINT, { areaName: p.AreaName.Style }); }
|
|
29
|
+
setData(e) {
|
|
30
|
+
this._data = e;
|
|
31
|
+
const t = e.points[0], i = e.points[1], r = Math.round(180 * Math.atan2(i.y - t.y, i.x - t.x) / Math.PI);
|
|
32
|
+
this._priceLabelRenderer.setData(Object.assign(Object.assign({}, v(r)), { points: [i], text: e.text, color: e.textColor, font: u.CHART_FONT_FAMILY, fontSize: e.fontSize, bold: e.bold, italic: e.italic, offsetX: 0, offsetY: 0, borderColor: e.borderColor, borderWidth: 1, backgroundColor: e.backgroundColor, backgroundRoundRect: 4, boxPaddingVert: 6, boxPaddingHorz: 8 }));
|
|
33
|
+
}
|
|
34
|
+
setHitTest(e) { this._hittest = e; }
|
|
35
|
+
draw(e, t) { const i = this._data; if (null === i || i.points.length < 2)
|
|
36
|
+
return; e.save(); const r = t.pixelRatio, n = Math.round(i.points[0].x * r), s = Math.round(i.points[0].y * r), a = Math.round(i.points[1].x * r), o = Math.round(i.points[1].y * r); e.lineCap = "butt", Object(c.setLineStyle)(e, d.LINESTYLE_SOLID), e.strokeStyle = i.lineColor, e.fillStyle = i.lineColor, e.lineWidth = Math.round(1 * r); const l = Object(g.fillScaledRadius)(2, r); Object(f.createCircle)(e, n, s, l), e.fill(), Object(c.drawLine)(e, n, s, a, o), this._priceLabelRenderer.draw(e, t); const h = 1 * r; e.strokeStyle = i.circleBorderColor, e.lineWidth = h; const u = l + h / 2; Object(f.createCircle)(e, n, s, u), e.stroke(), e.restore(); }
|
|
37
|
+
hitTest(e) { const t = this._data; if (null === t)
|
|
38
|
+
return null; const i = Object(_.lastEventIsTouch)() ? 20 : 3; return Object(h.distanceToSegment)(t.points[0], t.points[1], e).distance <= i ? this._hittest : this._priceLabelRenderer.hitTest(e); }
|
|
39
|
+
}
|
|
40
|
+
i.d(t, "PriceNotePaneView", (function () { return x; }));
|
|
41
|
+
class x extends l.LineSourcePaneView {
|
|
42
|
+
constructor() { super(...arguments), this._renderer = new a.CompositeRenderer, this._priceNoteRenderer = new w, this._customLabelRenderer = new o.TextRenderer; }
|
|
43
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
44
|
+
_updateImpl() { super._updateImpl(), this._renderer.clear(); const e = this._source.priceScale(); if (!e || e.isEmpty())
|
|
45
|
+
return; const t = this._points; if (t.length < 2)
|
|
46
|
+
return; const i = this._source.properties().childs(), a = this._model.isDark() ? s.colorsPalette["color-cold-gray-900"] : s.colorsPalette["color-white"], o = this._source.points()[0].price, l = Object(r.ensureNotNull)(this._source.ownerSource()).firstValue(); if (null === l)
|
|
47
|
+
return; const h = e.formatPrice(o, l); if (this._priceNoteRenderer.setData({ text: h, points: t, lineColor: i.lineColor.value(), circleBorderColor: a, backgroundColor: i.priceLabelBackgroundColor.value(), borderColor: i.priceLabelBorderColor.value(), textColor: i.priceLabelTextColor.value(), fontSize: i.priceLabelFontSize.value(), bold: i.priceLabelBold.value(), italic: i.priceLabelItalic.value() }), this._renderer.append(this._priceNoteRenderer), this._renderer.append(this.createLineAnchor({ points: t }, 0)), i.showLabel && i.showLabel.value()) {
|
|
48
|
+
const e = t[0], r = t[1], s = e.x < r.x ? e : r, a = s === e ? r : e, o = i.vertLabelsAlign.value(), l = i.horzLabelsAlign.value();
|
|
49
|
+
let h;
|
|
50
|
+
h = "left" === l ? s.clone() : "right" === l ? a.clone() : new n.Point((e.x + r.x) / 2, (e.y + r.y) / 2);
|
|
51
|
+
const d = Math.atan((a.y - s.y) / (a.x - s.x)), c = { points: [h], text: i.text.value(), color: i.textColor.value(), vertAlign: o, horzAlign: l, font: u.CHART_FONT_FAMILY, offsetX: 0, offsetY: 0, bold: i.bold.value(), italic: i.italic.value(), fontsize: i.fontSize.value(), forceTextAlign: !0, angle: d };
|
|
52
|
+
this._customLabelRenderer.setData(c), this._renderer.append(this._customLabelRenderer);
|
|
53
|
+
} }
|
|
54
|
+
}
|
|
55
|
+
}, "1SUO": function (e, t, i) {
|
|
56
|
+
"use strict";
|
|
57
|
+
var r = i("aO4+").Point, n = i("pJOz").TrendLineRenderer, s = i("cjIn").PaneRendererCachedImage, a = i("VdBB").HitTestResult, o = i("Zy3/").CompositeRenderer, l = i("isd9").ArcWedgeRenderer, h = i("a7Ha").LineEnd, d = i("NCfL").LineToolPaneViewWithLevelledTextCache;
|
|
58
|
+
t.FibWedgePaneView = class extends d {
|
|
59
|
+
constructor(e, t) { super(e, t), this._levels = [], this._baseTrendRenderer = new n, this._edgeTrendRenderer = new n, this._renderer = null; }
|
|
60
|
+
getCacheRects(e, t) { super.getCacheRects(e, t); var i = this._cacheState.preparedCells.cells[this._levels[t].index - 1]; if (i) {
|
|
61
|
+
var r = this._levels[t], n = { left: i.left, top: this._cache.topByRow(this._cacheState.row), width: i.width, height: this._cache.rowHeight(this._cacheState.row) };
|
|
62
|
+
return { cacheRect: n, targetRect: { left: Math.round(r.labelPoint.x - n.width), top: Math.round(r.labelPoint.y - n.height / 2), width: i.width, height: n.height } };
|
|
63
|
+
} }
|
|
64
|
+
_updateImpl() { if (super._updateImpl(), this._renderer = null, this._levels = [], this._points.length < 3)
|
|
65
|
+
this._updateRenderer();
|
|
66
|
+
else {
|
|
67
|
+
var e = this._points, t = e[0], i = e[1], n = e[2], s = i.subtract(t).normalized(), a = n.subtract(t).normalized(), o = new r(1, 0), l = new r(0, 1), h = Math.acos(s.dotProduct(o));
|
|
68
|
+
s.dotProduct(l) < 0 && (h = 2 * Math.PI - h), this._edge1 = h;
|
|
69
|
+
var d = Math.acos(a.dotProduct(o));
|
|
70
|
+
a.dotProduct(l) < 0 && (d = 2 * Math.PI - d), this._edge2 = d, h < d && (this._edge1 = Math.max(h, d), this._edge2 = Math.min(h, d) + 2 * Math.PI), Math.abs(h - d) > Math.PI && (this._edge1 = Math.min(h, d), this._edge2 = Math.max(h, d) - 2 * Math.PI);
|
|
71
|
+
for (var c = this._source.properties(), u = 1; u <= this._source.levelsCount(); u++) {
|
|
72
|
+
var _ = c["level" + u];
|
|
73
|
+
if (_.visible.value()) {
|
|
74
|
+
var p = _.coeff.value(), f = _.color.value(), g = i.subtract(t).length() * p, v = s.add(a).scaled(.5).normalized().scaled(g), w = t.add(v);
|
|
75
|
+
this._levels.push({ coeff: p, color: f, radius: g, labelPoint: w, p1: t.add(s.scaled(g)), p2: t.add(a.scaled(g)), linewidth: _.linewidth.value(), linestyle: _.linestyle.value(), index: u });
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
this._points.length < 2 || this._updateRenderer();
|
|
79
|
+
} }
|
|
80
|
+
_updateRenderer() {
|
|
81
|
+
if (!((x = this._points).length < 2)) {
|
|
82
|
+
var e = new o, t = this._source.properties(), i = x[0], r = x[1], n = { points: [i, r], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: t.trendline.color.value(), linewidth: t.trendline.visible.value() ? t.trendline.linewidth.value() : 0, linestyle: t.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal };
|
|
83
|
+
if (this._baseTrendRenderer.setData(n), e.append(this._baseTrendRenderer), x.length < 3)
|
|
84
|
+
return this.addAnchors(e), void (this._renderer = e);
|
|
85
|
+
var d = x[2], c = d.data, u = r.subtract(i).length(), _ = d.subtract(i).normalized();
|
|
86
|
+
(d = i.add(_.scaled(u))).data = c, n = { points: [i, d], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: t.trendline.color.value(), linewidth: t.trendline.visible.value() ? t.trendline.linewidth.value() : 0, linestyle: t.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal }, this._edgeTrendRenderer.setData(n), e.append(this._edgeTrendRenderer);
|
|
87
|
+
for (var p = this._levels.length - 1; p >= 0; p--) {
|
|
88
|
+
var f = this._levels[p], g = {};
|
|
89
|
+
g.center = this._points[0], g.radius = f.radius, g.prevRadius = p > 0 ? this._levels[p - 1].radius : 0, g.edge = this._edge, g.color = f.color, g.linewidth = f.linewidth,
|
|
90
|
+
g.edge1 = this._edge1, g.edge2 = this._edge2, g.p1 = f.p1, g.p2 = f.p2, g.fillBackground = t.fillBackground.value(), g.transparency = t.transparency.value();
|
|
91
|
+
var v = new l;
|
|
92
|
+
if (v.setData(g), v.setHitTest(new a(a.MOVEPOINT, null, f.index)), e.append(v), t.showCoeffs.value()) {
|
|
93
|
+
var w = new s(this, p);
|
|
94
|
+
e.append(w);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
var x = [i, r];
|
|
98
|
+
this._model.lineBeingCreated() !== this._source && x.push(d), e.append(this.createLineAnchor({ points: x }, 0)), this._renderer = e;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
102
|
+
};
|
|
103
|
+
}, "1oDZ": function (e, t, i) {
|
|
104
|
+
"use strict";
|
|
105
|
+
var r = i("aB9a").LineSourcePaneView, n = i("qgcf").TextRenderer, s = i("VdBB").HitTestResult, a = i("Zy3/").CompositeRenderer, o = i("gAom").drawHorizontalLine, l = i("Zp/P").interactionTolerance, h = i("jFln").setLineStyle;
|
|
106
|
+
class d {
|
|
107
|
+
constructor() { this._data = null; }
|
|
108
|
+
setData(e) { this._data = e; }
|
|
109
|
+
draw(e, t) { if (null === this._data || 0 === this._data.points.length)
|
|
110
|
+
return null; var i = t.pixelRatio, r = e.canvas.width, n = this._data.points[0].y, s = Math.max(0, this._data.points[0].x), a = Math.max(r, this._data.points[0].x); e.lineCap = "butt", e.strokeStyle = this._data.color, e.lineWidth = Math.max(1, Math.floor(this._data.linewidth * i)), void 0 !== this._data.linestyle && h(e, this._data.linestyle), o(e, Math.round(n * i), Math.round(s * i), Math.round(a * i)); }
|
|
111
|
+
hitTest(e) { if (null === this._data || 0 === this._data.points.length)
|
|
112
|
+
return null; if (e.x < this._data.points[0].x)
|
|
113
|
+
return null; var t = l().line; return Math.abs(e.y - this._data.points[0].y) <= t ? new s(this._data.hitTestResult) : null; }
|
|
114
|
+
}
|
|
115
|
+
t.HorzRayPaneView = class extends r {
|
|
116
|
+
constructor(e, t) { super(e, t), this._horzRayRenderer = new d, this._labelRenderer = new n, this._renderer = null; }
|
|
117
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
118
|
+
_updateImpl() { super._updateImpl(), this._renderer = null; var e = this._source.properties(), t = new a, i = {}; if (i.points = this._points, i.color = e.linecolor.value(), i.linewidth = e.linewidth.value(), i.linestyle = e.linestyle.value(), i.hitTestResult = s.MOVEPOINT, this._horzRayRenderer.setData(i), t.append(this._horzRayRenderer), e.showLabel.value() && 1 === this._points.length) {
|
|
119
|
+
var r = e.vertLabelsAlign.value(), n = e.horzLabelsAlign.value(), o = this._points[0].clone(), l = 0, h = e.text.value(), d = e.bold.value(), c = e.italic.value(), u = e.font.value(), _ = e.fontsize.value();
|
|
120
|
+
if ("right" === n) {
|
|
121
|
+
this._labelRenderer.setData({ text: h, font: u, bold: d, italic: c, fontsize: _ });
|
|
122
|
+
var p = this._labelRenderer.measure().width, f = this._model.timeScale().width();
|
|
123
|
+
o.x + p + 3 >= f ? o.x += p + 3 : (o.x = f, l = 3);
|
|
124
|
+
}
|
|
125
|
+
else
|
|
126
|
+
"center" === n && (o.x = (o.x + this._model.timeScale().width()) / 2);
|
|
127
|
+
var g = { points: [o], text: h, color: e.textcolor.value(), vertAlign: r, horzAlign: n, font: u, offsetX: l, offsetY: 0, bold: d, italic: c, fontsize: _, forceTextAlign: !0 };
|
|
128
|
+
this._labelRenderer.setData(g), t.append(this._labelRenderer);
|
|
129
|
+
} this.addAnchors(t), this._renderer = t; }
|
|
130
|
+
};
|
|
131
|
+
}, "2hKl": function (e, t, i) {
|
|
132
|
+
"use strict";
|
|
133
|
+
i.d(t, "c", (function () { return n; })), i.d(t, "a", (function () { return s; })), i.d(t, "b", (function () { return a; }));
|
|
134
|
+
var r = i("GEp6");
|
|
135
|
+
function n(e, t, i, n, s) {
|
|
136
|
+
const a = i.subtract(e).length() + i.subtract(t).length(), o = Math.max(3 / a, .02);
|
|
137
|
+
let l;
|
|
138
|
+
for (let a = 0;; a += o) {
|
|
139
|
+
a > 1 && (a = 1);
|
|
140
|
+
const o = e.scaled((1 - a) * (1 - a)), h = i.scaled(2 * a * (1 - a)), d = t.scaled(a * a), c = o.add(h).add(d);
|
|
141
|
+
if (void 0 !== l) {
|
|
142
|
+
if (Object(r.distanceToSegment)(c, l, n).distance < s)
|
|
143
|
+
return !0;
|
|
144
|
+
}
|
|
145
|
+
else if (c.subtract(n).length() < s)
|
|
146
|
+
return !0;
|
|
147
|
+
if (l = c, 1 === a)
|
|
148
|
+
break;
|
|
149
|
+
}
|
|
150
|
+
return !1;
|
|
151
|
+
}
|
|
152
|
+
function s(e, t, i, n, s, a) { const o = i.subtract(e).length() + n.subtract(i).length() + t.subtract(n).length(), l = Math.max(3 / o, .02); let h; for (let o = 0;; o += l) {
|
|
153
|
+
o > 1 && (o = 1);
|
|
154
|
+
const l = e.scaled((1 - o) * (1 - o) * (1 - o)), d = i.scaled(3 * (1 - o) * (1 - o) * o), c = n.scaled(3 * (1 - o) * o * o), u = t.scaled(o * o * o), _ = l.add(d).add(c).add(u);
|
|
155
|
+
if (void 0 !== h) {
|
|
156
|
+
if (Object(r.distanceToSegment)(_, h, s).distance < a)
|
|
157
|
+
return !0;
|
|
158
|
+
}
|
|
159
|
+
else if (_.subtract(s).length() < a)
|
|
160
|
+
return !0;
|
|
161
|
+
if (h = _, 1 === o)
|
|
162
|
+
break;
|
|
163
|
+
} return !1; }
|
|
164
|
+
function a(e, t, i, r, n) { const s = i.subtract(e).length() + i.subtract(t).length(); if (!s)
|
|
165
|
+
return []; const a = function (e, t, i, r, n) { const s = [], a = o(e.y, t.y, i.y, 0).concat(o(e.y, t.y, i.y, n)); for (let n = 0; n < a.length; n++) {
|
|
166
|
+
const o = l(e.x, t.x, i.x, a[n]);
|
|
167
|
+
o >= 0 && o <= r && s.push(a[n]);
|
|
168
|
+
} const h = o(e.x, t.x, i.x, 0).concat(o(e.x, t.x, i.x, r)); for (let r = 0; r < h.length; r++) {
|
|
169
|
+
const a = l(e.y, t.y, i.y, h[r]);
|
|
170
|
+
a >= 0 && a <= n && s.push(h[r]);
|
|
171
|
+
} return s; }(e, t, i, r, n).filter(e => e > 1).sort((e, t) => e - t); t.x >= 0 && t.x <= r && t.y >= 0 && t.y <= n && a.unshift(1); const h = 3 / s, d = []; for (let r = 0; r < a.length - 1; r += 2) {
|
|
172
|
+
let n = h, s = a[r], o = a[r + 1] + n;
|
|
173
|
+
const l = [];
|
|
174
|
+
for (; s <= o;) {
|
|
175
|
+
const r = e.scaled((1 - s) * (1 - s)), a = i.scaled(2 * s * (1 - s)), h = t.scaled(s * s), d = r.add(a).add(h);
|
|
176
|
+
if (l.length > 0) {
|
|
177
|
+
l[l.length - 1].subtract(d).length() < 2 && (o += n, n *= 2);
|
|
178
|
+
}
|
|
179
|
+
l.push(d), s += n;
|
|
180
|
+
}
|
|
181
|
+
l.length > 0 && d.push(l);
|
|
182
|
+
} return d; }
|
|
183
|
+
function o(e, t, i, r) { const n = [], s = e - 2 * i + t, a = 2 * i - 2 * e, o = e - r; if (Math.abs(s) > 1e-8) {
|
|
184
|
+
const e = a * a - 4 * s * o;
|
|
185
|
+
e >= 0 && (n.push((-a + Math.sqrt(e)) / (2 * s)), n.push((-a - Math.sqrt(e)) / (2 * s)));
|
|
186
|
+
}
|
|
187
|
+
else
|
|
188
|
+
n.push(-o / a); return n; }
|
|
189
|
+
function l(e, t, i, r) { return (1 - r) * (1 - r) * e + 2 * (1 - r) * r * i + r * r * t; }
|
|
190
|
+
}, "2trc": function (e, t, i) {
|
|
191
|
+
"use strict";
|
|
192
|
+
i.r(t), i.d(t, "ChannelRenderer", (function () { return c; }));
|
|
193
|
+
var r = i("Eyy1"), n = i("aO4+"), s = i("f6yo"), a = i("GEp6"), o = i("hBTJ"), l = i("VdBB"), h = i("Tmoa"), d = i("cPgM");
|
|
194
|
+
class c extends d.ScaledPaneRenderer {
|
|
195
|
+
constructor() { super(...arguments), this._data = null; }
|
|
196
|
+
setData(e) { this._data = e; }
|
|
197
|
+
hitTest(e, t) { if (null === this._data || !this._data.hittestOnBackground)
|
|
198
|
+
return null; const i = this._visiblePolygon(t); return null !== i && Object(s.pointInPolygon)(e, i) ? new l.HitTestResult(l.HitTestResult.MOVEPOINT_BACKGROUND) : null; }
|
|
199
|
+
_drawImpl(e, t) { if (null === this._data)
|
|
200
|
+
return; const i = this._visiblePolygon(t); if (null !== i) {
|
|
201
|
+
e.beginPath(), e.moveTo(i[0].x, i[0].y);
|
|
202
|
+
for (let t = 1; t < i.length; t++)
|
|
203
|
+
e.lineTo(i[t].x, i[t].y);
|
|
204
|
+
e.fillStyle = Object(h.generateColor)(this._data.color, this._data.transparency, !0), e.fill();
|
|
205
|
+
} }
|
|
206
|
+
_visiblePolygon(e) { const t = Object(r.ensureNotNull)(this._data), i = t.p1, s = t.p2, o = t.p3, l = t.p4; if (Object(n.equalPoints)(i, s) || Object(n.equalPoints)(o, l) || Object(a.distanceToLine)(i, s, o).distance < 1e-6 && Object(a.distanceToLine)(i, s, l).distance < 1e-6)
|
|
207
|
+
return null; if (e.cssWidth <= 0 || e.cssHeight <= 0)
|
|
208
|
+
return null; let h = [new n.Point(0, 0), new n.Point(e.cssWidth, 0), new n.Point(e.cssWidth, e.cssHeight), new n.Point(0, e.cssHeight)]; return h = u(h, i, s, [l, o]), h = u(h, l, o, [i, s]), Object(n.equalPoints)(o, i) || t.extendLeft || (h = u(h, o, i, [s, l])), h; }
|
|
209
|
+
}
|
|
210
|
+
function u(e, t, i, r) {
|
|
211
|
+
const s = Object(n.equalPoints)(i, r[0]) ? Object(n.equalPoints)(i, r[1]) ? null : r[1] : r[0];
|
|
212
|
+
return null !== e && null !== s ? Object(o.intersectPolygonAndHalfplane)(e, Object(n.halfplaneThroughPoint)(Object(n.lineThroughPoints)(t, i), s)) : null;
|
|
213
|
+
}
|
|
214
|
+
}, "3xLB": function (e, t, i) {
|
|
215
|
+
"use strict";
|
|
216
|
+
i.r(t), i.d(t, "DateRangePaneView", (function () { return v; }));
|
|
217
|
+
var r = i("aO4+"), n = i("YFKU"), s = i("Ialn"), a = i("aB9a"), o = i("qgcf"), l = i("IjC5"), h = i("pJOz"), d = i("Zy3/"), c = i("8Uy/"), u = i("a7Ha"), _ = i("nda6");
|
|
218
|
+
const p = new (i("nEwK").VolumeFormatter), f = Object(n.t)("{count} bars"), g = Object(n.t)("Vol");
|
|
219
|
+
class v extends a.LineSourcePaneView {
|
|
220
|
+
constructor() { super(...arguments), this._leftBorderRenderer = new h.TrendLineRenderer, this._rightBorderRenderer = new h.TrendLineRenderer, this._distancePriceRenderer = new h.TrendLineRenderer, this._backgroundRenderer = new l.RectangleRenderer, this._textRenderer = new o.TextRenderer, this._renderer = new d.CompositeRenderer; }
|
|
221
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(e, t), this._renderer; }
|
|
222
|
+
_updateImpl(e, t) {
|
|
223
|
+
if (super._updateImpl(), this._renderer.clear(), this._points.length < 2 || this._source.points().length < 2)
|
|
224
|
+
return;
|
|
225
|
+
const i = this._source.properties().childs(), n = i.extendTop.value(), a = i.extendBottom.value(), [l, h] = this._points, d = n ? 0 : Math.min(l.y, h.y), v = a ? this._height() : Math.max(l.y, h.y);
|
|
226
|
+
i.fillBackground.value() && (this._backgroundRenderer.setData({ points: [new r.Point(l.x, d), new r.Point(h.x, v)], color: "white", linewidth: 0, backcolor: i.backgroundColor.value(), fillBackground: !0, transparency: i.backgroundTransparency.value(), extendLeft: !1, extendRight: !1 }), this._renderer.append(this._backgroundRenderer));
|
|
227
|
+
const w = (e, t, r) => { e.setData({ points: [t, r], color: i.linecolor.value(), linewidth: i.linewidth.value(), linestyle: c.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: u.LineEnd.Normal, rightend: u.LineEnd.Normal }), this._renderer.append(e); };
|
|
228
|
+
w(this._leftBorderRenderer, new r.Point(l.x, d), new r.Point(l.x, v)), w(this._rightBorderRenderer, new r.Point(h.x, d), new r.Point(h.x, v));
|
|
229
|
+
const x = Math.round((l.y + h.y) / 2), m = new r.Point(l.x, x), y = new r.Point(h.x, x);
|
|
230
|
+
this._distancePriceRenderer.setData({ points: [m, y], color: i.linecolor.value(), linewidth: i.linewidth.value(), linestyle: c.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: u.LineEnd.Normal, rightend: Math.abs(m.x - y.x) >= 15 * i.linewidth.value() ? u.LineEnd.Arrow : u.LineEnd.Normal }), this._renderer.append(this._distancePriceRenderer);
|
|
231
|
+
const b = this._source.points()[0].index, R = this._source.points()[1].index, T = R - b, S = this._model.timeScale().indexToUserTime(b), P = this._model.timeScale().indexToUserTime(R);
|
|
232
|
+
let L = "";
|
|
233
|
+
if (S && P) {
|
|
234
|
+
const e = (P.valueOf() - S.valueOf()) / 1e3;
|
|
235
|
+
L = ", " + Object(s.startWithLTR)((new _.TimeSpanFormatter).format(e));
|
|
236
|
+
}
|
|
237
|
+
const C = this._source.volume(), M = Number.isNaN(C) ? "" : `\n${g} ${p.format(C)}`, I = { x: 0, y: 10 }, O = { text: f.format({ count: Object(s.forceLTRStr)(T.toString()) }) + L + M, color: i.textcolor.value(), font: i.font.value(), offsetX: I.x, offsetY: I.y, padding: 8, vertAlign: "middle", horzAlign: "center", fontsize: i.fontsize.value(), backgroundRoundRect: 4, backgroundHorzInflate: .4 * i.fontsize.value(), backgroundVertInflate: .2 * i.fontsize.value() };
|
|
238
|
+
i.fillLabelBackground.value() && (O.backgroundColor = i.labelBackgroundColor.value()),
|
|
239
|
+
this._textRenderer.setData(O);
|
|
240
|
+
const N = this._textRenderer.measure(), D = Object(o.calculateLabelPosition)(N, l, h, I, e);
|
|
241
|
+
this._textRenderer.setPoints([D]), this._renderer.append(this._textRenderer), this._renderer.append(this._textRenderer), this.addAnchors(this._renderer);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}, "4Ptp": function (e, t, i) {
|
|
245
|
+
"use strict";
|
|
246
|
+
i.r(t), i.d(t, "cacheIsValid", (function () { return h; })), i.d(t, "BezierQuadroPaneView", (function () { return d; }));
|
|
247
|
+
var r = i("Eyy1"), n = i("Tmoa"), s = i("aB9a"), a = i("Zy3/"), o = i("2hKl"), l = i("e9yB");
|
|
248
|
+
function h(e, t, i, r, n, s) { return null !== e && e.p1.x === t.x && e.p1.y === t.y && e.p2.x === i.x && e.p2.y === i.y && e.p3.x === r.x && e.p3.y === r.y && e.width === n && e.height === s; }
|
|
249
|
+
class d extends s.LineSourcePaneView {
|
|
250
|
+
constructor() { super(...arguments), this._bezierQuadroRenderer = new l.a, this._renderer = null, this._extendedSegmentLeftCache = null, this._extendedSegmentRightCache = null; }
|
|
251
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(e, t), this._renderer; }
|
|
252
|
+
_updateImpl(e, t) { if (super._updateImpl(e, t), this._renderer = null, this._points.length < 2)
|
|
253
|
+
return; const i = this._source.properties().childs(); let r = [], s = []; if (3 === this._source.points().length) {
|
|
254
|
+
const n = this._source.pointToScreenPoint(this._source.points()[0])[1], a = this._source.pointToScreenPoint(this._source.points()[1])[1], o = this._source.pointToScreenPoint(this._source.points()[2])[1], l = a.subtract(n), h = o.subtract(l.scaled(.25)), d = o.add(l.scaled(.25));
|
|
255
|
+
i.extendLeft.value() && (r = this._extendSegmentLeft(o, n, h, t, e)), i.extendRight.value() && (s = this._extendSegmentRight(o, a, d, t, e));
|
|
256
|
+
} const o = this._points.slice(), l = this._source.controlPoint(); null !== l && o.push(this._source.pointToScreenPoint(l)[0]); const h = { points: o, color: i.linecolor.value(), lineWidth: i.linewidth.value(), lineStyle: i.linestyle.value(), leftEnd: i.leftEnd.value(), rightEnd: i.rightEnd.value(), fillBack: i.fillBackground.value(), backColor: Object(n.generateColor)(i.backgroundColor.value(), i.transparency.value()), extendLeftSegments: r, extendRightSegments: s }; this._bezierQuadroRenderer.setData(h); const d = new a.CompositeRenderer; d.append(this._bezierQuadroRenderer), this.addAnchors(d), this._renderer = d; }
|
|
257
|
+
_extendSegmentLeft(e, t, i, n, s) { return h(this._extendedSegmentLeftCache, e, t, i, n, s) || (this._extendedSegmentLeftCache = { p1: e, p2: t, p3: i, width: n, height: s, segment: Object(o.b)(e, t, i, n, s) }), Object(r.ensureNotNull)(this._extendedSegmentLeftCache).segment; }
|
|
258
|
+
_extendSegmentRight(e, t, i, n, s) { return h(this._extendedSegmentRightCache, e, t, i, n, s) || (this._extendedSegmentRightCache = { p1: e, p2: t, p3: i, width: n, height: s, segment: Object(o.b)(e, t, i, n, s) }), Object(r.ensureNotNull)(this._extendedSegmentRightCache).segment; }
|
|
259
|
+
}
|
|
260
|
+
}, "5/lF": function (e, t, i) {
|
|
261
|
+
"use strict";
|
|
262
|
+
i.r(t), i.d(t, "iconsContainer", (function () { return p; })), i.d(t, "TrendLineStatsRenderer", (function () { return g; }));
|
|
263
|
+
var r = i("aO4+"), n = i("f6yo"), s = i("Eyy1"), a = i("qFKp"), o = i("qgcf"), l = i("VdBB"), h = i("gAom"), d = i("ogJP"), c = i("ikwP"), u = i("KDMZ");
|
|
264
|
+
let _ = null;
|
|
265
|
+
const p = new u.a([{ name: "angle", theme: "dark",
|
|
266
|
+
imageData: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjQ5OTk5IDE1SDIuNjU3NzFMMy4wNjEwNCAxNC4yNjA2TDkuMDYxMDQgMy4yNjA1N0w5LjMwMDQ2IDIuODIxNjJMMTAuMTc4NCAzLjMwMDQ4TDkuOTM4OTMgMy43Mzk0Mkw3LjUxMzg1IDguMTg1NDJDMTAuNTYyMSA5LjY3MjA1IDEwLjk0NTEgMTIuNjI2MSAxMC45OTMxIDE0SDE0LjVIMTVWMTVIMTQuNUgzLjQ5OTk5Wk05Ljk5MTk3IDE0QzkuOTQyMzYgMTIuNzI1OSA5LjU4NjI5IDEwLjI4OCA3LjAzNDM1IDkuMDY0NDlMNC4zNDIyNiAxNEg5Ljk5MTk3WiIgZmlsbD0iI0Y4RjlGRCIvPgo8L3N2Zz4K" }, { name: "angle", theme: "light", imageData: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMy40OTk5OSAxNUgyLjY1NzcxTDMuMDYxMDQgMTQuMjYwNkw5LjA2MTA0IDMuMjYwNTdMOS4zMDA0NiAyLjgyMTYyTDEwLjE3ODQgMy4zMDA0OEw5LjkzODkzIDMuNzM5NDJMNy41MTM4NSA4LjE4NTQyQzEwLjU2MjEgOS42NzIwNSAxMC45NDUxIDEyLjYyNjEgMTAuOTkzMSAxNEgxNC41SDE1VjE1SDE0LjVIMy40OTk5OVpNOS45OTE5NyAxNEM5Ljk0MjM2IDEyLjcyNTkgOS41ODYyOSAxMC4yODggNy4wMzQzNSA5LjA2NDQ5TDQuMzQyMjYgMTRIOS45OTE5N1oiIGZpbGw9IiMyQTJFMzkiLz4NCjwvc3ZnPg0K" }, { name: "barsRange", theme: "dark", imageData: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMiAzVjMuNVY1SDFWNlYxM1YxNEgyVjE1LjVWMTZIM1YxNS41VjE0SDRWMTNWNlY1SDNWMy41VjNIMlpNOC4yMDcxMSA3LjVMNy44NTM1NSA3Ljg1MzU1TDYuNzA3MTEgOUgxMS4yOTI5TDEwLjE0NjQgNy44NTM1NUw5Ljc5Mjg5IDcuNUwxMC41IDYuNzkyODlMMTAuODUzNiA3LjE0NjQ1TDEyLjg1MzYgOS4xNDY0NUwxMy4yMDcxIDkuNUwxMi44NTM2IDkuODUzNTVMMTAuODUzNiAxMS44NTM2TDEwLjUgMTIuMjA3MUw5Ljc5Mjg5IDExLjVMMTAuMTQ2NCAxMS4xNDY0TDExLjI5MjkgMTBINi43MDcxMUw3Ljg1MzU1IDExLjE0NjRMOC4yMDcxMSAxMS41TDcuNSAxMi4yMDcxTDcuMTQ2NDUgMTEuODUzNkw1LjE0NjQ1IDkuODUzNTVMNC43OTI4OSA5LjVMNS4xNDY0NSA5LjE0NjQ1TDcuMTQ2NDUgNy4xNDY0NUw3LjUgNi43OTI4OUw4LjIwNzExIDcuNVpNMyA2SDJWMTNIM1Y2Wk0xNSAzLjVWM0gxNlYzLjVWNUgxN1Y2VjEzVjE0SDE2VjE1LjVWMTZIMTVWMTUuNVYxNEgxNFYxM1Y2VjVIMTVWMy41Wk0xNSA2SDE2VjEzSDE1VjZaIiBmaWxsPSIjRjhGOUZEIi8+DQo8L3N2Zz4NCg==" }, { name: "barsRange", theme: "light",
|
|
267
|
+
imageData: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMiAzVjMuNVY1SDFWNlYxM1YxNEgyVjE1LjVWMTZIM1YxNS41VjE0SDRWMTNWNlY1SDNWMy41VjNIMlpNOC4yMDcxMSA3LjVMNy44NTM1NSA3Ljg1MzU1TDYuNzA3MTEgOUgxMS4yOTI5TDEwLjE0NjQgNy44NTM1NUw5Ljc5Mjg5IDcuNUwxMC41IDYuNzkyODlMMTAuODUzNiA3LjE0NjQ1TDEyLjg1MzYgOS4xNDY0NUwxMy4yMDcxIDkuNUwxMi44NTM2IDkuODUzNTVMMTAuODUzNiAxMS44NTM2TDEwLjUgMTIuMjA3MUw5Ljc5Mjg5IDExLjVMMTAuMTQ2NCAxMS4xNDY0TDExLjI5MjkgMTBINi43MDcxMUw3Ljg1MzU1IDExLjE0NjRMOC4yMDcxMSAxMS41TDcuNSAxMi4yMDcxTDcuMTQ2NDUgMTEuODUzNkw1LjE0NjQ1IDkuODUzNTVMNC43OTI4OSA5LjVMNS4xNDY0NSA5LjE0NjQ1TDcuMTQ2NDUgNy4xNDY0NUw3LjUgNi43OTI4OUw4LjIwNzExIDcuNVpNMyA2SDJWMTNIM1Y2Wk0xNSAzLjVWM0gxNlYzLjVWNUgxN1Y2VjEzVjE0SDE2VjE1LjVWMTZIMTVWMTUuNVYxNEgxNFYxM1Y2VjVIMTVWMy41Wk0xNSA2SDE2VjEzSDE1VjZaIiBmaWxsPSIjMkEyRTM5Ii8+DQo8L3N2Zz4NCg==" }, { name: "priceRange", theme: "dark", imageData: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMyAySDMuNUgxMy41SDE0VjNIMTMuNUgzLjVIM1YyWk04LjUgMy43OTI4OUw4Ljg1MzU1IDQuMTQ2NDVMMTAuODUzNiA2LjE0NjQ1TDExLjIwNzEgNi41TDEwLjUgNy4yMDcxMUwxMC4xNDY0IDYuODUzNTVMOSA1LjcwNzExVjEyLjI5MjlMMTAuMTQ2NCAxMS4xNDY0TDEwLjUgMTAuNzkyOUwxMS4yMDcxIDExLjVMMTAuODUzNiAxMS44NTM2TDguODUzNTUgMTMuODUzNkw4LjUgMTQuMjA3MUw4LjE0NjQ1IDEzLjg1MzZMNi4xNDY0NSAxMS44NTM2TDUuNzkyODkgMTEuNUw2LjUgMTAuNzkyOUw2Ljg1MzU1IDExLjE0NjRMOCAxMi4yOTI5VjUuNzA3MTFMNi44NTM1NSA2Ljg1MzU1TDYuNSA3LjIwNzExTDUuNzkyODkgNi41TDYuMTQ2NDUgNi4xNDY0NUw4LjE0NjQ1IDQuMTQ2NDVMOC41IDMuNzkyODlaTTMuNSAxNkgzVjE1SDMuNUgxMy41SDE0VjE2SDEzLjVIMy41WiIgZmlsbD0iI0Y4RjlGRCIvPg0KPC9zdmc+DQo=" }, { name: "priceRange", theme: "light", imageData: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMyAySDMuNUgxMy41SDE0VjNIMTMuNUgzLjVIM1YyWk04LjUgMy43OTI4OUw4Ljg1MzU1IDQuMTQ2NDVMMTAuODUzNiA2LjE0NjQ1TDExLjIwNzEgNi41TDEwLjUgNy4yMDcxMUwxMC4xNDY0IDYuODUzNTVMOSA1LjcwNzExVjEyLjI5MjlMMTAuMTQ2NCAxMS4xNDY0TDEwLjUgMTAuNzkyOUwxMS4yMDcxIDExLjVMMTAuODUzNiAxMS44NTM2TDguODUzNTUgMTMuODUzNkw4LjUgMTQuMjA3MUw4LjE0NjQ1IDEzLjg1MzZMNi4xNDY0NSAxMS44NTM2TDUuNzkyODkgMTEuNUw2LjUgMTAuNzkyOUw2Ljg1MzU1IDExLjE0NjRMOCAxMi4yOTI5VjUuNzA3MTFMNi44NTM1NSA2Ljg1MzU1TDYuNSA3LjIwNzExTDUuNzkyODkgNi41TDYuMTQ2NDUgNi4xNDY0NUw4LjE0NjQ1IDQuMTQ2NDVMOC41IDMuNzkyODlaTTMuNSAxNkgzVjE1SDMuNUgxMy41SDE0VjE2SDEzLjVIMy41WiIgZmlsbD0iIzJBMkUzOSIvPg0KPC9zdmc+DQo=" }], 18), f = new Map;
|
|
268
|
+
class g {
|
|
269
|
+
constructor(e, t, i) {
|
|
270
|
+
this._fontSize = 0, this._preRendered = !1, this._boundingBox = null, this._rect = null, this._padding = null, this._textPoint = null, this._textSizeCache = t, this._data = e, this._fontSize = e.fontSize ? e.fontSize : 12,
|
|
271
|
+
this._lineSpacing = Object(d.isNumber)(this._data.lineSpacing) && this._data.lineSpacing ? this._data.lineSpacing : 0, e.lines = this._lines = null === e.text ? [] : Object(o.wordWrap)(e.text, this.fontStyle(), e.wordWrapWidth), this._hittest = i || new l.HitTestResult(l.HitTestResult.MOVEPOINT);
|
|
272
|
+
}
|
|
273
|
+
fontStyle() { return `${this._data.bold ? "bold " : ""}${this._data.italic ? "italic " : ""}${this._fontSize}px ${this._data.font}`; }
|
|
274
|
+
draw(e, t) { if (0 === this._data.points.length || null === this._data.text)
|
|
275
|
+
return { width: 0 }; this._preRender(); const i = this._fontSize + this._lineSpacing; e.textBaseline = "top", e.font = this.fontStyle(); const r = Object(s.ensureNotNull)(this._rect); if (this._rect) {
|
|
276
|
+
if ("right" !== this._data.horzAlign && "center" !== this._data.horzAlign || !0 !== this._data.doNotAlignText && (e.textAlign = "right" === this._data.horzAlign ? "end" : "center"), this._data.backgroundRoundRect ? (Object(h.drawRoundRect)(e, r.x, r.y, r.w, r.h, this._data.backgroundRoundRect), e.fillStyle = this._data.backgroundColor, e.fill(), e.globalAlpha = 1) : (e.fillStyle = this._data.backgroundColor, e.fillRect(r.x, r.y, r.w, r.h), e.globalAlpha = 1), !a.isIE && this._data.icons) {
|
|
277
|
+
let n = 0;
|
|
278
|
+
const a = Math.ceil((18 - this._fontSize) / 2), o = Object(s.ensureNotNull)(this._padding);
|
|
279
|
+
for (const s of this._data.icons) {
|
|
280
|
+
const l = Math.round(r.x + o.left), h = Math.round(r.y + o.top + i * n - a);
|
|
281
|
+
this._drawIcon(e, l, h, s, Boolean(this._data.isDark), t), n += 1;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
else
|
|
286
|
+
"right" === this._data.horzAlign ? e.textAlign = "end" : "center" === this._data.horzAlign && (e.textAlign = "center"); const n = Object(s.ensureNotNull)(this._textPoint), o = n.x; let l = n.y; e.fillStyle = this._data.color; for (const t of this._lines)
|
|
287
|
+
e.fillText(t, o, l), l += i; return { width: r.w + 2 }; }
|
|
288
|
+
hitTest(e) { return 0 === this._data.points.length ? null : (this._preRender(), this._boundingBox && Object(n.pointInBox)(e, this._boundingBox) ? this._hittest : null); }
|
|
289
|
+
_preRender() {
|
|
290
|
+
if (this._preRendered)
|
|
291
|
+
return;
|
|
292
|
+
const e = function () { if (null !== _)
|
|
293
|
+
return _; const e = Object(c.createDisconnectedCanvas)(document, new c.Size(0, 0)); return _ = Object(c.getPrescaledContext2D)(e), _; }(), t = this._data.points[0].x + (this._data.offsetX || 0);
|
|
294
|
+
let i = t;
|
|
295
|
+
const n = this._data.points[0].y + (this._data.offsetY || 0);
|
|
296
|
+
let s = n;
|
|
297
|
+
const o = this._fontSize, l = this._lineSpacing, h = (o + l) * this._lines.length - l;
|
|
298
|
+
e.textBaseline = "top", e.font = this.fontStyle();
|
|
299
|
+
const d = [];
|
|
300
|
+
let u;
|
|
301
|
+
if (this._data.wordWrapWidth) {
|
|
302
|
+
u = this._data.wordWrapWidth;
|
|
303
|
+
for (let e = 0; e < this._lines.length; e++)
|
|
304
|
+
d.push(this._data.wordWrapWidth);
|
|
305
|
+
}
|
|
306
|
+
else {
|
|
307
|
+
u = 0;
|
|
308
|
+
for (let t = 0; t < this._lines.length; t++) {
|
|
309
|
+
const i = e.measureText(this._lines[t]).width;
|
|
310
|
+
d.push(i), u = Math.max(u, i);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
const p = { top: this._data.paddingTop, right: this._data.paddingRight, bottom: this._data.paddingBottom, left: this._data.paddingLeft }, f = { x: Math.floor(t), y: Math.floor(n), w: Math.ceil(u + p.left + p.right), h: Math.ceil(h + p.top + p.bottom) };
|
|
314
|
+
if (i += p.left, s += p.top, !a.isIE && this._data.icons) {
|
|
315
|
+
const e = void 0 !== this._data.textPadding ? this._data.textPadding : Math.round(o / 2);
|
|
316
|
+
i += 18 + e, f.w += 18 + e;
|
|
317
|
+
}
|
|
318
|
+
if ("bottom" === this._data.vertAlign || "middle" === this._data.vertAlign) {
|
|
319
|
+
const e = "middle" === this._data.vertAlign ? n - f.h / 2 : n - f.h - (f.y - n);
|
|
320
|
+
s += e - f.y, f.y = e;
|
|
321
|
+
}
|
|
322
|
+
if ("right" === this._data.horzAlign || "center" === this._data.horzAlign) {
|
|
323
|
+
const r = "center" === this._data.horzAlign ? t - f.w / 2 : t - f.w - (f.x - t);
|
|
324
|
+
i += r - f.x, f.x = r, !0 !== this._data.doNotAlignText && ("right" === this._data.horzAlign ? (e.textAlign = "end", i += u) : (e.textAlign = "center", i += u / 2));
|
|
325
|
+
}
|
|
326
|
+
f.w % 2 != 0 && f.w++, f.x += .5, f.y += .5, this._boundingBox = Object(r.box)(new r.Point(f.x, f.y), new r.Point(f.x + f.w, f.y + f.h)), this._rect = f, this._padding = p, this._textPoint = { x: i, y: s }, this._textSizeCache && (this._textSizeCache.widths = d), this._preRendered = !0;
|
|
327
|
+
}
|
|
328
|
+
_drawIcon(e, t, i, r, n, o) { const l = `${r}${this._data.isDark}${o.pixelRatio}`; let h = f.get(l); if (!h) {
|
|
329
|
+
h = document.createElement("canvas"), h.width = 18 * o.pixelRatio, h.height = 18 * o.pixelRatio, h.style.width = "18px", h.style.height = "18px";
|
|
330
|
+
const e = Object(s.ensureNotNull)(h.getContext("2d"));
|
|
331
|
+
e.setTransform(1, 0, 0, 1, 0, 0), a.isEdge || e.scale(o.pixelRatio, o.pixelRatio);
|
|
332
|
+
const t = p.getIcon(r, n ? "dark" : "light");
|
|
333
|
+
t.ready() && (e.drawImage(t.image(), 0, 0), f.set(l, h));
|
|
334
|
+
} e.drawImage(h, t - .5, i - .5, 18, 18); }
|
|
335
|
+
}
|
|
336
|
+
}, "6MfG": function (e, t, i) {
|
|
337
|
+
"use strict";
|
|
338
|
+
i.r(t), i.d(t, "Pattern5pointsPaneView", (function () { return _; }));
|
|
339
|
+
var r = i("8Uy/"), n = i("a7Ha"), s = i("Zy3/"), a = i("qgcf"), o = i("/S7V"), l = i("pJOz"), h = i("zXvd"), d = i("VdBB"), c = i("BCbF"), u = i("aB9a");
|
|
340
|
+
class _ extends u.LineSourcePaneView {
|
|
341
|
+
constructor(e, t) { super(e, t), this._abRetracement = NaN, this._bcRetracement = NaN, this._cdRetracement = NaN, this._xdRetracement = NaN, this._numericFormatter = new h.NumericFormatter, this._bcRetracementTrend = new l.TrendLineRenderer, this._xdRetracementTrend = new l.TrendLineRenderer, this._xbTrend = new l.TrendLineRenderer, this._bdTrend = new l.TrendLineRenderer, this._polylineRenderer = new c.PolygonRenderer(new d.HitTestResult(d.HitTestResult.MOVEPOINT)), this._mainTriangleRenderer = new o.TriangleRenderer, this._triangleRendererPoints234 = new o.TriangleRenderer, this._xbLabelRenderer = new a.TextRenderer, this._acLabelRenderer = new a.TextRenderer, this._bdLabelRenderer = new a.TextRenderer, this._xdLabelRenderer = new a.TextRenderer, this._textRendererALabel = new a.TextRenderer, this._textRendererBLabel = new a.TextRenderer, this._textRendererCLabel = new a.TextRenderer, this._textRendererDLabel = new a.TextRenderer, this._textRendererXLabel = new a.TextRenderer, this._renderer = null; }
|
|
342
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
343
|
+
_updateImpl() {
|
|
344
|
+
if (super._updateImpl(), this._updateBaseData(), this._renderer = null, this._points.length < 2)
|
|
345
|
+
return;
|
|
346
|
+
const e = this._source.properties().childs(), t = new s.CompositeRenderer, i = (t, i) => ({ points: [t], text: i, color: e.textcolor.value(), vertAlign: "middle", horzAlign: "center", font: e.font.value(), offsetX: 0, offsetY: 0, bold: e.bold && e.bold.value(), italic: e.italic && e.italic.value(), fontsize: e.fontsize.value(), backgroundColor: e.color.value(), backgroundRoundRect: 4 }), a = (t, i) => ({ points: [t, i], color: e.color.value(), linewidth: 1, linestyle: r.LINESTYLE_DOTTED, extendleft: !1, extendright: !1, leftend: n.LineEnd.Normal, rightend: n.LineEnd.Normal }), [o, l, h, d, c] = this._points, u = { points: [o, l, this._points.length < 3 ? l : h], color: "rgba(0, 0, 0, 0)", linewidth: e.linewidth.value(), backcolor: e.backgroundColor.value(), fillBackground: e.fillBackground.value(), transparency: e.transparency.value() };
|
|
347
|
+
if (this._mainTriangleRenderer.setData(u), t.append(this._mainTriangleRenderer), this._points.length > 3) {
|
|
348
|
+
const i = { points: [h, d, 5 === this._points.length ? c : d], color: "rgba(0, 0, 0, 0)", linewidth: e.linewidth.value(), backcolor: e.backgroundColor.value(), fillBackground: e.fillBackground.value(), transparency: e.transparency.value() };
|
|
349
|
+
this._triangleRendererPoints234.setData(i), t.append(this._triangleRendererPoints234);
|
|
350
|
+
}
|
|
351
|
+
const _ = { points: this._points, color: e.color.value(), linewidth: e.linewidth.value(), backcolor: e.backgroundColor.value(), fillBackground: !1, linestyle: r.LINESTYLE_SOLID, filled: !1 };
|
|
352
|
+
if (this._polylineRenderer.setData(_), t.append(this._polylineRenderer), this._points.length >= 3) {
|
|
353
|
+
const e = i(o.add(h).scaled(.5), this._numericFormatter.format(this._abRetracement));
|
|
354
|
+
this._xbLabelRenderer.setData(e), t.append(this._xbLabelRenderer), this._xbTrend.setData(a(o, h)), t.append(this._xbTrend);
|
|
355
|
+
}
|
|
356
|
+
if (this._points.length >= 4) {
|
|
357
|
+
this._bcRetracementTrend.setData(a(l, d)), t.append(this._bcRetracementTrend);
|
|
358
|
+
const e = i(l.add(d).scaled(.5), this._numericFormatter.format(this._bcRetracement));
|
|
359
|
+
this._acLabelRenderer.setData(e), t.append(this._acLabelRenderer);
|
|
360
|
+
}
|
|
361
|
+
if (this._points.length >= 5) {
|
|
362
|
+
const e = i(h.add(c).scaled(.5), this._numericFormatter.format(this._cdRetracement));
|
|
363
|
+
this._bdLabelRenderer.setData(e), t.append(this._bdLabelRenderer), this._xdRetracementTrend.setData(a(o, c)), t.append(this._xdRetracementTrend);
|
|
364
|
+
const r = i(o.add(c).scaled(.5), this._numericFormatter.format(this._xdRetracement));
|
|
365
|
+
this._xdLabelRenderer.setData(r), t.append(this._xdLabelRenderer), this._bdTrend.setData(a(h, c)), t.append(this._bdTrend);
|
|
366
|
+
}
|
|
367
|
+
const p = i(o, "X");
|
|
368
|
+
l.y > o.y ? (p.vertAlign = "bottom", p.offsetY = 5) : (p.vertAlign = "top", p.offsetY = 5), this._textRendererXLabel.setData(p), t.append(this._textRendererXLabel);
|
|
369
|
+
const f = i(l, "A");
|
|
370
|
+
if (l.y < o.y ? (f.vertAlign = "bottom", f.offsetY = 5) : (f.vertAlign = "top", f.offsetY = 5), this._textRendererALabel.setData(f), t.append(this._textRendererALabel), this._points.length > 2) {
|
|
371
|
+
const e = i(h, "B");
|
|
372
|
+
h.y < l.y ? (e.vertAlign = "bottom", e.offsetY = 5) : (e.vertAlign = "top", e.offsetY = 5), this._textRendererBLabel.setData(e), t.append(this._textRendererBLabel);
|
|
373
|
+
}
|
|
374
|
+
if (this._points.length > 3) {
|
|
375
|
+
const e = i(d, "C");
|
|
376
|
+
d.y < h.y ? (e.vertAlign = "bottom", e.offsetY = 5) : (e.vertAlign = "top", e.offsetY = 5), this._textRendererCLabel.setData(e), t.append(this._textRendererCLabel);
|
|
377
|
+
}
|
|
378
|
+
if (this._points.length > 4) {
|
|
379
|
+
const e = i(c, "D");
|
|
380
|
+
c.y < d.y ? (e.vertAlign = "bottom", e.offsetY = 5) : (e.vertAlign = "top", e.offsetY = 5), this._textRendererDLabel.setData(e), t.append(this._textRendererDLabel);
|
|
381
|
+
}
|
|
382
|
+
this.addAnchors(t), this._renderer = t;
|
|
383
|
+
}
|
|
384
|
+
_updateBaseData() {
|
|
385
|
+
if (this._source.points().length >= 3) {
|
|
386
|
+
const [e, t, i] = this._source.points();
|
|
387
|
+
this._abRetracement = Math.round(1e3 * Math.abs((i.price - t.price) / (t.price - e.price))) / 1e3;
|
|
388
|
+
}
|
|
389
|
+
if (this._source.points().length >= 4) {
|
|
390
|
+
const [, e, t, i] = this._source.points();
|
|
391
|
+
this._bcRetracement = Math.round(1e3 * Math.abs((i.price - t.price) / (t.price - e.price))) / 1e3;
|
|
392
|
+
}
|
|
393
|
+
if (this._source.points().length >= 5) {
|
|
394
|
+
const [e, t, i, r, n] = this._source.points();
|
|
395
|
+
this._cdRetracement = Math.round(1e3 * Math.abs((n.price - r.price) / (r.price - i.price))) / 1e3,
|
|
396
|
+
this._xdRetracement = Math.round(1e3 * Math.abs((n.price - t.price) / (t.price - e.price))) / 1e3;
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
}, "6sSH": function (e, t, i) {
|
|
401
|
+
"use strict";
|
|
402
|
+
var r = i("aO4+").Point, n = i("IjC5").RectangleRenderer, s = i("pJOz").TrendLineRenderer, a = i("cjIn").PaneRendererCachedImage, o = i("VdBB").HitTestResult, l = i("Zy3/").CompositeRenderer, h = i("a7Ha").LineEnd, d = i("d1Pk").fibLevelCoordinate, c = i("NCfL").LineToolPaneViewWithLevelledTextCache, u = i("xUGI");
|
|
403
|
+
class _ extends u {
|
|
404
|
+
_selectStartPrice(e) { return e.points()[2].price; }
|
|
405
|
+
priceRange(e, t) { var i = this.points(e), r = i[0], n = i[1], s = t ? r.price - n.price : n.price - r.price; if (!this._calculateLogLevels(e))
|
|
406
|
+
return { price: s }; var a = e.priceScale(), o = e.ownerSource().firstValue(), l = a.priceToCoordinate(r.price, o), h = a.priceToCoordinate(n.price, o); return { price: s, coordinate: t ? l - h : h - l }; }
|
|
407
|
+
}
|
|
408
|
+
t.TrendBasedFibExtensionPaneView = class extends c {
|
|
409
|
+
constructor(e, t) { super(e, t), this._rendererCache = {}, this._trendLineRendererPoints12 = new s, this._trendLineRendererPoints23 = new s, this._renderer = null; }
|
|
410
|
+
getCacheRects(e, t) { super.getCacheRects(e, t); var i = this._cacheState.preparedCells.cells[this._levels[t].index - 1]; if (i) {
|
|
411
|
+
var n = this._points[1], s = this._points[2], a = Math.min(n.x, s.x), o = Math.max(n.x, s.x);
|
|
412
|
+
n = new r(a, this._levels[t].y), s = new r(o, this._levels[t].y);
|
|
413
|
+
var l, h = this._source.properties(), d = h.extendLines.value() ? this._model.timeScale().width() : o;
|
|
414
|
+
switch (h.horzLabelsAlign.value()) {
|
|
415
|
+
case "left":
|
|
416
|
+
l = n;
|
|
417
|
+
break;
|
|
418
|
+
case "center":
|
|
419
|
+
(l = n.add(s).scaled(.5)).x += i.width / 2, l.x = Math.round(l.x);
|
|
420
|
+
break;
|
|
421
|
+
case "right": h.extendLines.value() ? l = new r(d - 4, this._levels[t].y) : ((l = new r(d + 4, this._levels[t].y)).x += i.width, l.x = Math.round(l.x));
|
|
422
|
+
}
|
|
423
|
+
var c = { left: i.left, top: this._cache.topByRow(this._cacheState.row), width: i.width, height: this._cache.rowHeight(this._cacheState.row) }, u = { left: l.x - c.width, top: l.y, width: i.width, height: c.height }, _ = h.vertLabelsAlign.value();
|
|
424
|
+
return "middle" === _ && (u.top -= u.height / 2), "bottom" === _ && (u.top -= u.height), { cacheRect: c, targetRect: u };
|
|
425
|
+
} }
|
|
426
|
+
_createCache(e) { return new _(this._source.properties().fibLevelsBasedOnLogScale, this._source.levelsCount(), e); }
|
|
427
|
+
_updateImpl() {
|
|
428
|
+
if (super._updateImpl(), this._renderer = null, 3 === this._source.points().length) {
|
|
429
|
+
var e = this._source.priceScale();
|
|
430
|
+
if (!e || e.isEmpty() || this._model.timeScale().isEmpty())
|
|
431
|
+
return;
|
|
432
|
+
var t = this._source.ownerSource().firstValue();
|
|
433
|
+
if (null == t)
|
|
434
|
+
return;
|
|
435
|
+
var i = this._source.points()[0], c = this._source.points()[1], u = this._source.points()[2], _ = !1;
|
|
436
|
+
(C = this._source.properties()).reverse && C.reverse.value() && (_ = C.reverse.value()), this._levels = [];
|
|
437
|
+
var p, f, g = _ ? i.price : c.price, v = _ ? c.price : i.price, w = g - v, x = e.isLog() && C.fibLevelsBasedOnLogScale.value();
|
|
438
|
+
if (x)
|
|
439
|
+
p = e.priceToCoordinate(g, t) - e.priceToCoordinate(v, t), f = e.priceToCoordinate(u.price, t);
|
|
440
|
+
for (var m = { price: u.price, coordinate: f }, y = { price: w, coordinate: p }, b = this._source.levelsCount(), R = 1; R <= b; R++) {
|
|
441
|
+
var T = C["level" + R];
|
|
442
|
+
if (T.visible.value()) {
|
|
443
|
+
var S = T.coeff.value(), P = T.color.value(), L = d(m, y, S, e, t, x);
|
|
444
|
+
this._levels.push({ color: P, y: L, linewidth: C.levelsStyle.linewidth.value(), linestyle: C.levelsStyle.linestyle.value(), index: R });
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
if (!(this._points.length < 2)) {
|
|
449
|
+
var C, M = new l;
|
|
450
|
+
i = this._points[0], c = this._points[1];
|
|
451
|
+
if ((C = this._source.properties()).trendline.visible.value()) {
|
|
452
|
+
var I = { points: [i, c], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: C.trendline.color.value(), linewidth: C.trendline.linewidth.value(), linestyle: C.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal };
|
|
453
|
+
this._trendLineRendererPoints12.setData(I), M.append(this._trendLineRendererPoints12);
|
|
454
|
+
}
|
|
455
|
+
if (this._points.length < 3)
|
|
456
|
+
return this.addAnchors(M), void (this._renderer = M);
|
|
457
|
+
u = this._points[2];
|
|
458
|
+
if (C.trendline.visible.value()) {
|
|
459
|
+
I = { points: [c, u], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: C.trendline.color.value(), linewidth: C.trendline.linewidth.value(), linestyle: C.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal };
|
|
460
|
+
this._trendLineRendererPoints23.setData(I), M.append(this._trendLineRendererPoints23);
|
|
461
|
+
}
|
|
462
|
+
var O = Math.min(u.x, c.x), N = Math.max(u.x, c.x), D = C.fillBackground.value(), B = C.transparency.value(), k = C.extendLinesLeft.value(), A = C.extendLines.value();
|
|
463
|
+
if (D)
|
|
464
|
+
for (R = 0; R < this._levels.length; R++)
|
|
465
|
+
if (R > 0 && D) {
|
|
466
|
+
var E = this._levels[R - 1], z = (i = new r(O, this._levels[R].y), c = new r(N, E.y), {});
|
|
467
|
+
z.points = [i, c], z.color = this._levels[R].color, z.linewidth = 0, z.backcolor = this._levels[R].color, z.fillBackground = !0, z.transparency = B, z.extendLeft = k, z.extendRight = A;
|
|
468
|
+
var j = new n(void 0, void 0, !0);
|
|
469
|
+
j.setData(z), M.append(j);
|
|
470
|
+
}
|
|
471
|
+
var V = O, H = N;
|
|
472
|
+
V === H && (k && (V -= 1), A && (H += 1));
|
|
473
|
+
for (R = 0; R < this._levels.length; R++) {
|
|
474
|
+
I = { points: [i = new r(V, this._levels[R].y), c = new r(H, this._levels[R].y)], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: this._levels[R].color, linewidth: this._levels[R].linewidth, linestyle: this._levels[R].linestyle, extendleft: k, extendright: A, leftend: h.Normal, rightend: h.Normal };
|
|
475
|
+
var W = new s;
|
|
476
|
+
if (W.setData(I), W.setHitTest(new o(o.MOVEPOINT, null, this._levels[R].index)), M.append(W), C.showCoeffs.value() || C.showPrices.value()) {
|
|
477
|
+
var F = new a(this, R);
|
|
478
|
+
M.append(F);
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
this.addAnchors(M), this._renderer = M;
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
485
|
+
};
|
|
486
|
+
}, "8GeE": function (e, t, i) {
|
|
487
|
+
"use strict";
|
|
488
|
+
i.r(t);
|
|
489
|
+
var r = i("aO4+"), n = i("hfHJ"), s = i("Zy3/"), a = i("a7Ha"), o = i("8Uy/"), l = i("//lt"), h = i("pJOz"), d = i("aB9a"), c = i("Ialn"), u = i("ikwP"), _ = i("cPgM"), p = i("VdBB");
|
|
490
|
+
class f extends _.ScaledPaneRenderer {
|
|
491
|
+
constructor(e) { super(), this._data = null, this._cache = e; }
|
|
492
|
+
setData(e) { this._data = e; }
|
|
493
|
+
hitTest(e, t) { if (null === this._data)
|
|
494
|
+
return null; const i = 65536 * this._data.icon + this._data.size, r = this._cache[i] * this._data.scale, s = Object(n.rotationMatrix)(-this._data.angle); let a = e.subtract(this._data.point); return a = Object(n.transformPoint)(s, a), Math.abs(a.y) <= r / 2 && Math.abs(a.x) <= this._data.size / 2 ? new p.HitTestResult(p.HitTestResult.MOVEPOINT) : null; }
|
|
495
|
+
_drawImpl(e, t) {
|
|
496
|
+
if (null === this._data)
|
|
497
|
+
return;
|
|
498
|
+
const i = String.fromCharCode(this._data.icon);
|
|
499
|
+
e.font = this._data.size + "px FontAwesome";
|
|
500
|
+
const r = e.measureText(i).width;
|
|
501
|
+
e.textBaseline = "middle";
|
|
502
|
+
const n = this._data.point;
|
|
503
|
+
e.translate(n.x, n.y), e.rotate(this._data.angle - Math.PI / 2), e.scale(this._data.scale, 1);
|
|
504
|
+
const s = 65536 * this._data.icon + this._data.size;
|
|
505
|
+
e.textAlign = Object(c.isRtl)() ? "right" : "left";
|
|
506
|
+
const a = Object(u.calcTextHorizontalShift)(e, r);
|
|
507
|
+
this._cache[s] = r, this._data.selected && (e.fillStyle = "rgba(80, 80, 80, 0.2)", e.fillRect(-this._cache[s] / 2, -this._data.size / 2, this._cache[s], this._data.size)), e.fillStyle = this._data.color, e.fillText(i, -this._cache[s] / 2 + a, 0);
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
i.d(t, "IconPaneView", (function () { return g; }));
|
|
511
|
+
class g extends d.LineSourcePaneView {
|
|
512
|
+
constructor() { super(...arguments), this._cache = {}, this._dashRenderer = new h.TrendLineRenderer, this._iconRenderer = new f(this._cache), this._renderer = null; }
|
|
513
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
514
|
+
_updateImpl() { if (super._updateImpl(), this._renderer = null, this._points.length < 1)
|
|
515
|
+
return; const e = new s.CompositeRenderer, t = this._source.properties().childs(), i = { point: this._points[0], color: t.color.value(), size: t.size.value(), icon: t.icon.value(), angle: t.angle.value(), scale: t.scale.value(), selected: this.areAnchorsVisible() }; this._iconRenderer.setData(i), e.append(this._iconRenderer); const h = 65536 * i.icon + i.size, c = this._cache[h], u = i.size, _ = this._points[0], p = t.scale.value(), f = this._source.getAnchorLimit(); let g = new r.Point(Math.max(f, u) / 2, 0), v = new r.Point(0, Math.max(f, p * c) / 2); const w = Object(n.rotationMatrix)(t.angle.value()); g = Object(n.transformPoint)(w, g), v = Object(n.transformPoint)(w, v); const x = _.add(g); x.data = 0; const m = _.subtract(g); m.data = 1; const y = _.add(v); y.data = 2, y.square = !0; const b = _.subtract(v); if (b.data = 3, b.square = !0, this.areAnchorsVisible()) {
|
|
516
|
+
const t = { points: [x, m], color: "#808080", linewidth: 1, linestyle: o.LINESTYLE_DASHED, extendleft: !1, extendright: !1, leftend: a.LineEnd.Normal, rightend: a.LineEnd.Normal };
|
|
517
|
+
this._dashRenderer.setData(t), e.append(this._dashRenderer);
|
|
518
|
+
} const R = Object(d.thirdPointCursorType)(x, m), T = [l.PaneCursorType.Default, l.PaneCursorType.Default, R, R]; e.append(this.createLineAnchor({ points: [x, m, y, b], pointsCursorType: T }, 0)), this._renderer = e; }
|
|
519
|
+
}
|
|
520
|
+
}, "8MBc": function (e, t, i) {
|
|
521
|
+
"use strict";
|
|
522
|
+
var r = i("aB9a").LineSourcePaneView, n = i("pJOz").TrendLineRenderer, s = i("VdBB").HitTestResult, a = i("Zy3/").CompositeRenderer, o = i("a7Ha").LineEnd, l = i("cPgM").ScaledPaneRenderer;
|
|
523
|
+
class h extends l {
|
|
524
|
+
constructor() { super(), this._data = null; }
|
|
525
|
+
setData(e) { this._data = e; }
|
|
526
|
+
_fibNumbers() { return [0, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]; }
|
|
527
|
+
_continiusFib(e) { var t = this._fibNumbers(), i = Math.floor(e), r = Math.ceil(e); if (r >= t.length)
|
|
528
|
+
return null; var n = e - i; n = Math.pow(n, 1.15); var s = t[r] - t[i]; return t[i] + s * n; }
|
|
529
|
+
hitTest(e) { if (null === this._data)
|
|
530
|
+
return null; var t = this._data.points[0], i = this._data.points[1].subtract(t), r = e.subtract(t), n = i.normalized(), a = n.transposed(), o = r.normalized(), l = Math.acos(n.dotProduct(o)); Math.asin(a.dotProduct(o)) < 0 && (l = 2 * Math.PI - l); for (var h = this._data.counterclockwise ? -1 : 1, d = r.length(), c = 0; c < 4; c++) {
|
|
531
|
+
var u = h * l / (.5 * Math.PI), _ = this._continiusFib(u + 4 * c);
|
|
532
|
+
if (null !== (_ = _ * i.length() / 5) && Math.abs(_ - d) < 5)
|
|
533
|
+
return new s(s.MOVEPOINT);
|
|
534
|
+
} return null; }
|
|
535
|
+
_drawImpl(e) {
|
|
536
|
+
if (null !== this._data) {
|
|
537
|
+
e.lineCap = "round", e.strokeStyle = this._data.color;
|
|
538
|
+
var t = this._data.points[0], i = this._data.points[1];
|
|
539
|
+
e.translate(t.x, t.y);
|
|
540
|
+
var r = i.subtract(t), n = r.length();
|
|
541
|
+
r = r.normalized();
|
|
542
|
+
var s = Math.acos(r.x);
|
|
543
|
+
Math.asin(r.y) < 0 && (s = 2 * Math.PI - s), e.rotate(s), e.scale(n / 5, n / 5), e.lineWidth = this._data.linewidth, CanvasEx.setLineStyle(e, this._data.linestyle);
|
|
544
|
+
var a = Math.PI / 100;
|
|
545
|
+
e.moveTo(0, 0);
|
|
546
|
+
for (var o = this._data.counterclockwise ? -1 : 1, l = 0; l < 50 * (this._fibNumbers().length - 1); l++) {
|
|
547
|
+
var h = o * l * a, d = this._continiusFib(l / 50), c = Math.cos(h) * d, u = Math.sin(h) * d;
|
|
548
|
+
e.lineTo(c, u);
|
|
549
|
+
}
|
|
550
|
+
e.scale(5 / n, 5 / n), e.rotate(-s), e.stroke();
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
t.FibSpiralPaneView = class extends r {
|
|
555
|
+
constructor(e, t) { super(e, t), this._trendLineRenderer = new n, this._spiralRenderer = new h, this._renderer = null; }
|
|
556
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
557
|
+
_updateImpl() { if (super._updateImpl(), this._renderer = null, !(this._floatPoints.length < 2)) {
|
|
558
|
+
var e, t = new a;
|
|
559
|
+
(e = {}).points = this._floatPoints, e.width = this._model.timeScale().width(), e.height = this._source.priceScale().height(), e.color = this._source.properties().linecolor.value(), e.linewidth = this._source.properties().linewidth.value(), e.linestyle = this._source.properties().linestyle.value(), e.extendleft = !1, e.extendright = !0, e.leftend = o.Normal, e.rightend = o.Normal, this._trendLineRenderer.setData(e), t.append(this._trendLineRenderer), (e = {}).points = this._floatPoints, e.width = this._model.timeScale().width(), e.height = this._source.priceScale().height(), e.color = this._source.properties().linecolor.value(), e.linewidth = this._source.properties().linewidth.value(), e.linestyle = this._source.properties().linestyle.value(), e.counterclockwise = this._source.properties().counterclockwise.value(), this._spiralRenderer.setData(e), t.append(this._spiralRenderer), this.addAnchors(t), this._renderer = t;
|
|
560
|
+
} }
|
|
561
|
+
};
|
|
562
|
+
}, "8xAY": function (e, t, i) {
|
|
563
|
+
"use strict";
|
|
564
|
+
var r;
|
|
565
|
+
i.r(t), i.d(t, "LabelSettings", (function () { return r; })), function (e) { e.offset = 8, e.fontSize = 12, e.lineSpacing = 16, e.rectRadius = 4, e.bgColorLight = "rgba(227,242,253,0.9)", e.bgColorDark = "rgba(67,70,81,0.9)", e.textColorLight = "#2A2E39", e.textColorDark = "#F8F9FD", e.textPadding = 10, e.paddingTopBottom = 13, e.paddingLeftRight = 10; }(r || (r = {}));
|
|
566
|
+
}, "9FRF": function (e, t, i) {
|
|
567
|
+
"use strict";
|
|
568
|
+
var r = i("aB9a").LineSourcePaneView, n = i("NN6M").ParallelChannelRenderer, s = i("Zy3/").CompositeRenderer, a = i("//lt").PaneCursorType, o = [a.Default, a.Default, a.Default, a.Default, a.VerticalResize, a.VerticalResize];
|
|
569
|
+
t.ParallelChannelPaneView = class extends r {
|
|
570
|
+
constructor(e, t) { super(e, t), this._channelRenderer = new n, this._renderer = null, this._p3 = null, this._p4 = null; }
|
|
571
|
+
_updateImpl() {
|
|
572
|
+
if (super._updateImpl(), this._renderer = null, this._source.priceScale() && !this._source.priceScale().isEmpty() && 0 !== this._source.points().length) {
|
|
573
|
+
if (this._source._priceOffset || this._source.calculatePriceDiff(), 3 === this._points.length && this._source._priceOffset) {
|
|
574
|
+
var e = this._points[0], t = this._points[1], i = this._source._priceOffset + this._source.points()[0].price, r = this._source._priceOffset + this._source.points()[1].price;
|
|
575
|
+
this._p3 = e.clone(), this._p4 = t.clone();
|
|
576
|
+
var n = this._source.priceScale(), a = this._source.ownerSource().firstValue();
|
|
577
|
+
if (n.isLog()) {
|
|
578
|
+
var l = .5 * (i + r) - this._source._priceOffset, h = .5 * (i + r), d = this._source.priceScale().priceToCoordinate(l, a), c = this._source.priceScale().priceToCoordinate(h, a) - d;
|
|
579
|
+
this._p3.y += c,
|
|
580
|
+
this._p4.y += c;
|
|
581
|
+
}
|
|
582
|
+
else
|
|
583
|
+
this._p3.y = this._source.priceScale().priceToCoordinate(i, a), this._p4.y = this._source.priceScale().priceToCoordinate(r, a);
|
|
584
|
+
}
|
|
585
|
+
var u = { points: [] };
|
|
586
|
+
this._points.length > 1 && (u.points.push(this._points[0]), u.points.push(this._points[1])), this._points.length > 2 && null !== this._p3 && null !== this._p4 && (u.points.push(this._p3), u.points.push(this._p4)), u.color = this._source.properties().linecolor.value(), u.width = this._model.timeScale().width(), u.height = this._source.priceScale().height();
|
|
587
|
+
var _ = this._source.properties();
|
|
588
|
+
u.linewidth = _.linewidth.value(), u.linestyle = _.linestyle.value(), u.extendleft = _.extendLeft.value(), u.extendright = _.extendRight.value(), u.fillBackground = _.fillBackground.value(), u.backcolor = _.backgroundColor.value(), u.transparency = _.transparency.value(), u.showMidline = _.showMidline.value(), u.midlinewidth = _.midlinewidth.value(), u.midlinestyle = _.midlinestyle.value(), u.midcolor = _.midlinecolor.value(), u.fillBackground = _.fillBackground.value(), u.hittestOnBackground = !0, this._channelRenderer.setData(u);
|
|
589
|
+
var p = new s;
|
|
590
|
+
p.append(this._channelRenderer);
|
|
591
|
+
var f = [];
|
|
592
|
+
if (this._points[0] && f.push(this._points[0]), this._points[1] && f.push(this._points[1]), this._p3) {
|
|
593
|
+
var g = this._p3;
|
|
594
|
+
g.data = 2, f.push(g);
|
|
595
|
+
var v = this._p4;
|
|
596
|
+
v.data = 3, f.push(v);
|
|
597
|
+
var w = this._p3.add(this._p4).scaled(.5);
|
|
598
|
+
w.data = 4, w.square = !0, f.push(w);
|
|
599
|
+
var x = f[0].add(f[1]).scaled(.5);
|
|
600
|
+
x.data = 5, x.square = !0, f.push(x);
|
|
601
|
+
}
|
|
602
|
+
var m = 3 === this._points.length && !this._p3;
|
|
603
|
+
this._model.lineBeingCreated() !== this._source || m || (f.pop(), f.pop()), p.append(this.createLineAnchor({ points: f, pointsCursorType: o }, 0)), this._renderer = p;
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
607
|
+
};
|
|
608
|
+
}, AOzI: function (e, t, i) {
|
|
609
|
+
"use strict";
|
|
610
|
+
i.r(t), i.d(t, "StudyLineDataSourceAnchorsPaneView", (function () { return n; }));
|
|
611
|
+
var r = i("aB9a");
|
|
612
|
+
class n extends r.LineSourcePaneView {
|
|
613
|
+
renderer() { return this._invalidated && (this._updateImpl(), this._invalidated = !1), this.createLineAnchor({ points: this._getPoints() }, 0); }
|
|
614
|
+
}
|
|
615
|
+
}, Ay2m: function (e, t, i) {
|
|
616
|
+
"use strict";
|
|
617
|
+
var r = i("aO4+").Point, n = i("YFKU").t, s = i("aB9a").LineSourcePaneView, a = i("LxhU").Interval, o = i("VdBB").HitTestResult, l = i("Zy3/").CompositeRenderer, h = i("PuIH").getImage, d = i("Hr11"), c = i("GH0z").PercentageFormatter, u = i("gQ5K").DateFormatter, _ = i("4kQX").TimeFormatter, p = i("nda6").TimeSpanFormatter, f = i("Tmoa"), g = i("08i5"), v = i("ikwP").calcTextHorizontalShift, w = i("Ialn").isRtl, x = i("gAom").drawRoundRect, m = i("XlJ7").makeFont, y = i("cPgM").ScaledPaneRenderer, b = i("Ialn"), R = b.forceLTRStr, T = b.startWithLTR, S = i("zDbI").CHART_FONT_FAMILY;
|
|
618
|
+
class P extends y {
|
|
619
|
+
constructor() { super(), this._data = null, this._font = S, this._targetFontSize1 = 14, this._targetFontSize2 = 11, this._sourceFontSize1 = 12, this._sourceFontSize2 = 10, this._arrowOffset = 6, this._arrowWidth = 5, this._arrowHeight = 5, this._radius = 3, this._sourceWidth = void 0, this._sourceHeight = void 0, this._sourceRectLeftOffset = void 0, this._targetWidth = void 0, this._targetHeight = void 0, this._targetRectLeftOffset = void 0; }
|
|
620
|
+
setData(e) { this._data = e; }
|
|
621
|
+
drawBalloon(e, t, i, n, s, a) {
|
|
622
|
+
var o = a || 20;
|
|
623
|
+
if (e.beginPath(), "down" === s) {
|
|
624
|
+
var l = new r(t.x - o, t.y - this._arrowOffset - this._arrowHeight - n);
|
|
625
|
+
return e.moveTo(l.x + this._radius, l.y), e.lineTo(l.x + i - this._radius, l.y), e.arcTo(l.x + i, l.y, l.x + i, l.y + this._radius, this._radius), e.lineTo(l.x + i, l.y + n - this._radius), e.arcTo(l.x + i, l.y + n, l.x + i - this._radius, l.y + n, this._radius), e.lineTo(l.x + o + this._arrowWidth, l.y + n), e.lineTo(l.x + o, l.y + n + this._arrowHeight), e.lineTo(l.x + o - this._arrowWidth, l.y + n), e.lineTo(l.x + this._radius, l.y + n), e.arcTo(l.x, l.y + n, l.x, l.y + n - this._radius, this._radius), e.lineTo(l.x, l.y + this._radius), e.arcTo(l.x, l.y, l.x + this._radius, l.y, this._radius), l;
|
|
626
|
+
}
|
|
627
|
+
var h = new r(t.x - o, t.y + this._arrowOffset + this._arrowHeight + n);
|
|
628
|
+
return e.moveTo(h.x + this._radius, h.y), e.lineTo(h.x + i - this._radius, h.y), e.arcTo(h.x + i, h.y, h.x + i, h.y - this._radius, this._radius), e.lineTo(h.x + i, h.y - n + this._radius), e.arcTo(h.x + i, h.y - n, h.x + i - this._radius, h.y - n, this._radius), e.lineTo(h.x + o + this._arrowWidth, h.y - n), e.lineTo(h.x + o, h.y - n - this._arrowHeight), e.lineTo(h.x + o - this._arrowWidth, h.y - n), e.lineTo(h.x + this._radius, h.y - n), e.arcTo(h.x, h.y - n, h.x, h.y - n + this._radius, this._radius), e.lineTo(h.x, h.y - this._radius), e.arcTo(h.x, h.y, h.x + this._radius, h.y, this._radius), new r(h.x, h.y - n);
|
|
629
|
+
}
|
|
630
|
+
drawTargetLabel(e) {
|
|
631
|
+
e.save(), e.translate(.5, .5);
|
|
632
|
+
var t = m(this._targetFontSize1, this._font, "normal"), i = m(this._targetFontSize2, this._font, "normal"), r = this._data.targetLine1, s = this._data.targetLine2, a = this._data.targetLine3, o = this._data.targetLine4;
|
|
633
|
+
e.font = t;
|
|
634
|
+
var l = e.measureText(r).width, h = e.measureText(s).width, d = e.measureText(" ").width;
|
|
635
|
+
e.font = i;
|
|
636
|
+
var c = e.measureText(a).width, u = e.measureText(o).width, _ = e.measureText(" ").width, p = this._data.clockWhite && this._data.clockWhite.width || 0;
|
|
637
|
+
this._targetWidth = Math.max(l + h + d, c + u + p + 2 * _) + 8 + 4, this._targetHeight = this._targetFontSize1 + this._targetFontSize2 + 9 + 4;
|
|
638
|
+
var y = this._data.points[1], b = y.x + this._targetWidth - e.canvas.width + 5;
|
|
639
|
+
this._targetRectLeftOffset = Math.max(20, Math.min(this._targetWidth - 15, b));
|
|
640
|
+
var R = "up" === this._data.direction ? "down" : "up", T = this.drawBalloon(e, y, this._targetWidth, this._targetHeight, R, this._targetRectLeftOffset);
|
|
641
|
+
e.fillStyle = f.generateColor(this._data.targetBackColor, this._data.transparency), e.fill(), e.lineWidth = 2, e.strokeStyle = f.generateColor(this._data.targetStrokeColor, this._data.transparency), e.stroke();
|
|
642
|
+
e.beginPath(), e.arc(y.x, y.y, 3, 0, 2 * Math.PI, !1), e.fillStyle = this._data.centersColor, e.fill(), e.textBaseline = "top", e.fillStyle = this._data.targetTextColor;
|
|
643
|
+
var S = 2 + T.x + 4, P = 2 + T.y + 3, L = this._targetWidth - 8 - 4;
|
|
644
|
+
e.font = t, e.textAlign = w() ? "right" : "left";
|
|
645
|
+
var C = v(e, L - h - d);
|
|
646
|
+
e.fillText(r, S + C, P);
|
|
647
|
+
var M = v(e, L - l);
|
|
648
|
+
e.fillText(s, S + l + d + M, P), e.font = i;
|
|
649
|
+
var I = P + this._targetFontSize1 + 3, O = v(e, L - u - p - _);
|
|
650
|
+
e.fillText(a, S + O, I);
|
|
651
|
+
var N = v(e, L - c - _ - p - u);
|
|
652
|
+
this._data.clockWhite && e.drawImage(this._data.clockWhite, S + c + _ + N, I + 1);
|
|
653
|
+
var D = v(e, L - c - p);
|
|
654
|
+
if (e.fillText(o, S + c + p + 2 * _ + D, I), this._data.status) {
|
|
655
|
+
var B, k, A, E;
|
|
656
|
+
switch (e.font = m(this._targetFontSize1, this._font, "bold"), this._data.status) {
|
|
657
|
+
case g.AlertStatus.Success:
|
|
658
|
+
B = n("SUCCESS"), k = f.generateColor(this._data.successBackground, this._data.transparency), A = this._data.successTextColor, E = this._data.successIcon;
|
|
659
|
+
break;
|
|
660
|
+
case g.AlertStatus.Failure: B = n("FAILURE"),
|
|
661
|
+
k = f.generateColor(this._data.failureBackground, this._data.transparency), A = this._data.failureTextColor, E = this._data.failureIcon;
|
|
662
|
+
}
|
|
663
|
+
var z = this._targetFontSize1 + 4, j = e.measureText(B).width, V = Math.round((this._targetWidth - j) / 2), H = v(e, j);
|
|
664
|
+
e.fillStyle = k, "up" === this._data.direction ? (x(e, T.x - 1, T.y - z - 2, this._targetWidth + 2, z, 5), e.fill(), e.fillStyle = A, e.fillText(B, T.x + V + H, T.y - z + 1), E && e.drawImage(E, T.x + V - E.width - 4, T.y - z - 2 + Math.abs(z - E.height) / 2)) : (x(e, T.x - 1, T.y + this._targetHeight + 2, this._targetWidth + 2, z, 5), e.fill(), e.fillStyle = A, e.fillText(B, T.x + V + H, T.y + this._targetHeight + 5), E && e.drawImage(E, T.x + V - E.width - 4, T.y + this._targetHeight + 10 - Math.abs(z - E.height) / 2)), e.restore();
|
|
665
|
+
}
|
|
666
|
+
else
|
|
667
|
+
e.restore();
|
|
668
|
+
}
|
|
669
|
+
drawStartLabel(e) { e.save(), e.translate(.5, .5); var t = m(this._sourceFontSize1, this._font, "normal"), i = m(this._sourceFontSize2, this._font, "normal"); e.font = t; var r = e.measureText(this._data.sourceLine1).width; e.font = i; var n = e.measureText(this._data.sourceLine2).width; this._sourceWidth = Math.max(r, n) + 6 + 4, this._sourceHeight = this._sourceFontSize1 + this._sourceFontSize2 + 6 + 4; var s = this._data.points[0], a = s.x + this._sourceWidth - e.canvas.width + 5; this._sourceRectLeftOffset = Math.max(20, Math.min(this._sourceWidth - 15, a)); var o = this.drawBalloon(e, s, this._sourceWidth, this._sourceHeight, this._data.direction, this._sourceRectLeftOffset); e.fillStyle = f.generateColor(this._data.sourceBackColor, this._data.transparency), e.fill(), e.lineWidth = 2, e.strokeStyle = f.generateColor(this._data.sourceStrokeColor, this._data.transparency), e.stroke(), e.textAlign = w() ? "right" : "left", e.textBaseline = "top", e.fillStyle = this._data.sourceTextColor; var l = v(e, this._sourceWidth - 6 - 4), h = 2 + o.x + 3 + l, d = 2 + o.y + 2; e.font = t, e.fillText(this._data.sourceLine1, h, d), e.font = i, e.fillText(this._data.sourceLine2, h, d + this._sourceFontSize1 + 2); e.beginPath(), e.arc(s.x, s.y, 3, 0, 2 * Math.PI, !1), e.fillStyle = this._data.centersColor, e.fill(), e.restore(); }
|
|
670
|
+
_drawImpl(e) { if (!(null === this._data || this._data.points.length < 2)) {
|
|
671
|
+
e.lineCap = "butt", e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, e.lineStyle = this._data.linestyle;
|
|
672
|
+
var t = this._data.points[0], i = this._data.points[1], r = i.subtract(t);
|
|
673
|
+
Math.abs(r.x) < 1 || Math.abs(r.y) < 1 ? (e.beginPath(), e.moveTo(t.x, t.y), e.lineTo(i.x, i.y), e.stroke()) : (e.save(), e.beginPath(), e.translate(t.x, t.y), e.scale(1, r.y / r.x), e.moveTo(0, 0), e.arcTo(r.x, 0, r.x, r.x, Math.abs(r.x)), e.lineTo(r.x, r.x), e.restore(), e.stroke()), this.drawTargetLabel(e), this.drawStartLabel(e);
|
|
674
|
+
var n = Math.max(8, 4 * this._data.linewidth);
|
|
675
|
+
e.fillStyle = this._data.color;
|
|
676
|
+
var s = r.y < 0 ? 1 : -1;
|
|
677
|
+
if (Math.abs(r.x) < 1 || Math.abs(r.y) < 1)
|
|
678
|
+
var a = Math.atan(r.x / r.y);
|
|
679
|
+
else {
|
|
680
|
+
var o, l, h = Math.abs(r.x), d = Math.abs(r.y), c = 0, u = Math.PI / 2, _ = (c + u) / 2;
|
|
681
|
+
if (r.length() > n)
|
|
682
|
+
for (;;) {
|
|
683
|
+
o = h * Math.sin(_), l = d * (1 - Math.cos(_));
|
|
684
|
+
var p = Math.sqrt((o - h) * (o - h) + (l - d) * (l - d));
|
|
685
|
+
if (Math.abs(p - n) < 1)
|
|
686
|
+
break;
|
|
687
|
+
p > n ? c = _ : u = _, _ = (c + u) / 2;
|
|
688
|
+
}
|
|
689
|
+
a = Math.atan((h - o) / (d - l)), r.x * r.y < 0 && (a = -a);
|
|
690
|
+
}
|
|
691
|
+
e.save(), e.beginPath(), e.translate(i.x, i.y), e.rotate(-a), e.moveTo(0, 0), e.lineTo(-n / 2, s * n), e.lineTo(n / 2, s * n), e.lineTo(0, 0), e.restore(), e.fill();
|
|
692
|
+
} }
|
|
693
|
+
targetLabelHitTest(e) {
|
|
694
|
+
if (void 0 === this._targetWidth || void 0 === this._targetHeight || void 0 === this._targetRectLeftOffset)
|
|
695
|
+
return null;
|
|
696
|
+
var t = this._targetHeight + this._arrowHeight;
|
|
697
|
+
this._data.status && (t += this._targetFontSize1 + 10);
|
|
698
|
+
var i = "up" === this._data.direction ? -1 : 1, r = this._radius, n = this._data.points[1], s = n.x - this._targetRectLeftOffset, a = n.y + i * r, l = n.y + i * (t + r), h = Math.min(a, l), d = Math.max(a, l);
|
|
699
|
+
return e.x >= s && e.x <= s + this._targetWidth && e.y >= h && e.y <= d ? new o(o.MOVEPOINT) : null;
|
|
700
|
+
}
|
|
701
|
+
sourceLabelHitTest(e) { if (void 0 === this._sourceHeight || void 0 === this._sourceWidth || void 0 === this._sourceRectLeftOffset)
|
|
702
|
+
return null; var t = "up" === this._data.direction ? 1 : -1, i = this._radius, r = this._data.points[0], n = r.x - this._sourceRectLeftOffset, s = r.y + i * t, a = r.y + (i + this._sourceHeight + this._arrowHeight) * t, l = Math.min(s, a), h = Math.max(s, a); return e.x >= n && e.x <= n + this._sourceWidth && e.y >= l && e.y <= h ? new o(o.MOVEPOINT) : null; }
|
|
703
|
+
hitTest(e) { if (null === this._data || this._data.points.length < 2)
|
|
704
|
+
return null; var t = this._data.points[0], i = this._data.points[1], r = i.subtract(t), n = (r = i.subtract(t), e.subtract(t)), s = Math.abs(r.x), a = Math.abs(r.y), l = d.sign(r.y) * (a - a * Math.sqrt(1 - n.x * n.x / (s * s))); if (Math.abs(l - n.y) < 3)
|
|
705
|
+
return new o(o.MOVEPOINT); var h = this.targetLabelHitTest(e); return h || this.sourceLabelHitTest(e); }
|
|
706
|
+
}
|
|
707
|
+
t.PredictionPaneView = class extends s {
|
|
708
|
+
constructor(e, t) { super(e, t), this._pendingIcons = 3; var r = this; function n() { r._pendingIcons -= 1, 0 === r._pendingIcons && r._source.model().updateSource(r._source); } this._clockWhite = null, this._successIcon = null, this._failureIcon = null, h("prediction-clock-white", i("qjB4")).then((function (e) { r._clockWhite = e, n(); })), h("prediction-success-white", i("mJB8")).then((function (e) { r._successIcon = e, n(); })), h("prediction-failure-white", i("V8bI")).then((function (e) { r._failureIcon = e, n(); })), this._percentageFormatter = new c, this._predictionRenderer = new P, this._renderer = null; }
|
|
709
|
+
iconsReady() { return 0 === this._pendingIcons; }
|
|
710
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
711
|
+
_updateImpl() {
|
|
712
|
+
if ((super._updateImpl(), this._renderer = null, this._targetLine1 = "", this._targetLine2 = "", this._targetLine3 = "", this._targetLine4 = "", !(this._source.points().length < 2)) && this._source.priceScale()) {
|
|
713
|
+
var e = this._source.ownerSource().formatter(), t = this._source.points()[1], i = this._source.points()[0];
|
|
714
|
+
this._targetLine3 = R(e.format(t.price));
|
|
715
|
+
var r = t.price - i.price, s = r / Math.abs(i.price) * 100;
|
|
716
|
+
this._targetLine1 = R(e.format(r) + " (" + this._percentageFormatter.format(s) + ")");
|
|
717
|
+
var o = this._model.timeScale().indexToUserTime(i.index), h = this._model.timeScale().indexToUserTime(t.index);
|
|
718
|
+
i.time && t.time && (o = TradingView.isString(i.time) ? new Date(Date.parse(i.time)) : i.time, h = TradingView.isString(t.time) ? new Date(Date.parse(t.time)) : t.time);
|
|
719
|
+
var d = this._model.mainSeries().isDWM(), c = a.parse(this._model.mainSeries().interval()), f = c.isSeconds() || c.isTicks();
|
|
720
|
+
if (h && o) {
|
|
721
|
+
this._targetLine4 = (new u).format(h), d || (this._targetLine4 = this._targetLine4 + " " + new _(f ? "%h:%m:%s" : "%h:%m").format(h));
|
|
722
|
+
var v = (h.valueOf() - o.valueOf()) / 1e3;
|
|
723
|
+
this._targetLine2 = n("in", { context: "dates" }) + " " + T((new p).format(v));
|
|
724
|
+
}
|
|
725
|
+
this._sourceLine1 = e.format(i.price), this._sourceLine2 = "";
|
|
726
|
+
var w = this._model.timeScale().indexToUserTime(i.index);
|
|
727
|
+
w && (this._sourceLine2 = (new u).format(w), d || (this._sourceLine2 = this._sourceLine2 + " " + new _(f ? "%h:%m:%s" : "%h:%m").format(w))), this._direction = this._source.direction() === g.Direction.Up ? "up" : "down", this._finished = this._model.lineBeingCreated() !== this._source && this._model.lineBeingEdited() !== this._source && !this._model.sourcesBeingMoved().includes(this._source);
|
|
728
|
+
var x = {};
|
|
729
|
+
x.points = this._points, x.color = this._source.properties().linecolor.value(), x.linewidth = this._source.properties().linewidth.value(), x.targetLine1 = this._targetLine1, x.targetLine2 = this._targetLine2, x.targetLine3 = this._targetLine3, x.targetLine4 = this._targetLine4, x.status = this._source.properties().status.value(), x.transparency = this._source.properties().transparency.value(), x.targetBackColor = this._source.properties().targetBackColor.value(), x.targetStrokeColor = this._source.properties().targetStrokeColor.value(), x.targetTextColor = this._source.properties().targetTextColor.value(), x.sourceBackColor = this._source.properties().sourceBackColor.value(), x.sourceStrokeColor = this._source.properties().sourceStrokeColor.value(), x.sourceTextColor = this._source.properties().sourceTextColor.value(), x.successBackground = this._source.properties().successBackground.value(), x.successTextColor = this._source.properties().successTextColor.value(), x.failureBackground = this._source.properties().failureBackground.value(), x.failureTextColor = this._source.properties().failureTextColor.value(), x.intermediateBackColor = this._source.properties().intermediateBackColor.value(), x.intermediateTextColor = this._source.properties().intermediateTextColor.value(), x.sourceLine1 = this._sourceLine1, x.sourceLine2 = this._sourceLine2, x.direction = this._direction, x.clockWhite = this._clockWhite, x.successIcon = this._successIcon, x.failureIcon = this._failureIcon, x.finished = this._finished, x.centersColor = this._model.backgroundCounterColor(), this._predictionRenderer.setData(x);
|
|
730
|
+
var m = new l;
|
|
731
|
+
m.append(this._predictionRenderer), this.addAnchors(m), this._renderer = m;
|
|
732
|
+
}
|
|
733
|
+
}
|
|
734
|
+
};
|
|
735
|
+
}, B4Hi: function (e, t, i) {
|
|
736
|
+
"use strict";
|
|
737
|
+
var r, n = i("aO4+").Point, s = i("aB9a").LineSourcePaneView, a = i("VdBB").HitTestResult, o = i("VdBB").AreaName, l = i("Zy3/").CompositeRenderer, h = i("Tmoa"), d = i("jTis").CalloutConsts, c = i("ikwP").calcTextHorizontalShift, u = i("Ialn").isRtl, _ = i("cPgM").ScaledPaneRenderer;
|
|
738
|
+
class p extends _ {
|
|
739
|
+
constructor(e) { super(), this._data = null, this._textSizeCache = e; }
|
|
740
|
+
wordWrap(e, t) {
|
|
741
|
+
var i;
|
|
742
|
+
r || ((i = document.createElement("canvas")).width = 0, i.height = 0, r = i.getContext("2d"), i = null), t = +t;
|
|
743
|
+
var n = (e += "").split(/[^\S\r\n]*(?:\r\n|\r|\n|$)/);
|
|
744
|
+
if (n[n.length - 1] || n.pop(), !isFinite(t) || t <= 0)
|
|
745
|
+
return n;
|
|
746
|
+
r.font = this.fontStyle();
|
|
747
|
+
for (var s = [], a = 0; a < n.length; a++) {
|
|
748
|
+
var o = n[a];
|
|
749
|
+
if ((h = r.measureText(o).width) <= t)
|
|
750
|
+
s.push(o);
|
|
751
|
+
else
|
|
752
|
+
for (var l = o.split(/([-)\]},.!?:;])|(\s+)/); l.length;) {
|
|
753
|
+
var h, d = ~~(t / h * (l.length + 2) / 3);
|
|
754
|
+
if (d <= 0 || r.measureText(l.slice(0, 3 * d - 1).join("")).width <= t)
|
|
755
|
+
for (; r.measureText(l.slice(0, 3 * (d + 1) - 1).join("")).width <= t;)
|
|
756
|
+
d++;
|
|
757
|
+
else
|
|
758
|
+
for (; d > 0 && r.measureText(l.slice(0, 3 * --d - 1).join("")).width > t;)
|
|
759
|
+
;
|
|
760
|
+
if (d > 0)
|
|
761
|
+
s.push(l.slice(0, 3 * d - 1).join("")),
|
|
762
|
+
l.splice(0, 3 * d);
|
|
763
|
+
else {
|
|
764
|
+
var c = l[0] + (l[1] || ""), u = 1 === u ? 1 : ~~(t / r.measureText(c) * c.length);
|
|
765
|
+
if (r.measureText(c.substr(0, u)).width <= t)
|
|
766
|
+
for (; r.measureText(c.substr(0, u + 1)).width <= t;)
|
|
767
|
+
u++;
|
|
768
|
+
else
|
|
769
|
+
for (; u > 1 && r.measureText(c.substr(0, --u)).width > t;)
|
|
770
|
+
;
|
|
771
|
+
u < 1 && (u = 1), s.push(c.substr(0, u)), l[0] = c.substr(u), l[1] = "";
|
|
772
|
+
}
|
|
773
|
+
if ((h = r.measureText(l.join("")).width) <= t) {
|
|
774
|
+
s.push(l.join(""));
|
|
775
|
+
break;
|
|
776
|
+
}
|
|
777
|
+
}
|
|
778
|
+
}
|
|
779
|
+
return s;
|
|
780
|
+
}
|
|
781
|
+
setData(e) { this._data = e, this._data.lines = this.wordWrap(e.text, e.wordWrapWidth); }
|
|
782
|
+
hitTest(e) { if (null === this._data || this._data.points.length < 2)
|
|
783
|
+
return null; var t = this._data.points[0], i = this._data.points[1]; if (t.subtract(e).length() < 3)
|
|
784
|
+
return new a(a.CHANGEPOINT, 0); var r = i.x - this._textSizeCache.totalWidth / 2, n = i.y - this._textSizeCache.totalHeight / 2; return e.x >= r && e.x <= r + this._textSizeCache.totalWidth && e.y >= n && e.y <= n + this._textSizeCache.totalHeight ? new a(a.MOVEPOINT, { areaName: o.Text }) : null; }
|
|
785
|
+
fontStyle() { return (this._data.bold ? "bold " : "") + (this._data.italic ? "italic " : "") + this._data.fontSize + "px " + this._data.font; }
|
|
786
|
+
_drawImpl(e) { if (!(null === this._data || this._data.points.length < 2)) {
|
|
787
|
+
var t = this._data.points[0].clone(), i = this._data.points[1].clone();
|
|
788
|
+
e.lineCap = "butt", e.strokeStyle = this._data.bordercolor, e.lineWidth = this._data.linewidth, e.textBaseline = "bottom", e.font = this.fontStyle();
|
|
789
|
+
var r = this._data.fontSize * this._data.lines.length, n = this._data.wordWrapWidth || this._data.lines.reduce((function (t, i) { return Math.max(t, e.measureText(i).width); }), 0);
|
|
790
|
+
this._textSizeCache.textHeight = r, this._textSizeCache.textHeight = n;
|
|
791
|
+
var s = d.RoundRadius, a = d.TextMargins, o = n + 2 * a + 2 * s, l = r + 2 * a + 2 * s;
|
|
792
|
+
this._textSizeCache.totalWidth = o, this._textSizeCache.totalHeight = l;
|
|
793
|
+
var _ = i.x - o / 2, p = i.y - l / 2, f = 0, g = n + 2 * a > 2 * s, v = r + 2 * a > 2 * s;
|
|
794
|
+
e.textAlign = u() ? "right" : "left";
|
|
795
|
+
var w = c(e, n);
|
|
796
|
+
t.x > _ + o ? f = 20 : t.x > _ && (f = 10), t.y > p + l ? f += 2 : t.y > p && (f += 1), e.save(), e.translate(_, p), t.x -= _, t.y -= p, i.x -= _, i.y -= p, e.beginPath(), e.moveTo(s, 0), 10 === f ? g ? (e.lineTo(i.x - s, 0), e.lineTo(t.x, t.y), e.lineTo(i.x + s, 0), e.lineTo(o - s, 0)) : (e.lineTo(t.x, t.y), e.lineTo(o - s, 0)) : e.lineTo(o - s, 0), 20 === f ? (e.lineTo(t.x, t.y), e.lineTo(o, s)) : e.arcTo(o, 0, o, s, s), 21 === f ? v ? (e.lineTo(o, i.y - s), e.lineTo(t.x, t.y), e.lineTo(o, i.y + s), e.lineTo(o, l - s)) : (e.lineTo(t.x, t.y), e.lineTo(o, l - s)) : e.lineTo(o, l - s), 22 === f ? (e.lineTo(t.x, t.y), e.lineTo(o - s, l)) : e.arcTo(o, l, o - s, l, s), 12 === f ? g ? (e.lineTo(i.x + s, l), e.lineTo(t.x, t.y), e.lineTo(i.x - s, l), e.lineTo(s, l)) : (e.lineTo(t.x, t.y), e.lineTo(s, l)) : e.lineTo(s, l), 2 === f ? (e.lineTo(t.x, t.y), e.lineTo(0, l - s)) : e.arcTo(0, l, 0, l - s, s), 1 === f ? v ? (e.lineTo(0, i.y + s), e.lineTo(t.x, t.y), e.lineTo(0, i.y - s), e.lineTo(0, s)) : (e.lineTo(t.x, t.y), e.lineTo(0, s)) : e.lineTo(0, s), 0 === f ? (e.lineTo(t.x, t.y), e.lineTo(s, 0)) : e.arcTo(0, 0, s, 0, s), e.stroke(), e.fillStyle = h.generateColor(this._data.backcolor, this._data.transparency), e.fill(), e.fillStyle = this._data.color, p = s + a + this._data.fontSize, _ = s + a + w;
|
|
797
|
+
for (var x = 0; x < this._data.lines.length; x++)
|
|
798
|
+
e.fillText(this._data.lines[x], _, p), p += this._data.fontSize;
|
|
799
|
+
e.restore();
|
|
800
|
+
} }
|
|
801
|
+
}
|
|
802
|
+
t.CalloutPaneView = class extends s {
|
|
803
|
+
constructor(e, t) { super(e, t), this._textSizeCache = {}, this._calloutRenderer = new p(this._textSizeCache), this._renderer = null; }
|
|
804
|
+
_updateImpl() {
|
|
805
|
+
if (super._updateImpl(),
|
|
806
|
+
this._source._calculatePoint2(), this._renderer = null, this._points[0] && !(this._points.length < 2)) {
|
|
807
|
+
var e = this._source.properties(), t = { points: [] };
|
|
808
|
+
t.points.push(this._points[0]);
|
|
809
|
+
var i = this._points[1].clone();
|
|
810
|
+
i.x = this._points[0].x + this._source._barOffset * this._model.timeScale().barSpacing(), t.points.push(i), t.color = e.color.value(), t.linewidth = e.linewidth.value(), t.backcolor = e.backgroundColor.value(), t.transparency = e.transparency.value(), t.text = e.text.value(), t.font = e.font.value(), t.fontSize = e.fontsize.value(), t.bordercolor = e.bordercolor.value(), e.wordWrap && e.wordWrap.value() && (t.wordWrapWidth = e.wordWrapWidth.value()), t.bold = e.bold && e.bold.value(), t.italic = e.italic && e.italic.value(), this._calloutRenderer.setData(t);
|
|
811
|
+
var r = new l;
|
|
812
|
+
r.append(this._calloutRenderer);
|
|
813
|
+
var s = t.points[1], a = [].concat(t.points);
|
|
814
|
+
if (a.splice(a.length - 1, 1), r.append(this.createLineAnchor({ points: a }, 0)), t.wordWrapWidth) {
|
|
815
|
+
var o = new n(s.x + (t.wordWrapWidth >> 1) + d.RoundRadius + d.TextMargins, s.y);
|
|
816
|
+
o.data = 1, r.append(this.createLineAnchor({ points: [o] }, 1));
|
|
817
|
+
}
|
|
818
|
+
this._renderer = r;
|
|
819
|
+
}
|
|
820
|
+
}
|
|
821
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
822
|
+
};
|
|
823
|
+
}, BCbF: function (e, t, i) {
|
|
824
|
+
"use strict";
|
|
825
|
+
i.r(t), i.d(t, "PolygonRenderer", (function () { return u; }));
|
|
826
|
+
var r = i("f6yo"), n = i("GEp6"), s = i("jFln"), a = i("pJOz"), o = i("a7Ha"), l = i("VdBB"), h = i("Tmoa"), d = i("cPgM"), c = i("Zp/P");
|
|
827
|
+
class u extends d.ScaledPaneRenderer {
|
|
828
|
+
constructor(e) { super(), this._data = null, this._backHittest = new l.HitTestResult(l.HitTestResult.MOVEPOINT_BACKGROUND), this._points = [], this._hittest = e || new l.HitTestResult(l.HitTestResult.MOVEPOINT); }
|
|
829
|
+
setData(e) { this._data = e, this._points = e.points; }
|
|
830
|
+
hitTest(e) { if (null === this._data || void 0 !== this._data.mouseTouchable && !this._data.mouseTouchable)
|
|
831
|
+
return null; const t = Math.max(Object(c.interactionTolerance)().line, Math.ceil(this._data.linewidth / 2)), i = this._points.length; if (1 === i) {
|
|
832
|
+
return Object(r.pointInCircle)(e, this._points[0], t) ? this._hittest : null;
|
|
833
|
+
} for (let r = 1; r < i; r++) {
|
|
834
|
+
const i = this._points[r - 1], s = this._points[r];
|
|
835
|
+
if (Object(n.distanceToSegment)(i, s, e).distance <= t)
|
|
836
|
+
return this._hittest;
|
|
837
|
+
} if (this._data.filled && this._data.fillBackground && i > 0) {
|
|
838
|
+
const r = this._points[0], s = this._points[i - 1];
|
|
839
|
+
if (Object(n.distanceToSegment)(r, s, e).distance <= t)
|
|
840
|
+
return this._hittest;
|
|
841
|
+
} return this._data.filled && this._data.fillBackground && Object(r.pointInPolygon)(e, this._data.points) ? this._backHittest : null; }
|
|
842
|
+
_drawImpl(e, t) {
|
|
843
|
+
var i, r;
|
|
844
|
+
const n = this._points.length;
|
|
845
|
+
if (null === this._data || 0 === n)
|
|
846
|
+
return;
|
|
847
|
+
if (1 === n)
|
|
848
|
+
return void this._drawPoint(e, this._points[0], this._data.linewidth / 2, this._data.color);
|
|
849
|
+
e.beginPath();
|
|
850
|
+
const l = null !== (i = this._data.linecap) && void 0 !== i ? i : "butt";
|
|
851
|
+
e.lineCap = l, e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, e.lineJoin = null !== (r = this._data.linejoin) && void 0 !== r ? r : "miter", Object(s.setLineStyle)(e, this._data.linestyle);
|
|
852
|
+
const d = this._points[0];
|
|
853
|
+
e.moveTo(d.x, d.y);
|
|
854
|
+
for (const t of this._points)
|
|
855
|
+
e.lineTo(t.x, t.y);
|
|
856
|
+
if (this._data.filled && this._data.fillBackground && (e.fillStyle = Object(h.generateColor)(this._data.backcolor, this._data.transparency), e.fill()), this._data.filled && !this._data.skipClosePath && e.closePath(),
|
|
857
|
+
this._data.linewidth > 0 && e.stroke(), n > 1) {
|
|
858
|
+
if ("butt" !== l && (e.lineCap = "butt"), this._data.leftend === o.LineEnd.Arrow) {
|
|
859
|
+
const i = this._correctArrowPoints(this._points[1], this._points[0], e.lineWidth, l);
|
|
860
|
+
Object(a.drawArrow)(i[0], i[1], e, e.lineWidth, t.pixelRatio);
|
|
861
|
+
}
|
|
862
|
+
if (this._data.rightend === o.LineEnd.Arrow) {
|
|
863
|
+
const i = this._correctArrowPoints(this._points[n - 2], this._points[n - 1], e.lineWidth, l);
|
|
864
|
+
Object(a.drawArrow)(i[0], i[1], e, e.lineWidth, t.pixelRatio);
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
}
|
|
868
|
+
_drawPoint(e, t, i, r) { 0 !== i && (e.beginPath(), e.fillStyle = r, e.arc(t.x, t.y, i, 0, 2 * Math.PI, !0), e.fill(), e.closePath()); }
|
|
869
|
+
_correctArrowPoints(e, t, i, r) { const n = t.subtract(e), s = n.length(); if ("butt" === r || s < 1)
|
|
870
|
+
return [e, t]; const a = s + i / 2; return [e, n.scaled(a / s).add(e)]; }
|
|
871
|
+
}
|
|
872
|
+
}, BSCN: function (e, t, i) {
|
|
873
|
+
"use strict";
|
|
874
|
+
i.r(t), i.d(t, "VertLinePaneView", (function () { return d; }));
|
|
875
|
+
var r = i("aO4+"), n = i("Zy3/"), s = i("qgcf"), a = i("//lt"), o = i("z+cS"), l = i("aB9a");
|
|
876
|
+
const h = [a.PaneCursorType.HorizontalResize];
|
|
877
|
+
class d extends l.LineSourcePaneView {
|
|
878
|
+
constructor(e, t, i) { super(e, t), this._lineRenderer = new o.VerticalLineRenderer, this._labelRenderer = new s.TextRenderer, this._renderer = null, this._pane = i; }
|
|
879
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
880
|
+
_validatePriceScale() { return !0; }
|
|
881
|
+
_updateImpl() { if (super._updateImpl(), this._renderer = null, 0 === this._points.length)
|
|
882
|
+
return; const e = this._source.properties().childs(), t = { x: this._points[0].x, color: e.linecolor.value(), linewidth: e.linewidth.value(), linestyle: e.linestyle.value() }; this._lineRenderer.setData(t); const i = new n.CompositeRenderer; i.append(this._lineRenderer); const s = this._pane.height(); if (e.showLabel.value() && e.text.value().length > 0 && this._source.model().paneForSource(this._source) === this._pane) {
|
|
883
|
+
let t = 0, n = 5, a = "center", o = "middle";
|
|
884
|
+
const l = this._points[0].x;
|
|
885
|
+
let h = 0;
|
|
886
|
+
switch (e.vertLabelsAlign.value()) {
|
|
887
|
+
case "top":
|
|
888
|
+
h = s;
|
|
889
|
+
break;
|
|
890
|
+
case "middle":
|
|
891
|
+
h = s / 2;
|
|
892
|
+
break;
|
|
893
|
+
case "bottom": h = 0;
|
|
894
|
+
}
|
|
895
|
+
if ("horizontal" === e.textOrientation.value()) {
|
|
896
|
+
switch (e.horzLabelsAlign.value()) {
|
|
897
|
+
case "left":
|
|
898
|
+
a = "right";
|
|
899
|
+
break;
|
|
900
|
+
case "right":
|
|
901
|
+
a = "left";
|
|
902
|
+
break;
|
|
903
|
+
case "center": a = "center";
|
|
904
|
+
}
|
|
905
|
+
switch (e.vertLabelsAlign.value()) {
|
|
906
|
+
case "top":
|
|
907
|
+
o = "bottom";
|
|
908
|
+
break;
|
|
909
|
+
case "middle":
|
|
910
|
+
o = "middle";
|
|
911
|
+
break;
|
|
912
|
+
case "bottom": o = "top";
|
|
913
|
+
}
|
|
914
|
+
}
|
|
915
|
+
else {
|
|
916
|
+
switch (t = -Math.PI / 2, n = 0, e.horzLabelsAlign.value()) {
|
|
917
|
+
case "left":
|
|
918
|
+
o = "bottom";
|
|
919
|
+
break;
|
|
920
|
+
case "right":
|
|
921
|
+
o = "top";
|
|
922
|
+
break;
|
|
923
|
+
case "center": o = "middle";
|
|
924
|
+
}
|
|
925
|
+
switch (e.vertLabelsAlign.value()) {
|
|
926
|
+
case "top":
|
|
927
|
+
a = "left";
|
|
928
|
+
break;
|
|
929
|
+
case "middle":
|
|
930
|
+
a = "center";
|
|
931
|
+
break;
|
|
932
|
+
case "bottom": a = "right";
|
|
933
|
+
}
|
|
934
|
+
}
|
|
935
|
+
const d = { points: [new r.Point(l, h)], text: e.text.value(), color: e.textcolor.value(), vertAlign: o, horzAlign: a, font: e.font.value(), offsetX: n, offsetY: 0, bold: e.bold.value(), italic: e.italic.value(), fontsize: e.fontsize.value(), forceTextAlign: !0, angle: t };
|
|
936
|
+
this._labelRenderer.setData(d), i.append(this._labelRenderer);
|
|
937
|
+
} if (1 === this._points.length) {
|
|
938
|
+
const e = new r.Point(this._points[0].x, s / 2);
|
|
939
|
+
e.data = 0, e.square = !0, i.append(this.createLineAnchor({ points: [e], pointsCursorType: h }, 0));
|
|
940
|
+
} this._renderer = i; }
|
|
941
|
+
}
|
|
942
|
+
}, C2CE: function (e, t, i) {
|
|
943
|
+
"use strict";
|
|
944
|
+
i.r(t), i.d(t, "PolylinePaneView", (function () { return a; }));
|
|
945
|
+
var r = i("BCbF"), n = i("Zy3/"), s = i("aB9a");
|
|
946
|
+
class a extends s.LineSourcePaneView {
|
|
947
|
+
constructor(e, t) {
|
|
948
|
+
super(e, t),
|
|
949
|
+
this._polygonRenderer = new r.PolygonRenderer(null), this._renderer = new n.CompositeRenderer;
|
|
950
|
+
}
|
|
951
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
952
|
+
_updateImpl() { super._updateImpl(), this._renderer.clear(); const e = this._source.properties().childs(), t = { points: this._points, color: e.linecolor.value(), linewidth: e.linewidth.value(), linestyle: e.linestyle.value(), filled: e.filled.value(), backcolor: e.backgroundColor.value(), fillBackground: e.fillBackground.value(), transparency: e.transparency.value() }; this._polygonRenderer.setData(t), this._renderer.append(this._polygonRenderer), this.addAnchors(this._renderer); }
|
|
953
|
+
}
|
|
954
|
+
}, CR3a: function (e, t, i) {
|
|
955
|
+
"use strict";
|
|
956
|
+
var r = i("NN6M").ParallelChannelRenderer, n = i("pJOz").TrendLineRenderer, s = i("cjIn").PaneRendererCachedImage, a = i("Zy3/").CompositeRenderer, o = i("Tmoa"), l = i("a7Ha").LineEnd, h = i("NCfL").LineToolPaneViewWithLevelledTextCache, d = i("xUGI");
|
|
957
|
+
class c extends d {
|
|
958
|
+
_selectStartPrice(e) { return e.points()[0].price; }
|
|
959
|
+
priceRange(e, t) { var i = e.points()[2], r = e.points()[0], n = this._calculatePriceRange(i, r, t); if (!this._calculateLogLevels(e))
|
|
960
|
+
return { price: n }; var s = e.priceScale(), a = e.ownerSource().firstValue(), o = s.priceToCoordinate(i.price, a), l = s.priceToCoordinate(r.price, a); return { price: n, coordinate: t ? l - o : o - l }; }
|
|
961
|
+
}
|
|
962
|
+
class u extends r {
|
|
963
|
+
_getColor() { return o.generateColor(this._data.backcolor, this._data.transparency, !0); }
|
|
964
|
+
}
|
|
965
|
+
t.FibChannelPaneView = class extends h {
|
|
966
|
+
constructor(e, t) { super(e, t), this._rendererCache = {}, this._baseLineRenderer = new n, this._lastLevelTrendRenderer = new n, this._renderer = null; }
|
|
967
|
+
getCacheRects(e, t) { super.getCacheRects(e, t); var i, r = this._source.properties(), n = r["level" + t], s = this._cacheState.preparedCells.cells[t - 1], a = this._floatPoints[0], o = this._floatPoints[1], l = this.norm.scaled(n.coeff.value()), h = a.add(l), d = o.add(l); switch (r.horzLabelsAlign.value()) {
|
|
968
|
+
case "left":
|
|
969
|
+
i = h;
|
|
970
|
+
break;
|
|
971
|
+
case "center":
|
|
972
|
+
(i = h.add(d).scaled(.5)).x += s.width / 2, i.x = Math.round(i.x);
|
|
973
|
+
break;
|
|
974
|
+
case "right": (i = d.clone()).x += s.width, i.x = Math.round(i.x);
|
|
975
|
+
} var c = { left: s.left, top: this._cache.topByRow(this._cacheState.row), width: s.width, height: this._cache.rowHeight(this._cacheState.row) }, u = { left: Math.round(i.x - c.width), top: Math.round(i.y), width: s.width, height: c.height }, _ = r.vertLabelsAlign.value(); return "middle" === _ && (u.top -= u.height / 2), "bottom" === _ && (u.top -= u.height), { cacheRect: c, targetRect: u }; }
|
|
976
|
+
_createCache(e) { return new c(this._source.properties().fibLevelsBasedOnLogScale, this._source.levelsCount(), e); }
|
|
977
|
+
_updateImpl() {
|
|
978
|
+
super._updateImpl(), this._renderer = null, 3 === this._floatPoints.length && 3 === this._source.points().length && (this.norm = this._floatPoints[2].subtract(this._floatPoints[0]));
|
|
979
|
+
var e = new a;
|
|
980
|
+
if (this._floatPoints.length < 2)
|
|
981
|
+
return this.addAnchors(e), void (this._renderer = e);
|
|
982
|
+
var t = this._source.properties(), i = this._floatPoints[0], r = this._floatPoints[1];
|
|
983
|
+
if (this._floatPoints.length < 3) {
|
|
984
|
+
var n = { points: [i, r], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: t.level1.color.value(), linewidth: t.levelsStyle.linewidth.value(), linestyle: t.levelsStyle.linestyle.value(), extendleft: t.extendLeft.value(), extendright: t.extendRight.value(),
|
|
985
|
+
leftend: l.Normal, rightend: l.Normal };
|
|
986
|
+
return this._baseLineRenderer.setData(n), e.append(this._baseLineRenderer), this.addAnchors(e), void (this._renderer = e);
|
|
987
|
+
}
|
|
988
|
+
for (var o = function (t, i, r) { var n = new s(this, d); e.append(n); }.bind(this), h = this._source.levelsCount(), d = 1; d < h; d++) {
|
|
989
|
+
if ((T = t["level" + d]).visible.value()) {
|
|
990
|
+
for (var c = null, _ = d + 1; _ <= h; _++) {
|
|
991
|
+
var p = t["level" + _];
|
|
992
|
+
if (p.visible.value()) {
|
|
993
|
+
c = p;
|
|
994
|
+
break;
|
|
995
|
+
}
|
|
996
|
+
}
|
|
997
|
+
if (!c)
|
|
998
|
+
break;
|
|
999
|
+
var f = this.norm.scaled(T.coeff.value()), g = i.add(f), v = r.add(f), w = this.norm.scaled(c.coeff.value()), x = i.add(w), m = r.add(w), y = {};
|
|
1000
|
+
y.points = [g, v, x, m], y.color = T.color.value(), y.width = this._model.timeScale().width(), y.height = this._source.priceScale().height(), y.linewidth = t.levelsStyle.linewidth.value(), y.linestyle = t.levelsStyle.linestyle.value(), y.extendleft = t.extendLeft.value(), y.extendright = t.extendRight.value(), y.backcolor = T.color.value(), y.transparency = t.transparency.value(), y.skipTopLine = !0, y.fillBackground = t.fillBackground.value(), y.hittestOnBackground = !0;
|
|
1001
|
+
var b = new u;
|
|
1002
|
+
b.setData(y), e.append(b), (t.showCoeffs.value() || t.showPrices.value()) && o(g, v, d);
|
|
1003
|
+
}
|
|
1004
|
+
}
|
|
1005
|
+
var R = null;
|
|
1006
|
+
for (d = h; d >= 1; d--) {
|
|
1007
|
+
var T;
|
|
1008
|
+
if ((T = t["level" + d]).visible.value()) {
|
|
1009
|
+
R = d;
|
|
1010
|
+
break;
|
|
1011
|
+
}
|
|
1012
|
+
}
|
|
1013
|
+
if (null != R && (T = t["level" + R]).visible.value()) {
|
|
1014
|
+
f = this.norm.scaled(T.coeff.value()), n = { points: [g = i.add(f), v = r.add(f)], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: T.color.value(), linewidth: t.levelsStyle.linewidth.value(), linestyle: t.levelsStyle.linestyle.value(), extendleft: t.extendLeft.value(), extendright: t.extendRight.value(), leftend: l.Normal, rightend: l.Normal };
|
|
1015
|
+
this._lastLevelTrendRenderer.setData(n), e.append(this._lastLevelTrendRenderer), (t.showCoeffs.value() || t.showPrices.value()) && o(g, v, R - 1);
|
|
1016
|
+
}
|
|
1017
|
+
this.addAnchors(e), this._renderer = e;
|
|
1018
|
+
}
|
|
1019
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
1020
|
+
};
|
|
1021
|
+
}, D4q4: function (e, t, i) {
|
|
1022
|
+
"use strict";
|
|
1023
|
+
var r = i("aB9a").LineSourcePaneView, n = i("Zy3/").CompositeRenderer, s = i("/S7V").TriangleRenderer;
|
|
1024
|
+
t.TrianglePaneView = class extends r {
|
|
1025
|
+
constructor(e, t) { super(e, t), this._triangleRenderer = new s, this._renderer = null; }
|
|
1026
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
1027
|
+
_updateImpl() { super._updateImpl(), this._renderer = null; var e = {}; e.points = this._points, e.color = this._source.properties().color.value(), e.linewidth = this._source.properties().linewidth.value(), e.backcolor = this._source.properties().backgroundColor.value(), e.fillBackground = this._source.properties().fillBackground.value(), e.transparency = this._source.properties().transparency.value(), this._triangleRenderer.setData(e); var t = new n; t.append(this._triangleRenderer), this.addAnchors(t), this._renderer = t; }
|
|
1028
|
+
};
|
|
1029
|
+
}, "Dz+H": function (e, t, i) {
|
|
1030
|
+
"use strict";
|
|
1031
|
+
i.r(t);
|
|
1032
|
+
var r = i("aB9a"), n = i("Zy3/"), s = i("vq8G"), a = i("VdBB"), o = i("Eyy1"), l = i("qgcf"), h = i("Tmoa"), d = i("Ialn"), c = i("ikwP"), u = i("c44N"), _ = i("aO4+"), p = i("f6yo");
|
|
1033
|
+
class f {
|
|
1034
|
+
constructor(e) { this._data = null, this._sourceCanvas = null, this._translate = new _.Point(0, 0), this._renderParams = e; }
|
|
1035
|
+
destroy() { var e; null === (e = this._sourceCanvas) || void 0 === e || e.remove(); }
|
|
1036
|
+
renderParams() { return this._renderParams; }
|
|
1037
|
+
update(e) {
|
|
1038
|
+
var t, i;
|
|
1039
|
+
t = this._data, i = e,
|
|
1040
|
+
(null === t || t.markerColor !== i.markerColor || t.borderColor !== i.borderColor || t.width !== i.width || t.height !== i.height) && this._createSource(e.width, e.height, e.markerColor), this._data = e;
|
|
1041
|
+
}
|
|
1042
|
+
drawOn(e) { const t = Object(o.ensureNotNull)(this._data), i = new _.Point(Math.round(t.point.x), Math.round(t.point.y)).add(this._translate); e.drawImage(Object(o.ensureNotNull)(this._sourceCanvas), Math.round(i.x * this._renderParams.pixelRatio), Math.round(i.y * this._renderParams.pixelRatio), Math.round(t.width * this._renderParams.pixelRatio), Math.round(t.height * this._renderParams.pixelRatio)); }
|
|
1043
|
+
hasPoint(e) { const t = Object(o.ensureNotNull)(this._data), i = t.point.add(this._translate), r = new _.Point(t.point.x - this._translate.x, t.point.y); return Object(p.pointInBox)(e, Object(_.box)(i, r)); }
|
|
1044
|
+
_createSource(e, t, i) { this._sourceCanvas = Object(c.createDisconnectedCanvas)(document, new c.Size(e, t), this._renderParams.pixelRatio), this._translate = new _.Point(-e / 2, .5 - t), this._translate.x % 1 == 0 && (this._translate = new _.Point(this._translate.x + .5, this._translate.y)); const r = Object(o.ensureNotNull)(this._sourceCanvas.getContext("2d")); Object(c.drawScaled)(r, this._renderParams.pixelRatio, () => { const n = .6 * e; r.fillStyle = i, r.beginPath(), r.moveTo(e / 2, t), r.quadraticCurveTo(e, e / 1.15, e, e / 2), r.arc(e / 2, e / 2, e / 2, 0, Math.PI, !0), r.quadraticCurveTo(0, e / 1.15, e / 2, t), r.fill(), r.globalCompositeOperation = "destination-out", r.beginPath(), r.moveTo((e - n) / 2, e / 2), r.arc(e / 2, e / 2, n / 2, 0, 2 * Math.PI), r.fill(); }); }
|
|
1045
|
+
}
|
|
1046
|
+
class g {
|
|
1047
|
+
constructor() { this._source = null, this._data = null; }
|
|
1048
|
+
setData(e) { this._data = e, this._source && this._source.update(e); }
|
|
1049
|
+
draw(e, t) { var i; if (null === this._data)
|
|
1050
|
+
return; null !== this._source && Object(u.areEqualPaneRenderParams)(this._source.renderParams(), t) || (null === (i = this._source) || void 0 === i || i.destroy(), this._source = new f(t), this._source.update(this._data)); this._source.drawOn(e), this._data.tooltipVisible && this._drawTooltipOn(e, t); }
|
|
1051
|
+
hitTest(e) { return null !== this._data && null !== this._source && this._source.hasPoint(e) ? new a.HitTestResult(a.HitTestResult.MOVEPOINT) : null; }
|
|
1052
|
+
_drawTooltipOn(e, t) {
|
|
1053
|
+
e.save(), e.translate(.5, .5);
|
|
1054
|
+
const i = Object(o.ensureNotNull)(this._data), r = String(i.text).replace(/^\s+|\s+$/g, "");
|
|
1055
|
+
e.font = (i.bold ? "bold " : "") + (i.italic ? "italic " : "") + i.fontSize + "px " + i.font;
|
|
1056
|
+
const n = i.tooltipWidth - 2 * i.tooltipPadding, s = Object(l.wordWrap)(r, e.font, n), a = i.point, u = i.tooltipLineSpacing;
|
|
1057
|
+
let _ = i.tooltipWidth, p = s.length * i.fontSize + 2 * i.tooltipPadding;
|
|
1058
|
+
s.length > 1 && (p += (s.length - 1) * u);
|
|
1059
|
+
let f = Math.round(a.x - _ / 2), g = Math.round(a.y - i.height - p - 8);
|
|
1060
|
+
const v = a.x < 20 || a.x + 20 > i.vpWidth;
|
|
1061
|
+
let w = v ? null : "top", x = v ? 0 : Math.round(a.x);
|
|
1062
|
+
g < 10 ? g = a.y + 13 : w = "bottom", f < 10 ? f += Math.abs(f - 10) : f + _ + 10 > i.vpWidth && (f -= f + _ + 10 - i.vpWidth), e.fillStyle = Object(h.generateColor)(i.backgroundColor, i.backgroundTransparency), e.strokeStyle = i.borderColor, e.lineWidth = 1, e.beginPath();
|
|
1063
|
+
const m = Math.round(f * t.pixelRatio), y = Math.round(g * t.pixelRatio);
|
|
1064
|
+
x = Math.round(x * t.pixelRatio), p = Math.round(p * t.pixelRatio), _ = Math.round(_ * t.pixelRatio);
|
|
1065
|
+
const b = Math.round(7 * t.pixelRatio);
|
|
1066
|
+
e.moveTo(m, y), v || "top" !== w || (e.lineTo(x - b, y), e.lineTo(x, y - b), e.lineTo(x + b, y)), e.lineTo(m + _, y), e.lineTo(m + _, y + p),
|
|
1067
|
+
v || "bottom" !== w || (e.lineTo(x + b, y + p), e.lineTo(x, y + p + b), e.lineTo(x - b, y + p)), e.lineTo(m, y + p), e.closePath(), e.fill(), e.stroke(), e.textBaseline = "middle", e.fillStyle = i.textColor, e.textAlign = Object(d.isRtl)() ? "right" : "left";
|
|
1068
|
+
const R = Object(c.calcTextHorizontalShift)(e, n), T = f + i.tooltipPadding + R;
|
|
1069
|
+
let S = g + i.tooltipPadding + i.fontSize / 2;
|
|
1070
|
+
Object(c.drawScaled)(e, t.pixelRatio, () => { for (let t = 0; t < s.length; t++)
|
|
1071
|
+
e.fillText(s[t].replace(/^\s+/, ""), T, S), S += i.fontSize + u; }), e.restore();
|
|
1072
|
+
}
|
|
1073
|
+
}
|
|
1074
|
+
i.d(t, "NotePaneView", (function () { return v; }));
|
|
1075
|
+
class v extends r.LineSourcePaneView {
|
|
1076
|
+
constructor(e, t) { super(e, t), this._renderer = null, this._noteRenderer = new g; }
|
|
1077
|
+
isLabelVisible() { return this.isHoveredSource() || this.isSelectedSource(); }
|
|
1078
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
1079
|
+
_updateImpl() { super._updateImpl(), this._renderer = null; const e = this._getSource(), t = this._source.isFixed() ? e.fixedPoints() : this._points; if (t.length < 1)
|
|
1080
|
+
return; const i = new n.CompositeRenderer, r = this.isLabelVisible(), o = this._source.properties().childs(), l = { text: o.text.value(), bold: o.bold.value(), italic: o.italic.value(), font: o.font.value(), fontSize: o.fontSize.value(), backgroundColor: o.backgroundColor.value(), backgroundTransparency: o.backgroundTransparency.value(), borderColor: o.borderColor.value(), textColor: o.textColor.value(), markerColor: o.markerColor.value(), point: t[0], width: 24, height: 32, tooltipVisible: r, vpWidth: this._model.timeScale().width(), tooltipWidth: e.getTooltipWidth(), tooltipPadding: e.getTooltipPadding(), tooltipLineSpacing: e.getTooltipLineSpacing() }; this._noteRenderer.setData(l), i.append(this._noteRenderer), i.append(new s.SelectionRenderer({ points: t, bgColors: this._lineAnchorColors(t), visible: this.areAnchorsVisible(), barSpacing: this._model.timeScale().barSpacing(), hittestResult: a.HitTestResult.MOVEPOINT })), this._renderer = i; }
|
|
1081
|
+
}
|
|
1082
|
+
}, EBrf: function (e, t, i) {
|
|
1083
|
+
"use strict";
|
|
1084
|
+
i.r(t), i.d(t, "splitThousands", (function () { return n; }));
|
|
1085
|
+
var r = i("ivNn");
|
|
1086
|
+
function n(e, t = " ") { let i = e + ""; -1 !== i.indexOf("e") && (i = function (e) { return Object(r.fixComputationError)(e).toFixed(10).replace(/\.?0+$/, ""); }(Number(e))); const n = i.split("."); return n[0].replace(/\B(?=(\d{3})+(?!\d))/g, t) + (n[1] ? "." + n[1] : ""); }
|
|
1087
|
+
}, FVHe: function (e, t, i) {
|
|
1088
|
+
"use strict";
|
|
1089
|
+
i.r(t), i.d(t, "TrendLineStatsCache", (function () { return f; }));
|
|
1090
|
+
var r = i("Eyy1"), n = i("aO4+"), s = i("txPx"), a = i("5/lF"), o = i("zDbI"), l = i("8xAY"), h = i("ikwP"), d = l.LabelSettings.fontSize, c = l.LabelSettings.lineSpacing, u = l.LabelSettings.paddingTopBottom;
|
|
1091
|
+
const _ = Object(s.getLogger)("Chart.LineToolTrendLine");
|
|
1092
|
+
function p(e, t) { return !(!e && !t) && (!(!e || t) || (!(e || !t) || (e.index !== t.index || e.price !== t.price))); }
|
|
1093
|
+
class f {
|
|
1094
|
+
constructor(e) { this._sourcesToRow = new Map, this._rowsToSources = new Map, this._currentWidth = 400, this._actualCapacity = 1, this._currentSymbol = "", this._params = e; const t = c, i = d + t; this._maxRowHeight = 3 * i - t + 2 * u + 2, this._recreateCanvas(); }
|
|
1095
|
+
destroy() { delete this._canvas, delete this._ctx; }
|
|
1096
|
+
canvas() { return this._canvas; }
|
|
1097
|
+
topByRow(e) { return e * this._maxRowHeight; }
|
|
1098
|
+
rowHeight(e) {
|
|
1099
|
+
const t = Object(r.ensureDefined)(this._rowsToSources.get(e)), i = Object(r.ensureDefined)(this._sourcesToRow.get(t)).effectiveState;
|
|
1100
|
+
return null !== i ? i.realRowHeight : this._maxRowHeight;
|
|
1101
|
+
}
|
|
1102
|
+
rowWidth(e) { const t = Object(r.ensureDefined)(this._rowsToSources.get(e)); return Object(r.ensureDefined)(this._sourcesToRow.get(t)).width; }
|
|
1103
|
+
currentWidth() { return this._currentWidth; }
|
|
1104
|
+
updateSource(e, t) { const i = e.properties().symbol.value(); this._currentSymbol !== i && (_.logDebug("TrendLineCache. Clearing canvas because of changing symbol from " + this._currentSymbol + " to " + i), this._currentSymbol = i, this._sourcesToRow.clear(), this._rowsToSources.clear()); const r = e.id(); let n = this._sourcesToRow.get(r); if (void 0 === n) {
|
|
1105
|
+
const e = this._findEmptyRow(r);
|
|
1106
|
+
n = { effectiveState: null, rowIndex: e, width: 0 }, this._sourcesToRow.set(r, n), this._rowsToSources.set(e, r);
|
|
1107
|
+
} const s = n.effectiveState, a = this._effectiveState(e); if (!this._effectiveStatesEquals(s, a)) {
|
|
1108
|
+
const e = t();
|
|
1109
|
+
this._repaintSource(r, n.rowIndex, e), n.effectiveState = a;
|
|
1110
|
+
} return n; }
|
|
1111
|
+
_findEmptyRow(e) { let t = 0; for (; void 0 !== this._rowsToSources.get(t);)
|
|
1112
|
+
t++; return this._rowsToSources.set(t, e), t >= this._actualCapacity && (this._actualCapacity++, this._recreateCanvas()), t; }
|
|
1113
|
+
_effectiveState(e) { const t = e.properties(), i = t.showBarsRange.value(), n = t.showDateTimeRange.value(), s = t.showDistance.value(), a = t.showPriceRange.value(), o = t.showAngle.value(); let l = 0; (i || n || s) && l++, o && l++, a && l++; const h = (d + c) * l - c + 2 * u + 2; return { p1: Object.assign({}, e.points()[0]), p2: Object.assign({}, e.points()[1]), props: e.properties(), showBars: i, showTimeRange: n, showDistance: s, showPriceRange: a, showAngle: o, dark: e.model().isDark(), priceRange: Object(r.ensureNotNull)(Object(r.ensureNotNull)(e.priceScale()).priceRange()).state(), barSpacing: e.model().timeScale().barSpacing(), realRowHeight: h }; }
|
|
1114
|
+
_effectiveStatesEquals(e, t) { if (null !== e && null === t)
|
|
1115
|
+
return !1; if (null === e && null !== t)
|
|
1116
|
+
return !1; const i = Object(r.ensureNotNull)(e), n = Object(r.ensureNotNull)(t); if (p(i.p1, n.p1))
|
|
1117
|
+
return !1; if (p(i.p2, n.p2))
|
|
1118
|
+
return !1; if (i.dark !== n.dark)
|
|
1119
|
+
return !1; if (i.showBars !== n.showBars)
|
|
1120
|
+
return !1; if (i.showTimeRange !== n.showTimeRange)
|
|
1121
|
+
return !1; if (i.showDistance !== n.showDistance)
|
|
1122
|
+
return !1; if (i.showPriceRange !== n.showPriceRange)
|
|
1123
|
+
return !1; if (i.showAngle !== n.showAngle)
|
|
1124
|
+
return !1; if (i.showAngle || i.showDistance) {
|
|
1125
|
+
if (i.priceRange.min !== n.priceRange.min)
|
|
1126
|
+
return !1;
|
|
1127
|
+
if (i.priceRange.max !== n.priceRange.max)
|
|
1128
|
+
return !1;
|
|
1129
|
+
if (i.barSpacing !== n.barSpacing)
|
|
1130
|
+
return !1;
|
|
1131
|
+
} return !0; }
|
|
1132
|
+
_repaintSource(e, t, i) { i.points[0] = new n.Point(0, 0), i.offsetX = 0, i.offsetY = 0, delete i.horzAlign, delete i.vertAlign, Object(h.drawScaled)(this._ctx, this._params.pixelRatio, () => { this._ctx.translate(.5, this.topByRow(t) + .5), this._ctx.clearRect(0, 0, this._currentWidth, this._maxRowHeight); const n = new a.TrendLineStatsRenderer(i, { widths: [] }).draw(this._ctx, this._params); Object(r.ensureDefined)(this._sourcesToRow.get(e)).width = n.width; }); }
|
|
1133
|
+
_recreateCanvas() {
|
|
1134
|
+
this._canvas = Object(r.ensureNotNull)(document.createElement("canvas")), this._canvas.width = this._currentWidth * this._params.pixelRatio, this._canvas.height = this._maxRowHeight * this._actualCapacity * this._params.pixelRatio, this._ctx = Object(r.ensureNotNull)(this._canvas.getContext("2d")), this._ctx.font = `${d}px ${o.CHART_FONT_FAMILY}`, this._sourcesToRow.clear(), this._rowsToSources.clear();
|
|
1135
|
+
}
|
|
1136
|
+
}
|
|
1137
|
+
}, Fx2Q: function (e, t, i) {
|
|
1138
|
+
"use strict";
|
|
1139
|
+
i.r(t), i.d(t, "LineToolHeadAndShouldersPaneView", (function () { return p; }));
|
|
1140
|
+
var r = i("hBTJ"), n = i("YFKU"), s = i("8Uy/"), a = i("pJOz"), o = i("/S7V"), l = i("qgcf"), h = i("Zy3/"), d = i("a7Ha"), c = i("BCbF"), u = i("aB9a");
|
|
1141
|
+
const _ = { leftShoulder: Object(n.t)("Left Shoulder"), rightShoulder: Object(n.t)("Right Shoulder"), head: Object(n.t)("Head") };
|
|
1142
|
+
class p extends u.LineSourcePaneView {
|
|
1143
|
+
constructor() { super(...arguments), this._trendLineRenderer = new a.TrendLineRenderer, this._triangleRendererPoints234 = new o.TriangleRenderer, this._intersect1Renderer = new o.TriangleRenderer, this._intersect2Renderer = new o.TriangleRenderer, this._polyLineRenderer = new c.PolygonRenderer(null), this._leftShoulderLabelRenderer = new l.TextRenderer, this._headLabelRenderer = new l.TextRenderer, this._rightShoulderLabelRenderer = new l.TextRenderer, this._renderer = null; }
|
|
1144
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
1145
|
+
_updateImpl() {
|
|
1146
|
+
let e, t;
|
|
1147
|
+
super._updateImpl(), this._renderer = null;
|
|
1148
|
+
const [i, a, o, l, c, u, p] = this._points;
|
|
1149
|
+
if (this._points.length >= 5) {
|
|
1150
|
+
const n = Object(r.intersectLineSegments)(o, c, i, a);
|
|
1151
|
+
if (null !== n) {
|
|
1152
|
+
const t = c.subtract(o);
|
|
1153
|
+
e = o.add(t.scaled(n));
|
|
1154
|
+
}
|
|
1155
|
+
if (7 === this._points.length) {
|
|
1156
|
+
const e = Object(r.intersectLineSegments)(o, c, u, p);
|
|
1157
|
+
if (null !== e) {
|
|
1158
|
+
const i = c.subtract(o);
|
|
1159
|
+
t = o.add(i.scaled(e));
|
|
1160
|
+
}
|
|
1161
|
+
}
|
|
1162
|
+
}
|
|
1163
|
+
if (this._points.length < 2)
|
|
1164
|
+
return;
|
|
1165
|
+
const f = this._source.properties().childs(), g = new h.CompositeRenderer, v = (e, t) => ({ points: [e], text: Object(n.t)(t), color: f.textcolor.value(), horzAlign: "center", vertAlign: "middle", font: f.font.value(), offsetX: 0, offsetY: 0, bold: f.bold && f.bold.value(), italic: f.italic && f.italic.value(), fontsize: f.fontsize.value(), backgroundColor: f.color.value(), backgroundRoundRect: 4 }), w = (e, t, i) => ({ points: [e, t, i], color: "rgba(0, 0, 0, 0)", linewidth: 0, backcolor: f.backgroundColor.value(), fillBackground: f.fillBackground.value(), transparency: f.transparency.value() }), x = { points: this._points, color: f.color.value(), linewidth: f.linewidth.value(), linestyle: s.LINESTYLE_SOLID, backcolor: "rgba(0, 0, 0, 0)", fillBackground: !1, filled: !1 };
|
|
1166
|
+
if (this._polyLineRenderer.setData(x), g.append(this._polyLineRenderer), this._points.length >= 5) {
|
|
1167
|
+
let i, r, n = !1, a = !1;
|
|
1168
|
+
e ? i = e : (i = o, n = !0), t ? r = t : (r = c, a = !0);
|
|
1169
|
+
const h = { points: [i, r], color: f.color.value(), linewidth: f.linewidth.value(), linestyle: s.LINESTYLE_DOTTED, extendleft: !1, extendright: !1, leftend: d.LineEnd.Normal, rightend: d.LineEnd.Normal };
|
|
1170
|
+
h.extendleft = n, h.extendright = a, this._trendLineRenderer.setData(h), g.append(this._trendLineRenderer);
|
|
1171
|
+
const u = w(o, l, c);
|
|
1172
|
+
this._triangleRendererPoints234.setData(u), g.append(this._triangleRendererPoints234);
|
|
1173
|
+
}
|
|
1174
|
+
if (e) {
|
|
1175
|
+
const t = w(e, a, o);
|
|
1176
|
+
this._intersect1Renderer.setData(t), g.append(this._intersect1Renderer);
|
|
1177
|
+
}
|
|
1178
|
+
if (t) {
|
|
1179
|
+
const e = w(c, u, t);
|
|
1180
|
+
this._intersect2Renderer.setData(e), g.append(this._intersect2Renderer);
|
|
1181
|
+
}
|
|
1182
|
+
if (this._points.length >= 2) {
|
|
1183
|
+
const e = v(a, _.leftShoulder);
|
|
1184
|
+
a.y < i.y ? (e.vertAlign = "bottom", e.offsetY = 5) : (e.vertAlign = "top", e.offsetY = 5), this._leftShoulderLabelRenderer.setData(e), g.append(this._leftShoulderLabelRenderer);
|
|
1185
|
+
}
|
|
1186
|
+
if (this._points.length >= 4) {
|
|
1187
|
+
const e = v(l, _.head);
|
|
1188
|
+
l.y < o.y ? (e.vertAlign = "bottom", e.offsetY = 5) : (e.vertAlign = "top", e.offsetY = 5),
|
|
1189
|
+
this._headLabelRenderer.setData(e), g.append(this._headLabelRenderer);
|
|
1190
|
+
}
|
|
1191
|
+
if (this._points.length >= 6) {
|
|
1192
|
+
const e = v(u, _.rightShoulder);
|
|
1193
|
+
u.y < c.y ? (e.vertAlign = "bottom", e.offsetY = 5) : (e.vertAlign = "top", e.offsetY = 5), this._rightShoulderLabelRenderer.setData(e), g.append(this._rightShoulderLabelRenderer);
|
|
1194
|
+
}
|
|
1195
|
+
this.addAnchors(g), this._renderer = g;
|
|
1196
|
+
}
|
|
1197
|
+
}
|
|
1198
|
+
}, FzRY: function (e, t, i) {
|
|
1199
|
+
"use strict";
|
|
1200
|
+
var r = i("aO4+").Point, n = i("pJOz").TrendLineRenderer, s = i("cjIn").PaneRendererCachedImage, a = i("VdBB").HitTestResult, o = i("Zy3/").CompositeRenderer, l = i("zXvd").NumericFormatter, h = i("QA6D").EllipseRendererSimple, d = i("a7Ha").LineEnd, c = i("NCfL").LineToolPaneViewWithLevelledTextCache;
|
|
1201
|
+
t.FibCirclesPaneView = class extends c {
|
|
1202
|
+
constructor(e, t) { super(e, t), this._rendererCache = {}, this._numericFormatter = new l, this._trendLineRenderer = new n, this._renderer = null; }
|
|
1203
|
+
getCacheRects(e, t) { super.getCacheRects(e, t); var i = this._cacheState.preparedCells.cells[this._levels[t].index - 1]; if (i) {
|
|
1204
|
+
var r = this._levels[t], n = { left: i.left, top: this._cache.topByRow(this._cacheState.row), width: i.width, height: this._cache.rowHeight(this._cacheState.row) };
|
|
1205
|
+
return { cacheRect: n, targetRect: { left: Math.round(r.labelPoint.x - n.width), top: Math.round(r.labelPoint.y - n.height / 2), width: i.width, height: n.height } };
|
|
1206
|
+
} }
|
|
1207
|
+
_updateImpl() { if (super._updateImpl(), this._renderer = null, !(this._source.points().length < 2) && this._source.priceScale() && !this._source.priceScale().isEmpty() && !this._model.timeScale().isEmpty()) {
|
|
1208
|
+
var e = this._points[0], t = this._points[1];
|
|
1209
|
+
this._center = e.add(t).scaled(.5);
|
|
1210
|
+
var i = Math.abs(t.x - e.x), n = Math.abs(t.y - e.y);
|
|
1211
|
+
this._levels = [];
|
|
1212
|
+
for (var l = this._source.properties(), c = this._source.levelsCount(), u = 1; u <= c; u++) {
|
|
1213
|
+
var _ = l["level" + u];
|
|
1214
|
+
if (_.visible.value()) {
|
|
1215
|
+
var p = _.coeff.value(), f = _.color.value(), g = [];
|
|
1216
|
+
g.push(new r(this._center.x - .5 * i * p, this._center.y - .5 * n * p)), g.push(new r(this._center.x + .5 * i * p, this._center.y + .5 * n * p));
|
|
1217
|
+
var v = new r(this._center.x, this._center.y + .5 * n * p);
|
|
1218
|
+
this._levels.push({ color: f, points: g, labelPoint: v, linewidth: _.linewidth.value(), linestyle: _.linestyle.value(), index: u });
|
|
1219
|
+
}
|
|
1220
|
+
}
|
|
1221
|
+
if (!(this._points.length < 2)) {
|
|
1222
|
+
var w = new o, x = l.fillBackground.value(), m = l.transparency.value();
|
|
1223
|
+
for (u = 0; u < this._levels.length; u++) {
|
|
1224
|
+
var y = this._levels[u], b = {};
|
|
1225
|
+
b.points = y.points, b.color = y.color, b.linewidth = y.linewidth, b.backcolor = y.color, u > 0 && (b.wholePoints = this._levels[u - 1].points), b.fillBackground = x, b.transparency = m;
|
|
1226
|
+
var R = new a(a.MOVEPOINT, null, y.index);
|
|
1227
|
+
if (w.append(new h(b, R)), l.showCoeffs.value()) {
|
|
1228
|
+
var T = new s(this, u);
|
|
1229
|
+
w.append(T);
|
|
1230
|
+
}
|
|
1231
|
+
}
|
|
1232
|
+
if (l.trendline.visible.value()) {
|
|
1233
|
+
var S = { points: [this._points[0], this._points[1]], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: l.trendline.color.value(), linewidth: l.trendline.linewidth.value(), linestyle: l.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: d.Normal, rightend: d.Normal };
|
|
1234
|
+
this._trendLineRenderer.setData(S), w.append(this._trendLineRenderer);
|
|
1235
|
+
}
|
|
1236
|
+
this.addAnchors(w), this._renderer = w;
|
|
1237
|
+
}
|
|
1238
|
+
} }
|
|
1239
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
1240
|
+
};
|
|
1241
|
+
}, "GS+0": function (e, t, i) {
|
|
1242
|
+
"use strict";
|
|
1243
|
+
var r = i("aO4+").Point, n = i("aB9a").LineSourcePaneView, s = i("z+cS").VerticalLineRenderer, a = i("pJOz").TrendLineRenderer, o = i("VdBB").HitTestResult, l = i("Zy3/").CompositeRenderer, h = i("a7Ha").LineEnd;
|
|
1244
|
+
t.LineToolCircleLinesPaneView = class extends n {
|
|
1245
|
+
constructor(e, t) { super(e, t), this._lines = [], this._trendRenderer = new a, this._renderer = null; }
|
|
1246
|
+
_updateImpl() { if (super._updateImpl(), this._renderer = null, !(this._source.points().length < 2)) {
|
|
1247
|
+
var e = this._model.timeScale();
|
|
1248
|
+
if (this._source.priceScale() && !this._source.priceScale().isEmpty() && !e.isEmpty()) {
|
|
1249
|
+
var t = this._source.points()[0], i = this._source.points()[1], n = i ? i.index - t.index : 1;
|
|
1250
|
+
if (this._lines = [], 0 !== n) {
|
|
1251
|
+
var a = e.visibleBarsStrictRange();
|
|
1252
|
+
if (n > 0)
|
|
1253
|
+
for (var d = t.index; d <= a.lastBar(); d += n)
|
|
1254
|
+
this._lines.push({ x: e.indexToCoordinate(d) });
|
|
1255
|
+
else
|
|
1256
|
+
for (d = t.index; d >= a.firstBar(); d += n)
|
|
1257
|
+
this._lines.push({ x: e.indexToCoordinate(d) });
|
|
1258
|
+
if (!(this._points.length < 2)) {
|
|
1259
|
+
var c = new l, u = this._source.properties(), _ = { points: [t, i], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: u.trendline.color.value(), linewidth: u.trendline.linewidth.value(), linestyle: u.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal };
|
|
1260
|
+
this._trendRenderer.setData(_), c.append(this._trendRenderer);
|
|
1261
|
+
var p = this._model.timeScale().width(), f = this._source.priceScale().height();
|
|
1262
|
+
for (d = 0; d < this._lines.length; d++) {
|
|
1263
|
+
var g = { width: p, height: f, x: this._lines[d].x, color: u.linecolor.value(), linewidth: u.linewidth.value(), linestyle: u.linestyle.value() }, v = new s;
|
|
1264
|
+
v.setData(g), c.append(v);
|
|
1265
|
+
}
|
|
1266
|
+
if (2 === this._source.points().length) {
|
|
1267
|
+
var w = [].concat(this._points);
|
|
1268
|
+
c.append(this.createLineAnchor({ points: w }, 0));
|
|
1269
|
+
}
|
|
1270
|
+
else
|
|
1271
|
+
c.append(this.createLineAnchor({ points: [new r(this._points[0].x, this._source.priceScale().height() / 2)], hittestResult: o.MOVEPOINT }, 1));
|
|
1272
|
+
this._renderer = c;
|
|
1273
|
+
}
|
|
1274
|
+
}
|
|
1275
|
+
}
|
|
1276
|
+
} }
|
|
1277
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
1278
|
+
};
|
|
1279
|
+
}, GW0y: function (e, t, i) {
|
|
1280
|
+
"use strict";
|
|
1281
|
+
i.r(t), i.d(t, "RectanglePaneView", (function () { return d; }));
|
|
1282
|
+
var r = i("aO4+"), n = i("zDbI"), s = i("IjC5"), a = i("Zy3/"), o = i("qgcf"), l = i("aB9a"), h = i("//lt");
|
|
1283
|
+
class d extends l.LineSourcePaneView {
|
|
1284
|
+
constructor(e, t) { super(e, t), this._rectangleRenderer = new s.RectangleRenderer, this._textRenderer = new o.TextRenderer, this._renderer = null; }
|
|
1285
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
1286
|
+
_updateImpl() {
|
|
1287
|
+
if (super._updateImpl(), this._renderer = null, this._points.length < 2)
|
|
1288
|
+
return;
|
|
1289
|
+
const e = this._getSource().properties().childs(), t = { points: this._points, color: e.color.value(), linewidth: e.linewidth.value(), backcolor: e.backgroundColor.value(), fillBackground: e.fillBackground.value(), transparency: e.transparency.value(), extendLeft: e.extendLeft.value(), extendRight: e.extendRight.value(), includeRightEdge: !0 };
|
|
1290
|
+
this._rectangleRenderer.setData(t);
|
|
1291
|
+
const i = new a.CompositeRenderer;
|
|
1292
|
+
i.append(this._rectangleRenderer);
|
|
1293
|
+
const s = this._points[0], o = this._points[1];
|
|
1294
|
+
if (e.showLabel.value()) {
|
|
1295
|
+
const t = Math.min(s.x, o.x), a = Math.max(s.x, o.x), l = Math.min(s.y, o.y), h = Math.max(s.y, o.y);
|
|
1296
|
+
let d, c, u, _;
|
|
1297
|
+
const p = e.fontSize.value() / 3;
|
|
1298
|
+
let f, g, v = 0;
|
|
1299
|
+
switch (e.vertLabelsAlign.value()) {
|
|
1300
|
+
case "middle":
|
|
1301
|
+
_ = (l + h) / 2,
|
|
1302
|
+
c = "middle", v = p;
|
|
1303
|
+
break;
|
|
1304
|
+
case "top":
|
|
1305
|
+
_ = h, c = "top";
|
|
1306
|
+
break;
|
|
1307
|
+
case "bottom": _ = l, c = "bottom";
|
|
1308
|
+
}
|
|
1309
|
+
switch (e.horzLabelsAlign.value()) {
|
|
1310
|
+
case "center":
|
|
1311
|
+
u = (t + a) / 2, d = "center";
|
|
1312
|
+
break;
|
|
1313
|
+
case "left":
|
|
1314
|
+
u = t, d = "left";
|
|
1315
|
+
break;
|
|
1316
|
+
case "right": u = a, d = "right";
|
|
1317
|
+
}
|
|
1318
|
+
"middle" === c && (f = a - t - 2 * v, g = h - l);
|
|
1319
|
+
const w = { points: [new r.Point(u, _)], text: e.text.value(), fontSize: e.fontSize.value(), font: n.CHART_FONT_FAMILY, bold: e.bold.value(), italic: e.italic.value(), horzAlign: d, vertAlign: c, color: e.textColor.value(), wordWrapWidth: f, maxHeight: g, offsetX: 0, offsetY: 0, boxPaddingVert: p, boxPaddingHorz: v, forceTextAlign: !0 };
|
|
1320
|
+
this._textRenderer.setData(w), i.append(this._textRenderer);
|
|
1321
|
+
}
|
|
1322
|
+
this._addAnchors(s, o, i), this._renderer = i;
|
|
1323
|
+
}
|
|
1324
|
+
_addAnchors(e, t, i) { const n = new r.Point(e.x, t.y); n.data = 2; const s = new r.Point(t.x, e.y); s.data = 3; const a = new r.Point(e.x, .5 * (e.y + t.y)); a.data = 4; const o = new r.Point(t.x, .5 * (e.y + t.y)); o.data = 5; const l = new r.Point(.5 * (e.x + t.x), e.y); l.data = 6; const d = new r.Point(.5 * (e.x + t.x), t.y); d.data = 7, [a, o, l, d].forEach(e => e.square = !0); const c = e.x - t.x, u = e.y - t.y, _ = Math.sign(c * u), p = [_ < 0 ? h.PaneCursorType.DiagonalNeSwResize : h.PaneCursorType.DiagonalNwSeResize, _ < 0 ? h.PaneCursorType.DiagonalNeSwResize : h.PaneCursorType.DiagonalNwSeResize, _ > 0 ? h.PaneCursorType.DiagonalNeSwResize : h.PaneCursorType.DiagonalNwSeResize, _ > 0 ? h.PaneCursorType.DiagonalNeSwResize : h.PaneCursorType.DiagonalNwSeResize, h.PaneCursorType.HorizontalResize, h.PaneCursorType.HorizontalResize, h.PaneCursorType.VerticalResize, h.PaneCursorType.VerticalResize]; i.append(this.createLineAnchor({ points: [e, t, n, s, a, o, l, d], pointsCursorType: p }, 0)); }
|
|
1325
|
+
}
|
|
1326
|
+
}, GzSs: function (e, t, i) {
|
|
1327
|
+
"use strict";
|
|
1328
|
+
var r = i("aB9a").LineSourcePaneView, n = i("jkoZ"), s = i("VdBB").HitTestResult, a = i("EBrf").splitThousands, o = i("Ialn"), l = i("2uTr").appendEllipsis, h = i("cPgM").ScaledPaneRenderer;
|
|
1329
|
+
class d extends h {
|
|
1330
|
+
constructor(e, t) { super(), this._data = null, this._cache = e, this._adapter = t; }
|
|
1331
|
+
setData(e) { this._data = e; }
|
|
1332
|
+
_height() { return Math.max(20, 1 + Math.max(n.fontHeight(this._adapter.getBodyFont()), n.fontHeight(this._adapter.getQuantityFont()))); }
|
|
1333
|
+
_bodyWidth(e) { if (0 === this._adapter.getText().length)
|
|
1334
|
+
return 0; e.save(), e.font = this._adapter.getBodyFont(); var t = e.measureText(this._adapter.getText()).width; return e.restore(), Math.round(10 + t); }
|
|
1335
|
+
_getQuantity() { var e = this._adapter.getQuantity(); return isNaN(e) ? e : a(this._adapter.getQuantity(), " "); }
|
|
1336
|
+
_quantityWidth(e) { if (0 === this._getQuantity().length)
|
|
1337
|
+
return 0; e.save(), e.font = this._adapter.getQuantityFont(); var t = e.measureText(this._getQuantity()).width; return e.restore(), Math.round(Math.max(this._height(), 10 + t)); }
|
|
1338
|
+
_reverseButtonWidth() { return this._adapter.isOnReverseCallbackPresent() ? this._height() : 0; }
|
|
1339
|
+
_closeButtonWidth() { return this._adapter.isOnCloseCallbackPresent() ? this._height() : 0; }
|
|
1340
|
+
_drawLines(e, t, i, r, n) { e.save(), e.strokeStyle = this._adapter.getLineColor(), e.lineStyle = this._adapter.getLineStyle(), e.lineWidth = this._adapter.getLineWidth(), CanvasEx.drawLine(e, i, r, n, r), this._adapter.getExtendLeft() && CanvasEx.drawLine(e, 0, r, t, r), e.restore(); }
|
|
1341
|
+
_drawBody(e, t, i) {
|
|
1342
|
+
e.strokeStyle = this._adapter.getBodyBorderColor(), e.fillStyle = this._adapter.getBodyBackgroundColor();
|
|
1343
|
+
var r = this._bodyWidth(e), n = this._height();
|
|
1344
|
+
e.fillRect(t + .5, i + .5, r - 1, n - 1), e.strokeRect(t, i, r, n);
|
|
1345
|
+
}
|
|
1346
|
+
_drawBodyText(e, t, i) { e.save(), e.textAlign = "center", e.textBaseline = "middle", e.font = this._adapter.getBodyFont(), e.fillStyle = this._adapter.getBodyTextColor(); var r = t + this._bodyWidth(e) / 2, n = i + this._height() / 2; e.fillText(this._adapter.getText(), r, n), e.restore(); }
|
|
1347
|
+
_drawQuantity(e, t, i) { e.strokeStyle = this._adapter.getQuantityBorderColor(), e.fillStyle = this._adapter.getQuantityBackgroundColor(); var r = this._quantityWidth(e), n = this._height(); e.fillRect(t + .5, i + .5, r - 1, n - 1), e.strokeRect(t, i, r, n); }
|
|
1348
|
+
_drawQuantityText(e, t, i) { e.save(), e.textAlign = "center", e.textBaseline = "middle", e.font = this._adapter.getQuantityFont(), e.fillStyle = this._adapter.getQuantityTextColor(); var r = t + this._quantityWidth(e) / 2, n = i + this._height() / 2; e.fillText(o.startWithLTR(this._getQuantity() + ""), r, n), e.restore(); }
|
|
1349
|
+
_drawReverseButton(e, t, i) { e.save(), e.strokeStyle = this._adapter.getReverseButtonBorderColor(), e.fillStyle = this._adapter.getReverseButtonBackgroundColor(); var r = this._reverseButtonWidth(), n = this._height(); e.fillRect(t + .5, i + .5, r - 1, n - 1), e.strokeRect(t, i, r, n), e.strokeStyle = this._adapter.getReverseButtonIconColor(); var s = function (e, t) { CanvasEx.setLineStyle(e, CanvasEx.LINESTYLE_SOLID), CanvasEx.drawLine(e, 0, 0, 0, t), CanvasEx.drawLine(e, -1, 1, 1, 1), CanvasEx.drawLine(e, -2, 2, 2, 2); }, a = t + Math.round((this._reverseButtonWidth() - 6) / 2), o = i + 5; e.save(), e.translate(a, o), s(e, 10), e.translate(6, 10), e.rotate(Math.PI), s(e, 10), e.restore(), this._adapter._blocked && (e.fillStyle = "rgba(140, 140, 140, 0.75)", e.fillRect(t + .5, i + .5, r - 1, n - 1)), e.restore(); }
|
|
1350
|
+
_drawCloseButton(e, t, i) { e.save(), e.strokeStyle = this._adapter.getCloseButtonBorderColor(), e.fillStyle = this._adapter.getCloseButtonBackgroundColor(); var r = this._closeButtonWidth(), n = this._height(); e.fillRect(t + .5, i + .5, r - 1, n - 1), e.strokeRect(t, i, r, n); var s = t + r, a = i + n; e.strokeStyle = this._adapter.getCloseButtonIconColor(); var o = (this._closeButtonWidth() - 8) / 2, l = (this._height() - 8) / 2; CanvasEx.drawPoly(e, [{ x: t + o, y: i + l }, { x: s - o, y: a - l }], !0), CanvasEx.drawPoly(e, [{ x: s - o, y: i + l }, { x: t + o, y: a - l }], !0), this._adapter._blocked && (e.fillStyle = "rgba(140, 140, 140, 0.75)", e.fillRect(t + .5, i + .5, r - 1, n - 1)), e.restore(); }
|
|
1351
|
+
_drawImpl(e) {
|
|
1352
|
+
if (null !== this._data && this._data.points && !(this._data.points.length < 1)) {
|
|
1353
|
+
var t = this._data.width, i = this._bodyWidth(e), r = this._quantityWidth(e), n = this._reverseButtonWidth(e), s = i + r + n + this._closeButtonWidth(), a = t - s, o = Math.max(this._adapter.getLineLength() / 100 * t, 1), l = Math.round(t - Math.min(a, o)), h = l - s, d = Math.round(this._data.points[0].y), c = Math.round(d - (this._height() + 1) / 2);
|
|
1354
|
+
this._cache.bodyRight = h + i, this._cache.quantityRight = this._cache.bodyRight + r, this._cache.reverseButtonRight = this._cache.quantityRight + n, this._cache.top = c, this._cache.bottom = c + this._height(), this._cache.left = h, this._cache.right = l, this._drawLines(e, h, l, d, t), 0 !== i && (this._drawBody(e, h, c), this._drawBodyText(e, h, c)), 0 !== r && (this._drawQuantity(e, this._cache.bodyRight, c), this._drawQuantityText(e, this._cache.bodyRight, c)), 0 !== n && this._drawReverseButton(e, this._cache.quantityRight, c),
|
|
1355
|
+
0 !== this._closeButtonWidth() && this._drawCloseButton(e, this._cache.reverseButtonRight, c);
|
|
1356
|
+
}
|
|
1357
|
+
}
|
|
1358
|
+
hitTest(e) { return null === this._data || 0 === this._data.points.length || e.y < this._cache.top || e.y > this._cache.bottom || e.x < this._cache.left || this._cache.right < e.x ? null : this._adapter._blocked ? new s(s.CUSTOM, {}) : e.x >= this._cache.bodyRight && e.x < this._cache.quantityRight && this._adapter._onModifyCallback ? new s(s.CUSTOM, { clickHandler: this._adapter.callOnModify.bind(this._adapter), tapHandler: this._adapter.callOnModify.bind(this._adapter), tooltip: { text: this._adapter.getProtectTooltip() || l(window.t("Protect Position")), rect: { x: this._cache.bodyRight, y: this._cache.top, w: this._cache.quantityRight - this._cache.bodyRight, h: this._cache.bottom - this._cache.top } } }) : e.x >= this._cache.quantityRight && e.x < this._cache.reverseButtonRight ? new s(s.CUSTOM, { clickHandler: this._adapter.callOnReverse.bind(this._adapter), tapHandler: this._adapter.callOnReverse.bind(this._adapter), tooltip: { text: this._adapter.getReverseTooltip() || window.t("Reverse Position"), rect: { x: this._cache.quantityRight, y: this._cache.top, w: this._cache.reverseButtonRight - this._cache.quantityRight, h: this._cache.bottom - this._cache.top } } }) : e.x >= this._cache.reverseButtonRight && e.x < this._cache.right ? new s(s.CUSTOM, { clickHandler: this._adapter.callOnClose.bind(this._adapter), tapHandler: this._adapter.callOnClose.bind(this._adapter), tooltip: { text: this._adapter.getCloseTooltip() || window.t("Close Position"), rect: { x: this._cache.reverseButtonRight, y: this._cache.top, w: this._cache.right - this._cache.reverseButtonRight, h: this._cache.bottom - this._cache.top } } }) : new s(s.CUSTOM, { clickHandler: function () { }, tapHandler: function () { }, tooltip: { text: this._adapter.getTooltip(), rect: { x: this._cache.left, y: this._cache.top, w: this._cache.bodyRight - this._cache.left, h: this._cache.bottom - this._cache.top } } }); }
|
|
1359
|
+
}
|
|
1360
|
+
t.PositionPaneView = class extends r {
|
|
1361
|
+
constructor(e, t) { super(e, t), this._rendererCache = {}, this._renderer = new d(this._rendererCache, e._adapter); }
|
|
1362
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer.setData({ points: this._points, width: this._model.timeScale().width() }), this._renderer; }
|
|
1363
|
+
};
|
|
1364
|
+
}, "Ht/7": function (e, t, i) {
|
|
1365
|
+
"use strict";
|
|
1366
|
+
var r = i("aO4+").Point, n = i("aB9a").LineSourcePaneView, s = i("pJOz").TrendLineRenderer, a = i("VdBB").HitTestResult, o = i("Zy3/").CompositeRenderer, l = i("Hr11"), h = i("Tmoa"), d = i("zDbI").CHART_FONT_FAMILY, c = i("QPcX").LetterInCircleRenderer, u = i("Tmoa").resetTransparency, _ = { 4: { font: 24, circle: 36, circleBorderWidth: 1, bold: !0 }, 3: { font: 20, circle: 28, circleBorderWidth: 1, bold: !1 }, 2: { font: 18, circle: 22, circleBorderWidth: 1, bold: !1 }, 1: { font: 16, circle: 22, circleBorderWidth: 1, bold: !1 }, 0: { font: 11, circle: 14, circleBorderWidth: 1, bold: !0 } };
|
|
1367
|
+
t.ElliottLabelsPaneView = class extends n {
|
|
1368
|
+
constructor(e, t) { super(e, t), this._renderer = null; }
|
|
1369
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
1370
|
+
_updateImpl() {
|
|
1371
|
+
super._updateImpl(), this._renderer = null, this._wave = [];
|
|
1372
|
+
var e = this._source.properties(), t = this._source.priceScale(), i = this._model.timeScale();
|
|
1373
|
+
if (t && !t.isEmpty() && !i.isEmpty()) {
|
|
1374
|
+
var n = e.color.value();
|
|
1375
|
+
if (e.showWave.value())
|
|
1376
|
+
for (var p = this._source.ownerSource().firstValue(), f = this._source.points(), g = 1; g < f.length; g++) {
|
|
1377
|
+
var v = f[g - 1], w = f[g], x = i.indexToCoordinate(v.index), m = i.indexToCoordinate(w.index), y = v.price, b = w.price, R = t.priceToCoordinate(y, p), T = t.priceToCoordinate(b, p), S = { points: [new r(x, R), new r(m, T)], width: i.width(), height: t.height(), color: h.generateColor(n, 0), linewidth: e.linewidth.value(), linestyle: CanvasEx.LINESTYLE_SOLID, extendleft: !1, extendright: !1, overlayLineEndings: !0 };
|
|
1378
|
+
this._wave.push(S);
|
|
1379
|
+
}
|
|
1380
|
+
var P = this.areAnchorsVisible() ? 0 : 1, L = new o;
|
|
1381
|
+
for (e = this._source.properties(), g = 0; g < this._wave.length; g++) {
|
|
1382
|
+
var C = new s;
|
|
1383
|
+
C.setData(this._wave[g]), L.append(C);
|
|
1384
|
+
}
|
|
1385
|
+
var M = 1;
|
|
1386
|
+
if (this._points.length > 2) {
|
|
1387
|
+
v = this._points[2], w = this._points[1];
|
|
1388
|
+
M = l.sign(v.y - w.y);
|
|
1389
|
+
}
|
|
1390
|
+
var I = 0;
|
|
1391
|
+
this._model.lineBeingCreated() === this._source && (I = 1);
|
|
1392
|
+
for (n = u(e.color.value()), g = 0; g < this._points.length - I; g++, M = -M)
|
|
1393
|
+
if (!(g < P)) {
|
|
1394
|
+
var O = this._source.label(g), N = O.label, D = "circle" === O.decoration;
|
|
1395
|
+
"brackets" === O.decoration && (N = "(" + N + ")");
|
|
1396
|
+
var B = _[O.group], k = new a(a.CHANGEPOINT, { pointIndex: g });
|
|
1397
|
+
L.append(new c({ point: this._points[g], letter: N, color: n, font: d, fontSize: B.font, bold: B.bold, showCircle: D, circleRadius: B.circle / 2, circleBorderWidth: B.circleBorderWidth, yOffset: 10, vertAlign: 1 === M ? "top" : "bottom" }, k));
|
|
1398
|
+
}
|
|
1399
|
+
for (var A = [], E = 0; E < this._points.length; E++) {
|
|
1400
|
+
var z = this._points[E].clone();
|
|
1401
|
+
z.data = E, A.push(z);
|
|
1402
|
+
}
|
|
1403
|
+
this._model.lineBeingCreated() === this._source && A.pop(), L.append(this.createLineAnchor({ points: A }, 0)), this._renderer = L;
|
|
1404
|
+
}
|
|
1405
|
+
}
|
|
1406
|
+
};
|
|
1407
|
+
}, Hyqq: function (e, t, i) {
|
|
1408
|
+
"use strict";
|
|
1409
|
+
i.r(t);
|
|
1410
|
+
var r = i("XlJ7"), n = i("Tmoa"), s = i("zDbI"), a = i("aB9a"), o = i("aO4+"), l = i("f6yo"), h = i("Ialn"), d = i("ikwP"), c = i("cPgM"), u = i("VdBB");
|
|
1411
|
+
class _ extends c.ScaledPaneRenderer {
|
|
1412
|
+
constructor() { super(), this._geometryCache = { innerHeight: NaN, textHorizontalPadding: NaN, innerWidth: NaN, paddingLeft: NaN }, this._geomertryCacheInvalidated = !0, this._data = null; }
|
|
1413
|
+
setData(e) { this._data = e, this._geomertryCacheInvalidated = !0; }
|
|
1414
|
+
hitTest(e, t) { if (null === this._data || 0 === this._data.points.length)
|
|
1415
|
+
return null; const i = this._data.points[0].x - (this._geometryCache.paddingLeft + 20), r = this._data.points[0].y - (this._geometryCache.innerHeight + 9), n = Object(o.box)(new o.Point(i, r), new o.Point(i + this._geometryCache.innerWidth, r + this._geometryCache.innerHeight)); return Object(l.pointInBox)(e, n) ? new u.HitTestResult(u.HitTestResult.MOVEPOINT, { areaName: u.AreaName.Text }) : null; }
|
|
1416
|
+
_drawImpl(e, t) {
|
|
1417
|
+
if (null === this._data || 0 === this._data.points.length)
|
|
1418
|
+
return;
|
|
1419
|
+
e.font = this._data.font;
|
|
1420
|
+
const i = this._measureInfo(e, this._data.label, this._data.fontSize), { paddingLeft: r, innerHeight: n, innerWidth: s, textHorizontalPadding: a } = i;
|
|
1421
|
+
e.textAlign = Object(h.isRtl)() ? "right" : "left";
|
|
1422
|
+
const o = this._data.points[0].x - (r + 20), l = this._data.points[0].y - (n + 9);
|
|
1423
|
+
e.translate(o, l), e.beginPath(), e.moveTo(24, n), e.lineTo(15, n), e.arcTo(-1e3, 0, 1e3, 0, n / 2), e.lineTo(s - 15, 0), e.arcTo(1e3, n, -1e3, n, n / 2), e.lineTo(33, n), e.quadraticCurveTo(33, n + 4, 35, n + 9), e.quadraticCurveTo(27, n + 6, 24, n), e.fillStyle = this._data.backgroundColor, e.fill(), e.strokeStyle = this._data.borderColor, e.lineWidth = 2, e.stroke(), e.closePath(), e.textBaseline = "middle", e.fillStyle = this._data.color,
|
|
1424
|
+
e.fillText(this._data.label, r + a, n / 2);
|
|
1425
|
+
}
|
|
1426
|
+
_measureInfo(e, t, i) { if (this._geomertryCacheInvalidated) {
|
|
1427
|
+
const r = e.measureText(t), n = i, s = 15, a = Math.round(n / 1.3), o = r.width + 2 * s, l = n + 2 * a, h = Object(d.calcTextHorizontalShift)(e, r.width);
|
|
1428
|
+
this._geometryCache = { paddingLeft: s, innerWidth: o, innerHeight: l, textHorizontalPadding: h }, this._geomertryCacheInvalidated = !1;
|
|
1429
|
+
} return this._geometryCache; }
|
|
1430
|
+
}
|
|
1431
|
+
var p = i("Zy3/"), f = i("vq8G");
|
|
1432
|
+
i.d(t, "BalloonPaneView", (function () { return g; }));
|
|
1433
|
+
class g extends a.LineSourcePaneView {
|
|
1434
|
+
constructor(e, t) { super(e, t), this._balloonRenderer = new _, this._renderer = null; }
|
|
1435
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
1436
|
+
_updateImpl(e, t) { super._updateImpl(e, t); const i = this._source.properties().childs(), a = { points: this._points, color: i.color.value(), borderColor: i.borderColor.value(), backgroundColor: Object(n.generateColor)(i.backgroundColor.value(), i.transparency.value()), font: Object(r.makeFont)(i.fontsize.value(), s.CHART_FONT_FAMILY), fontSize: i.fontsize.value(), label: i.text.value() }; if (this._balloonRenderer.setData(a), 1 === a.points.length) {
|
|
1437
|
+
const e = new p.CompositeRenderer;
|
|
1438
|
+
return e.append(this._balloonRenderer), e.append(new f.SelectionRenderer({ points: a.points, bgColors: this._lineAnchorColors(a.points), visible: this.areAnchorsVisible(), barSpacing: this._model.timeScale().barSpacing(), hittestResult: u.HitTestResult.MOVEPOINT })), void (this._renderer = e);
|
|
1439
|
+
} this._renderer = this._balloonRenderer; }
|
|
1440
|
+
}
|
|
1441
|
+
}, IMGS: function (e, t, i) {
|
|
1442
|
+
"use strict";
|
|
1443
|
+
var r = i("aB9a").LineSourcePaneView, n = i("QncP").prepareLinearRegressionRenderersData, s = i("NN6M").ParallelChannelRenderer, a = i("qgcf").TextRenderer, o = i("pJOz").TrendLineRenderer, l = i("vq8G").SelectionRenderer, h = i("VdBB").HitTestResult, d = i("Zy3/").CompositeRenderer, c = i("Tmoa");
|
|
1444
|
+
t.RegressionTrendPaneView = class extends r {
|
|
1445
|
+
constructor(e, t) { super(e, t), this._calc = null, this._lines = [], this._pearsons = null, this._pearsonsLabelRenderer = new a, this._renderer = null; }
|
|
1446
|
+
getTransparencyResetLines() { return this._lines.map((function (e) { var t = Object.assign({}, e); return t.color = c.resetTransparency(t.color), t; })); }
|
|
1447
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
1448
|
+
_updateImpl() {
|
|
1449
|
+
super._updateImpl();
|
|
1450
|
+
const e = n(this._model, this._source);
|
|
1451
|
+
this._lines = e.lines, this._pearsons = e.pearsons, this._renderer = null;
|
|
1452
|
+
for (var t = new d, i = [], r = [this._lines[1], this._lines[0], this._lines[2]], a = [], u = 0; u < r.length; u++)
|
|
1453
|
+
r[u] && a.push(r[u]);
|
|
1454
|
+
for (u = 1; u < a.length; u++) {
|
|
1455
|
+
var _ = {};
|
|
1456
|
+
_.points = [r[u].floatPoints[0], r[u].floatPoints[1], r[u - 1].floatPoints[0], r[u - 1].floatPoints[1]], _.color = r[u].color, _.width = this._model.timeScale().width(), _.height = this._source.priceScale().height(), _.linewidth = r[u].linewidth, _.linestyle = r[u].linestyle, _.extendleft = !1, _.extendright = r[u].extendright, _.backcolor = _.color, _.transparency = this._source.properties().styles.transparency.value(), _.skipLines = !0, _.fillBackground = !0, (f = new s(new h(h.REGULAR))).setData(_), t.append(f);
|
|
1457
|
+
}
|
|
1458
|
+
var p = this.getTransparencyResetLines();
|
|
1459
|
+
for (u = 0; u < a.length; u++) {
|
|
1460
|
+
var f;
|
|
1461
|
+
(f = new o).setData(p[u]), f.setHitTest(new h(h.REGULAR)), t.append(f), 0 !== u && (i = i.concat(this._lines[u].floatPoints));
|
|
1462
|
+
}
|
|
1463
|
+
if (this._pearsons && (this._pearsons.color = c.resetTransparency(this._pearsons.color), this._pearsonsLabelRenderer.setData(this._pearsons), t.append(this._pearsonsLabelRenderer)), this._lines && this._lines.length >= 1) {
|
|
1464
|
+
t.append(new l({ points: i, bgColors: this._lineAnchorColors(i), visible: this.areAnchorsVisible() }));
|
|
1465
|
+
var g = this._lines[0].floatPoints;
|
|
1466
|
+
g[0].data = 0, g[1].data = 1, t.append(this.createLineAnchor({ points: g }, 0));
|
|
1467
|
+
}
|
|
1468
|
+
this._renderer = t;
|
|
1469
|
+
}
|
|
1470
|
+
};
|
|
1471
|
+
}, Jej9: function (e, t, i) {
|
|
1472
|
+
"use strict";
|
|
1473
|
+
i.r(t), i.d(t, "LineToolTrianglePatternPaneView", (function () { return u; }));
|
|
1474
|
+
var r = i("Eyy1"), n = i("aO4+"), s = i("8Uy/"), a = i("Zy3/"), o = i("pJOz"), l = i("/S7V"), h = i("qgcf"), d = i("a7Ha"), c = i("aB9a");
|
|
1475
|
+
class u extends c.LineSourcePaneView {
|
|
1476
|
+
constructor() { super(...arguments), this._trendLineRendererPoints01 = new o.TrendLineRenderer, this._trendLineRendererPoints12 = new o.TrendLineRenderer, this._trendLineRendererPoints23 = new o.TrendLineRenderer, this._intersectionRenderer = new l.TriangleRenderer, this._aLabelRenderer = new h.TextRenderer, this._bLabelRenderer = new h.TextRenderer, this._cLabelRenderer = new h.TextRenderer, this._dLabelRenderer = new h.TextRenderer, this._renderer = null; }
|
|
1477
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
1478
|
+
_updateImpl() {
|
|
1479
|
+
super._updateImpl(), this._renderer = null;
|
|
1480
|
+
const [e, t, i, o] = this._points;
|
|
1481
|
+
let l, h, c;
|
|
1482
|
+
if (4 === this._points.length) {
|
|
1483
|
+
if (Math.abs(i.x - e.x) < 1 || Math.abs(o.x - t.x) < 1)
|
|
1484
|
+
return;
|
|
1485
|
+
let r = Math.min(e.x, t.x);
|
|
1486
|
+
r = Math.min(r, i.x), r = Math.min(r, o.x);
|
|
1487
|
+
const s = (i.y - e.y) / (i.x - e.x), a = e.y + (r - e.x) * s, d = (o.y - t.y) / (o.x - t.x), u = t.y + (r - t.x) * d;
|
|
1488
|
+
if (Math.abs(s - d) < 1e-6)
|
|
1489
|
+
return;
|
|
1490
|
+
h = new n.Point(r, a), c = new n.Point(r, u);
|
|
1491
|
+
const _ = (t.y - e.y + (e.x * s - t.x * d)) / (s - d);
|
|
1492
|
+
if (_ < r) {
|
|
1493
|
+
let r = Math.max(e.x, t.x);
|
|
1494
|
+
r = Math.max(r, i.x), r = Math.max(r, o.x), h = new n.Point(r, e.y + (r - e.x) * s), c = new n.Point(r, t.y + (r - t.x) * d);
|
|
1495
|
+
}
|
|
1496
|
+
const p = e.y + (_ - e.x) * s;
|
|
1497
|
+
l = new n.Point(_, p);
|
|
1498
|
+
}
|
|
1499
|
+
if (this._points.length < 2)
|
|
1500
|
+
return;
|
|
1501
|
+
const u = this._source.properties().childs(), _ = new a.CompositeRenderer, p = (e, t) => ({ points: [e], text: t, color: u.textcolor.value(), vertAlign: "middle", horzAlign: "center", font: u.font.value(), offsetX: 0, offsetY: 0, bold: u.bold && u.bold.value(), italic: u.italic && u.italic.value(), fontsize: u.fontsize.value(), backgroundColor: u.color.value(), backgroundRoundRect: 4 }), f = (e, t) => ({ points: [e, t], color: u.color.value(), linewidth: u.linewidth.value(), linestyle: s.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: d.LineEnd.Normal, rightend: d.LineEnd.Normal });
|
|
1502
|
+
if (this._trendLineRendererPoints01.setData(f(e, t)), _.append(this._trendLineRendererPoints01), this._points.length >= 3 && (this._trendLineRendererPoints12.setData(f(t, i)), _.append(this._trendLineRendererPoints12)), 4 === this._points.length && (this._trendLineRendererPoints23.setData(f(i, o)), _.append(this._trendLineRendererPoints23), l)) {
|
|
1503
|
+
const e = { points: [Object(r.ensureDefined)(h), Object(r.ensureDefined)(c), l], color: u.color.value(), linewidth: u.linewidth.value(), backcolor: u.backgroundColor.value(), fillBackground: u.fillBackground.value(), transparency: u.transparency.value(), linestyle: s.LINESTYLE_DOTTED };
|
|
1504
|
+
this._intersectionRenderer.setData(e), _.append(this._intersectionRenderer);
|
|
1505
|
+
}
|
|
1506
|
+
const g = p(e, "A");
|
|
1507
|
+
t.y > e.y ? (g.vertAlign = "bottom",
|
|
1508
|
+
g.offsetY = 5) : (g.vertAlign = "top", g.offsetY = 5), this._aLabelRenderer.setData(g), _.append(this._aLabelRenderer);
|
|
1509
|
+
const v = p(t, "B");
|
|
1510
|
+
if (t.y < e.y ? (v.vertAlign = "bottom", v.offsetY = 5) : (v.vertAlign = "top", v.offsetY = 5), this._bLabelRenderer.setData(v), _.append(this._bLabelRenderer), this._points.length > 2) {
|
|
1511
|
+
const e = p(i, "C");
|
|
1512
|
+
i.y < t.y ? (e.vertAlign = "bottom", e.offsetY = 5) : (e.vertAlign = "top", e.offsetY = 5), this._cLabelRenderer.setData(e), _.append(this._cLabelRenderer);
|
|
1513
|
+
}
|
|
1514
|
+
if (this._points.length > 3) {
|
|
1515
|
+
const e = p(o, "D");
|
|
1516
|
+
o.y < i.y ? (e.vertAlign = "bottom", e.offsetY = 5) : (e.vertAlign = "top", e.offsetY = 5), this._dLabelRenderer.setData(e), _.append(this._dLabelRenderer);
|
|
1517
|
+
}
|
|
1518
|
+
this.addAnchors(_), this._renderer = _;
|
|
1519
|
+
}
|
|
1520
|
+
}
|
|
1521
|
+
}, JeuX: function (e, t, i) {
|
|
1522
|
+
"use strict";
|
|
1523
|
+
i.r(t), i.d(t, "PathPaneView", (function () { return a; }));
|
|
1524
|
+
var r = i("BCbF"), n = i("Zy3/"), s = i("aB9a");
|
|
1525
|
+
class a extends s.LineSourcePaneView {
|
|
1526
|
+
constructor(e, t) { super(e, t), this._polygonRenderer = new r.PolygonRenderer(null), this._renderer = new n.CompositeRenderer; }
|
|
1527
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
1528
|
+
_updateImpl() { super._updateImpl(), this._renderer.clear(); const e = this._source.properties().childs(), t = { points: this._points, color: e.lineColor.value(), linewidth: e.lineWidth.value(), linestyle: e.lineStyle.value(), leftend: e.leftEnd.value(), rightend: e.rightEnd.value(), filled: !1, backcolor: "", fillBackground: !1, transparency: 0 }; this._polygonRenderer.setData(t), this._renderer.append(this._polygonRenderer), this.addAnchors(this._renderer); }
|
|
1529
|
+
}
|
|
1530
|
+
}, KDMZ: function (e, t, i) {
|
|
1531
|
+
"use strict";
|
|
1532
|
+
i.d(t, "a", (function () { return o; }));
|
|
1533
|
+
var r = i("Eyy1"), n = i("aIyQ"), s = i.n(n);
|
|
1534
|
+
class a {
|
|
1535
|
+
constructor(e, t, i) { this._ready = !1, this._img = function (e, t, i) { const r = new Image; return r.width = t, r.height = t, r.onload = i, r.src = e, r; }(e, t, () => { this._ready = !0, i(); }); }
|
|
1536
|
+
ready() { return this._ready; }
|
|
1537
|
+
image() { return this._img; }
|
|
1538
|
+
}
|
|
1539
|
+
class o {
|
|
1540
|
+
constructor(e, t) { this._icons = new Map, this._onAllIconsLoaded = new s.a, this._pendingLoading = e.length; const i = () => { 0 == --this._pendingLoading && this._onAllIconsLoaded.fire(); }; e.forEach(e => { const r = this._icons.get(e.name) || new Map; r.set(e.theme, new a(e.imageData, t, i)), this._icons.set(e.name, r); }); }
|
|
1541
|
+
getIcon(e, t) { return Object(r.ensureDefined)(Object(r.ensureDefined)(this._icons.get(e)).get(t)); }
|
|
1542
|
+
onAllIconsReady() { return this._onAllIconsLoaded; }
|
|
1543
|
+
}
|
|
1544
|
+
}, KFbh: function (e, t, i) {
|
|
1545
|
+
"use strict";
|
|
1546
|
+
i.r(t);
|
|
1547
|
+
var r = i("aO4+"), n = i("HGP3"), s = i("zDbI"), a = i("jvrd"), o = i("GEp6"), l = i("f6yo"), h = i("Eyy1"), d = i("VaSN"), c = i("ikwP"), u = i("qgcf"), _ = i("VdBB"), p = i("XXdw"), f = i("qFKp"), g = i("c44N"), v = i("KDMZ"), w = i("f2d2");
|
|
1548
|
+
const x = [{ name: "twitter", theme: "", imageData: URL.createObjectURL(new Blob([w], { type: "image/svg+xml" })) }], m = new v.a(x, 24);
|
|
1549
|
+
var y = i("Zp/P");
|
|
1550
|
+
const b = new WeakMap;
|
|
1551
|
+
function R(e, t, i, r) {
|
|
1552
|
+
let n = b.get(e);
|
|
1553
|
+
return void 0 !== n && n.width === t || (n = function (e, t, i, r) {
|
|
1554
|
+
const n = Object(c.createDisconnectedCanvas)(document, new c.Size(t, t), 1), s = 0 === r ? Math.min(e.width, e.height) : Math.max(e.width, e.height), a = Math.round(e.width / 2 - s / 2), o = Math.round(e.height / 2 - s / 2), l = Object(c.getContext2D)(n);
|
|
1555
|
+
return i && (l.beginPath(), l.arc(t / 2, t / 2, t / 2, 0, 2 * Math.PI, !0), l.closePath(), l.clip()), l.imageSmoothingEnabled = !0, l.imageSmoothingQuality = "high",
|
|
1556
|
+
l.drawImage(e, a, o, s, s, 0, 0, t, t), n;
|
|
1557
|
+
}(e, t, i, r), b.set(e, n)), n;
|
|
1558
|
+
}
|
|
1559
|
+
function T(e) { return e.poleStartY; }
|
|
1560
|
+
function S(e) { return e.inverseAnchorPosition ? e.anchorY : e.anchorY + (e.labelHeight + e.poleTailHeight + 2 * e.circleRadius) * e.direction; }
|
|
1561
|
+
function P(e) { return e.inverseAnchorPosition ? e.anchorY + (2 * e.circleRadius + e.poleTailHeight) * e.direction : e.anchorY + e.labelHeight * e.direction; }
|
|
1562
|
+
function L(e) { return e.inverseAnchorPosition ? P(e) - e.poleTailHeight * e.direction : P(e) + e.poleTailHeight * e.direction; }
|
|
1563
|
+
const C = new class {
|
|
1564
|
+
constructor() { this._cachedItems = []; }
|
|
1565
|
+
getItem(e, t) { const i = this._cachedItems.find(i => i.sourceLabel === e && Object(g.areEqualPaneRenderParams)(t, i.params)); if (void 0 !== i)
|
|
1566
|
+
return i.canvas; const r = m.getIcon(e, ""); if (!r.ready())
|
|
1567
|
+
return null; const n = document.createElement("canvas"); n.width = 24 * t.pixelRatio, n.height = 24 * t.pixelRatio, n.style.width = "24px", n.style.height = "24px"; const s = Object(h.ensureNotNull)(n.getContext("2d")); return s.setTransform(1, 0, 0, 1, 0, 0), f.isEdge || s.scale(t.pixelRatio, t.pixelRatio), s.drawImage(r.image(), 0, 0), this._cachedItems.push({ params: t, sourceLabel: e, canvas: n }), n; }
|
|
1568
|
+
};
|
|
1569
|
+
function M(e, t, i, r, n, s) { const a = s.pixelRatio, o = Object(y.fillScaledRadius)(t.circleRadius, a), l = Math.round(t.x * a), h = t.inverseAnchorPosition ? Math.round(t.anchorY * a) + Math.round(t.circleRadius * a) * t.direction : Math.round(t.anchorY * a) + Math.round((t.labelHeight + t.poleTailHeight + t.circleRadius) * a) * t.direction, d = Math.max(1, Math.floor(a)) % 2 / 2, c = l + d, u = h + d; e.save(); const _ = u + .05 * o, f = e.createRadialGradient(c, _, o / 2, c, _, 1.1 * o); if (f.addColorStop(0, "transparent"), f.addColorStop(.1, r), f.addColorStop(1, "transparent"), e.fillStyle = f, e.beginPath(), e.arc(c, _, 1.1 * o, 0, 2 * Math.PI, !0), e.closePath(), e.fill(), e.restore(), e.beginPath(), e.arc(c, u, o, 0, 2 * Math.PI, !0), e.closePath(), e.fill(), null !== t.image) {
|
|
1570
|
+
const r = t.srcItem.type() === p.StoriesTimeLineItemType.Emoji, n = r ? 2 * Object(y.fillScaledRadius)(i, a) : 2 * o, s = R(t.image, n, !r, r ? 1 : 0);
|
|
1571
|
+
e.drawImage(s, c - n / 2, u - n / 2);
|
|
1572
|
+
} const g = Math.round(t.circleBorderWidth * a), v = Object(y.strokeScaledRadius)(t.circleRadius, a, g); if (e.lineWidth = g, e.beginPath(), e.arc(c, u, v, 0, 2 * Math.PI, !0), e.closePath(), e.stroke(), t.outsideBorderWidth) {
|
|
1573
|
+
e.save();
|
|
1574
|
+
const i = Math.round(t.outsideBorderWidth * a), r = v + g / 2 + i / 2;
|
|
1575
|
+
e.lineWidth = i, e.strokeStyle = n, e.beginPath(), e.arc(c, u, r, 0, 2 * Math.PI, !0), e.closePath(), e.stroke(), e.restore();
|
|
1576
|
+
} const w = t.srcItem.sourceLabel(); if (null !== w) {
|
|
1577
|
+
const i = C.getItem(w, s);
|
|
1578
|
+
if (null !== i) {
|
|
1579
|
+
const r = Math.round(c + t.circleRadius * a - i.width), n = Math.round(u - t.circleRadius * a);
|
|
1580
|
+
e.drawImage(i, r, n);
|
|
1581
|
+
const s = i.width / 2, o = r + s, l = n + s;
|
|
1582
|
+
e.save(), e.lineWidth = g, e.beginPath(), e.arc(o, l, s, 0, 2 * Math.PI, !0), e.closePath(), e.stroke(), e.restore();
|
|
1583
|
+
}
|
|
1584
|
+
} }
|
|
1585
|
+
class I {
|
|
1586
|
+
constructor(e, t, i, r) { this._data = null, this._labels = [], this._cacheRects = {}, this._items = [], this._hitTestResult = e, this._showTooltipHandler = t, this._clearSelectedDataHandler = i, this._phantomMode = Boolean(r); }
|
|
1587
|
+
setData(e) { this._data = e; }
|
|
1588
|
+
clearItems() { this._labels = [], this._items = [], this._cacheRects = {}; }
|
|
1589
|
+
addItem(e) {
|
|
1590
|
+
const t = { circleBackgroundColor: e.circleBackgroundColor, circleBorderColor: e.circleBorderColor, circleBorderWidth: e.circleBorderWidth, outsideBorderWidth: e.outsideBorderWidth,
|
|
1591
|
+
image: e.image, itemIndex: e.itemIndex, labelIndex: e.labelIndex, x: e.x, anchorY: e.anchorY, poleTailHeight: e.poleTailHeight, poleStartY: e.poleStartY, circleRadius: e.circleRadius, srcItem: e.srcItem, direction: e.direction * (e.inverseAnchorPosition ? -1 : 1), labelHeight: 0, labelId: -1, inverseAnchorPosition: e.inverseAnchorPosition }, i = { offsetX: 0, offsetY: 0, points: [new r.Point(e.x, e.anchorY)], forceCalculateMaxLineWidth: !0, vertAlign: -1 === e.labelDirection ? "bottom" : "top", horzAlign: "center", horzTextAlign: "center", font: e.labelFont, fontSize: e.labelFontSize, bold: e.labelFontBold, italic: e.labelFontItalic, backgroundRoundRect: e.labelBorderRadius, padding: e.labelPadding, boxPaddingVert: e.labelBoxPaddingVert, boxPaddingHorz: e.labelBoxPaddingHorz, wordWrapWidth: e.labelWordWrapWidth, color: e.labelColor, borderColor: e.labelBorderColor, borderWidth: 1, backgroundColor: e.labelBackgroundColor, text: e.text };
|
|
1592
|
+
if (e.inverseAnchorPosition) {
|
|
1593
|
+
const e = Object(h.ensureDefined)(i.points);
|
|
1594
|
+
e[0] = new r.Point(e[0].x, P(t)), t.labelId = this._labels.length;
|
|
1595
|
+
}
|
|
1596
|
+
else {
|
|
1597
|
+
const n = new u.TextRenderer(i);
|
|
1598
|
+
this._labels.push(n), t.labelId = this._labels.length, t.labelHeight = n.measure().height;
|
|
1599
|
+
const s = 1 === e.direction ? Math.min(t.poleStartY - t.labelHeight, t.anchorY) : Math.max(t.poleStartY + t.labelHeight, t.anchorY);
|
|
1600
|
+
t.anchorY !== s && (t.anchorY = s, i.points = [new r.Point(e.x, s)], n.setData(i));
|
|
1601
|
+
}
|
|
1602
|
+
const n = new u.TextRenderer(i);
|
|
1603
|
+
this._labels.push(n), this._items.push(t);
|
|
1604
|
+
}
|
|
1605
|
+
itemAnchorY(e) { return e >= this._items.length ? null : this._items[e].anchorY; }
|
|
1606
|
+
hitTest(e, t) { if (null === this._data)
|
|
1607
|
+
return null; for (let i = this._items.length - 1; i >= 0; --i) {
|
|
1608
|
+
const n = this._items[i], [s, a, o] = this._doesPointBelongToItem(n, e);
|
|
1609
|
+
if (s || a || o) {
|
|
1610
|
+
const e = { hideCrosshairLinesOnHover: !0, activeItem: s || a ? n.itemIndex : n.labelIndex };
|
|
1611
|
+
o ? e.areaName = _.AreaName.Text : a && (e.areaName = _.AreaName.Style);
|
|
1612
|
+
const i = this._showTooltipHandler;
|
|
1613
|
+
if (void 0 !== i) {
|
|
1614
|
+
const s = { targetBox: this._itemRect(n, t.cssHeight), item: n.srcItem }, a = e => { const [t, i] = this._doesPointBelongToItem(n, e); return t || i; };
|
|
1615
|
+
e.tapHandler = e => { e.preventDefault(), i(s, new r.Point(e.clientX - e.localX, e.clientY - e.localY), a); }, e.clickHandler = e => { i(s, new r.Point(e.clientX - e.localX, e.clientY - e.localY), a); };
|
|
1616
|
+
const o = this._clearSelectedDataHandler;
|
|
1617
|
+
void 0 !== o && (e.doubleClickHandler = e => o(), e.pressedMouseMoveHandler = e => o(), e.executeDefaultAction = { pressedMouseMoveHandler: !0, touchMoveHandler: !0 });
|
|
1618
|
+
}
|
|
1619
|
+
return new _.HitTestResult(this._hitTestResult, e);
|
|
1620
|
+
}
|
|
1621
|
+
} return null; }
|
|
1622
|
+
draw(e, t) { if (null === this._data)
|
|
1623
|
+
return; e.save(), this._phantomMode && (e.globalAlpha = .5); const { poleColor: i, emojiRadius: r } = this._data, n = t.pixelRatio, s = Math.max(1, Math.floor(n)), a = s % 2 ? .5 : 0; e.beginPath(), e.strokeStyle = i, e.lineWidth = s; for (const t of this._items) {
|
|
1624
|
+
const i = Math.round(t.x * n) + a;
|
|
1625
|
+
e.moveTo(i, Math.round(T(t) * n)), e.lineTo(i, Math.round(S(t) * n)), 0 !== t.poleTailHeight && (e.moveTo(i, Math.round(P(t) * n)), e.lineTo(i, Math.round(L(t) * n)));
|
|
1626
|
+
} e.stroke(); for (const i of this._items)
|
|
1627
|
+
e.strokeStyle = i.circleBorderColor, e.fillStyle = i.circleBackgroundColor, i.circleRadius > 0 && M(e, i, r, this._data.shadowColor, this._data.outsideBorderColor, t), this._labels[i.labelId].draw(e, t); e.restore(); }
|
|
1628
|
+
_itemRect(e, t) {
|
|
1629
|
+
if (!this._cacheRects[e.labelId]) {
|
|
1630
|
+
const i = this._labels[e.labelId].rect(), r = e.circleRadius > 0 ? e.circleRadius + e.circleBorderWidth : 0, n = i.y < e.poleStartY;
|
|
1631
|
+
this._cacheRects[e.labelId] = { top: Math.max(n ? i.y : e.poleStartY, 0), bottom: Math.min(n ? e.poleStartY : i.y + i.height, t), left: Math.min(e.x - r, i.x), right: Math.max(e.x + r, i.x + i.width) };
|
|
1632
|
+
}
|
|
1633
|
+
return this._cacheRects[e.labelId];
|
|
1634
|
+
}
|
|
1635
|
+
_doesPointBelongToItem(e, t) { const i = Object(d.lastEventIsTouch)() ? 20 : 3, n = e.x, s = Object(o.distanceToSegment)(new r.Point(n, T(e)), new r.Point(n, S(e)), t).distance < i, a = !s && e.circleRadius > 0 && Object(l.pointInCircle)(t, new r.Point(n, function (e) { return e.inverseAnchorPosition ? e.anchorY + e.circleRadius * e.direction : e.anchorY + (e.labelHeight + e.poleTailHeight + e.circleRadius) * e.direction; }(e)), e.circleRadius + i); return [s, a, !s && !a && null !== this._labels[e.labelId].hitTest(t)]; }
|
|
1636
|
+
}
|
|
1637
|
+
const O = { circleBackgroundColor: n.colorsPalette["color-cold-gray-800"], circleBorderColor: n.colorsPalette["color-cold-gray-900"], labelBackgroundColor: n.colorsPalette["color-cold-gray-900"], labelBorderColor: n.colorsPalette["color-cold-gray-800"], labelTextColor: n.colorsPalette["color-cold-gray-200"], poleColor: n.colorsPalette["color-cold-gray-500"], shadowColor: "rgba(0,0,0,0.4)", selectionColor: n.colorsPalette["color-tv-blue-500"], labelHoveredColor: n.colorsPalette["color-cold-gray-800"], labelSelectedColor: n.colorsPalette["color-tv-blue-a900"] }, N = { circleBackgroundColor: n.colorsPalette["color-cold-gray-100"], circleBorderColor: n.colorsPalette["color-white"], labelBackgroundColor: n.colorsPalette["color-white"], labelBorderColor: n.colorsPalette["color-cold-gray-150"], labelTextColor: n.colorsPalette["color-cold-gray-900"], poleColor: n.colorsPalette["color-cold-gray-500"], shadowColor: "rgba(107,121,136,0.4)", selectionColor: n.colorsPalette["color-tv-blue-500"], labelHoveredColor: n.colorsPalette["color-cold-gray-100"], labelSelectedColor: n.colorsPalette["color-tv-blue-50"] };
|
|
1638
|
+
class D {
|
|
1639
|
+
constructor(e, t, i, r, n) { this._renderer = null, this._invalidated = !0, this._model = e, this._timeLine = t, this._timeLineItemsRenderer = new I(i, null == r ? void 0 : r.tooltipHandler, null == r ? void 0 : r.clearSelectedDataHandler, n); }
|
|
1640
|
+
update() { this._invalidated = !0; }
|
|
1641
|
+
renderer(e, t) { return this._invalidated && (this._updateImpl(e), this._invalidated = !1), this._renderer; }
|
|
1642
|
+
itemAnchorY(e) { return this._timeLineItemsRenderer.itemAnchorY(e); }
|
|
1643
|
+
_updateImpl(e) {
|
|
1644
|
+
this._renderer = null, this._timeLineItemsRenderer.clearItems();
|
|
1645
|
+
const t = this._timeLine.priceSource();
|
|
1646
|
+
if (null === t)
|
|
1647
|
+
return;
|
|
1648
|
+
const i = this._model.timeScale(), r = t.priceScale(), n = t.firstValue();
|
|
1649
|
+
if (i.isEmpty() || null === r || r.isEmpty() || null === n)
|
|
1650
|
+
return;
|
|
1651
|
+
const o = this._model.isDark(), l = o ? O : N;
|
|
1652
|
+
let h;
|
|
1653
|
+
const d = this._model.mainSeries();
|
|
1654
|
+
for (const c of this._timeLine.items()) {
|
|
1655
|
+
if (this._timeLine.isHidden(c))
|
|
1656
|
+
continue;
|
|
1657
|
+
const u = c.position(), _ = t === d ? Object(a.b)(d, c) : Object(a.a)(c, r, n);
|
|
1658
|
+
if (null === _)
|
|
1659
|
+
continue;
|
|
1660
|
+
const p = i.indexToCoordinate(_.index), f = r.priceToCoordinate(_.price, n), g = c.showPlate();
|
|
1661
|
+
let v = Object(a.d)(u, e, f, _.positionPointDirection);
|
|
1662
|
+
v >= -1e-10 && v <= e + 1e-10 && (v = Math.min(e - 2, Math.max(2, v)));
|
|
1663
|
+
const w = _.visualDirection !== _.positionPointDirection, x = _.visualDirection, m = this._timeLine.isItemSelected(c), y = this._timeLine.isItemHovered(c), b = { circleBackgroundColor: c.backgroundPlateColor(o) || l.circleBackgroundColor, outsideBorderWidth: m ? 2 : y ? 1 : 0, circleBorderColor: l.circleBorderColor, circleBorderWidth: 1, image: c.image(), itemIndex: c.itemIndex(), labelIndex: c.labelIndex(), x: p, anchorY: v, poleTailHeight: c.headline() && g ? 10 : 0, poleStartY: _.poleStartY, circleRadius: g ? 35 : 0, direction: x, inverseAnchorPosition: w, srcItem: c, text: c.headline(), labelDirection: _.positionPointDirection, labelFont: s.CHART_FONT_FAMILY, labelFontSize: c.fontSize && c.fontSize() || 12, labelFontBold: c.fontBold && c.fontBold() || !1, labelFontItalic: c.fontItalic && c.fontItalic() || !1, labelBorderRadius: 4, labelPadding: 3, labelBoxPaddingVert: 6, labelBoxPaddingHorz: 8, labelWordWrapWidth: 134, labelColor: l.labelTextColor, labelBorderColor: l.labelBorderColor, labelBackgroundColor: m ? l.labelSelectedColor : y ? l.labelHoveredColor : l.labelBackgroundColor };
|
|
1664
|
+
this._timeLine.isItemHovered(c) ? h = b : this._timeLineItemsRenderer.addItem(b);
|
|
1665
|
+
}
|
|
1666
|
+
void 0 !== h && this._timeLineItemsRenderer.addItem(h), this._timeLineItemsRenderer.setData({ emojiRadius: 16, poleColor: l.poleColor, shadowColor: l.shadowColor, outsideBorderColor: l.selectionColor }), this._renderer = this._timeLineItemsRenderer;
|
|
1667
|
+
}
|
|
1668
|
+
}
|
|
1669
|
+
var B = i("Zy3/"), k = i("//lt"), A = i("aB9a");
|
|
1670
|
+
i.d(t, "SignpostPaneView", (function () { return E; }));
|
|
1671
|
+
class E extends A.LineSourcePaneView {
|
|
1672
|
+
constructor(e, t) { super(e, t), this._renderer = new B.CompositeRenderer, this._storiesEventsPaneView = new D(t, e, _.HitTestResult.MOVEPOINT, void 0, e.isPhantom()); }
|
|
1673
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(e, t), this._renderer; }
|
|
1674
|
+
_updateImpl(e, t) { super._updateImpl(), this._renderer.clear(), this._storiesEventsPaneView.update(); const i = this._storiesEventsPaneView.renderer(e, t); if (null !== i && this._renderer.append(i), this._source.isPhantom())
|
|
1675
|
+
return; const n = this._storiesEventsPaneView.itemAnchorY(0); if (null === n)
|
|
1676
|
+
return; const s = this._points[0], a = new r.Point(s.x, n); a.data = s.data, a.square = !0, this._renderer.append(this.createLineAnchor({ points: [a], pointsCursorType: [k.PaneCursorType.VerticalResize] }, 0)); }
|
|
1677
|
+
}
|
|
1678
|
+
}, LMGK: function (e, t, i) {
|
|
1679
|
+
"use strict";
|
|
1680
|
+
i.r(t);
|
|
1681
|
+
var r = i("aO4+"), n = i("aB9a"), s = i("Zy3/"), a = i("YFKU"), o = i("EBrf"), l = i("jFln"), h = i("cPgM"), d = i("VdBB"), c = i("2uTr"), u = i("jkoZ");
|
|
1682
|
+
const _ = Object(a.t)("Modify Order"), p = Object(a.t)("Cancel Order");
|
|
1683
|
+
class f extends h.ScaledPaneRenderer {
|
|
1684
|
+
constructor(e) { super(), this._data = null, this._cache = {}, this._data = null, this._adapter = e; }
|
|
1685
|
+
setData(e) { this._data = e; }
|
|
1686
|
+
hitTest(e, t) {
|
|
1687
|
+
if (null === this._data || 0 === this._data.points.length)
|
|
1688
|
+
return null;
|
|
1689
|
+
const i = this._cache;
|
|
1690
|
+
if (e.y < i.top || e.y > i.bottom)
|
|
1691
|
+
return null;
|
|
1692
|
+
if (this._adapter.getBlocked() && e.x >= i.left && e.x < i.right)
|
|
1693
|
+
return new d.HitTestResult(d.HitTestResult.CUSTOM, {});
|
|
1694
|
+
if (this._adapter.getEditable() && e.x >= i.left && e.x < i.bodyRight) {
|
|
1695
|
+
const e = this._adapter.hasMoveCallback() ? d.HitTestResult.MOVEPOINT : d.HitTestResult.REGULAR;
|
|
1696
|
+
return 0 === this._adapter.getTooltip().length ? new d.HitTestResult(e) : new d.HitTestResult(e, { tooltip: { text: this._adapter.getTooltip(), rect: { x: i.left, y: i.top,
|
|
1697
|
+
w: i.bodyRight - i.left, h: i.bottom - i.top } } });
|
|
1698
|
+
}
|
|
1699
|
+
return this._adapter.getEditable() && e.x >= i.bodyRight && e.x < i.quantityRight ? this._adapter.hasModifyCallback() ? new d.HitTestResult(d.HitTestResult.CUSTOM, { clickHandler: this._adapter.callOnModify.bind(this._adapter), tapHandler: this._adapter.callOnModify.bind(this._adapter), tooltip: { text: this._adapter.getModifyTooltip() || Object(c.appendEllipsis)(_), rect: { x: i.bodyRight, y: i.top, w: i.quantityRight - i.bodyRight, h: i.bottom - i.top } } }) : new d.HitTestResult(d.HitTestResult.REGULAR) : this._adapter.getCancellable() && e.x >= i.quantityRight && e.x < i.right ? new d.HitTestResult(d.HitTestResult.CUSTOM, { clickHandler: this._adapter.callOnCancel.bind(this._adapter), tapHandler: this._adapter.callOnCancel.bind(this._adapter), tooltip: { text: this._adapter.getCancelTooltip() || p, rect: { x: i.quantityRight, y: i.top, w: i.right - i.quantityRight, h: i.bottom - i.top } } }) : null;
|
|
1700
|
+
}
|
|
1701
|
+
_drawImpl(e, t) { if (null === this._data || !this._data.points || this._data.points.length < 1)
|
|
1702
|
+
return; const i = t.cssWidth, r = this._bodyWidth(e), n = this._quantityWidth(e), s = r + n + this._cancelButtonWidth(), a = i - s, o = Math.max(this._adapter.getLineLength() / 100 * i, 1), l = Math.round(i - Math.min(a, o)), h = l - s, d = Math.round(this._data.points[0].y), c = Math.round(d - (this._height() + 1) / 2); this._cache.bodyRight = h + r, this._cache.quantityRight = h + r + n, this._cache.top = c, this._cache.bottom = c + this._height(), this._cache.left = h, this._cache.right = l, this._drawLines(e, h, l, d, i); let u = !1; 0 !== r && (this._drawBody(e, h, c), this._adapter.hasMoveCallback() && this._drawMovePoints(e, h, c), this._drawBodyText(e, h, c), u = !0), 0 !== n && (this._drawQuantity(e, h + r, c, u), this._drawQuantityText(e, h + r, c), u = !0), 0 !== this._cancelButtonWidth() && this._drawCancelButton(e, h + r + n, c, u); }
|
|
1703
|
+
_height() { return Math.max(20, 1 + Math.max(u.fontHeight(this._adapter.getBodyFont()), u.fontHeight(this._adapter.getQuantityFont()))); }
|
|
1704
|
+
_bodyWidth(e) { if (0 === this._adapter.getText().length)
|
|
1705
|
+
return 0; e.save(), e.font = this._adapter.getBodyFont(); const t = e.measureText(this._adapter.getText()).width; return e.restore(), Math.round(20 + t); }
|
|
1706
|
+
_getQuantity() { return Object(o.splitThousands)(this._adapter.getQuantity(), " "); }
|
|
1707
|
+
_quantityWidth(e) { if (0 === this._getQuantity().length)
|
|
1708
|
+
return 0; e.save(), e.font = this._adapter.getQuantityFont(); const t = e.measureText(this._getQuantity()).width; return e.restore(), Math.round(Math.max(this._height(), 10 + t)); }
|
|
1709
|
+
_cancelButtonWidth() { return this._adapter.isOnCancelCallbackPresent() ? this._height() : 0; }
|
|
1710
|
+
_drawLines(e, t, i, r, n) { e.save(), e.strokeStyle = this._adapter.getLineColor(), Object(l.setLineStyle)(e, this._adapter.getLineStyle()), e.lineWidth = this._adapter.getLineWidth(), Object(l.drawLine)(e, i, r, n, r), this._adapter.getExtendLeft() && Object(l.drawLine)(e, 0, r, t, r), e.restore(); }
|
|
1711
|
+
_drawMovePoints(e, t, i) { e.save(), e.strokeStyle = this._adapter.getBodyBorderColor(), e.fillStyle = this._adapter.getBodyBorderColor(); const r = t + 4, n = r + 2, s = Math.floor((this._height() - 10) / 2) + 1; for (let t = 0; t < s; ++t) {
|
|
1712
|
+
const s = i + 5 + 2 * t;
|
|
1713
|
+
Object(l.drawLine)(e, r, s, n, s);
|
|
1714
|
+
} e.restore(); }
|
|
1715
|
+
_drawBody(e, t, i) {
|
|
1716
|
+
e.strokeStyle = this._adapter.getBodyBorderColor(), e.fillStyle = this._adapter.getBodyBackgroundColor();
|
|
1717
|
+
const r = this._bodyWidth(e), n = this._height();
|
|
1718
|
+
e.fillRect(t + .5, i + .5, r - 1, n - 1), e.strokeRect(t, i, r, n);
|
|
1719
|
+
}
|
|
1720
|
+
_drawBodyText(e, t, i) { e.textAlign = "center", e.textBaseline = "middle", e.font = this._adapter.getBodyFont(), e.fillStyle = this._adapter.getBodyTextColor(); const r = t + this._bodyWidth(e) / 2, n = i + this._height() / 2; e.fillText(this._adapter.getText(), 5 + r - 2, n); }
|
|
1721
|
+
_drawQuantity(e, t, i, r) { e.save(), e.strokeStyle = this._adapter.getQuantityBorderColor(), e.fillStyle = this._adapter.getQuantityBackgroundColor(); const n = this._quantityWidth(e), s = this._height(); e.fillRect(t + .5, i + .5, n - 1, s - 1), r && e.clip && (e.beginPath(), e.rect(t + .5, i - .5, n + 1, s + 1), e.clip()), e.strokeRect(t, i, n, s), e.restore(); }
|
|
1722
|
+
_drawQuantityText(e, t, i) { e.save(), e.textAlign = "center", e.textBaseline = "middle", e.font = this._adapter.getQuantityFont(), e.fillStyle = this._adapter.getQuantityTextColor(); const r = t + this._quantityWidth(e) / 2, n = i + this._height() / 2; e.fillText(this._getQuantity(), r, n), e.restore(); }
|
|
1723
|
+
_drawCancelButton(e, t, i, n) { e.strokeStyle = this._adapter.getCancelButtonBorderColor(), e.fillStyle = this._adapter.getCancelButtonBackgroundColor(); const s = this._cancelButtonWidth(), a = this._height(); e.fillRect(t + .5, i + .5, s - 1, a - 1), this._adapter.getBlocked() && (e.fillStyle = "rgba(140, 140, 140, 0.75)", e.fillRect(t + .5, i + .5, s - 1, a - 1)), e.save(), n && e.clip && (e.beginPath(), e.rect(t + .5, i - .5, s + 1, a + 1), e.clip()), e.strokeRect(t, i, s, a), e.restore(); const o = t + s, h = i + a; e.strokeStyle = this._adapter.getCancelButtonIconColor(); const d = (this._cancelButtonWidth() - 8) / 2, c = (this._height() - 8) / 2; Object(l.drawPoly)(e, [new r.Point(t + d, i + c), new r.Point(o - d, h - c)], !0), Object(l.drawPoly)(e, [new r.Point(o - d, i + c), new r.Point(t + d, h - c)], !0); }
|
|
1724
|
+
}
|
|
1725
|
+
var g = i("vq8G");
|
|
1726
|
+
i.d(t, "OrderPaneView", (function () { return v; }));
|
|
1727
|
+
class v extends n.LineSourcePaneView {
|
|
1728
|
+
constructor(e, t) { super(e, t), this._renderer = new s.CompositeRenderer, this._selectionRenderer = new g.SelectionRenderer, this._selectionData = null, this._adapter = e.adapter(), this._orderRenderer = new f(e.adapter()), this._renderer.append(this._orderRenderer), this._renderer.append(this._selectionRenderer); }
|
|
1729
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(t), this._renderer; }
|
|
1730
|
+
_updateImpl(e) { if (super._updateImpl(), this._selectionData = null, this.isSelectedSource() && this._points.length > 0) {
|
|
1731
|
+
const t = this._points[0].y, i = e - 3.5 - 1, n = this._adapter.hasMoveCallback() ? d.HitTestResult.MOVEPOINT : d.HitTestResult.REGULAR, s = [new r.Point(i, t)];
|
|
1732
|
+
this._selectionData = { barSpacing: this._model.timeScale().barSpacing(), points: s, bgColors: this._lineAnchorColors(s), hittestResult: n, visible: !0 };
|
|
1733
|
+
} this._orderRenderer.setData({ points: this._points }), this._selectionRenderer.setData(this._selectionData); }
|
|
1734
|
+
}
|
|
1735
|
+
}, NCfL: function (e, t, i) {
|
|
1736
|
+
"use strict";
|
|
1737
|
+
i.r(t), i.d(t, "LineToolPaneViewWithLevelledTextCache", (function () { return l; }));
|
|
1738
|
+
var r = i("Eyy1"), n = i("aB9a"), s = i("xUGI"), a = i.n(s), o = i("c44N");
|
|
1739
|
+
class l extends n.LineSourcePaneView {
|
|
1740
|
+
constructor(e, t) { super(e, t), this._cache = null, this._cacheDrawParams = null, this._cacheInvalidated = !0; }
|
|
1741
|
+
getCacheCanvas(e) { return this._createCacheIfRequired(e), Object(r.ensureNotNull)(this._cache).canvas(); }
|
|
1742
|
+
getCacheRects(e, t) { return this._createCacheIfRequired(e), null; }
|
|
1743
|
+
destroy() { var e; null === (e = this._cache) || void 0 === e || e.destroy(); }
|
|
1744
|
+
_updateImpl() { super._updateImpl(), this._cacheInvalidated = !0; }
|
|
1745
|
+
_createCache(e) { return new a.a(this._source.properties().fibLevelsBasedOnLogScale, this._source.levelsCount(), e); }
|
|
1746
|
+
_createCacheIfRequired(e) { var t; null !== this._cache && null !== this._cacheDrawParams && Object(o.areEqualPaneRenderParams)(e, this._cacheDrawParams) || (null === (t = this._cache) || void 0 === t || t.destroy(), this._cache = this._createCache(e), this._cacheState = this._cache.updateSource(this._source), this._cacheDrawParams = e, this._cacheInvalidated = !1), this._cacheInvalidated && (this._cacheState = this._cache.updateSource(this._source), this._cacheInvalidated = !1); }
|
|
1747
|
+
}
|
|
1748
|
+
}, NN6M: function (e, t, i) {
|
|
1749
|
+
"use strict";
|
|
1750
|
+
i.r(t), i.d(t, "ParallelChannelRenderer", (function () { return u; }));
|
|
1751
|
+
var r = i("Eyy1"), n = i("aO4+"), s = i("GEp6"), a = i("hBTJ"), o = i("jFln"), l = i("VdBB"), h = i("Zp/P"), d = i("Tmoa"), c = i("cPgM");
|
|
1752
|
+
class u extends c.ScaledPaneRenderer {
|
|
1753
|
+
constructor(e, t) { super(), this._data = null, this._hittestResult = e || new l.HitTestResult(l.HitTestResult.MOVEPOINT), this._backHittestResult = t || new l.HitTestResult(l.HitTestResult.MOVEPOINT_BACKGROUND); }
|
|
1754
|
+
setData(e) { this._data = e; }
|
|
1755
|
+
hitTest(e, t) { if (null === this._data || this._data.points.length < 2)
|
|
1756
|
+
return null; const [i, r] = this._data.points, n = this._extendAndHitTestLineSegment(e, i, r, t); if (null !== n)
|
|
1757
|
+
return n; if (4 === this._data.points.length && !this._data.skipTopLine) {
|
|
1758
|
+
const [, , n, s] = this._data.points, a = this._extendAndHitTestLineSegment(e, n, s, t);
|
|
1759
|
+
if (null !== a)
|
|
1760
|
+
return a;
|
|
1761
|
+
if (this._data.showMidline && !this._data.skipLines) {
|
|
1762
|
+
const a = i.add(n).scaled(.5), o = r.add(s).scaled(.5), l = this._extendAndHitTestLineSegment(e, a, o, t);
|
|
1763
|
+
if (null !== l)
|
|
1764
|
+
return l;
|
|
1765
|
+
}
|
|
1766
|
+
} return this._data.hittestOnBackground && this._data.fillBackground ? this._hitTestBackground(e) : null; }
|
|
1767
|
+
_drawImpl(e, t) { if (null === this._data || this._data.points.length < 2)
|
|
1768
|
+
return; e.lineCap = "butt", e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, Object(o.setLineStyle)(e, this._data.linestyle); const [i, r] = this._data.points; if (!isFinite(i.y) || !isFinite(r.y))
|
|
1769
|
+
this._extendAndDrawLineSegment(e, i, r, t);
|
|
1770
|
+
else if (this._data.skipLines || this._extendAndDrawLineSegment(e, i, r, t), 4 === this._data.points.length) {
|
|
1771
|
+
const [, , n, s] = this._data.points;
|
|
1772
|
+
if (this._data.skipLines || this._data.skipTopLine || this._extendAndDrawLineSegment(e, n, s, t), this._data.fillBackground && this._drawBackground(e, this._data.points, t), this._data.showMidline && !this._data.skipLines) {
|
|
1773
|
+
e.strokeStyle = this._data.midcolor, e.lineWidth = this._data.midlinewidth, Object(o.setLineStyle)(e, this._data.midlinestyle);
|
|
1774
|
+
const a = i.add(n).scaled(.5), l = r.add(s).scaled(.5);
|
|
1775
|
+
this._extendAndDrawLineSegment(e, a, l, t);
|
|
1776
|
+
}
|
|
1777
|
+
} }
|
|
1778
|
+
_getColor() { const e = Object(r.ensureNotNull)(this._data); return Object(d.generateColor)(e.backcolor, e.transparency); }
|
|
1779
|
+
_extendAndDrawLineSegment(e, t, i, r) { const n = this._extendAndClipLineSegment(t, i, r); null !== n && Object(o.drawLine)(e, n[0].x, n[0].y, n[1].x, n[1].y); }
|
|
1780
|
+
_extendAndHitTestLineSegment(e, t, i, r) { const n = this._extendAndClipLineSegment(t, i, r); if (null !== n) {
|
|
1781
|
+
if (Object(s.distanceToSegment)(n[0], n[1], e).distance <= 3)
|
|
1782
|
+
return this._hittestResult;
|
|
1783
|
+
} return null; }
|
|
1784
|
+
_extendAndClipLineSegment(e, t, i) {
|
|
1785
|
+
const n = Object(r.ensureNotNull)(this._data);
|
|
1786
|
+
return Object(h.extendAndClipLineSegment)(e, t, i.cssWidth, i.cssHeight, n.extendleft, n.extendright);
|
|
1787
|
+
}
|
|
1788
|
+
_drawBackground(e, t, i) { const a = Object(r.ensureNotNull)(this._data), [o, l, h, d] = t; if (Object(n.equalPoints)(o, l) || Object(n.equalPoints)(h, d) || Object(s.distanceToLine)(o, l, h).distance < 1e-6 || Object(s.distanceToLine)(o, l, d).distance < 1e-6)
|
|
1789
|
+
return; if (i.cssWidth <= 0 || i.cssHeight <= 0)
|
|
1790
|
+
return; let c = [new n.Point(0, 0), new n.Point(i.cssWidth, 0), new n.Point(i.cssWidth, i.cssHeight), new n.Point(0, i.cssHeight)]; if (c = _(c, o, l, d), a.extendright || (c = _(c, l, d, h)), c = _(c, d, h, o), a.extendleft || (c = _(c, h, o, l)), null !== c) {
|
|
1791
|
+
e.beginPath(), e.moveTo(c[0].x, c[0].y);
|
|
1792
|
+
for (let t = 1; t < c.length; t++)
|
|
1793
|
+
e.lineTo(c[t].x, c[t].y);
|
|
1794
|
+
e.fillStyle = this._getColor(), e.fill();
|
|
1795
|
+
} }
|
|
1796
|
+
_hitTestBackground(e) { const t = Object(r.ensureNotNull)(this._data); if (4 !== t.points.length)
|
|
1797
|
+
return null; const [i, n, s] = t.points, a = (n.y - i.y) / (n.x - i.x), o = i.y + a * (e.x - i.x), l = s.y + a * (e.x - s.x), h = Math.max(o, l), d = Math.min(o, l), c = Math.min(i.x, n.x), u = Math.max(i.x, n.x); return !t.extendleft && e.x < c || !t.extendright && e.x > u ? null : e.y >= d && e.y <= h ? this._backHittestResult : null; }
|
|
1798
|
+
}
|
|
1799
|
+
function _(e, t, i, r) { return null !== e ? Object(a.intersectPolygonAndHalfplane)(e, Object(n.halfplaneThroughPoint)(Object(n.lineThroughPoints)(t, i), r)) : null; }
|
|
1800
|
+
}, Ni7V: function (e, t, i) {
|
|
1801
|
+
"use strict";
|
|
1802
|
+
var r = i("aO4+"), n = r.Point, s = r.box, a = i("f6yo").pointInBox, o = i("aB9a").LineSourcePaneView, l = i("vq8G").SelectionRenderer, h = i("VdBB").HitTestResult, d = i("Zy3/").CompositeRenderer, c = i("Tmoa"), u = i("ikwP").calcTextHorizontalShift, _ = i("Ialn").isRtl, p = i("cPgM").ScaledPaneRenderer;
|
|
1803
|
+
class f extends p {
|
|
1804
|
+
constructor(e, t) { super(), this._data = null, this._measureCache = e, this._chartModel = t, this._points = null; }
|
|
1805
|
+
setData(e) { this._data = e, this._points = e.points; }
|
|
1806
|
+
_drawImpl(e) { if (null !== this._data && null !== this._points && 0 !== this._points.length) {
|
|
1807
|
+
e.font = [this._data.fontWeight, this._data.fontSize + "px", this._data.fontFamily].join(" ");
|
|
1808
|
+
var t = e.measureText(this._data.label);
|
|
1809
|
+
t.height = this._data.fontSize;
|
|
1810
|
+
var i = 10, r = 5, n = t.width + 2 * i, s = t.height + 2 * r, a = this._points[0].x - -9, o = this._points[0].y - (s + 15);
|
|
1811
|
+
e.textAlign = _() ? "right" : "left";
|
|
1812
|
+
var l = u(e, t.width);
|
|
1813
|
+
this._measureCache && Object.assign(this._measureCache, { innerWidth: n, innerHeight: s, tailLeft: -9, tailHeight: 15 }), e.translate(.5 + a, .5 + o), e.beginPath(), e.moveTo(12, s), e.lineTo(-9, s + 15), e.lineTo(-10, s + 15 - 1), e.lineTo(5, s), e.lineTo(3, s), e.arcTo(0, s, 0, 0, 3), e.lineTo(0, 3), e.arcTo(0, 0, n, 0, 3), e.lineTo(n - 3, 0), e.arcTo(n, 0, n, s, 3), e.lineTo(n, s - 3), e.arcTo(n, s, 0, s, 3), e.lineTo(12, s), e.fillStyle = c.generateColor(this._data.backgroundColor, this._data.transparency), e.fill(), e.strokeStyle = this._data.borderColor, e.lineWidth = 2, e.stroke(), e.closePath(), e.textBaseline = "alphabetic", e.fillStyle = this._data.color, e.fillText(this._data.label, i + l, s / 2 + Math.floor(.35 * this._data.fontSize)), e.translate(-.5, -.5), e.beginPath(), e.arc(-9, s + 15, 2.5, 0, 2 * Math.PI, !1), e.fillStyle = c.generateColor(this._data.borderColor, this._data.transparency), e.fill(), e.strokeStyle = this._chartModel.backgroundColor().value(), e.lineWidth = 1, e.stroke(), e.closePath();
|
|
1814
|
+
} }
|
|
1815
|
+
hitTest(e) {
|
|
1816
|
+
if (null === this._data || null === this._points || 0 === this._points.length)
|
|
1817
|
+
return null;
|
|
1818
|
+
var t = this._points[0].x - this._measureCache.tailLeft, i = this._points[0].y - (this._measureCache.innerHeight + this._measureCache.tailHeight), r = s(new n(t, i), new n(t + this._measureCache.innerWidth, i + this._measureCache.innerHeight));
|
|
1819
|
+
return a(e, r) ? new h(h.MOVEPOINT) : null;
|
|
1820
|
+
}
|
|
1821
|
+
}
|
|
1822
|
+
t.PriceLabelPaneView = class extends o {
|
|
1823
|
+
constructor(e, t, i) { super(e, t), this._rendererCache = {}, this._priceLabelRenderer = new f(this._rendererCache, t), this._renderer = null; }
|
|
1824
|
+
_updateImpl() { if (super._updateImpl(), this._renderer = null, this._source.points().length > 0) {
|
|
1825
|
+
var e = this._source.points()[0].price, t = this._source.priceScale();
|
|
1826
|
+
if (!t || t.isEmpty())
|
|
1827
|
+
return;
|
|
1828
|
+
var i = this._source.ownerSource().firstValue();
|
|
1829
|
+
this._priceLabel = t.formatPrice(e, i);
|
|
1830
|
+
} var r = {}; if (r.points = this._points, r.borderColor = this._source.properties().borderColor.value(), r.backgroundColor = this._source.properties().backgroundColor.value(), r.color = this._source.properties().color.value(), r.fontWeight = this._source.properties().fontWeight.value(), r.fontSize = this._source.properties().fontsize.value(), r.fontFamily = this._source.properties().font.value(), r.transparency = this._source.properties().transparency.value(), r.label = this._priceLabel, this._priceLabelRenderer.setData(r), 1 === r.points.length) {
|
|
1831
|
+
var n = new d;
|
|
1832
|
+
return n.append(this._priceLabelRenderer), n.append(new l({ points: r.points, bgColors: this._lineAnchorColors(r.points), visible: this.areAnchorsVisible() })), void (this._renderer = n);
|
|
1833
|
+
} this._renderer = this._priceLabelRenderer; }
|
|
1834
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
1835
|
+
};
|
|
1836
|
+
}, PuIH: function (e, t, i) {
|
|
1837
|
+
"use strict";
|
|
1838
|
+
i.r(t), i.d(t, "getImage", (function () { return n; }));
|
|
1839
|
+
const r = new Map;
|
|
1840
|
+
function n(e, t) { let i = r.get(e); return void 0 === i && (i = new Promise((e, i) => { const r = new Image; r.onload = () => { e(r), r.onload = null, r.onerror = null; }, r.onerror = () => { i(), r.onload = null, r.onerror = null; }, r.crossOrigin = "anonymous", r.src = t; }), r.set(e, i)), i; }
|
|
1841
|
+
}, QA6D: function (e, t, i) {
|
|
1842
|
+
"use strict";
|
|
1843
|
+
i.r(t), i.d(t, "EllipseRendererSimple", (function () { return h; }));
|
|
1844
|
+
var r = i("VdBB"), n = i("Hr11"), s = i("aO4+"), a = i("Tmoa"), o = i("jFln"), l = i("cPgM");
|
|
1845
|
+
class h extends l.ScaledPaneRenderer {
|
|
1846
|
+
constructor(e, t, i) { super(), this._data = e, this._hitTest = t || new r.HitTestResult(r.HitTestResult.MOVEPOINT), this._backgroundHitTest = i || new r.HitTestResult(r.HitTestResult.MOVEPOINT_BACKGROUND); }
|
|
1847
|
+
hitTest(e) { if (this._data.points.length < 2)
|
|
1848
|
+
return null; const t = this._data.points[0], i = this._data.points[1], r = .5 * Math.abs(t.x - i.x), a = Math.abs(t.x - i.x), o = Math.abs(t.y - i.y), l = t.add(i).scaled(.5); let h = e.subtract(l); if (a < 1 || o < 1)
|
|
1849
|
+
return null; const d = (i.y - t.y) / (i.x - t.x); h = new s.Point(h.x, h.y / d); let c = h.x * h.x + h.y * h.y - r * r; return c = Object(n.sign)(c) * Math.sqrt(Math.abs(c / r)), Math.abs(c) < 3 ? this._hitTest : this._data.fillBackground && !this._data.noHitTestOnBackground && c < 3 ? this._backgroundHitTest : null; }
|
|
1850
|
+
_drawImpl(e) {
|
|
1851
|
+
e.lineCap = "butt", e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, void 0 !== this._data.linestyle && Object(o.setLineStyle)(e, this._data.linestyle);
|
|
1852
|
+
const t = this._data.points[0], i = this._data.points[1], r = Math.abs(t.x - i.x), n = Math.abs(t.y - i.y), s = t.add(i).scaled(.5);
|
|
1853
|
+
if (r < 1 || n < 1)
|
|
1854
|
+
return;
|
|
1855
|
+
let l = 0;
|
|
1856
|
+
if (this._data.wholePoints) {
|
|
1857
|
+
const e = this._data.wholePoints[0], t = this._data.wholePoints[1];
|
|
1858
|
+
l = Math.abs(e.x - t.x);
|
|
1859
|
+
}
|
|
1860
|
+
e.save(), e.translate(s.x, s.y), e.scale(1, n / r), e.beginPath(), e.arc(0, 0, r / 2, 0, 2 * Math.PI, !1), e.restore(), e.stroke(), this._data.fillBackground && (this._data.wholePoints && (e.translate(s.x, s.y), e.scale(1, n / r), e.arc(0, 0, l / 2, 0, 2 * Math.PI, !0)), e.fillStyle = Object(a.generateColor)(this._data.backcolor, this._data.transparency, !0), e.fill());
|
|
1861
|
+
}
|
|
1862
|
+
}
|
|
1863
|
+
}, QPcX: function (e, t, i) {
|
|
1864
|
+
"use strict";
|
|
1865
|
+
i.r(t), i.d(t, "LetterInCircleRenderer", (function () { return o; }));
|
|
1866
|
+
var r = i("aO4+"), n = i("f6yo"), s = i("ikwP"), a = i("XlJ7");
|
|
1867
|
+
class o {
|
|
1868
|
+
constructor(e, t) { this._data = e, this._hitTestResult = t; }
|
|
1869
|
+
hitTest(e) { const t = this._center(), i = this._data.circleRadius, s = { min: new r.Point(t.x - i, t.y - i), max: new r.Point(t.x + i, t.y + i) }; return Object(n.pointInBox)(e, s) ? this._hitTestResult : null; }
|
|
1870
|
+
draw(e, t) { e.save(); const i = t.pixelRatio, r = Math.max(1, Math.floor(i)) % 2 / 2, n = this._center(), o = Math.round(n.x * i) + r, l = Math.round(n.y * i) + r; if (this._data.showCircle) {
|
|
1871
|
+
const t = Math.round(o + this._data.circleRadius * i) - o - this._data.circleBorderWidth * i / 2;
|
|
1872
|
+
e.strokeStyle = this._data.color, e.lineWidth = this._data.circleBorderWidth * i, e.beginPath(), e.moveTo(o + t, l), e.arc(o, l, t, 0, 2 * Math.PI, !1), e.stroke();
|
|
1873
|
+
} e.font = Object(a.makeFont)(this._data.fontSize, this._data.font, this._data.bold ? "bold" : void 0), e.textBaseline = "middle", e.textAlign = "center", e.fillStyle = this._data.color, Object(s.drawScaled)(e, i, () => { e.fillText(this._data.letter, o / i, l / i + .05 * this._data.fontSize); }), e.restore(); }
|
|
1874
|
+
_center() { const e = "bottom" === this._data.vertAlign ? -1 : 1, t = this._data.point.y + e * this._data.yOffset + e * this._data.circleRadius, i = this._data.point.x; return new r.Point(i, t); }
|
|
1875
|
+
}
|
|
1876
|
+
}, Qa6j: function (e, t, i) {
|
|
1877
|
+
"use strict";
|
|
1878
|
+
i.r(t);
|
|
1879
|
+
var r = i("aB9a"), n = i("Zy3/"), s = i("qgcf"), a = i("aO4+"), o = i("cPgM"), l = i("VdBB"), h = i("Zp/P");
|
|
1880
|
+
function d(e) { if (e < 92)
|
|
1881
|
+
return 18; let t = .25 * e; return t = Math.min(t, 106), t = Math.max(t, 18), t = Math.min(t, .9 * e), t; }
|
|
1882
|
+
class c extends o.ScaledPaneRenderer {
|
|
1883
|
+
constructor(e) { super(), this._data = e; }
|
|
1884
|
+
setData(e) { this._data = e; }
|
|
1885
|
+
hitTest(e) { if (this._data.points.length < 2)
|
|
1886
|
+
return null; let t = this._data.points[0], i = this._data.points[1].subtract(t); const r = i.length(); i = this._data.points[1].subtract(this._data.points[0]); i.length() < 22 && (t = this._data.points[1].addScaled(i.normalized(), -22), i = this._data.points[1].subtract(t)); const n = e.subtract(t), s = i.dotProduct(n) / r; if (s < 0 || s > r)
|
|
1887
|
+
return null; const a = i.scaled(1 / r), o = t.addScaled(a, s), d = e.subtract(o), c = Object(h.interactionTolerance)().line, u = this._hittestGeometry(r); for (let e = u.length - 2; e >= 0; e--) {
|
|
1888
|
+
const t = u[e];
|
|
1889
|
+
if (s >= t.x) {
|
|
1890
|
+
const i = u[e + 1], r = i.x - t.x, n = i.y - t.y, a = (s - t.x) / r, o = t.y + n * a;
|
|
1891
|
+
return d.length() <= o + c ? new l.HitTestResult(l.HitTestResult.MOVEPOINT) : null;
|
|
1892
|
+
}
|
|
1893
|
+
} return d.length() < 3 ? new l.HitTestResult(l.HitTestResult.MOVEPOINT) : null; }
|
|
1894
|
+
_drawImpl(e) {
|
|
1895
|
+
if (this._data.points.length < 2)
|
|
1896
|
+
return;
|
|
1897
|
+
e.fillStyle = this._data.color, e.strokeStyle = this._data.color, e.lineJoin = "round", e.lineCap = "round";
|
|
1898
|
+
let t = this._data.points[1].subtract(this._data.points[0]);
|
|
1899
|
+
const i = t.length();
|
|
1900
|
+
let r = this._data.points[0];
|
|
1901
|
+
i < 22 && (r = this._data.points[1].addScaled(t.normalized(), -22), t = this._data.points[1].subtract(r));
|
|
1902
|
+
const n = new a.Point(t.y, -t.x).normalized(), s = this._arrowGeometry(t.length()), o = t.normalized();
|
|
1903
|
+
e.lineWidth = function (e) { let t = Math.round(.02 * e); return t = Math.min(t, 5), t = Math.max(t, 2), t; }(t.length()), e.beginPath(), e.moveTo(r.x, r.y);
|
|
1904
|
+
for (let t = 0; t < s.length; t++) {
|
|
1905
|
+
const i = s[t], a = r.addScaled(o, i.x).addScaled(n, i.y);
|
|
1906
|
+
e.lineTo(a.x, a.y);
|
|
1907
|
+
}
|
|
1908
|
+
e.lineTo(this._data.points[1].x, this._data.points[1].y);
|
|
1909
|
+
for (let t = s.length - 1; t >= 0; t--) {
|
|
1910
|
+
const i = s[t], a = r.addScaled(o, i.x).addScaled(n, -i.y);
|
|
1911
|
+
e.lineTo(a.x, a.y);
|
|
1912
|
+
}
|
|
1913
|
+
e.lineTo(r.x, r.y), e.stroke(), e.fill();
|
|
1914
|
+
}
|
|
1915
|
+
_arrowGeometry(e) { const t = d(e), i = [], r = e >= 35 ? .1 : 0; return i.push(new a.Point(0, 0)), i.push(new a.Point(e - t + t * r, 1.22 * t / 4)), i.push(new a.Point(e - t, 1.22 * t / 2)), i.push(new a.Point(e, 0)), i; }
|
|
1916
|
+
_hittestGeometry(e) { const t = d(e), i = []; return i.push(new a.Point(0, 0)), i.push(new a.Point(e - t, 1.22 * t / 4)), i.push(new a.Point(e - t, 1.22 * t / 2)), i.push(new a.Point(e, 0)), i; }
|
|
1917
|
+
}
|
|
1918
|
+
var u = i("QA6D");
|
|
1919
|
+
i.d(t, "ArrowMarkerPaneView", (function () { return _; }));
|
|
1920
|
+
class _ extends r.LineSourcePaneView {
|
|
1921
|
+
constructor(e, t) { super(e, t), this._textRendererData = { text: "", color: "", vertAlign: "middle", horzAlign: "center", font: "", offsetX: 10, offsetY: 10, points: [], forceTextAlign: !0 }, this._arrowRendererData = { points: [], color: "" }, this._ellipseRendererData = { color: "", linewidth: 0, points: [], fillBackground: !0, backcolor: "", noHitTestOnBackground: !0 }, this._drawAsCircle = !1, this._textRenderer = new s.TextRenderer(this._textRendererData), this._arrowRenderer = new c(this._arrowRendererData), this._ellipseRenderer = new u.EllipseRendererSimple(this._ellipseRendererData); }
|
|
1922
|
+
renderer(e, t) { this._invalidated && this._updateImpl(); const i = new n.CompositeRenderer; this._drawAsCircle ? i.append(this._ellipseRenderer) : i.append(this._arrowRenderer); const r = this._getSource().properties(); return this._textRendererData.points && this._textRendererData.points.length > 0 && r.showLabel.value() && (this._textRenderer.setData(Object.assign({}, this._textRendererData)), i.append(this._textRenderer)), this.addAnchors(i), i; }
|
|
1923
|
+
_updateImpl() {
|
|
1924
|
+
super._updateImpl();
|
|
1925
|
+
const e = this._getPoints(), t = this._getSource().properties();
|
|
1926
|
+
if (this._arrowRendererData.color = t.backgroundColor.value(), this._arrowRendererData.points = e, this._textRendererData.text = t.text.value(), this._textRendererData.color = t.textColor.value(), this._textRendererData.font = t.font.value(), this._textRendererData.bold = t.bold.value(), this._textRendererData.italic = t.italic.value(), this._textRendererData.fontsize = t.fontsize.value(), e.length >= 2) {
|
|
1927
|
+
const i = this._getSource().points(), r = i[0].index - i[1].index, n = i[0].price - i[1].price;
|
|
1928
|
+
if (this._drawAsCircle = 0 === r && Math.abs(n) < 1e-8, this._textRendererData.points = [e[0]], this._drawAsCircle) {
|
|
1929
|
+
this._textRendererData.horzAlign = "left", this._textRendererData.vertAlign = "middle";
|
|
1930
|
+
const i = new a.Point(e[0].x - 9, e[0].y - 9), r = new a.Point(e[0].x + 9, e[0].y + 9);
|
|
1931
|
+
this._ellipseRendererData.points = [i, r], this._ellipseRendererData.backcolor = t.backgroundColor.value(),
|
|
1932
|
+
this._ellipseRendererData.color = t.backgroundColor.value();
|
|
1933
|
+
}
|
|
1934
|
+
else {
|
|
1935
|
+
const t = e[1].subtract(e[0]);
|
|
1936
|
+
Math.abs(t.x) >= Math.abs(t.y) ? (e[1].x > e[0].x ? this._textRendererData.horzAlign = "right" : this._textRendererData.horzAlign = "left", this._textRendererData.vertAlign = "middle") : (e[1].y > e[0].y ? this._textRendererData.vertAlign = "bottom" : this._textRendererData.vertAlign = "top", this._textRendererData.horzAlign = "center");
|
|
1937
|
+
}
|
|
1938
|
+
}
|
|
1939
|
+
}
|
|
1940
|
+
}
|
|
1941
|
+
}, QncP: function (e, t, i) {
|
|
1942
|
+
"use strict";
|
|
1943
|
+
i.r(t), i.d(t, "prepareLinearRegressionRenderersData", (function () { return o; }));
|
|
1944
|
+
var r = i("Eyy1"), n = i("aO4+"), s = i("a7Ha"), a = i("zDbI");
|
|
1945
|
+
function o(e, t) { const i = { lines: [], pearsons: null }; if (!t.properties().visible.value())
|
|
1946
|
+
return i; const o = e.timeScale(), l = t.priceScale(), h = e.mainSeries().firstBar(); if (!l || l.isEmpty() || o.isEmpty() || !h)
|
|
1947
|
+
return i; const d = t.startIndex(), c = t.endIndex(); if (null === d || null === c)
|
|
1948
|
+
return i; const u = [t.baseLine(), t.downLine(), t.upLine()], _ = Math.round(o.indexToCoordinate(d)), p = Math.round(o.indexToCoordinate(c)), f = t.properties(), g = [f.styles.baseLine, f.styles.downLine, f.styles.upLine], v = h[4]; for (let a = 0; a < u.length; a++) {
|
|
1949
|
+
if (!g[a].visible.value())
|
|
1950
|
+
continue;
|
|
1951
|
+
const o = Object(r.ensureNotNull)(u[a]).startPrice, h = Object(r.ensureNotNull)(u[a]).endPrice;
|
|
1952
|
+
if (void 0 === o || void 0 === h)
|
|
1953
|
+
continue;
|
|
1954
|
+
const d = l.priceToCoordinate(o, v), c = l.priceToCoordinate(h, v), w = new n.Point(_, d), x = new n.Point(p, c), m = g[a].color.value(), y = g[a].linewidth.value(), b = g[a].linestyle.value(), R = { floatPoints: [w, x], width: e.timeScale().width(), height: Object(r.ensureNotNull)(t.priceScale()).height(), color: m, linewidth: y, linestyle: b, extendleft: !1, extendright: f.styles.extendLines.value(), leftend: s.LineEnd.Normal, rightend: s.LineEnd.Normal };
|
|
1955
|
+
i.lines.push(R);
|
|
1956
|
+
} const w = Object(r.ensureNotNull)(t.downLine()); if (f.styles.showPearsons.value() && void 0 !== w.startPrice) {
|
|
1957
|
+
const e = l.priceToCoordinate(w.startPrice, v), r = new n.Point(_, e);
|
|
1958
|
+
i.pearsons = { points: [r], text: "" + t.pearsons(), color: f.styles.downLine.color.value(), vertAlign: "top", horzAlign: "center", font: a.CHART_FONT_FAMILY, offsetX: 0, offsetY: 4, fontsize: 12 };
|
|
1959
|
+
} return i; }
|
|
1960
|
+
}, R7Bt: function (e, t, i) {
|
|
1961
|
+
"use strict";
|
|
1962
|
+
var r = i("Eyy1").ensureNotNull, n = i("aO4+").Point, s = i("IjC5").RectangleRenderer, a = i("pJOz").TrendLineRenderer, o = i("cjIn").PaneRendererCachedImage, l = i("VdBB").HitTestResult, h = i("Zy3/").CompositeRenderer, d = i("a7Ha").LineEnd, c = i("d1Pk").fibLevelCoordinate, u = i("NCfL").LineToolPaneViewWithLevelledTextCache;
|
|
1963
|
+
t.FibRetracementPaneView = class extends u {
|
|
1964
|
+
constructor(e, t) { super(e, t), this._rendererCache = {}, this._trendLineRenderer = new a, this._renderer = null; }
|
|
1965
|
+
getCacheRects(e, t) {
|
|
1966
|
+
if (super.getCacheRects(e, t), !this._cacheState.preparedCells)
|
|
1967
|
+
return null;
|
|
1968
|
+
var i = this._levels[t].index - 1, s = this._cacheState.preparedCells.cells[i];
|
|
1969
|
+
if (!s)
|
|
1970
|
+
return null;
|
|
1971
|
+
var a = this._points[0], o = this._points[1], l = Math.min(a.x, o.x), h = Math.max(a.x, o.x);
|
|
1972
|
+
a = new n(l, this._levels[t].y), o = new n(h, this._levels[t].y);
|
|
1973
|
+
var d, c = this._source.properties(), u = c.extendLines.value() ? this._model.timeScale().width() : h, _ = r(this._cache);
|
|
1974
|
+
switch (c.horzLabelsAlign.value()) {
|
|
1975
|
+
case "left":
|
|
1976
|
+
d = a;
|
|
1977
|
+
break;
|
|
1978
|
+
case "center":
|
|
1979
|
+
(d = a.add(o).scaled(.5)).x += s.width / 2, d.x = Math.round(d.x);
|
|
1980
|
+
break;
|
|
1981
|
+
case "right":
|
|
1982
|
+
c.extendLines.value() ? d = new n(u - 4, this._levels[t].y) : ((d = new n(u + 4, this._levels[t].y)).x += s.width, d.x = Math.round(d.x));
|
|
1983
|
+
}
|
|
1984
|
+
var p = { left: s.left, top: _.topByRow(this._cacheState.row), width: s.width, height: _.rowHeight(this._cacheState.row) }, f = { left: d.x - p.width, top: d.y, width: s.width, height: p.height }, g = c.vertLabelsAlign.value();
|
|
1985
|
+
return "middle" === g && (f.top -= f.height / 2), "bottom" === g && (f.top -= f.height), { cacheRect: p, targetRect: f };
|
|
1986
|
+
}
|
|
1987
|
+
_updateImpl() { if (super._updateImpl(), this._renderer = null, !(this._source.points().length < 2)) {
|
|
1988
|
+
var e = this._source.priceScale();
|
|
1989
|
+
if (e && !e.isEmpty() && !this._model.timeScale().isEmpty()) {
|
|
1990
|
+
var t = this._source.ownerSource().firstValue();
|
|
1991
|
+
if (null != t) {
|
|
1992
|
+
var i = this._source.points()[0], r = this._source.points()[1], u = !1;
|
|
1993
|
+
(L = this._source.properties()).reverse && L.reverse.value() && (u = L.reverse.value()), this._levels = [];
|
|
1994
|
+
var _, p, f = u ? i.price : r.price, g = u ? r.price : i.price, v = g - f, w = e.isLog() && L.fibLevelsBasedOnLogScale.value();
|
|
1995
|
+
if (w)
|
|
1996
|
+
_ = e.priceToCoordinate(f, t), p = e.priceToCoordinate(g, t) - _;
|
|
1997
|
+
for (var x = { price: f, coordinate: _ }, m = { price: v, coordinate: p }, y = this._source.levelsCount(), b = 1; b <= y; b++) {
|
|
1998
|
+
var R = L["level" + b];
|
|
1999
|
+
if (R.visible.value()) {
|
|
2000
|
+
var T = R.coeff.value(), S = R.color.value(), P = c(x, m, T, e, t, w);
|
|
2001
|
+
this._levels.push({ color: S, y: P, linewidth: L.levelsStyle.linewidth.value(), linestyle: L.levelsStyle.linestyle.value(), index: b });
|
|
2002
|
+
}
|
|
2003
|
+
}
|
|
2004
|
+
if (!(this._points.length < 2)) {
|
|
2005
|
+
var L, C = new h, M = (i = this._points[0], r = this._points[1], Math.min(i.x, r.x)), I = Math.max(i.x, r.x), O = (L = this._source.properties()).fillBackground.value(), N = L.transparency.value(), D = L.extendLinesLeft.value(), B = L.extendLines.value();
|
|
2006
|
+
if (O)
|
|
2007
|
+
for (b = 0; b < this._levels.length; b++)
|
|
2008
|
+
if (b > 0 && O) {
|
|
2009
|
+
var k = this._levels[b - 1], A = (i = new n(M, this._levels[b].y), r = new n(I, k.y), {});
|
|
2010
|
+
A.points = [i, r], A.color = this._levels[b].color, A.linewidth = 0, A.backcolor = this._levels[b].color, A.fillBackground = !0, A.transparency = N, A.extendLeft = D, A.extendRight = B, (j = new s(void 0, void 0, !0)).setData(A), C.append(j);
|
|
2011
|
+
}
|
|
2012
|
+
var E = M, z = I;
|
|
2013
|
+
E === z && (D && (E -= 1), B && (z += 1));
|
|
2014
|
+
for (b = 0; b < this._levels.length; b++) {
|
|
2015
|
+
var j, V = { points: [i = new n(E, this._levels[b].y), r = new n(z, this._levels[b].y)], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: this._levels[b].color, linewidth: this._levels[b].linewidth, linestyle: this._levels[b].linestyle, extendleft: D, extendright: B, leftend: d.Normal, rightend: d.Normal };
|
|
2016
|
+
if ((j = new a).setData(V), j.setHitTest(new l(l.MOVEPOINT, null, this._levels[b].index)), C.append(j), L.showCoeffs.value() || L.showPrices.value()) {
|
|
2017
|
+
var H = new o(this, b);
|
|
2018
|
+
C.append(H);
|
|
2019
|
+
}
|
|
2020
|
+
}
|
|
2021
|
+
if (L.trendline.visible.value()) {
|
|
2022
|
+
V = { points: [this._points[0], this._points[1]], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: L.trendline.color.value(), linewidth: L.trendline.linewidth.value(), linestyle: L.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: d.Normal, rightend: d.Normal };
|
|
2023
|
+
this._trendLineRenderer.setData(V), C.append(this._trendLineRenderer);
|
|
2024
|
+
}
|
|
2025
|
+
this.addAnchors(C), this._renderer = C;
|
|
2026
|
+
}
|
|
2027
|
+
}
|
|
2028
|
+
}
|
|
2029
|
+
} }
|
|
2030
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
2031
|
+
};
|
|
2032
|
+
}, S6aM: function (e, t, i) {
|
|
2033
|
+
"use strict";
|
|
2034
|
+
i.r(t), i.d(t, "LineToolThreeDrivesPaneView", (function () {
|
|
2035
|
+
return c;
|
|
2036
|
+
}));
|
|
2037
|
+
var r = i("8Uy/"), n = i("Zy3/"), s = i("qgcf"), a = i("zXvd"), o = i("pJOz"), l = i("a7Ha"), h = i("BCbF"), d = i("aB9a");
|
|
2038
|
+
class c extends d.LineSourcePaneView {
|
|
2039
|
+
constructor() { super(...arguments), this._numericFormatter = new a.NumericFormatter, this._retrace1LabelRenderer = new s.TextRenderer, this._retrace12LabelRenderer = new s.TextRenderer, this._polyLineRenderer = new h.PolygonRenderer(null), this._renderer = null; }
|
|
2040
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
2041
|
+
_updateImpl() { super._updateImpl(), this._renderer = null; let e = NaN, t = NaN; if (this._source.points().length >= 4) {
|
|
2042
|
+
const [, t, i, r] = this._source.points();
|
|
2043
|
+
e = Math.round(100 * Math.abs((r.price - i.price) / (i.price - t.price))) / 100;
|
|
2044
|
+
} if (this._source.points().length >= 6) {
|
|
2045
|
+
const [, , , e, i, r] = this._source.points();
|
|
2046
|
+
t = Math.round(100 * Math.abs((r.price - i.price) / (i.price - e.price))) / 100;
|
|
2047
|
+
} if (this._points.length < 2)
|
|
2048
|
+
return; const i = this._source.properties().childs(), s = new n.CompositeRenderer, a = (e, t) => ({ points: [e], text: t, color: i.textcolor.value(), vertAlign: "middle", horzAlign: "center", font: i.font.value(), offsetX: 0, offsetY: 0, bold: i.bold && i.bold.value(), italic: i.italic && i.italic.value(), fontsize: i.fontsize.value(), backgroundColor: i.color.value(), backgroundRoundRect: 4 }), h = (e, t) => ({ points: [e, t], color: i.color.value(), linewidth: i.linewidth.value(), linestyle: r.LINESTYLE_DOTTED, extendleft: !1, extendright: !1, leftend: l.LineEnd.Normal, rightend: l.LineEnd.Normal }), d = { points: this._points, color: i.color.value(), linewidth: i.linewidth.value(), linestyle: r.LINESTYLE_SOLID, leftend: l.LineEnd.Normal, rightend: l.LineEnd.Normal, backcolor: "rgba(0, 0, 0, 0)", fillBackground: !1, filled: !1 }; if (this._polyLineRenderer.setData(d), s.append(this._polyLineRenderer), !isNaN(e)) {
|
|
2049
|
+
const t = new o.TrendLineRenderer;
|
|
2050
|
+
t.setData(h(this._points[1], this._points[3])), s.append(t);
|
|
2051
|
+
const i = a(this._points[1].add(this._points[3]).scaled(.5), this._numericFormatter.format(e));
|
|
2052
|
+
this._retrace1LabelRenderer.setData(i), s.append(this._retrace1LabelRenderer);
|
|
2053
|
+
} if (!isNaN(t)) {
|
|
2054
|
+
const e = new o.TrendLineRenderer;
|
|
2055
|
+
e.setData(h(this._points[3], this._points[5])), s.append(e);
|
|
2056
|
+
const i = a(this._points[5].add(this._points[3]).scaled(.5), this._numericFormatter.format(t));
|
|
2057
|
+
this._retrace12LabelRenderer.setData(i), s.append(this._retrace12LabelRenderer);
|
|
2058
|
+
} this.addAnchors(s), this._renderer = s; }
|
|
2059
|
+
}
|
|
2060
|
+
}, SvjA: function (e, t, i) {
|
|
2061
|
+
"use strict";
|
|
2062
|
+
var r = i("aO4+").Point, n = i("z+cS").VerticalLineRenderer, s = i("aB9a").LineSourcePaneView, a = i("qgcf").TextRenderer, o = i("IjC5").RectangleRenderer, l = i("pJOz").TrendLineRenderer, h = i("VdBB").HitTestResult, d = i("Zy3/").CompositeRenderer, c = i("a7Ha").LineEnd;
|
|
2063
|
+
t.TrendBasedFibTimePaneView = class extends s {
|
|
2064
|
+
constructor(e, t) { super(e, t), this._trendLineRendererPoints12 = new l, this._trendLineRendererPoints23 = new l, this._renderer = null; }
|
|
2065
|
+
_updateImpl() {
|
|
2066
|
+
if (super._updateImpl(), this._renderer = null, 3 === this._source.points().length) {
|
|
2067
|
+
if (!this._source.priceScale() || this._source.priceScale().isEmpty() || this._model.timeScale().isEmpty())
|
|
2068
|
+
return;
|
|
2069
|
+
var e = this._source.points()[0], t = this._source.points()[1], i = this._source.points()[2];
|
|
2070
|
+
if (this._levels = [], t.index === e.index)
|
|
2071
|
+
return;
|
|
2072
|
+
var s = t.index - e.index, l = this._source.properties(), u = i.index;
|
|
2073
|
+
if (null === this._model.timeScale().visibleBarsStrictRange())
|
|
2074
|
+
return;
|
|
2075
|
+
for (var _ = 1; _ <= 11; _++) {
|
|
2076
|
+
var p = l["level" + _];
|
|
2077
|
+
if (p.visible.value()) {
|
|
2078
|
+
var f = p.coeff.value(), g = p.color.value(), v = Math.round(u + f * s), w = { x: this._model.timeScale().indexToCoordinate(v), coeff: f, color: g, linewidth: p.linewidth.value(), linestyle: p.linestyle.value(), index: _ };
|
|
2079
|
+
l.showCoeffs.value() && (w.text = f, w.y = this._source.priceScale().height()), this._levels.push(w);
|
|
2080
|
+
}
|
|
2081
|
+
}
|
|
2082
|
+
}
|
|
2083
|
+
if (!(this._points.length < 2)) {
|
|
2084
|
+
var x = new d;
|
|
2085
|
+
e = this._points[0], t = this._points[1];
|
|
2086
|
+
if ((l = this._source.properties()).trendline.visible.value()) {
|
|
2087
|
+
var m = { points: [e, t], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: l.trendline.color.value(), linewidth: l.trendline.linewidth.value(), linestyle: l.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: c.Normal, rightend: c.Normal };
|
|
2088
|
+
this._trendLineRendererPoints12.setData(m), x.append(this._trendLineRendererPoints12);
|
|
2089
|
+
}
|
|
2090
|
+
if (this._points.length < 3)
|
|
2091
|
+
return this.addAnchors(x), void (this._renderer = x);
|
|
2092
|
+
i = this._points[2];
|
|
2093
|
+
if (l.trendline.visible.value()) {
|
|
2094
|
+
m = { points: [t, i], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: l.trendline.color.value(), linewidth: l.trendline.linewidth.value(), linestyle: l.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: c.Normal, rightend: c.Normal };
|
|
2095
|
+
this._trendLineRendererPoints23.setData(m), x.append(this._trendLineRendererPoints23);
|
|
2096
|
+
}
|
|
2097
|
+
var y = l.fillBackground.value(), b = l.transparency.value(), R = this._model.timeScale().width(), T = this._source.priceScale().height();
|
|
2098
|
+
if (y)
|
|
2099
|
+
for (_ = 1; _ < this._levels.length; _++) {
|
|
2100
|
+
var S = this._levels[_ - 1], P = (e = new r(S.x, 0), t = new r(this._levels[_].x, this._source.priceScale().height()), {});
|
|
2101
|
+
P.points = [e, t], P.color = this._levels[_].color, P.linewidth = 0, P.backcolor = this._levels[_].color, P.fillBackground = !0, P.transparency = b, P.extendLeft = !1, P.extendRight = !1, (O = new o(void 0, void 0, !0)).setData(P), x.append(O);
|
|
2102
|
+
}
|
|
2103
|
+
for (_ = 0; _ < this._levels.length; _++) {
|
|
2104
|
+
if (void 0 !== this._levels[_].text) {
|
|
2105
|
+
var L, C = l.horzLabelsAlign.value();
|
|
2106
|
+
switch (C = "left" === C ? "right" : "right" === C ? "left" : "center", l.vertLabelsAlign.value()) {
|
|
2107
|
+
case "top":
|
|
2108
|
+
L = new r(this._levels[_].x, 0);
|
|
2109
|
+
break;
|
|
2110
|
+
case "middle":
|
|
2111
|
+
L = new r(this._levels[_].x, .5 * this._levels[_].y);
|
|
2112
|
+
break;
|
|
2113
|
+
case "bottom": L = new r(this._levels[_].x, this._levels[_].y);
|
|
2114
|
+
}
|
|
2115
|
+
var M = { points: [L], text: "" + this._levels[_].text, color: this._levels[_].color, vertAlign: l.vertLabelsAlign.value(), horzAlign: C, font: l.font.value(), offsetX: 2, offsetY: 0, fontsize: 12 };
|
|
2116
|
+
x.append(new a(M));
|
|
2117
|
+
}
|
|
2118
|
+
var I = {};
|
|
2119
|
+
I.width = R, I.height = T, I.x = this._levels[_].x, I.color = this._levels[_].color, I.linewidth = this._levels[_].linewidth, I.linestyle = this._levels[_].linestyle;
|
|
2120
|
+
var O, N = new h(h.MOVEPOINT, null, this._levels[_].index);
|
|
2121
|
+
(O = new n).setData(I), O.setHitTest(N), x.append(O);
|
|
2122
|
+
}
|
|
2123
|
+
this.addAnchors(x), this._renderer = x;
|
|
2124
|
+
}
|
|
2125
|
+
}
|
|
2126
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
2127
|
+
};
|
|
2128
|
+
}, UcQu: function (e, t, i) {
|
|
2129
|
+
"use strict";
|
|
2130
|
+
i.r(t), i.d(t, "DateAndPriceRangePaneView", (function () { return R; }));
|
|
2131
|
+
var r = i("Eyy1"), n = i("aO4+"), s = i("YFKU"), a = i("Ialn"), o = i("aB9a"), l = i("qgcf"), h = i("IjC5"), d = i("pJOz"), c = i("Zy3/"), u = i("GH0z"), _ = i("8Uy/"), p = i("a7Ha"), f = i("nda6"), g = i("5C6T"), v = i("nEwK");
|
|
2132
|
+
const w = new f.TimeSpanFormatter, x = new u.PercentageFormatter, m = new v.VolumeFormatter, y = Object(s.t)("{count} bars"), b = Object(s.t)("Vol");
|
|
2133
|
+
class R extends o.LineSourcePaneView {
|
|
2134
|
+
constructor() { super(...arguments), this._distanceLineRenderer = new d.TrendLineRenderer, this._distancePriceRenderer = new d.TrendLineRenderer, this._backgroundRenderer = new h.RectangleRenderer, this._borderRenderer = new h.RectangleRenderer, this._textRenderer = new l.TextRenderer, this._renderer = new c.CompositeRenderer, this._pipFormatter = null, this._lastSymbolInfo = null; }
|
|
2135
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(e, t), this._renderer; }
|
|
2136
|
+
_updateImpl(e, t) {
|
|
2137
|
+
if (super._updateImpl(), this._renderer.clear(), this._points.length < 2 || this._source.points().length < 2)
|
|
2138
|
+
return;
|
|
2139
|
+
const i = this._source.properties().childs();
|
|
2140
|
+
i.fillBackground && i.fillBackground.value() && (this._backgroundRenderer.setData({ points: this._points, color: "white", linewidth: 0, backcolor: i.backgroundColor.value(), fillBackground: !0, transparency: i.backgroundTransparency.value(), extendLeft: !1, extendRight: !1 }), this._renderer.append(this._backgroundRenderer));
|
|
2141
|
+
const [s, o] = this._points;
|
|
2142
|
+
i.drawBorder.value() && (this._borderRenderer.setData({ points: this._points, color: i.borderColor.value(), linewidth: i.borderWidth.value(), fillBackground: !1, extendLeft: !1, extendRight: !1, backcolor: "" }), this._renderer.append(this._borderRenderer));
|
|
2143
|
+
const h = i.drawBorder.value() ? i.borderWidth.value() / 2 : 0, d = Math.round((s.y + o.y) / 2), c = new n.Point(s.x + Math.sign(o.x - s.x) * h, d), u = new n.Point(o.x + Math.sign(s.x - o.x) * h, d);
|
|
2144
|
+
this._distanceLineRenderer.setData({ points: [c, u], color: i.linecolor.value(), linewidth: i.linewidth.value(), linestyle: _.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: p.LineEnd.Normal, rightend: Math.abs(s.x - o.x) >= 25 * i.linewidth.value() ? p.LineEnd.Arrow : p.LineEnd.Normal }), this._renderer.append(this._distanceLineRenderer);
|
|
2145
|
+
const f = Math.round((s.x + o.x) / 2), v = new n.Point(f, s.y + Math.sign(o.y - s.y) * h), R = new n.Point(f, o.y + Math.sign(s.y - o.y) * h);
|
|
2146
|
+
this._distancePriceRenderer.setData({ points: [v, R], color: i.linecolor.value(), linewidth: i.linewidth.value(), linestyle: _.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: p.LineEnd.Normal, rightend: Math.abs(v.y - R.y) >= 25 * i.linewidth.value() ? p.LineEnd.Arrow : p.LineEnd.Normal }), this._renderer.append(this._distancePriceRenderer);
|
|
2147
|
+
const T = this._source.points()[0].price, S = this._source.points()[1].price, P = S - T, L = 100 * P / Math.abs(T), C = this._source.points()[0].index, M = this._source.points()[1].index, I = M - C, O = Object(a.forceLTRStr)(I + ""), N = this._model.timeScale().indexToUserTime(C), D = this._model.timeScale().indexToUserTime(M);
|
|
2148
|
+
let B = "";
|
|
2149
|
+
if (N && D) {
|
|
2150
|
+
const e = (D.valueOf() - N.valueOf()) / 1e3;
|
|
2151
|
+
B = ", " + Object(a.startWithLTR)(w.format(e));
|
|
2152
|
+
}
|
|
2153
|
+
const k = this._model.mainSeries().symbolInfo();
|
|
2154
|
+
k && k !== this._lastSymbolInfo && (this._pipFormatter = new g.PipFormatter(k.pricescale, k.minmov, k.type, k.minmove2), this._lastSymbolInfo = k);
|
|
2155
|
+
const A = Object(r.ensureNotNull)(this._source.ownerSource()).formatter().format(P) + " (" + x.format(Math.round(100 * L) / 100) + ") " + (this._pipFormatter ? this._pipFormatter.format(P) : "");
|
|
2156
|
+
let E = Object(a.forceLTRStr)(A) + "\n" + y.format({ count: O }) + B;
|
|
2157
|
+
const z = this._source.volume();
|
|
2158
|
+
let j;
|
|
2159
|
+
Number.isNaN(z) || (E += `\n${b} ${m.format(z)}`), j = S > T ? new n.Point(.5 * (s.x + o.x), o.y - 2 * i.fontsize.value()) : new n.Point(.5 * (s.x + o.x), o.y + .7 * i.fontsize.value());
|
|
2160
|
+
const V = { x: 0, y: 10 }, H = { points: [j], text: E, color: i.textcolor.value(), font: i.font.value(), offsetX: V.x, offsetY: V.y, padding: 8, vertAlign: "middle", horzAlign: "center", fontsize: i.fontsize.value(), backgroundRoundRect: 4, backgroundHorzInflate: .4 * i.fontsize.value(), backgroundVertInflate: .2 * i.fontsize.value() };
|
|
2161
|
+
i.fillLabelBackground && i.fillLabelBackground.value() && (H.backgroundColor = i.labelBackgroundColor.value()), this._textRenderer.setData(H);
|
|
2162
|
+
const W = this._textRenderer.measure(), F = Object(l.calculateLabelPosition)(W, s, o, V, e);
|
|
2163
|
+
this._textRenderer.setPoints([F]), this._renderer.append(this._textRenderer), this.addAnchors(this._renderer);
|
|
2164
|
+
}
|
|
2165
|
+
}
|
|
2166
|
+
}, V8bI: function (e, t, i) { e.exports = i.p + "898929f1acdb622689e0fc0c95c8fcd0.png"; }, VghZ: function (e, t, i) {
|
|
2167
|
+
"use strict";
|
|
2168
|
+
i.r(t), i.d(t, "PriceRangePaneView", (function () { return g; }));
|
|
2169
|
+
var r = i("Eyy1"), n = i("aO4+"), s = i("Ialn"), a = i("aB9a"), o = i("qgcf"), l = i("IjC5"), h = i("pJOz"), d = i("Zy3/"), c = i("GH0z"), u = i("8Uy/"), _ = i("a7Ha"), p = i("5C6T");
|
|
2170
|
+
const f = new c.PercentageFormatter;
|
|
2171
|
+
class g extends a.LineSourcePaneView {
|
|
2172
|
+
constructor() { super(...arguments), this._topBorderRenderer = new h.TrendLineRenderer, this._bottomBorderRenderer = new h.TrendLineRenderer, this._distanceRenderer = new h.TrendLineRenderer, this._backgroundRenderer = new l.RectangleRenderer, this._labelRenderer = new o.TextRenderer, this._renderer = new d.CompositeRenderer, this._pipFormatter = null, this._lastSymbolInfo = null; }
|
|
2173
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(e, t), this._renderer; }
|
|
2174
|
+
_updateImpl(e, t) {
|
|
2175
|
+
if (super._updateImpl(), this._renderer.clear(), this._points.length < 2 || this._source.points().length < 2)
|
|
2176
|
+
return;
|
|
2177
|
+
const i = this._source.properties().childs(), a = i.extendLeft.value(), l = i.extendRight.value(), [h, d] = this._points, c = Math.min(h.x, d.x), g = Math.max(h.x, d.x);
|
|
2178
|
+
i.fillBackground.value() && (this._backgroundRenderer.setData({ points: [new n.Point(c, h.y), new n.Point(g, d.y)], color: "white", linewidth: 0, backcolor: i.backgroundColor.value(), fillBackground: !0, transparency: i.backgroundTransparency.value(), extendLeft: a, extendRight: l }), this._renderer.append(this._backgroundRenderer));
|
|
2179
|
+
const v = (e, t, r) => { e.setData({ points: [t, r], color: i.linecolor.value(), linewidth: i.linewidth.value(), linestyle: u.LINESTYLE_SOLID, extendleft: a, extendright: l, leftend: _.LineEnd.Normal, rightend: _.LineEnd.Normal }), this._renderer.append(e); };
|
|
2180
|
+
let w = c, x = g;
|
|
2181
|
+
w === x && (a && (w -= 1), l && (x += 1)), v(this._topBorderRenderer, new n.Point(w, h.y), new n.Point(x, h.y)), v(this._bottomBorderRenderer, new n.Point(w, d.y), new n.Point(x, d.y));
|
|
2182
|
+
const m = Math.round((h.x + d.x) / 2), y = new n.Point(m, h.y), b = new n.Point(m, d.y);
|
|
2183
|
+
this._distanceRenderer.setData({ points: [y, b], color: i.linecolor.value(), linewidth: i.linewidth.value(), linestyle: u.LINESTYLE_SOLID,
|
|
2184
|
+
extendleft: !1, extendright: !1, leftend: _.LineEnd.Normal, rightend: Math.abs(y.y - b.y) >= 15 * i.linewidth.value() ? _.LineEnd.Arrow : _.LineEnd.Normal }), this._renderer.append(this._distanceRenderer);
|
|
2185
|
+
const R = this._source.points()[0].price, T = this._source.points()[1].price, S = T - R, P = 100 * S / Math.abs(R), L = this._model.mainSeries().symbolInfo();
|
|
2186
|
+
L && L !== this._lastSymbolInfo && (this._pipFormatter = new p.PipFormatter(L.pricescale, L.minmov, L.type, L.minmove2), this._lastSymbolInfo = L);
|
|
2187
|
+
const C = Object(s.forceLTRStr)(Object(r.ensureNotNull)(this._source.ownerSource()).formatter().format(S) + " (" + f.format(P) + ") " + (this._pipFormatter ? this._pipFormatter.format(S) : ""));
|
|
2188
|
+
let M;
|
|
2189
|
+
M = T > R ? new n.Point(.5 * (h.x + d.x), d.y - 2 * i.fontsize.value()) : new n.Point(.5 * (h.x + d.x), d.y + .7 * i.fontsize.value());
|
|
2190
|
+
const I = { x: 0, y: 10 }, O = { points: [M], text: C, color: i.textcolor.value(), font: i.font.value(), offsetX: I.x, offsetY: I.y, padding: 8, vertAlign: "middle", horzAlign: "center", fontsize: i.fontsize.value(), backgroundRoundRect: 4, backgroundHorzInflate: .4 * i.fontsize.value(), backgroundVertInflate: .2 * i.fontsize.value() };
|
|
2191
|
+
i.fillLabelBackground.value() && (O.backgroundColor = i.labelBackgroundColor.value()), this._labelRenderer.setData(O);
|
|
2192
|
+
const N = this._labelRenderer.measure(), D = Object(o.calculateLabelPosition)(N, h, d, I, e);
|
|
2193
|
+
this._labelRenderer.setPoints([D]), this._renderer.append(this._labelRenderer), this.addAnchors(this._renderer);
|
|
2194
|
+
}
|
|
2195
|
+
}
|
|
2196
|
+
}, X4Cb: function (e, t, i) {
|
|
2197
|
+
"use strict";
|
|
2198
|
+
i.r(t), i.d(t, "GannComplexPaneView", (function () { return u; }));
|
|
2199
|
+
var r = i("aO4+"), n = i("aB9a"), s = i("pJOz"), a = i("qgcf"), o = i("Zy3/"), l = i("a7Ha"), h = i("8Uy/"), d = i("amvX"), c = i("Ialn");
|
|
2200
|
+
class u extends n.LineSourcePaneView {
|
|
2201
|
+
constructor(e, t) { super(e, t), this._verticalLevelsRenderers = [], this._horizontalLevelsRenderers = [], this._fanRenderers = [], this._arcRenderers = [], this._priceDiffTextRenderer = new a.TextRenderer, this._indexDiffTextRenderer = new a.TextRenderer, this._ratioTextRenderer = new a.TextRenderer, this._renderer = null, this._initRenderers(); }
|
|
2202
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
2203
|
+
_updateImpl() { super._updateImpl(), this._renderer = null; const e = new o.CompositeRenderer, t = this._getPoints(); if (t.length < 2)
|
|
2204
|
+
return this.addAnchors(e), void (this._renderer = e); let [i, r] = t; const n = this._getSource(), s = n.isReversed(); s && ([r, i] = t); const a = r.x - i.x, l = r.y - i.y, h = i, d = r, c = this._getModel(), u = { barsCoordsRange: a, priceCoordsRange: l, startPoint: h, endPoint: d, p1: i, p2: r, isLabelsVisible: n.isLabelsVisible(), reversed: s }; this._prepareLevels(e, u), this._prepareFanLines(e, u), this._prepareArcs(e, u), this._prepareLabels(e, u); const _ = [i, r]; c.lineBeingCreated() === n && _.pop(), e.append(this.createLineAnchor({ points: _ }, 0)), this._renderer = e; }
|
|
2205
|
+
_initRenderers() { const e = this._getSource(), t = e.levelsCount(); for (let e = 0; e < t; e++)
|
|
2206
|
+
this._verticalLevelsRenderers.push(new s.TrendLineRenderer), this._horizontalLevelsRenderers.push(new s.TrendLineRenderer); const i = e.fanLinesCount(); for (let e = 0; e < i; e++)
|
|
2207
|
+
this._fanRenderers.push(new s.TrendLineRenderer); const r = e.arcsCount(); for (let e = 0; e < r; e++)
|
|
2208
|
+
this._arcRenderers.push(new d.a); }
|
|
2209
|
+
_prepareLevels(e, t) {
|
|
2210
|
+
const { startPoint: i, endPoint: n, barsCoordsRange: s, priceCoordsRange: a } = t, o = this._getSource().levels();
|
|
2211
|
+
for (const t of o) {
|
|
2212
|
+
if (!t.visible)
|
|
2213
|
+
continue;
|
|
2214
|
+
const o = t.index / 5, d = i.x + o * s, c = { points: [new r.Point(d, i.y), new r.Point(d, n.y)], color: t.color, linewidth: t.width, linestyle: h.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: l.LineEnd.Normal, rightend: l.LineEnd.Normal }, u = this._verticalLevelsRenderers[t.index];
|
|
2215
|
+
u.setData(c), e.append(u);
|
|
2216
|
+
const _ = i.y + o * a, p = { points: [new r.Point(i.x, _), new r.Point(n.x, _)], color: t.color, linewidth: t.width, linestyle: h.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: l.LineEnd.Normal, rightend: l.LineEnd.Normal }, f = this._horizontalLevelsRenderers[t.index];
|
|
2217
|
+
f.setData(p), e.append(f);
|
|
2218
|
+
}
|
|
2219
|
+
}
|
|
2220
|
+
_prepareFanLines(e, t) { const { p1: i, startPoint: n, endPoint: s, barsCoordsRange: a, priceCoordsRange: o } = t, d = this._getSource().fanLines(); for (const t of d) {
|
|
2221
|
+
if (!t.visible)
|
|
2222
|
+
continue;
|
|
2223
|
+
const d = t.x, c = t.y;
|
|
2224
|
+
let u, _;
|
|
2225
|
+
if (d > c) {
|
|
2226
|
+
u = s.x;
|
|
2227
|
+
const e = c / d;
|
|
2228
|
+
_ = n.y + e * o;
|
|
2229
|
+
}
|
|
2230
|
+
else {
|
|
2231
|
+
_ = s.y;
|
|
2232
|
+
const e = d / c;
|
|
2233
|
+
u = n.x + e * a;
|
|
2234
|
+
}
|
|
2235
|
+
const p = { points: [i, new r.Point(u, _)], color: t.color, linewidth: t.width, linestyle: h.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: l.LineEnd.Normal, rightend: l.LineEnd.Normal }, f = this._fanRenderers[t.index];
|
|
2236
|
+
f.setData(p), e.append(f);
|
|
2237
|
+
} }
|
|
2238
|
+
_prepareArcs(e, t) { const { p1: i, startPoint: n, endPoint: s, barsCoordsRange: a, priceCoordsRange: o } = t; let l = i; const h = this._getSource(), d = h.isArcsBackgroundFilled(), c = h.arcsBackgroundTransparency(), u = h.arcs(); for (const t of u) {
|
|
2239
|
+
if (!t.visible)
|
|
2240
|
+
continue;
|
|
2241
|
+
const i = t.x / 5, h = t.y / 5, u = n.x + i * a, _ = n.y + h * o, p = { center: n, point: new r.Point(u, _), edge: s, color: t.color, linewidth: t.width, fillBack: d, transparency: c, prevPoint: l }, f = this._arcRenderers[t.index];
|
|
2242
|
+
f.setData(p), e.append(f), l = p.point;
|
|
2243
|
+
} }
|
|
2244
|
+
_prepareLabels(e, t) { const { p1: i, p2: n, isLabelsVisible: s, reversed: a } = t; if (!s)
|
|
2245
|
+
return; const o = this._getSource(), l = o.ownerSource(); let h = o.getPriceDiff(), d = o.getIndexDiff(); if (null === h || null === d || null === l)
|
|
2246
|
+
return; a && (h = -h, d = -d); const u = new r.Point(i.x, n.y), _ = Object(c.forceLTRStr)(l.formatter().format(h)), p = this._getLabelData(u, _); p.horzAlign = d > 0 ? "right" : "left", p.vertAlign = h > 0 ? "bottom" : "top", p.offsetX = 10, p.offsetY = h > 0 ? 8 : 10, p.forceTextAlign = !0, this._priceDiffTextRenderer.setData(p), e.append(this._priceDiffTextRenderer); const f = new r.Point(n.x, i.y), g = Object(c.forceLTRStr)(d.toString()), v = this._getLabelData(f, g); v.horzAlign = d > 0 ? "left" : "right", v.vertAlign = h > 0 ? "top" : "bottom", v.offsetX = 10, v.offsetY = h > 0 ? 10 : 8, v.forceTextAlign = !0, this._indexDiffTextRenderer.setData(v), e.append(this._indexDiffTextRenderer); const w = o.getScaleRatio(); if (null === w)
|
|
2247
|
+
return; const x = o.getScaleRatioFormatter(), m = Object(c.forceLTRStr)(x.format(w)), y = this._getLabelData(n, m); y.horzAlign = d > 0 ? "left" : "right", y.vertAlign = h > 0 ? "bottom" : "top", y.offsetX = 10, y.offsetY = h > 0 ? 8 : 10, y.forceTextAlign = !0, this._ratioTextRenderer.setData(y), e.append(this._ratioTextRenderer); }
|
|
2248
|
+
_getLabelData(e, t) {
|
|
2249
|
+
const i = this._getSource(), { textColor: r, font: n, fontSize: s, bold: a, italic: o } = i.getLabelsStyle();
|
|
2250
|
+
return { points: [e], backgroundColor: "transparent", text: t, font: n, bold: a, italic: o, fontsize: s, color: r, vertAlign: "top", horzAlign: "center", offsetX: 0, offsetY: 0, backgroundRoundRect: 4
|
|
2251
|
+
};
|
|
2252
|
+
}
|
|
2253
|
+
}
|
|
2254
|
+
}, XHET: function (e, t, i) {
|
|
2255
|
+
"use strict";
|
|
2256
|
+
var r = i("aO4+").Point, n = i("YFKU").t, s = i("aB9a").LineSourcePaneView, a = i("5/lF").TrendLineStatsRenderer, o = i("qgcf").TextRenderer, l = i("pJOz").TrendLineRenderer, h = i("Zy3/").CompositeRenderer, d = i("GH0z").PercentageFormatter, c = i("vq8G").SelectionRenderer, u = i("5C6T").PipFormatter, _ = i("a7Ha").LineEnd, p = i("8xAY").LabelSettings, f = i("zDbI").CHART_FONT_FAMILY, g = i("VdBB").HitTestResult, v = i("cPgM").ScaledPaneRenderer, w = i("cPgM").ScaledPaneRendererWrapper, x = i("Ialn").forceLTRStr;
|
|
2257
|
+
class m extends v {
|
|
2258
|
+
constructor() { super(), this._data = null; }
|
|
2259
|
+
setData(e) { this._data = e; }
|
|
2260
|
+
hitTest() { return null; }
|
|
2261
|
+
_drawImpl(e) { if (null !== this._data) {
|
|
2262
|
+
e.save(), e.translate(this._data.point.x, this._data.point.y), e.strokeStyle = this._data.color;
|
|
2263
|
+
var t = [1, 2];
|
|
2264
|
+
"function" == typeof e.setLineDash ? e.setLineDash(t) : void 0 !== e.mozDash ? e.mozDash = t : void 0 !== e.webkitLineDash && (e.webkitLineDash = t);
|
|
2265
|
+
var i = this._data.size;
|
|
2266
|
+
e.beginPath(), e.moveTo(0, 0), e.lineTo(i, 0), e.arc(0, 0, i, 0, -this._data.angle, this._data.angle > 0), e.stroke(), e.restore();
|
|
2267
|
+
} }
|
|
2268
|
+
}
|
|
2269
|
+
t.TrendAnglePaneView = class extends s {
|
|
2270
|
+
constructor(e, t) { super(e, t), this._label = null, this._rendererCache = {}, this._pipFormatter = null, this._lastSymbolInfo = null, this._trendLineRenderer = new l, this._angleRenderer = new m, this._angleLabelRenderer = new o, this._renderer = null; }
|
|
2271
|
+
_updateImpl() {
|
|
2272
|
+
if (super._updateImpl(), this._renderer = null, this._points.length > 0 && void 0 !== this._source._angle) {
|
|
2273
|
+
var e = this._points[0], t = Math.cos(this._source._angle), i = -Math.sin(this._source._angle), s = new r(t, i);
|
|
2274
|
+
this._secondPoint = e.addScaled(s, this._source._distance), this._secondPoint.data = 1, this._middlePoint = this._source.calcMiddlePoint(this._points[0], this._secondPoint);
|
|
2275
|
+
}
|
|
2276
|
+
if (this._label = null, !(this._source.points().length < 2)) {
|
|
2277
|
+
e = this._source.points()[0];
|
|
2278
|
+
var o, l, v = this._source.points()[1], m = [];
|
|
2279
|
+
if (this._source.properties().showPriceRange.value() && this._source.priceScale()) {
|
|
2280
|
+
var y = v.price - e.price, b = y / Math.abs(e.price);
|
|
2281
|
+
o = this._source.ownerSource().formatter().format(y) + " (" + (new d).format(100 * b) + ") ";
|
|
2282
|
+
var R = this._model.mainSeries().symbolInfo();
|
|
2283
|
+
R && R !== this._lastSymbolInfo && (this._pipFormatter = new u(R.pricescale, R.minmov, R.type, R.minmove2), this._lastSymbolInfo = R), o += this._pipFormatter ? ", " + this._pipFormatter.format(y) : "", m.push("priceRange");
|
|
2284
|
+
}
|
|
2285
|
+
if (this._source.properties().showBarsRange.value()) {
|
|
2286
|
+
l = "";
|
|
2287
|
+
var T = v.index - e.index;
|
|
2288
|
+
l += n("{count} bars").format({ count: x(T) }), m.push("barsRange");
|
|
2289
|
+
}
|
|
2290
|
+
this._label = [x(o), l].filter((function (e) { return e; })).join("\n") || null, this._icons = m;
|
|
2291
|
+
var S = new h, P = {}, L = this.isHoveredSource() || this.isSelectedSource() || this._source.properties().alwaysShowStats.value(), C = (this.isHoveredSource() || this.isSelectedSource()) && this._source.properties().showMiddlePoint.value();
|
|
2292
|
+
if (this._secondPoint && this._points.length > 0) {
|
|
2293
|
+
var M = this._source.properties().linecolor.value();
|
|
2294
|
+
if (P.points = [this._points[0], this._secondPoint], P.width = this._model.timeScale().width(), P.height = this._source.priceScale().height(), P.color = M, P.linewidth = this._source.properties().linewidth.value(), P.linestyle = this._source.properties().linestyle.value(),
|
|
2295
|
+
P.extendleft = this._source.properties().extendLeft.value(), P.extendright = this._source.properties().extendRight.value(), P.leftend = _.Normal, P.rightend = _.Normal, this._trendLineRenderer.setData(P), S.append(this._trendLineRenderer), L && this._label && 2 === this._points.length) {
|
|
2296
|
+
var I = this._source.properties().statsPosition.value(), O = this._source.getPointByPosition(I, P.points[0], this._middlePoint, P.points[1]), N = this._model.isDark(), D = N ? p.bgColorDark : p.bgColorLight, B = N ? p.textColorDark : p.textColorLight, k = { points: [O], text: this._label, color: B, isDark: N, font: f, fontSize: p.fontSize, lineSpacing: p.lineSpacing, backgroundColor: D, backgroundRoundRect: p.rectRadius, paddingLeft: p.paddingLeftRight, paddingRight: p.paddingLeftRight, paddingTop: p.paddingTopBottom, paddingBottom: p.paddingTopBottom, textPadding: p.textPadding, doNotAlignText: !0, icons: this._icons }, A = p.offset;
|
|
2297
|
+
k.offsetX = A, k.offsetY = A, (this._points[1].y < this._points[0].y && this._points[1].x < this._points[0].x || this._points[1].y > this._points[0].y && this._points[1].x > this._points[0].x) && (k.vertAlign = "bottom"), S.append(new w(new a(k, this._rendererCache)));
|
|
2298
|
+
}
|
|
2299
|
+
this._middlePoint && S.append(new c({ points: [this._middlePoint], bgColors: this._lineAnchorColors([this._middlePoint]), color: M, visible: C && this.areAnchorsVisible(), hittestResult: g.REGULAR }));
|
|
2300
|
+
var E = {};
|
|
2301
|
+
E.point = this._points[0], E.angle = this._source._angle, E.color = this._source.properties().linecolor.value(), E.size = 50, this._angleRenderer.setData(E), S.append(this._angleRenderer);
|
|
2302
|
+
var z = Math.round(180 * E.angle / Math.PI) + "º";
|
|
2303
|
+
(O = this._points[0].clone()).x = O.x + 50;
|
|
2304
|
+
var j = { points: [O], text: x(z), color: this._source.properties().textcolor.value(), horzAlign: "left", font: this._source.properties().font.value(), offsetX: 5, offsetY: 0, bold: this._source.properties().bold.value(), italic: this._source.properties().italic.value(), fontsize: this._source.properties().fontsize.value(), vertAlign: "middle" };
|
|
2305
|
+
this._angleLabelRenderer.setData(j), S.append(this._angleLabelRenderer);
|
|
2306
|
+
}
|
|
2307
|
+
0, this._secondPoint && this._points.length > 0 && S.append(this.createLineAnchor({ points: [this._points[0], this._secondPoint] }, 0)), this._renderer = S;
|
|
2308
|
+
}
|
|
2309
|
+
}
|
|
2310
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
2311
|
+
};
|
|
2312
|
+
}, ZJWf: function (e, t, i) {
|
|
2313
|
+
"use strict";
|
|
2314
|
+
var r = i("aO4+").Point, n = i("aB9a").LineSourcePaneView, s = i("2trc").ChannelRenderer, a = i("qgcf").TextRenderer, o = i("pJOz").TrendLineRenderer, l = i("VdBB").HitTestResult, h = i("Zy3/").CompositeRenderer, d = i("a7Ha").LineEnd;
|
|
2315
|
+
t.GannFanPaneView = class extends n {
|
|
2316
|
+
constructor(e, t) { super(e, t), this._renderer = null; }
|
|
2317
|
+
_updateImpl() {
|
|
2318
|
+
if (super._updateImpl(), this._renderer = null, !(this._source.points().length < 2) && this._source.priceScale() && !this._source.priceScale().isEmpty() && !this._model.timeScale().isEmpty()) {
|
|
2319
|
+
var e = this._floatPoints[0], t = this._floatPoints[1];
|
|
2320
|
+
this._fans = [];
|
|
2321
|
+
for (var i = t.x - e.x, n = t.y - e.y, c = 1; c <= 9; c++) {
|
|
2322
|
+
var u = "level" + c, _ = this._source.properties()[u];
|
|
2323
|
+
if (_.visible.value()) {
|
|
2324
|
+
var p, f, g = _.coeff1.value(), v = _.coeff2.value(), w = g / v, x = _.color.value(), m = g + "/" + v;
|
|
2325
|
+
g > v ? (p = t.x, f = e.y + n / w) : (p = e.x + i * w, f = t.y), this._fans.push({ label: m, color: x, x: p, y: f, linewidth: _.linewidth.value(), linestyle: _.linestyle.value(),
|
|
2326
|
+
index: c });
|
|
2327
|
+
}
|
|
2328
|
+
}
|
|
2329
|
+
if (!(this._floatPoints.length < 2)) {
|
|
2330
|
+
var y = new h, b = (e = this._floatPoints[0], this._source.properties()), R = this._source.properties().fillBackground.value(), T = this._source.properties().transparency.value();
|
|
2331
|
+
for (c = 0; c < this._fans.length; c++) {
|
|
2332
|
+
var S = new r(this._fans[c].x, this._fans[c].y);
|
|
2333
|
+
if (R)
|
|
2334
|
+
if (this._fans[c].index < 4) {
|
|
2335
|
+
var P = new r(this._fans[c + 1].x, this._fans[c + 1].y);
|
|
2336
|
+
(L = {}).width = this._model.timeScale().width(), L.height = this._source.priceScale().height(), L.p1 = e, L.p2 = S, L.p3 = e, L.p4 = P, L.color = this._fans[c].color, L.transparency = T, L.hittestOnBackground = !0, (C = new s).setData(L), y.append(C);
|
|
2337
|
+
}
|
|
2338
|
+
else if (this._fans[c].index > 4 && c > 0) {
|
|
2339
|
+
var L;
|
|
2340
|
+
P = new r(this._fans[c - 1].x, this._fans[c - 1].y);
|
|
2341
|
+
(L = {}).width = this._model.timeScale().width(), L.height = this._source.priceScale().height(), L.p1 = e, L.p2 = S, L.p3 = e, L.p4 = P, L.color = this._fans[c].color, L.transparency = T, L.hittestOnBackground = !0, (C = new s).setData(L), y.append(C);
|
|
2342
|
+
}
|
|
2343
|
+
var C, M = { points: [e, S], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: this._fans[c].color, linewidth: this._fans[c].linewidth, linestyle: this._fans[c].linestyle, extendleft: !1, extendright: !0, leftend: d.Normal, rightend: d.Normal };
|
|
2344
|
+
if ((C = new o).setData(M), C.setHitTest(new l(l.MOVEPOINT, null, this._fans[c].index)), y.append(C), b.showLabels.value()) {
|
|
2345
|
+
var I = { points: [S], text: this._fans[c].label, color: this._fans[c].color, vertAlign: "middle", horzAlign: "left", font: b.font.value(), offsetX: 0, offsetY: 5, fontsize: 12 };
|
|
2346
|
+
y.append(new a(I));
|
|
2347
|
+
}
|
|
2348
|
+
}
|
|
2349
|
+
this.addAnchors(y), this._renderer = y;
|
|
2350
|
+
}
|
|
2351
|
+
}
|
|
2352
|
+
}
|
|
2353
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
2354
|
+
};
|
|
2355
|
+
}, a6on: function (e, t, i) {
|
|
2356
|
+
"use strict";
|
|
2357
|
+
i.r(t);
|
|
2358
|
+
var r = i("Tmoa"), n = i("aB9a"), s = i("cPgM"), a = i("VdBB"), o = i("2hKl"), l = i("jFln"), h = i("pJOz"), d = i("a7Ha"), c = i("e9yB"), u = i("Zp/P");
|
|
2359
|
+
class _ extends s.ScaledPaneRenderer {
|
|
2360
|
+
constructor(e) { super(), this._data = e || null; }
|
|
2361
|
+
setData(e) { this._data = e; }
|
|
2362
|
+
hitTest(e, t) { const i = this._data; if (null === i)
|
|
2363
|
+
return null; if (4 === i.points.length) {
|
|
2364
|
+
const t = Object(u.interactionTolerance)().curve, [r, n, s, l] = i.points, h = l.subtract(r), d = s.subtract(h.scaled(.25)), _ = s.add(h.scaled(.25)), p = n.subtract(s), f = l.subtract(p.scaled(.25)), g = l.add(p.scaled(.25));
|
|
2365
|
+
if (Object(o.c)(s, r, d, e, t) || Object(o.a)(s, l, _, f, e, t) || Object(o.c)(l, n, g, e, t))
|
|
2366
|
+
return new a.HitTestResult(a.HitTestResult.MOVEPOINT);
|
|
2367
|
+
let v = Object(c.c)(e, t, i.extendLeftPoints);
|
|
2368
|
+
return null === v && (v = Object(c.c)(e, t, i.extendRightPoints)), v;
|
|
2369
|
+
} return null; }
|
|
2370
|
+
_drawImpl(e, t) {
|
|
2371
|
+
if (null === this._data)
|
|
2372
|
+
return;
|
|
2373
|
+
e.lineCap = "butt", e.strokeStyle = this._data.color, e.lineWidth = this._data.lineWidth, Object(l.setLineStyle)(e, this._data.lineStyle);
|
|
2374
|
+
const i = this._data.points[0], r = this._data.points[1];
|
|
2375
|
+
if (2 === this._data.points.length)
|
|
2376
|
+
e.beginPath(), e.moveTo(i.x, i.y), e.lineTo(r.x, r.y), e.stroke(), this._data.leftEnd === d.LineEnd.Arrow && Object(h.drawArrow)(r, i, e, e.lineWidth, t.pixelRatio), this._data.rightEnd === d.LineEnd.Arrow && Object(h.drawArrow)(i, r, e, e.lineWidth, t.pixelRatio);
|
|
2377
|
+
else {
|
|
2378
|
+
const n = this._data.points[2], s = this._data.points[3], a = s.subtract(i), o = n.subtract(a.scaled(.25)), l = n.add(a.scaled(.25)), u = r.subtract(n), _ = s.subtract(u.scaled(.25)), p = s.add(u.scaled(.25));
|
|
2379
|
+
this._data.fillBack && this._data.points.length > 2 && (e.fillStyle = this._data.backColor, e.beginPath(), e.moveTo(i.x, i.y), e.quadraticCurveTo(o.x, o.y, n.x, n.y), e.bezierCurveTo(l.x, l.y, _.x, _.y, s.x, s.y), e.quadraticCurveTo(p.x, p.y, r.x, r.y), e.fill()), e.beginPath(), Object(c.b)(e, this._data.extendLeftPoints), e.moveTo(i.x, i.y), e.quadraticCurveTo(o.x, o.y, n.x, n.y), e.bezierCurveTo(l.x, l.y, _.x, _.y, s.x, s.y), e.quadraticCurveTo(p.x, p.y, r.x, r.y), Object(c.b)(e, this._data.extendRightPoints), e.stroke(), this._data.leftEnd === d.LineEnd.Arrow && Object(h.drawArrow)(o, i, e, e.lineWidth, t.pixelRatio), this._data.rightEnd === d.LineEnd.Arrow && Object(h.drawArrow)(p, r, e, e.lineWidth, t.pixelRatio);
|
|
2380
|
+
}
|
|
2381
|
+
}
|
|
2382
|
+
}
|
|
2383
|
+
var p = i("Zy3/"), f = i("4Ptp"), g = i("Eyy1");
|
|
2384
|
+
i.d(t, "BezierCubicPaneView", (function () { return v; }));
|
|
2385
|
+
class v extends n.LineSourcePaneView {
|
|
2386
|
+
constructor() { super(...arguments), this._bezierCubicRenderer = new _, this._renderer = null, this._extendedSegmentLeftCache = null, this._extendedSegmentRightCache = null; }
|
|
2387
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(e, t), this._renderer; }
|
|
2388
|
+
_updateImpl(e, t) { if (super._updateImpl(e, t), this._renderer = null, this._points.length < 2)
|
|
2389
|
+
return; const i = this._source.properties().childs(); let n = [], s = []; if (4 === this._source.points().length) {
|
|
2390
|
+
const r = this._source.pointToScreenPoint(this._source.points()[0])[1], a = this._source.pointToScreenPoint(this._source.points()[1])[1], o = this._source.pointToScreenPoint(this._source.points()[2])[1], l = this._source.pointToScreenPoint(this._source.points()[3])[1], h = l.subtract(r), d = o.subtract(h.scaled(.25)), c = a.subtract(o), u = l.add(c.scaled(.25));
|
|
2391
|
+
i.extendLeft.value() && (n = this._extendSegmentLeft(o, r, d, t, e)), i.extendRight.value() && (s = this._extendSegmentRight(l, a, u, t, e));
|
|
2392
|
+
} const a = this._points.slice(), o = this._source.controlPoints(); null !== o && (a.push(this._source.pointToScreenPoint(o[0])[0]), a.push(this._source.pointToScreenPoint(o[1])[0])); const l = { points: a, color: i.linecolor.value(), lineWidth: i.linewidth.value(), lineStyle: i.linestyle.value(), leftEnd: i.leftEnd.value(), rightEnd: i.rightEnd.value(), fillBack: i.fillBackground.value(), backColor: Object(r.generateColor)(i.backgroundColor.value(), i.transparency.value()), extendLeftPoints: n, extendRightPoints: s }; this._bezierCubicRenderer.setData(l); const h = new p.CompositeRenderer; h.append(this._bezierCubicRenderer), this.addAnchors(h), this._renderer = h; }
|
|
2393
|
+
_extendSegmentLeft(e, t, i, r, n) { return Object(f.cacheIsValid)(this._extendedSegmentLeftCache, e, t, i, r, n) || (this._extendedSegmentLeftCache = { p1: e, p2: t, p3: i, width: r, height: n, segment: Object(o.b)(e, t, i, r, n) }), Object(g.ensureNotNull)(this._extendedSegmentLeftCache).segment; }
|
|
2394
|
+
_extendSegmentRight(e, t, i, r, n) { return Object(f.cacheIsValid)(this._extendedSegmentRightCache, e, t, i, r, n) || (this._extendedSegmentRightCache = { p1: e, p2: t, p3: i, width: r, height: n, segment: Object(o.b)(e, t, i, r, n) }), Object(g.ensureNotNull)(this._extendedSegmentRightCache).segment; }
|
|
2395
|
+
}
|
|
2396
|
+
}, aB9a: function (e, t, i) {
|
|
2397
|
+
"use strict";
|
|
2398
|
+
i.r(t);
|
|
2399
|
+
var r = i("aO4+"), n = i("VaSN"), s = i("VdBB"), a = i("vq8G"), o = i("f6yo"), l = i("gAom"), h = i("ogJP"), d = i("//lt"), c = i("Zp/P"), u = i("Eyy1");
|
|
2400
|
+
class _ extends r.Point {
|
|
2401
|
+
constructor(e, t, i, r) {
|
|
2402
|
+
super(e, t),
|
|
2403
|
+
this.data = i, this.square = r;
|
|
2404
|
+
}
|
|
2405
|
+
}
|
|
2406
|
+
function p(e, t, i, r) { const n = i + r / 2; Object(l.drawRoundRect)(e, t.x - n, t.y - n, 2 * n, 2 * n, (i + r) / 2), e.closePath(), e.lineWidth = r; }
|
|
2407
|
+
function f(e, t, i, r) { e.globalAlpha = .2, p(e, t, i, r), e.stroke(), e.globalAlpha = 1; }
|
|
2408
|
+
function g(e, t, i, r) { p(e, t, i - r, r), e.fill(), e.stroke(); }
|
|
2409
|
+
function v(e, t, i, r) { e.globalAlpha = .2, e.beginPath(), e.arc(t.x, t.y, i + r / 2, 0, 2 * Math.PI, !0), e.closePath(), e.lineWidth = r, e.stroke(), e.globalAlpha = 1; }
|
|
2410
|
+
function w(e, t, i, r) { e.beginPath(), e.arc(t.x, t.y, i - r / 2, 0, 2 * Math.PI, !0), e.closePath(), e.lineWidth = r, e.fill(), e.stroke(); }
|
|
2411
|
+
class x {
|
|
2412
|
+
constructor(e) { this._data = null != e ? e : null; }
|
|
2413
|
+
setData(e) { this._data = e; }
|
|
2414
|
+
draw(e, t) { if (null === this._data || !this._data.visible)
|
|
2415
|
+
return; const i = [], r = [], n = [], s = []; for (let e = 0; e < this._data.points.length; ++e) {
|
|
2416
|
+
const t = this._data.points[e], a = this._data.backgroundColors[e];
|
|
2417
|
+
t.square ? (i.push(t), r.push(a)) : (n.push(t), s.push(a));
|
|
2418
|
+
} i.length && (e.strokeStyle = this._data.color, this._drawPoints(e, t.pixelRatio, i, r, g, f)), n.length && (e.strokeStyle = this._data.color, this._drawPoints(e, t.pixelRatio, n, s, w, v)); }
|
|
2419
|
+
hitTest(e) { if (null === this._data)
|
|
2420
|
+
return null; const t = this._data.radius, i = Object(c.interactionTolerance)().anchor; for (let r = 0; r < this._data.points.length; ++r) {
|
|
2421
|
+
const n = this._data.points[r];
|
|
2422
|
+
if (n.subtract(e).length() <= t + i) {
|
|
2423
|
+
const e = void 0 !== this._data.pointsCursorType ? this._data.pointsCursorType[r] : d.PaneCursorType.Default;
|
|
2424
|
+
return new s.HitTestResult(this._data.hittestResult, { pointIndex: n.data, cursorType: e });
|
|
2425
|
+
}
|
|
2426
|
+
} return null; }
|
|
2427
|
+
doesIntersectWithBox(e) { return null !== this._data && this._data.points.some(t => Object(o.pointInBox)(t, e)); }
|
|
2428
|
+
_drawPoints(e, t, i, r, n, s) { const a = Object(u.ensureNotNull)(this._data), o = a.currentPoint, l = a.radius; let d = Math.max(1, Math.floor((a.strokeWidth || 2) * t)); a.selected && (d += Math.max(1, Math.floor(t / 2))); const p = Math.max(1, Math.floor(t)); let f = Math.round(l * t * 2); f % 2 != p % 2 && (f += 1); const g = p % 2 / 2, v = Object(c.interactionTolerance)().anchor; for (let c = 0; c < i.length; ++c) {
|
|
2429
|
+
const u = i[c];
|
|
2430
|
+
e.fillStyle = r[c];
|
|
2431
|
+
if (!(Object(h.isInteger)(u.data) && a.linePointBeingEdited === u.data)) {
|
|
2432
|
+
n(e, new _(Math.round(u.x * t) + g, Math.round(u.y * t) + g, u.data, u.square), f / 2, d);
|
|
2433
|
+
if (u.subtract(o).length() <= l + v) {
|
|
2434
|
+
const i = Math.max(1, Math.floor(a.selectedStrokeWidth * t));
|
|
2435
|
+
let r = Math.round(l * t * 2);
|
|
2436
|
+
r % 2 != p % 2 && (r += 1);
|
|
2437
|
+
s(e, new _(Math.round(u.x * t) + g, Math.round(u.y * t) + g, u.data, u.square), r / 2, i);
|
|
2438
|
+
}
|
|
2439
|
+
}
|
|
2440
|
+
} }
|
|
2441
|
+
}
|
|
2442
|
+
function m(e, t) { const i = t.x - e.x, r = t.y - e.y, n = Math.abs(Math.atan2(i, r)); return n > Math.PI / 4 && n < 3 * Math.PI / 4 ? d.PaneCursorType.VerticalResize : d.PaneCursorType.HorizontalResize; }
|
|
2443
|
+
i.d(t, "thirdPointCursorType", (function () { return m; })), i.d(t, "LineSourcePaneView", (function () { return y; }));
|
|
2444
|
+
class y {
|
|
2445
|
+
constructor(e, t) { this._invalidated = !0, this._points = [], this._floatPoints = [], this._middlePoint = null, this._selectionRenderers = [], this._lineAnchorRenderers = [], this._source = e, this._model = t; }
|
|
2446
|
+
priceToCoordinate(e) { const t = this._source.priceScale(); if (null === t)
|
|
2447
|
+
return null; const i = this._source.ownerSource(), r = null !== i ? i.firstValue() : null; return null === r ? null : t.priceToCoordinate(e, r); }
|
|
2448
|
+
currentPoint() { const e = this._model.crossHairSource(); return new r.Point(e.originX(), e.originY()); }
|
|
2449
|
+
anchorColor() { return "#1E53E5"; }
|
|
2450
|
+
isHoveredSource() {
|
|
2451
|
+
return this._source === this._model.hoveredSource();
|
|
2452
|
+
}
|
|
2453
|
+
isSelectedSource() { return this._model.selection().isSelected(this._source); }
|
|
2454
|
+
isBeingEdited() { return this._model.lineBeingEdited() === this._source; }
|
|
2455
|
+
isEditMode() { return !this._model.isSnapshot(); }
|
|
2456
|
+
areAnchorsVisible() { return (this.isHoveredSource() && !this.isLocked() || this.isSelectedSource()) && this.isEditMode(); }
|
|
2457
|
+
update() { this._invalidated = !0; }
|
|
2458
|
+
isLocked() { return Boolean(this._source.isLocked && this._source.isLocked()); }
|
|
2459
|
+
addAnchors(e) { let t = this._points; this._model.lineBeingCreated() === this._source && (t = t.slice(0, -1)), e.append(this.createLineAnchor({ points: t }, 0)); }
|
|
2460
|
+
createLineAnchor(e, t) { if (this.isLocked()) {
|
|
2461
|
+
const i = this._getSelectionRenderer(t);
|
|
2462
|
+
return i.setData({ bgColors: this._lineAnchorColors(e.points), points: e.points, visible: this.areAnchorsVisible(), hittestResult: s.HitTestResult.REGULAR, barSpacing: this._model.timeScale().barSpacing() }), i;
|
|
2463
|
+
} const i = Object(n.lastEventIsTouch)(), r = this._getLineAnchorRenderer(t); return r.setData(Object.assign(Object.assign({}, e), { color: this.anchorColor(), backgroundColors: this._lineAnchorColors(e.points), currentPoint: this.currentPoint(), linePointBeingEdited: this.isBeingEdited() ? this._model.linePointBeingEdited() : null, hittestResult: s.HitTestResult.CHANGEPOINT, radius: i ? 13 : 6, strokeWidth: i ? 2 : 1, selected: this.isSelectedSource(), selectedStrokeWidth: i ? 0 : 3, visible: this.areAnchorsVisible() })), r; }
|
|
2464
|
+
_lineAnchorColors(e) { const t = Object(u.ensureNotNull)(this._model.paneForSource(this._source)).height(); return e.map(e => this._model.backgroundColorAtYPercentFromTop(e.y / t)); }
|
|
2465
|
+
_updateImpl(e, t) { this._points = [], this._floatPoints = []; if (this._model.timeScale().isEmpty())
|
|
2466
|
+
return; if (!this._validatePriceScale())
|
|
2467
|
+
return; const i = this._source.points(); for (let e = 0; e < i.length; e++) {
|
|
2468
|
+
const t = i[e], r = this._source.pointToScreenPoint(t);
|
|
2469
|
+
if (!r)
|
|
2470
|
+
return;
|
|
2471
|
+
const n = r[0];
|
|
2472
|
+
n.data = e;
|
|
2473
|
+
const s = r[1];
|
|
2474
|
+
s.data = e, this._floatPoints.push(n), this._points.push(s);
|
|
2475
|
+
} 2 === this._points.length && (this._middlePoint = this._source.calcMiddlePoint(this._points[0], this._points[1])), this._invalidated = !1; }
|
|
2476
|
+
_validatePriceScale() { const e = this._source.priceScale(); return null !== e && !e.isEmpty(); }
|
|
2477
|
+
_getSource() { return this._source; }
|
|
2478
|
+
_getPoints() { return this._points; }
|
|
2479
|
+
_getModel() { return this._model; }
|
|
2480
|
+
_height() { const e = this._source.priceScale(); return null !== e ? e.height() : 0; }
|
|
2481
|
+
_width() { return this._model.timeScale().width(); }
|
|
2482
|
+
_getSelectionRenderer(e) { for (; this._selectionRenderers.length <= e;)
|
|
2483
|
+
this._selectionRenderers.push(new a.SelectionRenderer); return this._selectionRenderers[e]; }
|
|
2484
|
+
_getLineAnchorRenderer(e) { for (; this._lineAnchorRenderers.length <= e;)
|
|
2485
|
+
this._lineAnchorRenderers.push(new x); return this._lineAnchorRenderers[e]; }
|
|
2486
|
+
}
|
|
2487
|
+
}, "am+t": function (e, t, i) {
|
|
2488
|
+
"use strict";
|
|
2489
|
+
var r = i("aO4+").Point, n = i("aB9a").LineSourcePaneView, s = i("VdBB").HitTestResult, a = i("Zy3/").CompositeRenderer, o = i("Tmoa"), l = i("cPgM").ScaledPaneRenderer;
|
|
2490
|
+
class h extends l {
|
|
2491
|
+
constructor() { super(), this._data = null; }
|
|
2492
|
+
setData(e) { this._data = e; }
|
|
2493
|
+
_drawImpl(e) {
|
|
2494
|
+
null !== this._data && (e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, CanvasEx.setLineStyle(e, this._data.linestyle), e.save(), e.translate(this._data.point.x + 1, this._data.point.y),
|
|
2495
|
+
e.scale(this._data.width, this._data.height), e.beginPath(), e.arc(.5, 0, .5, Math.PI, 0, !1), e.restore(), e.stroke(), this._data.fillBackground && (e.fillStyle = o.generateColor(this._data.backcolor, this._data.transparency), e.fill()));
|
|
2496
|
+
}
|
|
2497
|
+
hitTest(e) { if (null === this._data || e.y > this._data.point.y)
|
|
2498
|
+
return null; if (e.x < this._data.point.x || e.x > this._data.point.x + this._data.width)
|
|
2499
|
+
return null; var t = new r(this._data.point.x + this._data.width / 2, this._data.point.y), i = e.subtract(t), n = this._data.height / this._data.width; i.y /= n; var a = i.length(); return Math.abs(a - this._data.width / 2) < 3 ? new s(s.MOVEPOINT) : null; }
|
|
2500
|
+
}
|
|
2501
|
+
t.TimeCyclesPaneView = class extends n {
|
|
2502
|
+
constructor(e, t) { super(e, t), this._renderer = null; }
|
|
2503
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
2504
|
+
_updateImpl() { if (super._updateImpl(), this._renderer = null, !(this._points.length < 2)) {
|
|
2505
|
+
var e = this._source.points(), t = e[0], i = e[1], n = Math.min(t.index, i.index), s = Math.max(t.index, i.index), o = s - n, l = this._points[0], d = this._points[1], c = Math.abs(l.x - d.x), u = new a, _ = this._source.properties(), p = this._model.timeScale();
|
|
2506
|
+
if (0 !== o) {
|
|
2507
|
+
for (var f = Math.min(l.x, d.x), g = [], v = n; f > -c; v -= o)
|
|
2508
|
+
f = p.indexToCoordinate(v), g.push(f);
|
|
2509
|
+
f = Math.max(l.x, d.x);
|
|
2510
|
+
for (v = s; f < p.width(); v += o)
|
|
2511
|
+
f = p.indexToCoordinate(v), g.push(f);
|
|
2512
|
+
for (var w = 0; w < g.length; w++) {
|
|
2513
|
+
var x = { point: new r(g[w], l.y), width: c, height: c, color: _.linecolor.value(), linewidth: _.linewidth.value(), linestyle: _.linestyle.value(), fillBackground: _.fillBackground.value(), backcolor: _.backgroundColor.value(), transparency: _.transparency.value() }, m = new h;
|
|
2514
|
+
m.setData(x), u.append(m);
|
|
2515
|
+
}
|
|
2516
|
+
this.addAnchors(u), this._renderer = u;
|
|
2517
|
+
}
|
|
2518
|
+
} }
|
|
2519
|
+
};
|
|
2520
|
+
}, amUF: function (e, t, i) {
|
|
2521
|
+
"use strict";
|
|
2522
|
+
i.r(t), i.d(t, "CrossLinePaneView", (function () { return l; }));
|
|
2523
|
+
var r = i("aB9a"), n = i("l4sv"), s = i("z+cS"), a = i("Zy3/"), o = i("VdBB");
|
|
2524
|
+
class l extends r.LineSourcePaneView {
|
|
2525
|
+
constructor(e, t) { super(e, t), this._renderer = null, this._horizLineRenderer = new n.HorizontalLineRenderer, this._vertLineRenderer = new s.VerticalLineRenderer, this._horizLineRenderer.setHitTest(new o.HitTestResult(o.HitTestResult.MOVEPOINT)); }
|
|
2526
|
+
update() { this._invalidated = !0; }
|
|
2527
|
+
renderer() { return this._invalidated && (this._updateImpl(), this._invalidated = !1), this._renderer; }
|
|
2528
|
+
_updateImpl() { super._updateImpl(), this._renderer = null; const e = this._getPoints(); if (0 === e.length)
|
|
2529
|
+
return; const t = { color: this._getSource().lineColor(), linestyle: this._getSource().lineStyle(), linewidth: this._getSource().lineWidth(), x: e[0].x, y: e[0].y }; this._horizLineRenderer.setData(t), this._vertLineRenderer.setData(t); const i = new a.CompositeRenderer; i.append(this._horizLineRenderer), i.append(this._vertLineRenderer), this.addAnchors(i), this._renderer = i; }
|
|
2530
|
+
}
|
|
2531
|
+
}, amvX: function (e, t, i) {
|
|
2532
|
+
"use strict";
|
|
2533
|
+
i.d(t, "a", (function () { return o; }));
|
|
2534
|
+
var r = i("aO4+"), n = i("Tmoa"), s = i("VdBB"), a = i("cPgM");
|
|
2535
|
+
class o extends a.ScaledPaneRenderer {
|
|
2536
|
+
constructor() { super(), this._data = null; }
|
|
2537
|
+
setData(e) { this._data = e; }
|
|
2538
|
+
hitTest(e) {
|
|
2539
|
+
if (null === this._data)
|
|
2540
|
+
return null;
|
|
2541
|
+
e = e.subtract(this._data.center);
|
|
2542
|
+
const t = this._data.edge.subtract(this._data.center), i = t.y / t.x;
|
|
2543
|
+
e = new r.Point(e.x, e.y / i);
|
|
2544
|
+
let n = this._data.point.subtract(this._data.center);
|
|
2545
|
+
n = new r.Point(n.x, n.y / i);
|
|
2546
|
+
const a = n.length(), o = e.length();
|
|
2547
|
+
let l = this._data.prevPoint.subtract(this._data.center);
|
|
2548
|
+
l = new r.Point(l.x, l.y / i);
|
|
2549
|
+
const h = l.length();
|
|
2550
|
+
return Math.abs(o - a) < 5 && t.x * e.x >= 0 && t.y * e.y >= 0 ? new s.HitTestResult(s.HitTestResult.MOVEPOINT) : this._data.fillBack && o >= h && o <= a && t.x * e.x >= 0 && t.y * e.y >= 0 ? new s.HitTestResult(s.HitTestResult.MOVEPOINT_BACKGROUND) : null;
|
|
2551
|
+
}
|
|
2552
|
+
_drawImpl(e) { if (null === this._data)
|
|
2553
|
+
return; e.lineCap = "butt", e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, e.translate(this._data.center.x, this._data.center.y); const t = this._data.edge.subtract(this._data.center), i = t.y / t.x; let s = this._data.point.subtract(this._data.center); s = new r.Point(s.x, s.y / i); let a = s.length(), o = this._data.prevPoint.subtract(this._data.center); o = new r.Point(o.x, o.y / i); let l = o.length(); e.scale(1, i), this._data.fillBack && (this._data.point.x < this._data.center.x && (a = -a, l = -l), e.beginPath(), e.moveTo(l, 0), e.lineTo(a, 0), e.arcTo(a, a, 0, a, Math.abs(a)), e.lineTo(0, l), e.arcTo(l, l, l, 0, Math.abs(l)), e.fillStyle = Object(n.generateColor)(this._data.color, this._data.transparency, !0), e.fill()), e.beginPath(), this._data.point.x > this._data.center.x ? e.arc(0, 0, Math.abs(a), 0, Math.PI / 2, !1) : e.arc(0, 0, Math.abs(a), -Math.PI / 2, -Math.PI, !0), e.scale(1, 1 / i), e.stroke(); }
|
|
2554
|
+
}
|
|
2555
|
+
}, bFMU: function (e, t, i) {
|
|
2556
|
+
"use strict";
|
|
2557
|
+
i.r(t), i.d(t, "ABCDPaneView", (function () { return u; }));
|
|
2558
|
+
var r = i("8Uy/"), n = i("Zy3/"), s = i("zXvd"), a = i("pJOz"), o = i("qgcf"), l = i("a7Ha"), h = i("BCbF"), d = i("VdBB"), c = i("aB9a");
|
|
2559
|
+
class u extends c.LineSourcePaneView {
|
|
2560
|
+
constructor(e, t) { super(e, t), this._numericFormatter = new s.NumericFormatter, this._abRetracementTrend = new a.TrendLineRenderer, this._cdRetracementTrend = new a.TrendLineRenderer, this._polylineRenderer = new h.PolygonRenderer(new d.HitTestResult(d.HitTestResult.MOVEPOINT)), this._abLabelRenderer = new o.TextRenderer, this._cdLabelRenderer = new o.TextRenderer, this._textRendererALabel = new o.TextRenderer, this._textRendererBLabel = new o.TextRenderer, this._textRendererCLabel = new o.TextRenderer, this._textRendererDLabel = new o.TextRenderer, this._renderer = null; }
|
|
2561
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
2562
|
+
_updateImpl() {
|
|
2563
|
+
if (super._updateImpl(), this._points.length < 2)
|
|
2564
|
+
return void (this._renderer = null);
|
|
2565
|
+
const e = this._source.properties().childs(), t = new n.CompositeRenderer, i = (t, i) => ({ points: [t], text: i, color: e.textcolor.value(), vertAlign: "middle", horzAlign: "center", font: e.font.value(), offsetX: 0, offsetY: 0, bold: e.bold && e.bold.value(), italic: e.italic && e.italic.value(), fontsize: e.fontsize.value(), backgroundColor: e.color.value(), backgroundRoundRect: 4 }), s = (t, i) => ({ points: [t, i], color: e.color.value(), linewidth: e.linewidth.value(), linestyle: r.LINESTYLE_DOTTED, extendleft: !1, extendright: !1, leftend: l.LineEnd.Normal, rightend: l.LineEnd.Normal }), [a, o, h, d] = this._points, c = { points: this._points, color: e.color.value(), linewidth: e.linewidth.value(), linestyle: r.LINESTYLE_SOLID, fillBackground: !1, filled: !1, backcolor: "rgba(0, 0, 0, 0)" };
|
|
2566
|
+
this._polylineRenderer.setData(c), t.append(this._polylineRenderer);
|
|
2567
|
+
const u = i(a, "A");
|
|
2568
|
+
o.y > a.y ? (u.vertAlign = "bottom", u.offsetY = 5) : (u.vertAlign = "top", u.offsetY = 5), this._textRendererALabel.setData(u),
|
|
2569
|
+
t.append(this._textRendererALabel);
|
|
2570
|
+
const _ = i(o, "B");
|
|
2571
|
+
if (o.y < a.y ? (_.vertAlign = "bottom", _.offsetY = 5) : (_.vertAlign = "top", _.offsetY = 5), this._textRendererBLabel.setData(_), t.append(this._textRendererBLabel), this._points.length > 2) {
|
|
2572
|
+
const e = i(h, "C");
|
|
2573
|
+
h.y < o.y ? (e.vertAlign = "bottom", e.offsetY = 5) : (e.vertAlign = "top", e.offsetY = 5), this._textRendererCLabel.setData(e), t.append(this._textRendererCLabel);
|
|
2574
|
+
}
|
|
2575
|
+
if (this._points.length > 3) {
|
|
2576
|
+
const e = i(d, "D");
|
|
2577
|
+
d.y < h.y ? (e.vertAlign = "bottom", e.offsetY = 5) : (e.vertAlign = "top", e.offsetY = 5), this._textRendererDLabel.setData(e), t.append(this._textRendererDLabel);
|
|
2578
|
+
}
|
|
2579
|
+
if (this._points.length >= 3) {
|
|
2580
|
+
this._abRetracementTrend.setData(s(a, h)), t.append(this._abRetracementTrend);
|
|
2581
|
+
const e = a.add(h).scaled(.5), [r, n, o] = this._source.points(), l = Math.round(1e3 * Math.abs((o.price - n.price) / (n.price - r.price))) / 1e3, d = i(e, this._numericFormatter.format(l));
|
|
2582
|
+
this._abLabelRenderer.setData(d), t.append(this._abLabelRenderer);
|
|
2583
|
+
}
|
|
2584
|
+
if (this._points.length >= 4) {
|
|
2585
|
+
this._cdRetracementTrend.setData(s(o, d)), t.append(this._cdRetracementTrend);
|
|
2586
|
+
const e = o.add(d).scaled(.5), [, r, n, a] = this._source.points(), l = Math.round(1e3 * Math.abs((a.price - n.price) / (n.price - r.price))) / 1e3, h = i(e, this._numericFormatter.format(l));
|
|
2587
|
+
this._cdLabelRenderer.setData(h), t.append(this._cdLabelRenderer);
|
|
2588
|
+
}
|
|
2589
|
+
this.addAnchors(t), this._renderer = t;
|
|
2590
|
+
}
|
|
2591
|
+
}
|
|
2592
|
+
}, bcXK: function (e, t, i) {
|
|
2593
|
+
"use strict";
|
|
2594
|
+
var r = i("aO4+").Point, n = i("Hr11"), s = i("pJOz").TrendLineRenderer, a = i("cjIn").PaneRendererCachedImage, o = i("VdBB").HitTestResult, l = i("Zy3/").CompositeRenderer, h = i("Tmoa"), d = i("a7Ha").LineEnd, c = i("cPgM").ScaledPaneRenderer, u = i("NCfL").LineToolPaneViewWithLevelledTextCache;
|
|
2595
|
+
class _ extends c {
|
|
2596
|
+
constructor(e, t, i) { super(), this._data = e, this._hittest = t || new o(o.MOVEPOINT), this._backHittest = i || new o(o.MOVEPOINT_BACKGROUND); }
|
|
2597
|
+
_drawImpl(e) { e.lineCap = "butt", e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, e.translate(this._data.center.x, this._data.center.y), e.beginPath(), this._data.fullCircles ? e.arc(0, 0, this._data.radius, 2 * Math.PI, 0, !1) : this._data.dir > 0 ? e.arc(0, 0, this._data.radius, 0, Math.PI, !1) : e.arc(0, 0, this._data.radius, Math.PI, 0, !1), e.stroke(), this._data.fillBackground && (this._data.radius2 && (this._data.fullCircles ? e.arc(0, 0, this._data.radius2, 2 * Math.PI, 0, !0) : this._data.dir > 0 ? e.arc(0, 0, this._data.radius2, Math.PI, 0, !0) : e.arc(0, 0, this._data.radius2, 0, Math.PI, !0)), e.fillStyle = h.generateColor(this._data.color, this._data.transparency, !0), e.fill()); }
|
|
2598
|
+
hitTest(e) { if (n.sign(e.y - this._data.center.y) !== this._data.dir && !this._data.fullCircles)
|
|
2599
|
+
return null; var t = e.subtract(this._data.center).length(); return Math.abs(t - this._data.radius) < 3 ? this._hittest : this._data.hittestOnBackground && Math.abs(t) <= this._data.radius + 3 ? this._backHittest : null; }
|
|
2600
|
+
}
|
|
2601
|
+
t.FibSpeedResistanceArcsPaneView = class extends u {
|
|
2602
|
+
constructor(e, t) { super(e, t), this._rendererCache = {}, this._trendLineRenderer = new s, this._renderer = null; }
|
|
2603
|
+
getCacheRects(e, t) {
|
|
2604
|
+
super.getCacheRects(e, t);
|
|
2605
|
+
var i = this._cacheState.preparedCells.cells[this._levels[t].index - 1];
|
|
2606
|
+
if (i) {
|
|
2607
|
+
var r = this._levels[t], n = { left: i.left, top: this._cache.topByRow(this._cacheState.row), width: i.width,
|
|
2608
|
+
height: this._cache.rowHeight(this._cacheState.row) };
|
|
2609
|
+
return { cacheRect: n, targetRect: { left: Math.round(r.labelPoint.x - n.width), top: Math.round(r.labelPoint.y - n.height / 2), width: i.width, height: n.height } };
|
|
2610
|
+
}
|
|
2611
|
+
}
|
|
2612
|
+
_updateImpl() { if (super._updateImpl(), this._renderer = null, !(this._floatPoints.length < 2) && this._source.priceScale() && !this._source.priceScale().isEmpty() && !this._model.timeScale().isEmpty()) {
|
|
2613
|
+
var e = this._floatPoints[0], t = this._floatPoints[1], i = e.subtract(t).length();
|
|
2614
|
+
this._levels = [];
|
|
2615
|
+
for (var s = this._source.properties(), h = this._source.levelsCount(), c = 1; c <= h; c++) {
|
|
2616
|
+
var u = s["level" + c];
|
|
2617
|
+
if (u.visible.value()) {
|
|
2618
|
+
var p = u.coeff.value(), f = u.color.value(), g = t.subtract(e).length() * p, v = n.sign(t.y - e.y), w = new r(e.x, e.y + v * i * p);
|
|
2619
|
+
this._levels.push({ color: f, radius: g, dir: v, labelPoint: w, linewidth: u.linewidth.value(), linestyle: u.linestyle.value(), index: c });
|
|
2620
|
+
}
|
|
2621
|
+
}
|
|
2622
|
+
if (!(this._floatPoints.length < 2)) {
|
|
2623
|
+
var x = new l, m = (e = this._floatPoints[0], (s = this._source.properties()).fillBackground.value()), y = s.transparency.value();
|
|
2624
|
+
for (c = 0; c < this._levels.length; c++) {
|
|
2625
|
+
var b = this._levels[c], R = {};
|
|
2626
|
+
R.center = e, R.color = b.color, R.linewidth = b.linewidth, R.radius = b.radius, R.dir = b.dir, R.transparency = y, R.fillBackground = m, R.hittestOnBackground = !0, R.fullCircles = s.fullCircles.value(), c > 0 && (R.radius2 = this._levels[c - 1].radius);
|
|
2627
|
+
var T = new o(o.MOVEPOINT, null, b.index);
|
|
2628
|
+
if (x.append(new _(R, T)), s.showCoeffs.value()) {
|
|
2629
|
+
var S = new a(this, c);
|
|
2630
|
+
x.append(S);
|
|
2631
|
+
}
|
|
2632
|
+
}
|
|
2633
|
+
if (s.trendline.visible.value()) {
|
|
2634
|
+
var P = { points: [this._floatPoints[0], this._floatPoints[1]], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: s.trendline.color.value(), linewidth: s.trendline.linewidth.value(), linestyle: s.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: d.Normal, rightend: d.Normal };
|
|
2635
|
+
this._trendLineRenderer.setData(P), x.append(this._trendLineRenderer);
|
|
2636
|
+
}
|
|
2637
|
+
this.addAnchors(x), this._renderer = x;
|
|
2638
|
+
}
|
|
2639
|
+
} }
|
|
2640
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
2641
|
+
};
|
|
2642
|
+
}, c6sA: function (e, t, i) {
|
|
2643
|
+
"use strict";
|
|
2644
|
+
var r = i("aO4+").Point, n = i("aB9a").LineSourcePaneView, s = i("z+cS").VerticalLineRenderer, a = i("IjC5").RectangleRenderer, o = i("pJOz").TrendLineRenderer, l = i("VdBB").HitTestResult, h = i("gyZD").PaneRendererLine, d = i("Zy3/").CompositeRenderer, c = i("Tmoa"), u = i("Ye2/").LineToolBarsPatternMode, _ = i("a7Ha").LineEnd;
|
|
2645
|
+
t.BarsPatternPaneView = class extends n {
|
|
2646
|
+
constructor(e, t) { super(e, t), this._vertLineRenderer1 = new s, this._vertLineRenderer2 = new s, this._medianRenderer = new o, this._renderer = null; }
|
|
2647
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
2648
|
+
_updateImpl() {
|
|
2649
|
+
if (super._updateImpl(), this._renderer = null, !(!this._source.priceScale() || this._source.priceScale().isEmpty() || this._points.length < 2)) {
|
|
2650
|
+
if (this._source._pattern && this._source._pattern.length > 0 && 2 === this._source.points().length) {
|
|
2651
|
+
var e = this._source.priceScale(), t = this._source.firstPatternPrice(), i = this._source.pressCoeff(), n = this._source.ownerSource().firstValue(), s = e.priceToCoordinate(t, n), o = function (r) {
|
|
2652
|
+
var a = (r - t) * i + t;
|
|
2653
|
+
return e.priceToCoordinate(a, n) - s;
|
|
2654
|
+
}, p = parseInt(this._source.properties().mode.value()), f = this._source.points()[0].index > this._source.points()[1].index ? 1 : 0, g = this._points[f], v = g.x, w = Math.abs((this._points[0].x - this._points[1].x) / (this._source._pattern.length - 1)), x = { 0: function (e) { return { high: o(e[TradingView.HIGH_PLOT]), low: o(e[TradingView.LOW_PLOT]) }; }, 1: function (e, t) { return new r(v + t * w, o(e[TradingView.CLOSE_PLOT]) + g.y); }, 2: function (e) { return { open: o(e[TradingView.OPEN_PLOT]), close: o(e[TradingView.CLOSE_PLOT]) }; }, 3: function (e, t) { return new r(v + t * w, o(e[TradingView.OPEN_PLOT]) + g.y); }, 4: function (e, t) { return new r(v + t * w, o(e[TradingView.HIGH_PLOT]) + g.y); }, 5: function (e, t) { return new r(v + t * w, o(e[TradingView.LOW_PLOT]) + g.y); }, 6: function (e, t) { return new r(v + t * w, o((e[TradingView.HIGH_PLOT] + e[TradingView.LOW_PLOT]) / 2) + g.y); } };
|
|
2655
|
+
this._pattern = this._source._pattern.map(x[p]);
|
|
2656
|
+
}
|
|
2657
|
+
else
|
|
2658
|
+
delete this._pattern;
|
|
2659
|
+
if (this._pattern && 2 === this._source.points().length) {
|
|
2660
|
+
var m = this._source.points()[0].index < this._source.points()[1].index ? this._points[0] : this._points[1];
|
|
2661
|
+
if (!m)
|
|
2662
|
+
return void (this._renderer = new d);
|
|
2663
|
+
p = parseInt(this._source.properties().mode.value(), 10), w = Math.abs((this._points[0].x - this._points[1].x) / (this._pattern.length - 1));
|
|
2664
|
+
if (p === u.Bars || p === u.OpenClose) {
|
|
2665
|
+
for (var y = new d, b = p === u.Bars ? ["high", "low"] : ["open", "close"], R = b[0], T = b[1], S = 0; S < this._pattern.length; S++) {
|
|
2666
|
+
var P = Math.round(m.x + S * w + .5), L = m.y + Math.round(this._pattern[S][R]), C = m.y + Math.round(this._pattern[S][T]);
|
|
2667
|
+
(I = {}).points = [new r(P - 1, L), new r(P + 1, C)], I.color = this._source.properties().color.value(), I.linewidth = 1, I.backcolor = this._source.properties().color.value(), I.fillBackground = !0, I.transparency = 10, I.extendLeft = !1, I.extendRight = !1;
|
|
2668
|
+
var M = new a;
|
|
2669
|
+
M.setData(I), y.append(M);
|
|
2670
|
+
}
|
|
2671
|
+
y.append(this.createLineAnchor({ points: this._points }, 0)), this._renderer = y;
|
|
2672
|
+
}
|
|
2673
|
+
else {
|
|
2674
|
+
var I;
|
|
2675
|
+
y = new d;
|
|
2676
|
+
(I = {}).barSpacing = w, I.items = this._pattern, I.histogramBase = 0, I.lineIndex = 0, I.lineColor = c.generateColor(this._source.properties().color.value(), 10), I.lineStyle = CanvasEx.LINESTYLE_SOLID, I.lineWidth = 2, I.hittest = new l(l.MOVEPOINT), y.append(new h(I)), y.append(this.createLineAnchor({ points: this._points }, 1)), this._renderer = y;
|
|
2677
|
+
}
|
|
2678
|
+
}
|
|
2679
|
+
else {
|
|
2680
|
+
y = new d;
|
|
2681
|
+
if (this._points.length < 2)
|
|
2682
|
+
return void (this._renderer = y);
|
|
2683
|
+
var O = this._model.timeScale().width(), N = this._source.priceScale().height(), D = this._points[0], B = this._points[1], k = {};
|
|
2684
|
+
k.width = O, k.height = N, k.x = D.x, k.color = "#808080", k.linewidth = 1, k.linestyle = CanvasEx.LINESTYLE_SOLID, this._vertLineRenderer1.setData(k), y.append(this._vertLineRenderer1);
|
|
2685
|
+
var A = {};
|
|
2686
|
+
A.width = O, A.height = N, A.x = B.x, A.color = "#808080", A.linewidth = 1, A.linestyle = CanvasEx.LINESTYLE_SOLID, this._vertLineRenderer2.setData(A), y.append(this._vertLineRenderer2);
|
|
2687
|
+
var E = { points: [D, B], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: "#808080", linewidth: 1, linestyle: CanvasEx.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: _.Normal, rightend: _.Normal };
|
|
2688
|
+
this._medianRenderer.setData(E), y.append(this._medianRenderer), this._renderer = y;
|
|
2689
|
+
}
|
|
2690
|
+
}
|
|
2691
|
+
}
|
|
2692
|
+
};
|
|
2693
|
+
}, "cT+B": function (e, t, i) {
|
|
2694
|
+
"use strict";
|
|
2695
|
+
var r = i("aO4+").Point, n = i("aB9a").LineSourcePaneView, s = i("pJOz").TrendLineRenderer, a = i("2trc").ChannelRenderer, o = i("VdBB").HitTestResult, l = i("Zy3/").CompositeRenderer, h = i("a7Ha").LineEnd;
|
|
2696
|
+
class d extends n {
|
|
2697
|
+
constructor(e, t) { super(e, t), this._medianRenderer = new s, this._sideRenderer = new s, this._renderer = null; }
|
|
2698
|
+
_updateImpl() { super._updateImpl(), this._renderer = null, 0 !== this._floatPoints.length && (3 === this._floatPoints.length ? (this._medianPoint = this._floatPoints[1].add(this._floatPoints[2]).scaled(.5), this._medianPoint.data = 3) : 2 === this._floatPoints.length ? (this._medianPoint = this._floatPoints[1], this._medianPoint.data = 3) : (this._medianPoint = this._floatPoints[0], this._medianPoint.data = 3), this._updateRenderer()); }
|
|
2699
|
+
_updateRenderer() {
|
|
2700
|
+
if (!(this._floatPoints.length < 2) && this._medianPoint) {
|
|
2701
|
+
var e = this._source.properties(), t = new l, i = { points: [this._floatPoints[0], this._medianPoint], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: e.median.color.value(), linewidth: e.median.linewidth.value(), linestyle: e.median.linestyle.value(), extendleft: e.extendLines.value(), extendright: !0, leftend: h.Normal, rightend: h.Normal };
|
|
2702
|
+
if (this._medianRenderer.setData(i), t.append(this._medianRenderer), this._floatPoints.length < 3)
|
|
2703
|
+
return this.addAnchors(t), void (this._renderer = t);
|
|
2704
|
+
var r = { points: [this._floatPoints[1], this._floatPoints[2]], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: e.median.color.value(), linewidth: e.median.linewidth.value(), linestyle: e.median.linestyle.value(), extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal };
|
|
2705
|
+
this._sideRenderer.setData(r), t.append(this._sideRenderer);
|
|
2706
|
+
for (var n = this._floatPoints[2].subtract(this._floatPoints[1]).scaled(.5), d = this._medianPoint.subtract(this._floatPoints[0]), c = 0, u = e.fillBackground.value(), _ = e.transparency.value(), p = 0; p <= 8; p++) {
|
|
2707
|
+
var f = e["level" + p];
|
|
2708
|
+
if (f.visible.value()) {
|
|
2709
|
+
var g, v, w = this._medianPoint.addScaled(n, f.coeff.value()), x = w.add(d), m = this._medianPoint.addScaled(n, -f.coeff.value()), y = m.add(d);
|
|
2710
|
+
if (u)
|
|
2711
|
+
(g = {}).p1 = w, g.p2 = x, g.p3 = this._medianPoint.addScaled(n, c), g.p4 = g.p3.add(d), g.color = f.color.value(), g.width = this._model.timeScale().width(), g.height = this._source.priceScale().height(), g.transparency = _, g.hittestOnBackground = !0, g.extendLeft = e.extendLines.value(), (v = new a).setData(g), t.append(v), (g = {}).p1 = m, g.p2 = y, g.p3 = this._medianPoint.addScaled(n, -c), g.p4 = g.p3.add(d), g.color = f.color.value(), g.width = this._model.timeScale().width(), g.height = this._source.priceScale().height(), g.transparency = _, g.hittestOnBackground = !0, g.extendLeft = e.extendLines.value(), (v = new a).setData(g), t.append(v);
|
|
2712
|
+
c = f.coeff.value();
|
|
2713
|
+
var b = { points: [w, x], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: f.color.value(), linewidth: f.linewidth.value(), linestyle: f.linestyle.value(), extendleft: e.extendLines.value(), extendright: !0, leftend: h.Normal, rightend: h.Normal }, R = new s;
|
|
2714
|
+
R.setData(b), R.setHitTest(new o(o.MOVEPOINT, null, p)), t.append(R);
|
|
2715
|
+
var T = { points: [m, y], width: this._model.timeScale().width(), height: this._source.priceScale().height(),
|
|
2716
|
+
color: f.color.value(), linewidth: f.linewidth.value(), linestyle: f.linestyle.value(), extendleft: e.extendLines.value(), extendright: !0, leftend: h.Normal, rightend: h.Normal }, S = new s;
|
|
2717
|
+
S.setData(T), S.setHitTest(new o(o.MOVEPOINT, null, p)), t.append(S);
|
|
2718
|
+
}
|
|
2719
|
+
}
|
|
2720
|
+
this.addAnchors(t), this._renderer = t;
|
|
2721
|
+
}
|
|
2722
|
+
}
|
|
2723
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
2724
|
+
}
|
|
2725
|
+
class c extends d {
|
|
2726
|
+
constructor(e, t) { super(e, t), this._backSideRenderer = new s; }
|
|
2727
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
2728
|
+
_updateRenderer() {
|
|
2729
|
+
if (!(this._floatPoints.length < 2)) {
|
|
2730
|
+
this._calcMofifiedBase();
|
|
2731
|
+
var e = this._source.properties(), t = new l, i = { points: [this._floatPoints[0], this._floatPoints[1]], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: e.median.color.value(), linewidth: e.median.linewidth.value(), linestyle: e.median.linestyle.value(), extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal };
|
|
2732
|
+
if (this._backSideRenderer.setData(i), t.append(this._backSideRenderer), !this._medianPoint || !this._modifiedBase)
|
|
2733
|
+
return this.addAnchors(t), void (this._renderer = t);
|
|
2734
|
+
var r = { points: [this._modifiedBase, this._medianPoint], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: e.median.color.value(), linewidth: e.median.linewidth.value(), linestyle: e.median.linestyle.value(), extendleft: e.extendLines.value(), extendright: !0, leftend: h.Normal, rightend: h.Normal };
|
|
2735
|
+
if (this._medianRenderer.setData(r), t.append(this._medianRenderer), this._floatPoints.length < 3)
|
|
2736
|
+
return this.addAnchors(t), void (this._renderer = t);
|
|
2737
|
+
var n = { points: [this._floatPoints[1], this._floatPoints[2]], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: e.median.color.value(), linewidth: e.median.linewidth.value(), linestyle: e.median.linestyle.value(), extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal };
|
|
2738
|
+
this._sideRenderer.setData(n), t.append(this._sideRenderer);
|
|
2739
|
+
for (var d = this._floatPoints[2].subtract(this._floatPoints[1]).scaled(.5), c = this._medianPoint.subtract(this._modifiedBase), u = 0, _ = e.fillBackground.value(), p = e.transparency.value(), f = 0; f <= 8; f++) {
|
|
2740
|
+
var g = e["level" + f];
|
|
2741
|
+
if (g.visible.value()) {
|
|
2742
|
+
var v = this._medianPoint.addScaled(d, g.coeff.value()), w = v.add(c), x = this._medianPoint.addScaled(d, -g.coeff.value()), m = x.add(c);
|
|
2743
|
+
if (_)
|
|
2744
|
+
(i = {}).p1 = v, i.p2 = w, i.p3 = this._medianPoint.addScaled(d, u), i.p4 = i.p3.add(c), i.color = g.color.value(), i.width = this._model.timeScale().width(), i.height = this._source.priceScale().height(), i.transparency = p, i.hittestOnBackground = !0, i.extendLeft = e.extendLines.value(), (R = new a).setData(i), t.append(R), (i = {}).p1 = x, i.p2 = m, i.p3 = this._medianPoint.addScaled(d, -u), i.p4 = i.p3.add(c), i.color = g.color.value(), i.width = this._model.timeScale().width(), i.height = this._source.priceScale().height(), i.transparency = p, i.hittestOnBackground = !0, i.extendLeft = e.extendLines.value(), (R = new a).setData(i), t.append(R);
|
|
2745
|
+
u = g.coeff.value();
|
|
2746
|
+
var y = { points: [v, w], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: g.color.value(), linewidth: g.linewidth.value(), linestyle: g.linestyle.value(),
|
|
2747
|
+
extendleft: e.extendLines.value(), extendright: !0, leftend: h.Normal, rightend: h.Normal }, b = new s;
|
|
2748
|
+
b.setData(y), b.setHitTest(new o(o.MOVEPOINT, null, f)), t.append(b);
|
|
2749
|
+
var R, T = { points: [x, m], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: g.color.value(), linewidth: g.linewidth.value(), linestyle: g.linestyle.value(), extendleft: e.extendLines.value(), extendright: !0, leftend: h.Normal, rightend: h.Normal };
|
|
2750
|
+
(R = new s).setData(T), R.setHitTest(new o(o.MOVEPOINT, null, f)), t.append(R);
|
|
2751
|
+
}
|
|
2752
|
+
}
|
|
2753
|
+
this.addAnchors(t), this._renderer = t;
|
|
2754
|
+
}
|
|
2755
|
+
}
|
|
2756
|
+
_calcMofifiedBase() { this._floatPoints.length > 1 && (this._modifiedBase = this._floatPoints[0].add(this._floatPoints[1]).scaled(.5)); }
|
|
2757
|
+
}
|
|
2758
|
+
t.PitchforkLinePaneView = d, t.SchiffPitchforkLinePaneView = c, t.SchiffPitchfork2LinePaneView = class extends c {
|
|
2759
|
+
_calcMofifiedBase() { if (this._floatPoints.length > 2) {
|
|
2760
|
+
var e = this._floatPoints[0].x, t = .5 * (this._floatPoints[0].y + this._floatPoints[1].y), i = new r(e, t);
|
|
2761
|
+
this._modifiedBase = i;
|
|
2762
|
+
} }
|
|
2763
|
+
}, t.InsidePitchforkLinePaneView = class extends d {
|
|
2764
|
+
constructor(e, t) { super(e, t), this._backSideRenderer = new s, this._centerRenderer = new s; }
|
|
2765
|
+
_updateRenderer() {
|
|
2766
|
+
if (this._floatPoints.length > 1 && (this._modifiedBase = this._floatPoints[0].add(this._floatPoints[1]).scaled(.5)), !(this._floatPoints.length < 2)) {
|
|
2767
|
+
var e = new l;
|
|
2768
|
+
if (this._medianPoint && this._modifiedBase) {
|
|
2769
|
+
var t = this._source.properties();
|
|
2770
|
+
if (3 === this._floatPoints.length) {
|
|
2771
|
+
var i = { points: [this._modifiedBase, this._floatPoints[2]], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: t.median.color.value(), linewidth: t.median.linewidth.value(), linestyle: t.median.linestyle.value(), extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal };
|
|
2772
|
+
this._medianRenderer.setData(i), e.append(this._medianRenderer);
|
|
2773
|
+
}
|
|
2774
|
+
var r = { points: [this._floatPoints[0], this._floatPoints[1]], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: t.median.color.value(), linewidth: t.median.linewidth.value(), linestyle: t.median.linestyle.value(), extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal };
|
|
2775
|
+
if (this._backSideRenderer.setData(r), e.append(this._backSideRenderer), this._floatPoints.length < 3)
|
|
2776
|
+
return this.addAnchors(e), void (this._renderer = e);
|
|
2777
|
+
var n = { points: [this._floatPoints[1], this._floatPoints[2]], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: t.median.color.value(), linewidth: t.median.linewidth.value(), linestyle: t.median.linestyle.value(), extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal };
|
|
2778
|
+
this._sideRenderer.setData(n), e.append(this._sideRenderer);
|
|
2779
|
+
var d = this._floatPoints[2].subtract(this._floatPoints[1]).scaled(.5), c = this._floatPoints[2].subtract(this._modifiedBase), u = 0, _ = t.fillBackground.value(), p = t.transparency.value(), f = { points: [this._medianPoint, this._medianPoint.add(c)], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: t.median.color.value(), linewidth: t.median.linewidth.value(), linestyle: t.median.linestyle.value(), extendleft: t.extendLines.value(), extendright: !0, leftend: h.Normal, rightend: h.Normal };
|
|
2780
|
+
this._centerRenderer.setData(f),
|
|
2781
|
+
e.append(this._centerRenderer);
|
|
2782
|
+
for (var g = 0; g <= 8; g++) {
|
|
2783
|
+
var v = t["level" + g];
|
|
2784
|
+
if (v.visible.value()) {
|
|
2785
|
+
var w = this._medianPoint.addScaled(d, v.coeff.value()), x = w.add(c), m = this._medianPoint.addScaled(d, -v.coeff.value()), y = m.add(c);
|
|
2786
|
+
if (_)
|
|
2787
|
+
(r = {}).p1 = w, r.p2 = x, r.p3 = this._medianPoint.addScaled(d, u), r.p4 = r.p3.add(c), r.color = v.color.value(), r.width = this._model.timeScale().width(), r.height = this._source.priceScale().height(), r.transparency = p, r.hittestOnBackground = !0, r.extendLeft = t.extendLines.value(), (T = new a).setData(r), e.append(T), (r = {}).p1 = m, r.p2 = y, r.p3 = this._medianPoint.addScaled(d, -u), r.p4 = r.p3.add(c), r.color = v.color.value(), r.width = this._model.timeScale().width(), r.height = this._source.priceScale().height(), r.transparency = p, r.hittestOnBackground = !0, r.extendLeft = t.extendLines.value(), (T = new a).setData(r), e.append(T);
|
|
2788
|
+
u = v.coeff.value();
|
|
2789
|
+
var b = { points: [w, x], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: v.color.value(), linewidth: v.linewidth.value(), linestyle: v.linestyle.value(), extendleft: t.extendLines.value(), extendright: !0, leftend: h.Normal, rightend: h.Normal }, R = new s;
|
|
2790
|
+
R.setData(b), R.setHitTest(new o(o.MOVEPOINT, null, g)), e.append(R);
|
|
2791
|
+
var T, S = { points: [m, y], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: v.color.value(), linewidth: v.linewidth.value(), linestyle: v.linestyle.value(), extendleft: t.extendLines.value(), extendright: !0, leftend: h.Normal, rightend: h.Normal };
|
|
2792
|
+
(T = new s).setData(S), T.setHitTest(new o(o.MOVEPOINT, null, g)), e.append(T);
|
|
2793
|
+
}
|
|
2794
|
+
}
|
|
2795
|
+
this.addAnchors(e), this._renderer = e;
|
|
2796
|
+
}
|
|
2797
|
+
else
|
|
2798
|
+
this.addAnchors(e);
|
|
2799
|
+
}
|
|
2800
|
+
}
|
|
2801
|
+
_updateImpl() { super._updateImpl(); }
|
|
2802
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
2803
|
+
};
|
|
2804
|
+
}, cjIn: function (e, t, i) {
|
|
2805
|
+
"use strict";
|
|
2806
|
+
i.r(t), i.d(t, "PaneRendererCachedImage", (function () { return a; }));
|
|
2807
|
+
var r = i("aO4+"), n = i("f6yo"), s = i("VdBB");
|
|
2808
|
+
class a {
|
|
2809
|
+
constructor(e, t) { this._cacheRect = null, this._targetRect = null, this._cacheProvider = e, this._index = t; }
|
|
2810
|
+
draw(e, t) { const i = this._cacheProvider.getCacheRects(t, this._index); if (null === i)
|
|
2811
|
+
return this._cacheRect = null, void (this._targetRect = null); if (this._cacheRect = i.cacheRect, this._targetRect = i.targetRect, 0 === this._cacheRect.width || 0 === this._cacheRect.height || 0 === this._targetRect.width || 0 === this._targetRect.height)
|
|
2812
|
+
return; e.save(), e.setTransform(1, 0, 0, 1, 0, 0); const r = t.pixelRatio, n = this._cacheProvider.getCacheCanvas(t); e.drawImage(n, Math.round(this._cacheRect.left * r), Math.round(this._cacheRect.top * r), this._cacheRect.width * r, this._cacheRect.height * r, Math.round(this._targetRect.left * r), Math.round(this._targetRect.top * r), this._targetRect.width * r, this._targetRect.height * r), e.restore(); }
|
|
2813
|
+
hitTest(e) { if (null === this._targetRect)
|
|
2814
|
+
return null; const t = new r.Point(this._targetRect.left, this._targetRect.top), i = t.add(new r.Point(this._targetRect.width, this._targetRect.height)); return Object(n.pointInBox)(e, Object(r.box)(t, i)) ? new s.HitTestResult(s.HitTestResult.REGULAR) : null; }
|
|
2815
|
+
}
|
|
2816
|
+
}, "ckl+": function (e, t, i) {
|
|
2817
|
+
"use strict";
|
|
2818
|
+
i.r(t), i.d(t, "HorzLinePaneView", (function () { return c; }));
|
|
2819
|
+
var r = i("aO4+"), n = i("VdBB"), s = i("//lt"), a = i("qgcf"), o = i("l4sv"), l = i("Zy3/"), h = i("aB9a");
|
|
2820
|
+
const d = [s.PaneCursorType.VerticalResize];
|
|
2821
|
+
class c extends h.LineSourcePaneView {
|
|
2822
|
+
constructor(e, t) { super(e, t), this._renderer = null, this._labelRenderer = new a.TextRenderer, this._lineRenderer = new o.HorizontalLineRenderer, this._lineRenderer.setHitTest(new n.HitTestResult(n.HitTestResult.MOVEPOINT)); }
|
|
2823
|
+
renderer() { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
2824
|
+
_updateImpl() { if (super._updateImpl(), this._renderer = null, 0 === this._points.length)
|
|
2825
|
+
return; const e = this._source.properties(), t = new l.CompositeRenderer, i = { y: this._points[0].y, color: e.childs().linecolor.value(), linewidth: e.childs().linewidth.value(), linestyle: e.childs().linestyle.value() }; if (this._lineRenderer.setData(i), t.append(this._lineRenderer), e.showLabel.value() && 1 === this._points.length && e.text.value().length > 0) {
|
|
2826
|
+
const i = e.vertLabelsAlign.value(), n = e.horzLabelsAlign.value();
|
|
2827
|
+
let s = 0, a = 0;
|
|
2828
|
+
"left" === n ? a = 3 : "right" === n ? (a = this._model.timeScale().width(), s = 3) : a = this._model.timeScale().width() / 2;
|
|
2829
|
+
const o = { points: [new r.Point(a, this._points[0].y)], text: e.text.value(), color: e.textcolor.value(), vertAlign: i, horzAlign: n, font: e.font.value(), offsetX: s, offsetY: 0, bold: e.bold.value(), italic: e.italic.value(), fontsize: e.fontsize.value(), forceTextAlign: !0 };
|
|
2830
|
+
this._labelRenderer.setData(o), t.append(this._labelRenderer);
|
|
2831
|
+
} if (1 === this._points.length) {
|
|
2832
|
+
const e = this._model.timeScale().width(), i = new r.Point(e / 2, this._points[0].y);
|
|
2833
|
+
i.data = 0, i.square = !0, t.append(this.createLineAnchor({ points: [i], pointsCursorType: d }, 0));
|
|
2834
|
+
} this._renderer = t; }
|
|
2835
|
+
}
|
|
2836
|
+
}, "ct+2": function (e, t, i) {
|
|
2837
|
+
"use strict";
|
|
2838
|
+
i.r(t);
|
|
2839
|
+
var r = i("zDbI"), n = i("aB9a"), s = i("Zy3/"), a = i("vq8G"), o = i("qgcf"), l = i("VdBB"), h = i("f6yo"), d = i("Hr11");
|
|
2840
|
+
class c {
|
|
2841
|
+
constructor() { this._data = null; }
|
|
2842
|
+
setData(e) { this._data = e; }
|
|
2843
|
+
draw(e, t) { if (null !== this._data) {
|
|
2844
|
+
switch (e.save(), e.fillStyle = this._data.color, this._data.direction) {
|
|
2845
|
+
case "up":
|
|
2846
|
+
case "down":
|
|
2847
|
+
!function (e, t, i, r) { const n = Math.max(1, Math.floor(r)) % 2 ? .5 : 0, s = "up" === i ? 1 : -1, a = s * Math.round(12 * r), o = Object(d.ceiledEven)(19.5 * r) / 2 + n, l = s * Math.round(10 * r), h = Object(d.ceiledEven)(10 * r) / 2 + n, c = Math.round(t.x * r) + n, u = Math.round(t.y * r); e.beginPath(), e.moveTo(c, u), e.lineTo(c + o, u + a), e.lineTo(c + h, u + a), e.lineTo(c + h, u + a + l), e.lineTo(c - h, u + a + l), e.lineTo(c - h, u + a), e.lineTo(c - o, u + a), e.moveTo(c, u), e.fill(); }(e, this._data.point, this._data.direction, t.pixelRatio);
|
|
2848
|
+
break;
|
|
2849
|
+
case "left":
|
|
2850
|
+
case "right": !function (e, t, i, r) { const n = Math.max(1, Math.floor(r)) % 2 ? .5 : 0, s = "left" === i ? 1 : -1, a = s * Math.round(12 * r) + n, o = Object(d.ceiledEven)(19.5 * r) / 2 + n, l = s * Math.round(22 * r) + n, h = Object(d.ceiledEven)(10 * r) / 2 + n, c = Math.round(t.x * r) + n, u = Math.round(t.y * r) + n; e.beginPath(), e.moveTo(c, u), e.lineTo(c + a, u + o), e.lineTo(c + a, u + h), e.lineTo(c + l, u + h), e.lineTo(c + l, u - h), e.lineTo(c + a, u - h), e.lineTo(c + a, u - o), e.moveTo(c, u), e.fill(); }(e, this._data.point, this._data.direction, t.pixelRatio);
|
|
2851
|
+
}
|
|
2852
|
+
e.restore();
|
|
2853
|
+
} }
|
|
2854
|
+
hitTest(e) {
|
|
2855
|
+
if (null === this._data)
|
|
2856
|
+
return null;
|
|
2857
|
+
let t, i, r, n;
|
|
2858
|
+
switch (this._data.direction) {
|
|
2859
|
+
case "up":
|
|
2860
|
+
t = this._data.point.x - 9.75, r = t + 19.5, i = this._data.point.y, n = i + 12 + 10;
|
|
2861
|
+
break;
|
|
2862
|
+
case "down":
|
|
2863
|
+
t = this._data.point.x - 9.75, r = t + 19.5, n = this._data.point.y, i = n - 12 - 10;
|
|
2864
|
+
break;
|
|
2865
|
+
case "left":
|
|
2866
|
+
t = this._data.point.x, r = t + 12 + 10, i = this._data.point.y - 9.75, n = i + 19.5;
|
|
2867
|
+
break;
|
|
2868
|
+
case "right": r = this._data.point.x, t = r - 12 - 10, i = this._data.point.y - 9.75, n = i + 19.5;
|
|
2869
|
+
}
|
|
2870
|
+
return e.x < t || e.x > r || e.y < i || e.y > n ? null : new l.HitTestResult(l.HitTestResult.MOVEPOINT);
|
|
2871
|
+
}
|
|
2872
|
+
doesIntersectWithBox(e) { return null !== this._data && Object(h.pointInBox)(this._data.point, e); }
|
|
2873
|
+
}
|
|
2874
|
+
i.d(t, "ArrowMarkPaneView", (function () { return u; }));
|
|
2875
|
+
class u extends n.LineSourcePaneView {
|
|
2876
|
+
constructor() { super(...arguments), this._arrowMarkRenderer = new c, this._textRenderer = new o.TextRenderer, this._renderer = null, this._anchorsOffset = null; }
|
|
2877
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
2878
|
+
_updateImpl() { if (super._updateImpl(), this._renderer = null, 1 !== this._points.length)
|
|
2879
|
+
return; const e = this._getSource(), t = e.properties().childs(), i = this._getModel(); this._arrowMarkRenderer.setData({ point: this._points[0], direction: e.direction(), color: t.arrowColor.value() }), this._renderer = new s.CompositeRenderer, this._renderer.append(this._arrowMarkRenderer), "" !== t.text.value() && t.showLabel.value() && (this._textRenderer.setData(Object.assign({ points: this._points, font: r.CHART_FONT_FAMILY, bold: t.bold.value(), italic: t.italic.value(), fontSize: t.fontsize.value(), text: t.text.value(), color: t.color.value() }, e.textAlignParams())), this._renderer.append(this._textRenderer)); const n = [this._anchorsOffset ? this._points[0].add(this._anchorsOffset) : this._points[0].clone()]; this._renderer.append(new a.SelectionRenderer({ points: n, bgColors: this._lineAnchorColors(n), visible: this.areAnchorsVisible(), barSpacing: i.timeScale().barSpacing(), hittestResult: l.HitTestResult.MOVEPOINT })); }
|
|
2880
|
+
}
|
|
2881
|
+
}, d1Pk: function (e, t, i) {
|
|
2882
|
+
"use strict";
|
|
2883
|
+
i.r(t), i.d(t, "fibLevelCoordinate", (function () { return n; })), i.d(t, "fibLevelPrice", (function () { return s; }));
|
|
2884
|
+
var r = i("Eyy1");
|
|
2885
|
+
function n(e, t, i, n, s, a) { if (a)
|
|
2886
|
+
return Math.round(Object(r.ensureDefined)(e.coordinate) + Object(r.ensureDefined)(t.coordinate) * i); const o = e.price + t.price * i; return n.priceToCoordinate(o, s); }
|
|
2887
|
+
function s(e, t, i, n, s, a) { if (!a)
|
|
2888
|
+
return e.price + t.price * i; const o = Object(r.ensureDefined)(e.coordinate) + Object(r.ensureDefined)(t.coordinate) * i; return n.coordinateToPrice(o, s); }
|
|
2889
|
+
}, dKqZ: function (e, t, i) {
|
|
2890
|
+
"use strict";
|
|
2891
|
+
var r = i("aO4+").Point, n = i("GEp6").distanceToLine, s = i("hfHJ"), a = s.rotationMatrix, o = s.scalingMatrix, l = s.translationMatrix, h = s.transformPoint, d = i("aB9a").LineSourcePaneView, c = i("aB9a").thirdPointCursorType, u = i("VdBB").HitTestResult, _ = i("Zy3/").CompositeRenderer, p = i("Tmoa"), f = i("cPgM").ScaledPaneRenderer, g = i("//lt").PaneCursorType;
|
|
2892
|
+
class v extends f {
|
|
2893
|
+
constructor() { super(), this._data = null; }
|
|
2894
|
+
setData(e) { this._data = e, this._data.angleFrom = 0, this._data.angleTo = Math.PI, this._data.clockwise = !1; }
|
|
2895
|
+
_drawImpl(e) {
|
|
2896
|
+
if (!(null === this._data || this._data.points.length < 2)) {
|
|
2897
|
+
var t = this._data.points[0], i = this._data.points[1];
|
|
2898
|
+
if (this._data.points.length < 3)
|
|
2899
|
+
return e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, e.beginPath(), e.moveTo(t.x, t.y), e.lineTo(i.x, i.y), void e.stroke();
|
|
2900
|
+
var s = this._data.points[2], d = n(t, i, s).distance;
|
|
2901
|
+
if (d < 1)
|
|
2902
|
+
return e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, e.beginPath(), e.moveTo(t.x, t.y), e.lineTo(i.x, i.y), void e.stroke();
|
|
2903
|
+
var c = i.subtract(t), u = t.add(i).scaled(.5), _ = new r(-c.y, c.x);
|
|
2904
|
+
_ = _.normalized(), s = u.add(_.scaled(d)), e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth;
|
|
2905
|
+
var f = c.length(), g = c.x / f, v = c.y / f, w = Math.acos(g);
|
|
2906
|
+
v < 0 && (w = -w);
|
|
2907
|
+
var x = this._data.points[2], m = l(-u.x, -u.y);
|
|
2908
|
+
x = h(m, x), m = a(-w), x = h(m, x), m = o(1, f / (2 * d)), (x = h(m, x)).y < 0 ? this._data.clockwise = !0 : this._data.clockwise = !1, e.save(), e.beginPath(), e.translate(t.x, t.y), e.rotate(w);
|
|
2909
|
+
var y = 1 - Math.sqrt(3) / 2;
|
|
2910
|
+
e.scale(1, d / (f * y)), this._data.clockwise ? e.arc(.5 * f, f * Math.sqrt(3) / 2, f, -2 * Math.PI / 3, -Math.PI / 3, !1) : e.arc(.5 * f, -f * Math.sqrt(3) / 2, f, Math.PI / 3, 2 * Math.PI / 3, !1), e.restore(), e.stroke(), this._data.fillBackground && (e.fillStyle = p.generateColor(this._data.backcolor, this._data.transparency), e.fill());
|
|
2911
|
+
}
|
|
2912
|
+
}
|
|
2913
|
+
hitTest(e) { if (null === this._data || this._data.points.length < 3)
|
|
2914
|
+
return null; var t = this._data.points[0], i = this._data.points[1], s = this._data.points[2], d = n(t, i, s).distance; if (d < 1)
|
|
2915
|
+
return (d = n(t, i, e).distance) < 5 ? new u(u.MOVEPOINT) : null; var c = i.subtract(t), _ = c.length(), p = t.add(i).scaled(.5), f = s.subtract(p); f = f.normalized(), s = p.add(f.scaled(d)); var g = c.x / _, v = c.y / _, w = Math.acos(g); v < 0 && (w = -w); var x = l(-t.x, -t.y); e = h(x, e), x = a(-w), e = h(x, e), f = h(x, f); var m, y = 1 - Math.sqrt(3) / 2; if (x = o(1, _ * y / d), e = h(x, e), f = h(x, f), e.y * f.y < 0)
|
|
2916
|
+
return null; m = e.y < 0 ? new r(.5 * _, _ * Math.sqrt(3) / 2) : new r(.5 * _, -_ * Math.sqrt(3) / 2); var b = e.subtract(m).length(); return Math.abs(b - _) <= 5 ? new u(u.MOVEPOINT) : null; }
|
|
2917
|
+
}
|
|
2918
|
+
t.ArcPaneView = class extends d {
|
|
2919
|
+
constructor(e, t) { super(e, t), this._arcRenderer = new v, this._renderer = null; }
|
|
2920
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
2921
|
+
_updateImpl() { if (super._updateImpl(), this._renderer = null, 0 !== this._points.length) {
|
|
2922
|
+
var e = {};
|
|
2923
|
+
e.points = this._points, e.color = this._source.properties().color.value(), e.linewidth = this._source.properties().linewidth.value(), e.backcolor = this._source.properties().backgroundColor.value(), e.fillBackground = this._source.properties().fillBackground.value(), e.transparency = this._source.properties().transparency.value(), this._arcRenderer.setData(e);
|
|
2924
|
+
var t = new _;
|
|
2925
|
+
this._renderer = t, t.append(this._arcRenderer);
|
|
2926
|
+
var i = [], s = e.points[0], d = new r(s.x, s.y);
|
|
2927
|
+
if (d.data = 0, i.push(d), 1 !== e.points.length) {
|
|
2928
|
+
var u = e.points[1], p = new r(u.x, u.y);
|
|
2929
|
+
if (p.data = 1, 2 !== e.points.length) {
|
|
2930
|
+
i.push(p);
|
|
2931
|
+
var f = e.points[2], v = n(s, u, f).distance, w = u.subtract(s), x = s.add(u).scaled(.5), m = new r(-w.y, w.x);
|
|
2932
|
+
m = m.normalized(), f = x.add(m.scaled(v));
|
|
2933
|
+
var y = x.add(m.scaled(-v)), b = w.length(), R = w.x / b, T = w.y / b, S = Math.acos(R);
|
|
2934
|
+
T < 0 && (S = -S);
|
|
2935
|
+
var P = e.points[2], L = l(-x.x, -x.y);
|
|
2936
|
+
P = h(L, P), L = a(-S), P = h(L, P), L = o(1, b / (2 * v));
|
|
2937
|
+
var C = (P = h(L, P)).y >= 0 ? new r(f.x, f.y) : new r(y.x, y.y);
|
|
2938
|
+
C.data = 2, i.push(C);
|
|
2939
|
+
var M = [g.Default, g.Default, c(s, u)];
|
|
2940
|
+
t.append(this.createLineAnchor({ points: i, pointsCursorType: M }, 0));
|
|
2941
|
+
}
|
|
2942
|
+
else
|
|
2943
|
+
this.addAnchors(t);
|
|
2944
|
+
}
|
|
2945
|
+
} }
|
|
2946
|
+
};
|
|
2947
|
+
}, dMkl: function (e, t, i) {
|
|
2948
|
+
"use strict";
|
|
2949
|
+
var r = i("Hr11"), n = i("aB9a").LineSourcePaneView, s = i("pJOz").TrendLineRenderer, a = i("VdBB").HitTestResult, o = i("/hKg").PaneRendererCandles, l = i("Zy3/").CompositeRenderer, h = i("a7Ha").LineEnd, d = i("Zp/P");
|
|
2950
|
+
t.GhostFeedPaneView = class extends n {
|
|
2951
|
+
constructor(e, t) { super(e, t), this._renderer = null; }
|
|
2952
|
+
_udpateImpl() {
|
|
2953
|
+
super._updateImpl(),
|
|
2954
|
+
this._renderer = null;
|
|
2955
|
+
var e = this;
|
|
2956
|
+
if (this._segments = [], !(e._points.length < 2)) {
|
|
2957
|
+
this._segments = this._source.segments().map((function (t, i) { var n = e._source.points(); if (i >= e._points.length - 1)
|
|
2958
|
+
return null; var s = e._points[i].x, a = n[i].price, o = n[i + 1].price, l = n[i + 1].index - n[i].index, h = e._model.timeScale().barSpacing() * r.sign(l), d = (o - a) / (t.bars().length - 1), c = e._source.properties(), u = c.candleStyle.upColor.value(), _ = c.candleStyle.downColor.value(), p = c.candleStyle.borderUpColor.value(), f = c.candleStyle.borderDownColor.value(); return { bars: t.bars().map((function (t, i) { var r = t.c >= t.o; return { time: s + i * h, open: e.priceToCoordinate(t.o + a + i * d), high: e.priceToCoordinate(t.h + a + i * d), low: e.priceToCoordinate(t.l + a + i * d), close: e.priceToCoordinate(t.c + a + i * d), color: r ? u : _, borderColor: r ? p : f, hollow: !1 }; })) }; })).filter((function (e) { return !!e; }));
|
|
2959
|
+
for (var t = new l, i = 1; i < this._points.length; i++) {
|
|
2960
|
+
var n = { points: [this._points[i - 1], this._points[i]], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: "#808080", linewidth: 1, linestyle: CanvasEx.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: h.Normal, rightend: h.Normal }, c = new s;
|
|
2961
|
+
c.setData(n), c.setHitTest(new a(a.MOVEPOINT, null)), t.append(c);
|
|
2962
|
+
}
|
|
2963
|
+
var u = this._source.properties(), _ = u.candleStyle.drawWick.value(), p = u.candleStyle.drawBorder.value(), f = u.candleStyle.borderColor.value(), g = u.candleStyle.wickColor.value(), v = new l;
|
|
2964
|
+
v.setGlobalAlpha(1 - u.transparency.value() / 100);
|
|
2965
|
+
var w = this._model.timeScale().barSpacing();
|
|
2966
|
+
for (i = 0; i < this._segments.length; i++) {
|
|
2967
|
+
var x = { bars: this._segments[i].bars, barSpacing: w, wickVisible: _, bodyVisible: !0, borderVisible: p, borderColor: f, wickColor: g, barWidth: d.optimalBarWidth(w), hittest: new a(a.MOVEPOINT, null) };
|
|
2968
|
+
v.append(new o(x));
|
|
2969
|
+
}
|
|
2970
|
+
t.append(v), this.addAnchors(t), this._renderer = t;
|
|
2971
|
+
}
|
|
2972
|
+
}
|
|
2973
|
+
renderer(e, t) { return this._invalidated && this._udpateImpl(), this._renderer; }
|
|
2974
|
+
};
|
|
2975
|
+
}, e9yB: function (e, t, i) {
|
|
2976
|
+
"use strict";
|
|
2977
|
+
i.d(t, "c", (function () { return c; })), i.d(t, "b", (function () { return u; })), i.d(t, "a", (function () { return _; }));
|
|
2978
|
+
var r = i("GEp6"), n = i("cPgM"), s = i("a7Ha"), a = i("jFln"), o = i("VdBB"), l = i("2hKl"), h = i("pJOz"), d = i("Zp/P");
|
|
2979
|
+
function c(e, t, i) { for (const n of i)
|
|
2980
|
+
for (let i = 1; i < n.length; i++) {
|
|
2981
|
+
const s = n[i - 1], a = n[i];
|
|
2982
|
+
if (Object(r.distanceToSegment)(s, a, e).distance < t)
|
|
2983
|
+
return new o.HitTestResult(o.HitTestResult.MOVEPOINT);
|
|
2984
|
+
} return null; }
|
|
2985
|
+
function u(e, t) { for (let i = 0; i < t.length; i++) {
|
|
2986
|
+
const r = t[i], n = r[0];
|
|
2987
|
+
e.moveTo(n.x, n.y);
|
|
2988
|
+
for (let t = 1; t < r.length; t++) {
|
|
2989
|
+
const i = r[t];
|
|
2990
|
+
e.lineTo(i.x, i.y);
|
|
2991
|
+
}
|
|
2992
|
+
} }
|
|
2993
|
+
class _ extends n.ScaledPaneRenderer {
|
|
2994
|
+
constructor(e) { super(), this._data = e || null; }
|
|
2995
|
+
setData(e) { this._data = e; }
|
|
2996
|
+
hitTest(e, t) { if (null !== this._data && 3 === this._data.points.length) {
|
|
2997
|
+
const t = Object(d.interactionTolerance)().curve, [i, r, n] = this._data.points, s = r.subtract(i), a = n.subtract(s.scaled(.25)), h = n.add(s.scaled(.25));
|
|
2998
|
+
if (Object(l.c)(n, i, a, e, t) || Object(l.c)(n, r, h, e, t))
|
|
2999
|
+
return new o.HitTestResult(o.HitTestResult.MOVEPOINT);
|
|
3000
|
+
let u = c(e, t, this._data.extendLeftSegments);
|
|
3001
|
+
return null === u && (u = c(e, t, this._data.extendRightSegments)), u;
|
|
3002
|
+
} return null; }
|
|
3003
|
+
_drawImpl(e, t) {
|
|
3004
|
+
if (null === this._data)
|
|
3005
|
+
return;
|
|
3006
|
+
const [i, r, n] = this._data.points;
|
|
3007
|
+
if (e.lineCap = "butt", e.strokeStyle = this._data.color,
|
|
3008
|
+
e.lineWidth = this._data.lineWidth, Object(a.setLineStyle)(e, this._data.lineStyle), 2 === this._data.points.length)
|
|
3009
|
+
e.beginPath(), e.moveTo(i.x, i.y), e.lineTo(r.x, r.y), e.stroke();
|
|
3010
|
+
else {
|
|
3011
|
+
const a = r.subtract(i), o = n.subtract(a.scaled(.25)), l = n.add(a.scaled(.25));
|
|
3012
|
+
this._data.fillBack && this._data.points.length > 2 && (e.fillStyle = this._data.backColor, e.beginPath(), e.moveTo(i.x, i.y), e.quadraticCurveTo(o.x, o.y, n.x, n.y), e.quadraticCurveTo(l.x, l.y, r.x, r.y), e.fill()), e.beginPath(), u(e, this._data.extendLeftSegments), e.moveTo(i.x, i.y), e.quadraticCurveTo(o.x, o.y, n.x, n.y), e.quadraticCurveTo(l.x, l.y, r.x, r.y), u(e, this._data.extendRightSegments), e.stroke(), this._data.leftEnd === s.LineEnd.Arrow && Object(h.drawArrow)(o, i, e, e.lineWidth, t.pixelRatio), this._data.rightEnd === s.LineEnd.Arrow && Object(h.drawArrow)(l, r, e, e.lineWidth, t.pixelRatio);
|
|
3013
|
+
}
|
|
3014
|
+
}
|
|
3015
|
+
}
|
|
3016
|
+
}, eg8N: function (e, t, i) {
|
|
3017
|
+
"use strict";
|
|
3018
|
+
var r = i("aO4+").Point, n = i("aB9a").LineSourcePaneView, s = i("qgcf").TextRenderer, a = i("IjC5").RectangleRenderer, o = i("pJOz").TrendLineRenderer, l = i("Zy3/").CompositeRenderer, h = i("zXvd").NumericFormatter, d = i("a7Ha").LineEnd;
|
|
3019
|
+
t.GannSquarePaneView = class extends n {
|
|
3020
|
+
constructor(e, t) { super(e, t), this._numericFormatter = new h, this._renderer = null; }
|
|
3021
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
3022
|
+
_updateImpl() {
|
|
3023
|
+
if (super._updateImpl(), this._renderer = null, !(this._source.points().length < 2) && this._source.priceScale() && !this._source.priceScale().isEmpty() && !this._model.timeScale().isEmpty()) {
|
|
3024
|
+
var e = this._source.points()[0], t = this._source.points()[1], i = (L = this._source.properties()).reverse && L.reverse.value();
|
|
3025
|
+
this._hlevels = [];
|
|
3026
|
+
for (var n = i ? e.price - t.price : t.price - e.price, h = i ? t.price : e.price, c = this._source.ownerSource().firstValue(), u = 1; u <= 7; u++) {
|
|
3027
|
+
if ((x = L["hlevel" + u]).visible.value()) {
|
|
3028
|
+
var _ = x.coeff.value(), p = x.color.value(), f = h + _ * n, g = this._source.priceScale().priceToCoordinate(f, c);
|
|
3029
|
+
this._hlevels.push({ coeff: _, color: p, y: g });
|
|
3030
|
+
}
|
|
3031
|
+
}
|
|
3032
|
+
this._vlevels = [];
|
|
3033
|
+
var v = i ? e.index - t.index : t.index - e.index, w = i ? t.index : e.index;
|
|
3034
|
+
for (u = 1; u <= 7; u++) {
|
|
3035
|
+
var x;
|
|
3036
|
+
if ((x = L["vlevel" + u]).visible.value()) {
|
|
3037
|
+
_ = x.coeff.value(), p = x.color.value();
|
|
3038
|
+
var m = Math.round(w + _ * v), y = this._model.timeScale().indexToCoordinate(m);
|
|
3039
|
+
this._vlevels.push({ coeff: _, color: p, x: y });
|
|
3040
|
+
}
|
|
3041
|
+
}
|
|
3042
|
+
if (this._hfans = [], this._vfans = [], L.fans.visible.value())
|
|
3043
|
+
for (u = 1; u <= 7; u++) {
|
|
3044
|
+
m = Math.round(w + L["hlevel" + u].coeff.value() * v), f = h + L["vlevel" + u].coeff.value() * n;
|
|
3045
|
+
this._hfans.push(this._model.timeScale().indexToCoordinate(m)), this._vfans.push(this._source.priceScale().priceToCoordinate(f, c));
|
|
3046
|
+
}
|
|
3047
|
+
var b = new l;
|
|
3048
|
+
if (this._points.length < 2)
|
|
3049
|
+
return this.addAnchors(b), void (this._renderer = b);
|
|
3050
|
+
e = this._points[0], t = this._points[1];
|
|
3051
|
+
var R = Math.min(e.x, t.x), T = Math.min(e.y, t.y), S = Math.max(e.x, t.x), P = Math.max(e.y, t.y), L = this._source.properties(), C = this._source.properties().fillHorzBackground.value(), M = this._source.properties().horzTransparency.value(), I = this._source.properties().fillVertBackground.value(), O = this._source.properties().vertTransparency.value();
|
|
3052
|
+
for (u = 0; u < this._hlevels.length; u++) {
|
|
3053
|
+
if (u > 0 && C) {
|
|
3054
|
+
var N = this._hlevels[u - 1];
|
|
3055
|
+
e = new r(R, this._hlevels[u].y), t = new r(S, N.y);
|
|
3056
|
+
(A = {}).points = [e, t],
|
|
3057
|
+
A.color = this._hlevels[u].color, A.linewidth = 0, A.backcolor = this._hlevels[u].color, A.fillBackground = !0, A.transparency = M, A.extendLeft = !1, A.extendRight = !1, (z = new a(void 0, void 0, !0)).setData(A), b.append(z);
|
|
3058
|
+
}
|
|
3059
|
+
var D = { points: [e = new r(R, this._hlevels[u].y), t = new r(S, this._hlevels[u].y)], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: this._hlevels[u].color, linewidth: L.linewidth.value(), linestyle: L.linestyle.value(), extendleft: !1, extendright: !1, leftend: d.Normal, rightend: d.Normal };
|
|
3060
|
+
if ((z = new o).setData(D), b.append(z), L.showLeftLabels.value()) {
|
|
3061
|
+
var B = { points: [e], text: this._numericFormatter.format(this._hlevels[u].coeff), color: this._hlevels[u].color, vertAlign: "middle", horzAlign: "right", font: L.font.value(), offsetX: 5, offsetY: 0, fontsize: 12, forceTextAlign: !0 };
|
|
3062
|
+
b.append(new s(B));
|
|
3063
|
+
}
|
|
3064
|
+
if (L.showRightLabels.value()) {
|
|
3065
|
+
var k = { points: [t], text: this._numericFormatter.format(this._hlevels[u].coeff), color: this._hlevels[u].color, vertAlign: "middle", horzAlign: "left", font: L.font.value(), offsetX: 5, offsetY: 0, fontsize: 12 };
|
|
3066
|
+
b.append(new s(k));
|
|
3067
|
+
}
|
|
3068
|
+
}
|
|
3069
|
+
for (u = 0; u < this._vlevels.length; u++) {
|
|
3070
|
+
e = new r(this._vlevels[u].x, T), t = new r(this._vlevels[u].x, P);
|
|
3071
|
+
if (u > 0 && I) {
|
|
3072
|
+
N = this._vlevels[u - 1];
|
|
3073
|
+
var A, E = new r(N.x, T);
|
|
3074
|
+
(A = {}).points = [E, t], A.color = this._vlevels[u].color, A.linewidth = 0, A.backcolor = this._vlevels[u].color, A.fillBackground = !0, A.transparency = O, A.extendLeft = !1, A.extendRight = !1, (z = new a(void 0, void 0, !0)).setData(A), b.append(z);
|
|
3075
|
+
}
|
|
3076
|
+
var z;
|
|
3077
|
+
D = { points: [e, t], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: this._vlevels[u].color, linewidth: L.linewidth.value(), linestyle: L.linestyle.value(), extendleft: !1, extendright: !1, leftend: d.Normal, rightend: d.Normal };
|
|
3078
|
+
if ((z = new o).setData(D), b.append(z), L.showTopLabels.value()) {
|
|
3079
|
+
var j = { points: [e], text: this._numericFormatter.format(this._vlevels[u].coeff), color: this._vlevels[u].color, vertAlign: "bottom", horzAlign: "center", font: L.font.value(), offsetX: 0, offsetY: 3, fontsize: 12 };
|
|
3080
|
+
b.append(new s(j));
|
|
3081
|
+
}
|
|
3082
|
+
if (L.showBottomLabels.value()) {
|
|
3083
|
+
var V = { points: [t], text: this._numericFormatter.format(this._vlevels[u].coeff), color: this._vlevels[u].color, vertAlign: "top", horzAlign: "center", font: L.font.value(), offsetX: 0, offsetY: 5, fontsize: 12 };
|
|
3084
|
+
b.append(new s(V));
|
|
3085
|
+
}
|
|
3086
|
+
}
|
|
3087
|
+
var H = this;
|
|
3088
|
+
W(b, this._hfans, !0), W(b, this._vfans, !1), this.addAnchors(b), this._renderer = b;
|
|
3089
|
+
}
|
|
3090
|
+
function W(e, t, i) { var n = new r(R, T), s = new r(S, T), a = new r(R, P), l = new r(S, P), h = { width: H._model.timeScale().width(), height: H._source.priceScale().height(), color: L.fans.color.value(), linewidth: L.linewidth.value(), linestyle: L.linestyle.value(), extendleft: !1, extendright: !1, leftend: d.Normal, rightend: d.Normal }; function c(t) { var i = new o; i.setData(Object.assign({}, h, { points: t })), e.append(i); } for (var u = 0; u < t.length; ++u) {
|
|
3091
|
+
var _ = i ? P : t[u], p = i ? T : t[u], f = i ? t[u] : R, g = i ? t[u] : S, v = new r(g, _), w = new r(f, _), x = new r(g, p), m = new r(f, p);
|
|
3092
|
+
c([a, x]), c([l, m]), c([n, v]), c([s, w]);
|
|
3093
|
+
} }
|
|
3094
|
+
}
|
|
3095
|
+
};
|
|
3096
|
+
}, f2d2: function (e, t) {
|
|
3097
|
+
e.exports = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill="#00ACEE" d="M23.5 12a11.5 11.5 0 1 1-23 0 11.5 11.5 0 0 1 23 0z"/><path fill="#fff" d="M17.82 8.47c-.42.18-.86.3-1.34.37.48-.3.85-.75 1.03-1.3-.45.27-.95.47-1.48.57a2.33 2.33 0 0 0-3.97 2.13 6.61 6.61 0 0 1-4.8-2.44 2.33 2.33 0 0 0 .72 3.11 2.32 2.32 0 0 1-1.06-.29v.03c0 1.13.8 2.07 1.87 2.29a2.35 2.35 0 0 1-1.05.04c.3.92 1.16 1.6 2.18 1.61a4.67 4.67 0 0 1-3.45.97 6.59 6.59 0 0 0 3.57 1.04 6.58 6.58 0 0 0 6.62-6.92c.45-.33.85-.74 1.16-1.2v-.01z"/></svg>';
|
|
3098
|
+
}, gr7S: function (e, t, i) {
|
|
3099
|
+
"use strict";
|
|
3100
|
+
var r = i("aB9a").LineSourcePaneView, n = i("wacn").DisjointChannelRenderer, s = i("pJOz").TrendLineRenderer, a = i("qgcf").TextRenderer, o = i("Zy3/").CompositeRenderer;
|
|
3101
|
+
t.FlatBottomPaneView = class extends r {
|
|
3102
|
+
constructor(e, t) { super(e, t), this._label1 = null, this._label2 = null, this._trendLineRendererPoints12 = new s, this._trendLineRendererPoints43 = new s, this._disjointChannelRenderer = new n, this._p1LabelRenderer = new a, this._p2LabelRenderer = new a, this._p3LabelRenderer = new a, this._p4LabelRenderer = new a, this._renderer = null; }
|
|
3103
|
+
_updateImpl() {
|
|
3104
|
+
if (super._updateImpl(), this._renderer = null, this._label1 = null, this._label2 = null, !(this._source.points().length < 2) && this._source.priceScale()) {
|
|
3105
|
+
var e = this._source.points()[0], t = this._source.points()[1], i = this._source.ownerSource().firstValue();
|
|
3106
|
+
if (this._price1 = this._source.priceScale().formatPrice(e.price, i), this._price2 = this._source.priceScale().formatPrice(t.price, i), 3 === this._source.points().length) {
|
|
3107
|
+
var r = this._source.points()[2];
|
|
3108
|
+
this._price3 = this._source.priceScale().formatPrice(r.price, i);
|
|
3109
|
+
}
|
|
3110
|
+
if (!(this._points.length < 2)) {
|
|
3111
|
+
var n, s = new o, a = (e = this._points[0], t = this._points[1], this._source.properties()), l = this._model, h = this._source;
|
|
3112
|
+
if (3 === this._points.length && ((r = this._points[2]).x = t.x, (n = e.clone()).y = r.y, n.data = 3, a.fillBackground.value())) {
|
|
3113
|
+
var d = l.timeScale().width(), c = h.priceScale().height(), u = a.extendLeft.value(), _ = a.extendRight.value();
|
|
3114
|
+
this._disjointChannelRenderer.setData({ width: d, height: c, extendleft: u, extendright: _, points: [e, t, r, n], backcolor: a.backgroundColor.value(), transparency: a.transparency.value(), hittestOnBackground: TradingView.isMobile.any() }), s.append(this._disjointChannelRenderer);
|
|
3115
|
+
}
|
|
3116
|
+
var p = function (e, t) { return { points: [e, t], width: l.timeScale().width(), height: h.priceScale().height(), color: a.linecolor.value(), linewidth: a.linewidth.value(), linestyle: a.linestyle.value(), extendleft: a.extendLeft.value(), extendright: a.extendRight.value(), leftend: a.leftEnd.value(), rightend: a.rightEnd.value() }; };
|
|
3117
|
+
if (this._trendLineRendererPoints12.setData(p(e, t)), s.append(this._trendLineRendererPoints12), 2 === this._points.length)
|
|
3118
|
+
return this.addAnchors(s), void (this._renderer = s);
|
|
3119
|
+
var f = this, g = function (e, t, i, r, n, a) {
|
|
3120
|
+
if (f._source.properties().showPrices.value()) {
|
|
3121
|
+
var o = { points: [i], text: n, color: f._source.properties().textcolor.value(), horzAlign: i.x > r.x ? "left" : "right", vertAlign: "middle", font: f._source.properties().font.value(), offsetX: 6, offsetY: 0, boxPadding: 0, bold: f._source.properties().bold.value(), italic: f._source.properties().italic.value(),
|
|
3122
|
+
fontsize: f._source.properties().fontsize.value(), forceTextAlign: !0 };
|
|
3123
|
+
e.setData(o), s.append(e);
|
|
3124
|
+
o = { points: [r], text: a, color: f._source.properties().textcolor.value(), horzAlign: i.x < r.x ? "left" : "right", vertAlign: "middle", font: f._source.properties().font.value(), offsetX: 6, offsetY: 0, boxPadding: 0, bold: f._source.properties().bold.value(), italic: f._source.properties().italic.value(), fontsize: f._source.properties().fontsize.value(), forceTextAlign: !0 };
|
|
3125
|
+
t.setData(o), s.append(t);
|
|
3126
|
+
}
|
|
3127
|
+
};
|
|
3128
|
+
g(this._p1LabelRenderer, this._p2LabelRenderer, e, t, this._price1, this._price2), this._trendLineRendererPoints43.setData(p(n, r)), s.append(this._trendLineRendererPoints43), g(this._p3LabelRenderer, this._p4LabelRenderer, r, n, this._price3, this._price3);
|
|
3129
|
+
var v = [e, t, r, n];
|
|
3130
|
+
this._model.lineBeingCreated() === this._source && v.pop(), s.append(this.createLineAnchor({ points: v }, 0)), this._renderer = s;
|
|
3131
|
+
}
|
|
3132
|
+
}
|
|
3133
|
+
}
|
|
3134
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
3135
|
+
};
|
|
3136
|
+
}, hzaj: function (e, t, i) {
|
|
3137
|
+
"use strict";
|
|
3138
|
+
i.d(t, "a", (function () { return h; }));
|
|
3139
|
+
var r = i("aO4+"), n = i("BCbF"), s = i("vq8G"), a = i("Zy3/"), o = i("VdBB"), l = i("aB9a");
|
|
3140
|
+
class h extends l.LineSourcePaneView {
|
|
3141
|
+
constructor() { super(...arguments), this._polygonRenderer = new n.PolygonRenderer(null), this._renderer = new a.CompositeRenderer; }
|
|
3142
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
3143
|
+
_updateImpl() { super._updateImpl(); const e = Math.max(1, this._source.smooth()), t = this._points; if (0 === t.length)
|
|
3144
|
+
return void this._renderer.clear(); const i = [t[0]]; for (let r = 1; r < t.length; r++) {
|
|
3145
|
+
const n = t[r].subtract(t[r - 1]), s = n.length(), a = Math.min(5, Math.floor(s / e)), o = n.normalized().scaled(s / a);
|
|
3146
|
+
for (let e = 0; e < a - 1; e++)
|
|
3147
|
+
i.push(t[r - 1].add(o.scaled(e)));
|
|
3148
|
+
i.push(t[r]);
|
|
3149
|
+
} this._points = this._smoothArray(i, e); const r = this._createPolygonRendererData(); if (this._polygonRenderer.setData(r), this._renderer = new a.CompositeRenderer, this._renderer.append(this._polygonRenderer), this._source.finished()) {
|
|
3150
|
+
const e = r.points.length;
|
|
3151
|
+
if (e > 0) {
|
|
3152
|
+
const t = 1 !== e ? [r.points[0], r.points[e - 1]] : [r.points[0]], i = new s.SelectionRenderer({ points: t, bgColors: this._lineAnchorColors(t), visible: this.areAnchorsVisible(), hittestResult: o.HitTestResult.REGULAR, barSpacing: this._getModel().timeScale().barSpacing() });
|
|
3153
|
+
this._renderer.append(i);
|
|
3154
|
+
}
|
|
3155
|
+
} }
|
|
3156
|
+
_smoothArray(e, t) { if (1 === e.length)
|
|
3157
|
+
return e; const i = new Array(e.length); for (let n = 0; n < e.length; n++) {
|
|
3158
|
+
let s = new r.Point(0, 0);
|
|
3159
|
+
for (let i = 0; i < t; i++) {
|
|
3160
|
+
const t = Math.max(n - i, 0), r = Math.min(n + i, e.length - 1);
|
|
3161
|
+
s = s.add(e[t]), s = s.add(e[r]);
|
|
3162
|
+
}
|
|
3163
|
+
i[n] = s.scaled(.5 / t);
|
|
3164
|
+
} return i.push(e[e.length - 1]), i; }
|
|
3165
|
+
}
|
|
3166
|
+
}, isd9: function (e, t, i) {
|
|
3167
|
+
"use strict";
|
|
3168
|
+
i.r(t), i.d(t, "ArcWedgeRenderer", (function () { return a; }));
|
|
3169
|
+
var r = i("VdBB"), n = i("Tmoa"), s = i("cPgM");
|
|
3170
|
+
class a extends s.ScaledPaneRenderer {
|
|
3171
|
+
constructor() { super(...arguments), this._data = null, this._hitTest = new r.HitTestResult(r.HitTestResult.MOVEPOINT), this._backHitTest = new r.HitTestResult(r.HitTestResult.MOVEPOINT_BACKGROUND); }
|
|
3172
|
+
setData(e) { this._data = e; }
|
|
3173
|
+
setHitTest(e) { this._hitTest = e; }
|
|
3174
|
+
hitTest(e) {
|
|
3175
|
+
if (null === this._data)
|
|
3176
|
+
return null;
|
|
3177
|
+
const t = e.subtract(this._data.center), i = t.length();
|
|
3178
|
+
if (Math.abs(i - this._data.radius) <= 4) {
|
|
3179
|
+
const t = e.subtract(this._data.p1).length(), i = e.subtract(this._data.p2).length();
|
|
3180
|
+
if (Math.max(t, i) <= this._data.p1.subtract(this._data.p2).length())
|
|
3181
|
+
return this._hitTest;
|
|
3182
|
+
}
|
|
3183
|
+
if (this._data.fillBackground && i <= this._data.radius) {
|
|
3184
|
+
const e = this._data.p1.subtract(this._data.center).normalized(), i = this._data.p2.subtract(this._data.center).normalized(), r = t.normalized(), n = e.dotProduct(i), s = r.dotProduct(e), a = r.dotProduct(i);
|
|
3185
|
+
if (s >= n && a >= n)
|
|
3186
|
+
return this._backHitTest;
|
|
3187
|
+
}
|
|
3188
|
+
return null;
|
|
3189
|
+
}
|
|
3190
|
+
_drawImpl(e) { if (null !== this._data && (e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, e.beginPath(), e.arc(this._data.center.x, this._data.center.y, this._data.radius, this._data.edge1, this._data.edge2, !0), e.stroke(), this._data.fillBackground)) {
|
|
3191
|
+
if (e.arc(this._data.center.x, this._data.center.y, this._data.prevRadius, this._data.edge2, this._data.edge1, !1), this._data.gradient) {
|
|
3192
|
+
const t = e.createRadialGradient(this._data.center.x, this._data.center.y, this._data.prevRadius, this._data.center.x, this._data.center.y, this._data.radius);
|
|
3193
|
+
t.addColorStop(0, Object(n.generateColor)(this._data.color1, this._data.transparency)), t.addColorStop(1, Object(n.generateColor)(this._data.color2, this._data.transparency)), e.fillStyle = t;
|
|
3194
|
+
}
|
|
3195
|
+
else
|
|
3196
|
+
e.fillStyle = Object(n.generateColor)(this._data.color, this._data.transparency, !0);
|
|
3197
|
+
e.fill();
|
|
3198
|
+
} }
|
|
3199
|
+
}
|
|
3200
|
+
}, jlk4: function (e, t, i) {
|
|
3201
|
+
"use strict";
|
|
3202
|
+
var r = i("isd9").ArcWedgeRenderer, n = i("1SUO").FibWedgePaneView, s = i("pJOz").TrendLineRenderer, a = i("Zy3/").CompositeRenderer, o = i("a7Ha").LineEnd;
|
|
3203
|
+
t.ProjectionLinePaneView = class extends n {
|
|
3204
|
+
constructor(e, t) { super(e, t), this._baseTrendRenderer = new s, this._edgeTrendRenderer = new s, this._arcWedgeRenderer = new r; }
|
|
3205
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
3206
|
+
_updateRenderer() {
|
|
3207
|
+
if (!(this._points.length < 2)) {
|
|
3208
|
+
var e = new a, t = this._source.properties(), i = this._points, r = i[0], n = i[1], s = { points: [r, n], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: t.trendline.color.value(), linewidth: t.linewidth.value(), linestyle: t.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: o.Normal, rightend: o.Normal };
|
|
3209
|
+
if (this._baseTrendRenderer.setData(s), e.append(this._baseTrendRenderer), this._points.length < 3)
|
|
3210
|
+
return this.addAnchors(e), void (this._renderer = e);
|
|
3211
|
+
var l = i[2], h = l.data, d = n.subtract(r).length(), c = l.subtract(r).normalized();
|
|
3212
|
+
(l = r.add(c.scaled(d))).data = h, s = { points: [r, l], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: t.trendline.color.value(), linewidth: t.linewidth.value(), linestyle: t.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: o.Normal, rightend: o.Normal }, this._edgeTrendRenderer.setData(s), e.append(this._edgeTrendRenderer);
|
|
3213
|
+
var u = this._levels[0], _ = {};
|
|
3214
|
+
_.center = this._points[0], _.radius = u.radius, _.prevRadius = 0, _.edge = this._edge, _.color = t.trendline.color.value(), _.color1 = t.color1.value(), _.color2 = t.color2.value(), _.linewidth = t.linewidth.value(), _.edge1 = this._edge1, _.edge2 = this._edge2, _.p1 = u.p1, _.p2 = u.p2, _.fillBackground = t.fillBackground.value(), _.transparency = t.transparency.value(), _.gradient = !0, this._arcWedgeRenderer.setData(_),
|
|
3215
|
+
e.append(this._arcWedgeRenderer), this.addAnchors(e), this._renderer = e;
|
|
3216
|
+
}
|
|
3217
|
+
}
|
|
3218
|
+
};
|
|
3219
|
+
}, l5Au: function (e, t, i) {
|
|
3220
|
+
"use strict";
|
|
3221
|
+
var r = i("aB9a").LineSourcePaneView, n = i("2trc").ChannelRenderer, s = i("pJOz").TrendLineRenderer, a = i("VdBB").HitTestResult, o = i("Zy3/").CompositeRenderer, l = i("a7Ha").LineEnd;
|
|
3222
|
+
t.PitchfanLinePaneView = class extends r {
|
|
3223
|
+
constructor(e, t) { super(e, t), this._medianRenderer = new s, this._sideRenderer = new s, this._renderer = null; }
|
|
3224
|
+
_updateImpl() {
|
|
3225
|
+
if (super._updateImpl(), this._renderer = null, 0 !== this._floatPoints.length && (3 === this._floatPoints.length ? (this._medianPoint = this._floatPoints[1].add(this._floatPoints[2]).scaled(.5), this._medianPoint.data = 3) : 2 === this._floatPoints.length ? (this._medianPoint = this._floatPoints[1], this._medianPoint.data = 3) : (this._medianPoint = this._floatPoints[0], this._medianPoint.data = 3), !(this._floatPoints.length < 2) && this._medianPoint)) {
|
|
3226
|
+
var e = new o, t = { points: [this._floatPoints[0], this._medianPoint], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: this._source.properties().median.color.value(), linewidth: this._source.properties().median.linewidth.value(), linestyle: this._source.properties().median.linestyle.value(), extendleft: !1, extendright: !0, leftend: l.Normal, rightend: l.Normal };
|
|
3227
|
+
if (this._medianRenderer.setData(t), e.append(this._medianRenderer), this._floatPoints.length < 3)
|
|
3228
|
+
return this.addAnchors(e), void (this._renderer = e);
|
|
3229
|
+
var i = { points: [this._floatPoints[1], this._floatPoints[2]], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: this._source.properties().median.color.value(), linewidth: this._source.properties().median.linewidth.value(), linestyle: this._source.properties().median.linestyle.value(), extendleft: !1, extendright: !1, leftend: l.Normal, rightend: l.Normal };
|
|
3230
|
+
this._sideRenderer.setData(i), e.append(this._sideRenderer);
|
|
3231
|
+
for (var r = 0, h = this._floatPoints[2].subtract(this._floatPoints[1]).scaled(.5), d = this._source.properties().fillBackground.value(), c = this._source.properties().transparency.value(), u = 0; u <= 8; u++) {
|
|
3232
|
+
var _ = "level" + u, p = this._source.properties()[_];
|
|
3233
|
+
if (p.visible.value()) {
|
|
3234
|
+
var f, g = this._medianPoint.addScaled(h, p.coeff.value()), v = this._medianPoint.addScaled(h, -p.coeff.value());
|
|
3235
|
+
if (d)
|
|
3236
|
+
(f = {}).width = this._model.timeScale().width(), f.height = this._source.priceScale().height(), f.p1 = this._floatPoints[0], f.p2 = g, f.p3 = this._floatPoints[0], f.p4 = this._medianPoint.addScaled(h, r), f.color = p.color.value(), f.transparency = c, f.hittestOnBackground = !0, (x = new n).setData(f), e.append(x), (f = {}).width = this._model.timeScale().width(), f.height = this._source.priceScale().height(), f.p1 = this._floatPoints[0], f.p2 = v, f.p3 = this._floatPoints[0], f.p4 = this._medianPoint.addScaled(h, -r), f.color = p.color.value(), f.transparency = c, f.hittestOnBackground = !0, (x = new n).setData(f), e.append(x);
|
|
3237
|
+
r = p.coeff.value();
|
|
3238
|
+
var w = { points: [this._floatPoints[0], g], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: p.color.value(), linewidth: p.linewidth.value(), linestyle: p.linestyle.value(), extendleft: !1, extendright: !0, leftend: l.Normal, rightend: l.Normal };
|
|
3239
|
+
(x = new s).setData(w),
|
|
3240
|
+
x.setHitTest(new a(a.MOVEPOINT, null, u)), e.append(x);
|
|
3241
|
+
var x, m = { points: [this._floatPoints[0], v], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: p.color.value(), linewidth: p.linewidth.value(), linestyle: p.linestyle.value(), extendleft: !1, extendright: !0, leftend: l.Normal, rightend: l.Normal };
|
|
3242
|
+
(x = new s).setData(m), x.setHitTest(new a(a.MOVEPOINT, null, u)), e.append(x);
|
|
3243
|
+
}
|
|
3244
|
+
}
|
|
3245
|
+
this.addAnchors(e), this._renderer = e;
|
|
3246
|
+
}
|
|
3247
|
+
}
|
|
3248
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
3249
|
+
};
|
|
3250
|
+
}, lZ9F: function (e, t, i) {
|
|
3251
|
+
"use strict";
|
|
3252
|
+
var r = i("aO4+").Point, n = i("GEp6").distanceToLine, s = i("aB9a").LineSourcePaneView, a = i("aB9a").thirdPointCursorType, o = i("pJOz").TrendLineRenderer, l = i("BCbF").PolygonRenderer, h = i("Zy3/").CompositeRenderer, d = i("a7Ha").LineEnd, c = i("//lt").PaneCursorType;
|
|
3253
|
+
t.RotatedRectanglePaneView = class extends s {
|
|
3254
|
+
constructor(e, t) { super(e, t), this._poligonRenderer = new l, this._renderer = null; }
|
|
3255
|
+
_updateImpl() { if (super._updateImpl(), this._renderer = null, this._distance = 0, 3 === this._points.length && (this._distance = n(this._points[0], this._points[1], this._points[2]).distance), 0 !== this._points.length) {
|
|
3256
|
+
var e, t, i, s, l = new h, u = this._source.properties(), _ = this._points[0], p = this._points[1];
|
|
3257
|
+
if (2 === this._points.length) {
|
|
3258
|
+
(g = {}).points = this._points, g.floatPoints = this._floatPoints, g.width = this._model.timeScale().width(), g.height = this._source.priceScale().height(), g.color = u.color.value(), g.linewidth = 1, g.linestyle = CanvasEx.LINESTYLE_SOLID, g.extendleft = !1, g.extendright = !1, g.leftend = d.Normal, g.rightend = d.Normal;
|
|
3259
|
+
var f = new o;
|
|
3260
|
+
f.setData(g), l.append(f);
|
|
3261
|
+
}
|
|
3262
|
+
else if (3 === this._points.length) {
|
|
3263
|
+
var g, v = p.subtract(_), w = new r(v.y, -v.x).normalized().scaled(this._distance), x = w.scaled(-1);
|
|
3264
|
+
e = _.add(w), t = p.add(w), i = _.add(x), s = p.add(x), (g = {}).points = [e, t, s, i], g.color = u.color.value(), g.linewidth = this._source.properties().linewidth.value(), g.linestyle = CanvasEx.LINESTYLE_SOLID, g.filled = !0, g.backcolor = u.backgroundColor.value(), g.fillBackground = u.fillBackground.value(), g.transparency = u.transparency.value(), this._poligonRenderer.setData(g), l.append(this._poligonRenderer);
|
|
3265
|
+
}
|
|
3266
|
+
var m = [];
|
|
3267
|
+
m.push(_), this._points.length >= 2 && m.push(p);
|
|
3268
|
+
var y = [c.Default, c.Default];
|
|
3269
|
+
if (3 === this._points.length) {
|
|
3270
|
+
e.data = 2, i.data = 2, t.data = 2, s.data = 2, m.push(e, i, t, s);
|
|
3271
|
+
var b = a(_, p);
|
|
3272
|
+
y.push(b, b, b, b);
|
|
3273
|
+
}
|
|
3274
|
+
l.append(this.createLineAnchor({ points: m, pointsCursorType: y }, 0)), this._renderer = l;
|
|
3275
|
+
} }
|
|
3276
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
3277
|
+
};
|
|
3278
|
+
}, mJB8: function (e, t, i) { e.exports = i.p + "4fafff07d8914dc11f6d335f606ff47c.png"; }, mjK7: function (e, t, i) {
|
|
3279
|
+
"use strict";
|
|
3280
|
+
i.r(t), i.d(t, "CypherPaneView", (function () { return n; }));
|
|
3281
|
+
var r = i("6MfG");
|
|
3282
|
+
class n extends r.Pattern5pointsPaneView {
|
|
3283
|
+
_updateBaseData() {
|
|
3284
|
+
if (this._source.points().length >= 3) {
|
|
3285
|
+
const [e, t, i] = this._source.points();
|
|
3286
|
+
this._abRetracement = Math.round(1e3 * Math.abs((i.price - t.price) / (t.price - e.price))) / 1e3;
|
|
3287
|
+
}
|
|
3288
|
+
if (this._source.points().length >= 4) {
|
|
3289
|
+
const [e, t, , i] = this._source.points();
|
|
3290
|
+
this._bcRetracement = Math.round(1e3 * Math.abs((i.price - e.price) / (t.price - e.price))) / 1e3;
|
|
3291
|
+
}
|
|
3292
|
+
if (this._source.points().length >= 5) {
|
|
3293
|
+
const [e, , t, i, r] = this._source.points();
|
|
3294
|
+
this._cdRetracement = Math.round(1e3 * Math.abs((r.price - i.price) / (i.price - t.price))) / 1e3, this._xdRetracement = Math.round(1e3 * Math.abs((r.price - i.price) / (e.price - i.price))) / 1e3;
|
|
3295
|
+
}
|
|
3296
|
+
}
|
|
3297
|
+
}
|
|
3298
|
+
}, mr3a: function (e, t, i) {
|
|
3299
|
+
"use strict";
|
|
3300
|
+
i.r(t), i.d(t, "TextPaneView", (function () { return p; }));
|
|
3301
|
+
var r = i("Eyy1"), n = i("aO4+"), s = i("zDbI"), a = i("//lt"), o = i("qgcf"), l = i("Zy3/"), h = i("vq8G"), d = i("TTFo"), c = i("VdBB"), u = i("aB9a");
|
|
3302
|
+
const _ = [a.PaneCursorType.HorizontalResize];
|
|
3303
|
+
class p extends u.LineSourcePaneView {
|
|
3304
|
+
constructor(e, t, i, r, n, s, a, l) { super(e, t), this._textRenderer = new o.TextRenderer, this._noSelection = !1, this._renderer = null, this._offsetX = i, this._offsetY = r, this._vertAlign = n, this._horzAlign = s, this._forceTextAlign = Boolean(a), this._noSelection = !1, this._renderer = null, this._recalculateSourcePointsOnFirstUpdate = l; }
|
|
3305
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
3306
|
+
disableSelection() { this._noSelection = !0; }
|
|
3307
|
+
isEditMode() { return !this._getModel().readOnly(); }
|
|
3308
|
+
_updateImpl() {
|
|
3309
|
+
super._updateImpl(), this._renderer = null;
|
|
3310
|
+
const e = this._getSource(), t = e.priceScale();
|
|
3311
|
+
if (!t || t.isEmpty())
|
|
3312
|
+
return;
|
|
3313
|
+
const i = e.properties().childs(), a = this._getModel(), o = { text: i.text.value(), color: i.color.value(), fontSize: i.fontsize.value(), boxPadding: i.fontsize.value() / 6, font: s.CHART_FONT_FAMILY, vertAlign: this._vertAlign || "top", horzAlign: this._horzAlign || "left", offsetX: this._offsetX || 0, offsetY: this._offsetY || 0, forceTextAlign: this._forceTextAlign };
|
|
3314
|
+
if (o.points = e.isFixed() ? e.fixedPoints() : this._points, i.fillBackground && i.fillBackground.value() && (o.backgroundColor = i.backgroundColor.value()), i.drawBorder && i.drawBorder.value() && (o.borderColor = i.borderColor.value()), i.wordWrap && i.wordWrap.value() && (o.wordWrapWidth = i.wordWrapWidth.value()), o.bold = i.bold && i.bold.value(), o.italic = i.italic && i.italic.value(), o.highlightBorder = a.selection().isSelected(e), !e.isFixed() && i.fixedSize && !i.fixedSize.value()) {
|
|
3315
|
+
o.scaleX = a.timeScale().barSpacing() / e.barSpacing();
|
|
3316
|
+
const i = Object(r.ensureNotNull)(t.priceRange());
|
|
3317
|
+
let n = t.height() / i.length();
|
|
3318
|
+
e.isPriceDencityLog() && !t.isLog() && (n = t.height() / (Object(d.toLog)(i.maxValue()) - Object(d.toLog)(i.minValue()))), !e.isPriceDencityLog() && t.isLog() && (n = t.height() / (Object(d.fromLog)(i.maxValue()) - Object(d.fromLog)(i.minValue())));
|
|
3319
|
+
const s = e.priceDencity();
|
|
3320
|
+
void 0 !== s && (o.scaleY = n / s), (void 0 === s || void 0 === o.scaleY || o.scaleY <= 0) && delete o.scaleY;
|
|
3321
|
+
}
|
|
3322
|
+
this._textRenderer.setData(o);
|
|
3323
|
+
const u = 1 === o.points.length;
|
|
3324
|
+
if (u && void 0 !== this._recalculateSourcePointsOnFirstUpdate) {
|
|
3325
|
+
this._renderer = null;
|
|
3326
|
+
const e = this._textRenderer.measure();
|
|
3327
|
+
return this._recalculateSourcePointsOnFirstUpdate(e.width, e.height), void (this._recalculateSourcePointsOnFirstUpdate = void 0);
|
|
3328
|
+
}
|
|
3329
|
+
if (u && !this._noSelection) {
|
|
3330
|
+
const e = new l.CompositeRenderer;
|
|
3331
|
+
e.append(this._textRenderer);
|
|
3332
|
+
const t = o.points[0].clone(), i = this._textRenderer.measure(), r = i.width, s = i.height;
|
|
3333
|
+
if (o.wordWrapWidth) {
|
|
3334
|
+
const i = new n.Point(t.x + r, t.y + s / 2);
|
|
3335
|
+
i.data = 0, e.append(this.createLineAnchor({ points: [i], pointsCursorType: _ }, 0));
|
|
3336
|
+
}
|
|
3337
|
+
const d = new n.Point(t.x + r / 2, t.y + s);
|
|
3338
|
+
return d.data = 0, e.append(new h.SelectionRenderer({ points: [d], bgColors: this._lineAnchorColors([d]),
|
|
3339
|
+
visible: this.areAnchorsVisible(), hittestResult: c.HitTestResult.MOVEPOINT, barSpacing: a.timeScale().barSpacing() })), void (this._renderer = e);
|
|
3340
|
+
}
|
|
3341
|
+
this._renderer = this._textRenderer;
|
|
3342
|
+
}
|
|
3343
|
+
}
|
|
3344
|
+
}, "obU/": function (e, t, i) {
|
|
3345
|
+
"use strict";
|
|
3346
|
+
var r = i("aO4+").Point, n = i("GEp6").distanceToLine, s = i("hfHJ"), a = s.rotationMatrix, o = s.scalingMatrix, l = s.translationMatrix, h = s.transformPoint, d = i("aB9a").LineSourcePaneView, c = i("VdBB").HitTestResult, u = i("Zy3/").CompositeRenderer, _ = i("Tmoa"), p = i("aB9a").thirdPointCursorType, f = i("//lt").PaneCursorType, g = i("cPgM").ScaledPaneRenderer;
|
|
3347
|
+
class v extends g {
|
|
3348
|
+
constructor() { super(), this._data = null; }
|
|
3349
|
+
setData(e) { this._data = e, this._data.angleFrom = 0, this._data.angleTo = 2 * Math.PI, this._data.clockwise = !1; }
|
|
3350
|
+
_drawImpl(e) { if (!(null === this._data || this._data.points.length < 2)) {
|
|
3351
|
+
var t = this._data.points[0], i = this._data.points[1];
|
|
3352
|
+
if (this._data.points.length < 3)
|
|
3353
|
+
return e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, e.beginPath(), e.moveTo(t.x, t.y), e.lineTo(i.x, i.y), void e.stroke();
|
|
3354
|
+
var s = this._data.points[2], d = n(t, i, s).distance;
|
|
3355
|
+
if (d < 1)
|
|
3356
|
+
return e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth, e.beginPath(), e.moveTo(t.x, t.y), e.lineTo(i.x, i.y), void e.stroke();
|
|
3357
|
+
var c = i.subtract(t), u = t.add(i).scaled(.5), p = new r(-c.y, c.x);
|
|
3358
|
+
p = p.normalized(), s = u.add(p.scaled(d)), e.strokeStyle = this._data.color, e.lineWidth = this._data.linewidth;
|
|
3359
|
+
var f = c.length(), g = c.x / f, v = c.y / f, w = Math.acos(g);
|
|
3360
|
+
v < 0 && (w = -w);
|
|
3361
|
+
var x = this._data.points[2], m = l(-u.x, -u.y);
|
|
3362
|
+
x = h(m, x), m = a(-w), x = h(m, x), m = o(1, f / (2 * d)), (x = h(m, x)).y < 0 ? this._data.clockwise = !0 : this._data.clockwise = !1, e.save(), e.beginPath(), e.translate(u.x, u.y), e.rotate(w), e.scale(1, 2 * d / f), e.arc(0, 0, .5 * f, this._data.angleFrom, this._data.angleTo, this._data.clockwise), e.restore(), e.stroke(), this._data.fillBackground && (e.fillStyle = _.generateColor(this._data.backcolor, this._data.transparency), e.fill());
|
|
3363
|
+
} }
|
|
3364
|
+
_additionalPointTest(e, t) { return !0; }
|
|
3365
|
+
hitTest(e) { if (null === this._data || this._data.points.length < 3)
|
|
3366
|
+
return null; var t = this._data.points[0], i = this._data.points[1], s = this._data.points[2], d = n(t, i, s).distance, u = i.subtract(t), _ = t.add(i).scaled(.5), p = new r(-u.y, u.x); p = p.normalized(), s = _.add(p.scaled(d)); var f = u.length(), g = u.x / f, v = u.y / f, w = Math.acos(g); v < 0 && (w = -w); var x = l(-_.x, -_.y); e = h(x, e); var m = h(x, this._data.points[2]); x = a(-w), e = h(x, e), m = h(x, m), x = o(1, f / (2 * d)), e = h(x, e), m = h(x, m); var y = e.length(); return this._additionalPointTest(e, m) ? Math.abs(y - .5 * f) <= 3 ? new c(c.MOVEPOINT) : this._data.fillBackground && !this._data.noHitTestOnBackground && y <= .5 * f ? new c(c.MOVEPOINT_BACKGROUND) : null : null; }
|
|
3367
|
+
}
|
|
3368
|
+
t.EllipsePaneView = class extends d {
|
|
3369
|
+
constructor(e, t) { super(e, t), this._ellipseRenderer = new v, this._renderer = null; }
|
|
3370
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
3371
|
+
_updateImpl() {
|
|
3372
|
+
if (super._updateImpl(), this._renderer = null, !(this._points.length < 2)) {
|
|
3373
|
+
var e = {};
|
|
3374
|
+
e.points = this._points, e.color = this._source.properties().color.value(), e.linewidth = this._source.properties().linewidth.value(), e.backcolor = this._source.properties().backgroundColor.value(), e.fillBackground = this._source.properties().fillBackground.value(),
|
|
3375
|
+
e.transparency = this._source.properties().transparency.value(), this._ellipseRenderer.setData(e);
|
|
3376
|
+
var t = new u;
|
|
3377
|
+
t.append(this._ellipseRenderer);
|
|
3378
|
+
var i = e.points[0], s = e.points[1];
|
|
3379
|
+
if (2 === this._points.length)
|
|
3380
|
+
return this.addAnchors(t), void (this._renderer = t);
|
|
3381
|
+
var a = e.points[2], o = n(i, s, a).distance, l = s.subtract(i), h = i.add(s).scaled(.5), d = new r(-l.y, l.x);
|
|
3382
|
+
d = d.normalized(), a = h.add(d.scaled(o));
|
|
3383
|
+
var c = h.add(d.scaled(-o)), _ = new r(i.x, i.y);
|
|
3384
|
+
_.data = 0;
|
|
3385
|
+
var g = new r(s.x, s.y);
|
|
3386
|
+
g.data = 1;
|
|
3387
|
+
var v = new r(a.x, a.y);
|
|
3388
|
+
v.data = 2;
|
|
3389
|
+
var w = new r(c.x, c.y);
|
|
3390
|
+
w.data = 3;
|
|
3391
|
+
var x = p(_, g), m = [f.Default, f.Default, x, x];
|
|
3392
|
+
t.append(this.createLineAnchor({ points: [_, g, v, w], pointsCursorType: m }, 0)), this._renderer = t;
|
|
3393
|
+
}
|
|
3394
|
+
}
|
|
3395
|
+
};
|
|
3396
|
+
}, ocVb: function (e, t, i) {
|
|
3397
|
+
"use strict";
|
|
3398
|
+
var r = i("Eyy1").ensureNotNull, n = i("aO4+").Point, s = i("YFKU").t, a = i("aB9a").LineSourcePaneView, o = i("cjIn").PaneRendererCachedImage, l = i("Zy3/").CompositeRenderer, h = i("GH0z").PercentageFormatter, d = i("zXvd").NumericFormatter, c = i("nda6").TimeSpanFormatter, u = i("5C6T").PipFormatter, _ = i("vq8G").SelectionRenderer, p = i("pJOz").TrendLineRenderer, f = i("qgcf").TextRenderer, g = i("8xAY").LabelSettings, v = i("zDbI").CHART_FONT_FAMILY, w = i("VdBB").HitTestResult, x = i("FVHe").TrendLineStatsCache, m = i("c44N").areEqualPaneRenderParams, y = i("5/lF").iconsContainer, b = i("Ialn"), R = b.forceLTRStr, T = b.startWithLTR;
|
|
3399
|
+
t.TrendLinePaneView = class extends a {
|
|
3400
|
+
constructor(e, t) { super(e, t), this._label = null, this._rendererCache = {}, this._cacheInvalidated = !0, this._percentageFormatter = new h, this._numericFormatter = new d, this._pipFormatter = null, this._lastSymbolInfo = null, this._trendRenderer = new p, this._labelRenderer = new f, this._renderer = null, this._cache = null, this._cacheDrawParams = null, this._iconsReady = !1, y.onAllIconsReady().subscribe(this, (function () { this._cache && (this._cache.destroy(), this._cache = null), this._iconsReady = !0, t.lightUpdate(); })); }
|
|
3401
|
+
iconsReady() { return this._iconsReady; }
|
|
3402
|
+
update() { super.update(), this._cacheInvalidated = !0; }
|
|
3403
|
+
getCacheCanvas(e) { return this._createCacheIfRequired(e), r(this._cache).canvas(); }
|
|
3404
|
+
getCacheRects(e, t) { this._createCacheIfRequired(e); var i = this._source.properties().statsPosition.value(), r = this._source.getPointByPosition(i, this._points[0], this._middlePoint, this._points[1]), n = { left: 0, top: this._cache.topByRow(this._statCache.rowIndex), width: this._cache.rowWidth(this._statCache.rowIndex), height: this._cache.rowHeight(this._statCache.rowIndex) }, s = { left: Math.floor(r.x), top: Math.floor(r.y), width: n.width, height: n.height }; return s.left += g.paddingLeftRight, this._points[1].y < this._points[0].y && this._points[1].x < this._points[0].x || this._points[1].y > this._points[0].y && this._points[1].x > this._points[0].x ? s.top -= g.paddingLeftRight + s.height : s.top += g.paddingLeftRight, { cacheRect: n, targetRect: s }; }
|
|
3405
|
+
_createCacheIfRequired(e) {
|
|
3406
|
+
null != this._cache && null != this._cacheDrawParams && m(e, this._cacheDrawParams) || (this._cache && this._cache.destroy(), this._cache = new x(e), this._statCache = this._cache.updateSource(this._source, function () { return this._statLabelData(); }.bind(this)), this._cacheDrawParams = e, this._cacheInvalidated = !1), this._cacheInvalidated && (this._cacheState = this._cache.updateSource(this._source, function () {
|
|
3407
|
+
return this._statLabelData();
|
|
3408
|
+
}.bind(this)), this._cacheInvalidated = !1);
|
|
3409
|
+
}
|
|
3410
|
+
destroy() { this._cache && (this._cache.destroy(), this._cache = null), y.onAllIconsReady().unsubscribeAll(this); }
|
|
3411
|
+
_updateImpl() { this._renderer = null, this._invalidated = !1; var e = this._source.priceScale(), t = this._model.timeScale(); if (e && !e.isEmpty() && !t.isEmpty()) {
|
|
3412
|
+
var i = this._model.timeScale().visibleBarsStrictRange();
|
|
3413
|
+
if (null !== i) {
|
|
3414
|
+
var r = this._source.points();
|
|
3415
|
+
if (!(r.length < 2)) {
|
|
3416
|
+
var s = r[0], a = r[1], h = this._source.properties();
|
|
3417
|
+
if ((!(s.index < i.firstBar() && a.index < i.firstBar()) || h.extendLeft.value() || h.extendRight.value()) && (super._updateImpl(), !(this._points.length < 2))) {
|
|
3418
|
+
var d = h.showBarsRange.value(), c = h.showDateTimeRange.value(), u = h.showDistance.value(), p = h.showPriceRange.value(), f = h.showAngle.value();
|
|
3419
|
+
p || d || c || u || f || (this._label = null, this._labelData && (this._labelData.text = "", this._labelData.lines = []));
|
|
3420
|
+
var g = new l, v = h.linecolor.value(), x = {};
|
|
3421
|
+
x.points = this._points, x.floatPoints = this._floatPoints, x.width = t.width(), x.height = e.height(), x.color = v, x.linewidth = h.linewidth.value(), x.linestyle = h.linestyle.value(), x.extendleft = h.extendLeft.value(), x.extendright = h.extendRight.value(), x.leftend = h.leftEnd.value(), x.rightend = h.rightEnd.value(), this._trendRenderer.setData(x), g.append(this._trendRenderer);
|
|
3422
|
+
var m = (this.isHoveredSource() || this.isSelectedSource()) && this.isEditMode() || h.alwaysShowStats.value(), y = (this.isHoveredSource() || this.isSelectedSource()) && h.showMiddlePoint.value();
|
|
3423
|
+
if (m && 2 === this._points.length) {
|
|
3424
|
+
var b = new o(this, 0);
|
|
3425
|
+
g.append(b);
|
|
3426
|
+
}
|
|
3427
|
+
if (this._middlePoint && g.append(new _({ points: [this._middlePoint], bgColors: this._lineAnchorColors([this._middlePoint]), color: v, visible: y && this.areAnchorsVisible(), hittestResult: w.REGULAR })), this.addAnchors(g), h.showLabel && h.showLabel.value() && h.text.value().length > 0) {
|
|
3428
|
+
s = this._points[0], a = this._points[1];
|
|
3429
|
+
var R, T = s.x < a.x ? s : a, S = T === s ? a : s, P = h.vertLabelsAlign.value(), L = h.horzLabelsAlign.value();
|
|
3430
|
+
R = "left" === L ? T.clone() : "right" === L ? S.clone() : new n((s.x + a.x) / 2, (s.y + a.y) / 2);
|
|
3431
|
+
var C = Math.atan((S.y - T.y) / (S.x - T.x)), M = { points: [R], text: h.text.value(), color: h.textcolor.value(), vertAlign: P, horzAlign: L, font: h.font.value(), offsetX: 0, offsetY: 0, bold: h.bold.value(), italic: h.italic.value(), fontsize: h.fontsize.value(), forceTextAlign: !0, angle: C };
|
|
3432
|
+
this._labelRenderer.setData(M), g.append(this._labelRenderer);
|
|
3433
|
+
}
|
|
3434
|
+
this._renderer = g;
|
|
3435
|
+
}
|
|
3436
|
+
}
|
|
3437
|
+
}
|
|
3438
|
+
} }
|
|
3439
|
+
_statLabelData() {
|
|
3440
|
+
var e, t, i, r, n, a, o, l = this._source.points(), h = l[0], d = l[1], _ = this._source.properties(), p = [];
|
|
3441
|
+
if (_.showPriceRange.value() && this._source.priceScale()) {
|
|
3442
|
+
var f = (r = d.price - h.price) / Math.abs(h.price);
|
|
3443
|
+
e = this._source.ownerSource().formatter().format(r) + " (" + this._percentageFormatter.format(100 * f) + ")";
|
|
3444
|
+
var w = this._model.mainSeries().symbolInfo();
|
|
3445
|
+
w && w !== this._lastSymbolInfo && (this._pipFormatter = new u(w.pricescale, w.minmov, w.type, w.minmove2), this._lastSymbolInfo = w), e += this._pipFormatter ? ", " + this._pipFormatter.format(r) : "", p.push("priceRange");
|
|
3446
|
+
}
|
|
3447
|
+
var x, m = _.showBarsRange.value(), y = _.showDateTimeRange.value(), b = _.showDistance.value(), S = _.showAngle.value();
|
|
3448
|
+
if (S || b) {
|
|
3449
|
+
var P = this._source.pointToScreenPoint(h)[0];
|
|
3450
|
+
a = this._source.pointToScreenPoint(d)[0].subtract(P), o = Math.round(1e5 * a.length()) / 1e5;
|
|
3451
|
+
}
|
|
3452
|
+
if (m || y || b) {
|
|
3453
|
+
if (t = "", m && (n = d.index - h.index, t += s("{count} bars").format({ count: R(n) })), y) {
|
|
3454
|
+
var L = this._model.timeScale().indexToUserTime(h.index), C = this._model.timeScale().indexToUserTime(d.index);
|
|
3455
|
+
if (L && C) {
|
|
3456
|
+
var M = (C.valueOf() - L.valueOf()) / 1e3, I = T((new c).format(M));
|
|
3457
|
+
I && (t += m ? " (" + I + ")" : I);
|
|
3458
|
+
}
|
|
3459
|
+
}
|
|
3460
|
+
b && (t && (t += ", "), t += s("distance: {number} px").format({ number: R(this._numericFormatter.format(Math.round(o))) })), t && p.push("barsRange");
|
|
3461
|
+
}
|
|
3462
|
+
S && (o > 0 && (a = a.normalized(), x = Math.acos(a.x), a.y > 0 && (x = -x)), "number" != typeof x || TradingView.isNaN(x) || (i = Math.round(180 * x / Math.PI) + "º", p.push("angle")));
|
|
3463
|
+
this._label = [R(e), t, i].filter((function (e) { return e; })).join("\n") || null, this._icons = p;
|
|
3464
|
+
var O = this._model.isDark(), N = O ? g.bgColorDark : g.bgColorLight, D = O ? g.textColorDark : g.textColorLight, B = { points: [this._points[1]], text: this._label, color: D, isDark: O, font: v, fontSize: g.fontSize, lineSpacing: g.lineSpacing, backgroundColor: N, backgroundRoundRect: g.rectRadius, paddingLeft: g.paddingLeftRight, paddingRight: g.paddingLeftRight, paddingTop: g.paddingTopBottom, paddingBottom: g.paddingTopBottom, textPadding: g.textPadding, doNotAlignText: !0, icons: this._icons };
|
|
3465
|
+
return this._points[1].y < this._points[0].y && (B.vertAlign = "bottom"), this._points[1].x < this._points[0].x && (B.horzAlign = "right"), this._labelData = B, B;
|
|
3466
|
+
}
|
|
3467
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
3468
|
+
};
|
|
3469
|
+
}, pBAL: function (e, t, i) {
|
|
3470
|
+
"use strict";
|
|
3471
|
+
var r = i("aB9a").LineSourcePaneView, n = i("wacn").DisjointChannelRenderer, s = i("pJOz").TrendLineRenderer, a = i("qgcf").TextRenderer, o = i("Zy3/").CompositeRenderer, l = i("//lt").PaneCursorType, h = [l.Default, l.Default, l.VerticalResize, l.Default];
|
|
3472
|
+
t.DisjointChannelPaneView = class extends r {
|
|
3473
|
+
constructor(e, t) { super(e, t), this._label = null, this._trendLineRendererPoints12 = new s, this._trendLineRendererPoints43 = new s, this._disjointChannelRenderer = new n, this._p1LabelRenderer = new a, this._p2LabelRenderer = new a, this._p3LabelRenderer = new a, this._p4LabelRenderer = new a, this._renderer = null; }
|
|
3474
|
+
_updateImpl() {
|
|
3475
|
+
if (super._updateImpl(), this._renderer = null, this._label = null, !(this._source.points().length < 2) && this._source.priceScale()) {
|
|
3476
|
+
var e = this._source.points()[0], t = this._source.points()[1], i = this._source.ownerSource().firstValue();
|
|
3477
|
+
if (this._price1 = this._source.priceScale().formatPrice(e.price, i), this._price2 = this._source.priceScale().formatPrice(t.price, i), 3 === this._source.points().length) {
|
|
3478
|
+
var r = this._source.points()[2];
|
|
3479
|
+
this._price3 = this._source.priceScale().formatPrice(r.price, i);
|
|
3480
|
+
var n = t.price - e.price;
|
|
3481
|
+
this._price4 = this._source.priceScale().formatPrice(r.price + n, i);
|
|
3482
|
+
}
|
|
3483
|
+
if (!(this._points.length < 2)) {
|
|
3484
|
+
var s, a = new o, l = (e = this._points[0], t = this._points[1], this._source.properties()), d = this._model, c = this._source;
|
|
3485
|
+
if (this._points.length >= 3) {
|
|
3486
|
+
(r = this._points[2]).x = t.x, r.square = !0;
|
|
3487
|
+
var u = t.y - e.y;
|
|
3488
|
+
if ((s = e.clone()).y = r.y + u, s.data = 3, l.fillBackground.value()) {
|
|
3489
|
+
var _ = d.timeScale().width(), p = c.priceScale().height(), f = l.extendLeft.value(), g = l.extendRight.value();
|
|
3490
|
+
this._disjointChannelRenderer.setData({ width: _, height: p, extendleft: f, extendright: g,
|
|
3491
|
+
points: [e, t, r, s], backcolor: l.backgroundColor.value(), transparency: l.transparency.value(), hittestOnBackground: TradingView.isMobile.any() }), a.append(this._disjointChannelRenderer);
|
|
3492
|
+
}
|
|
3493
|
+
}
|
|
3494
|
+
var v = function (e, t) { return { points: [e, t], width: d.timeScale().width(), height: c.priceScale().height(), color: l.linecolor.value(), linewidth: l.linewidth.value(), linestyle: l.linestyle.value(), extendleft: l.extendLeft.value(), extendright: l.extendRight.value(), leftend: l.leftEnd.value(), rightend: l.rightEnd.value() }; }, w = this, x = function (e, t, i, r, n, s) { if (w._source.properties().showPrices.value()) {
|
|
3495
|
+
var o = { points: [i], text: n, color: w._source.properties().textcolor.value(), horzAlign: i.x > r.x ? "left" : "right", vertAlign: "middle", font: w._source.properties().font.value(), offsetX: 6, offsetY: 0, boxPadding: 0, bold: w._source.properties().bold.value(), italic: w._source.properties().italic.value(), fontsize: w._source.properties().fontsize.value(), forceTextAlign: !0 };
|
|
3496
|
+
e.setData(o), a.append(e);
|
|
3497
|
+
o = { points: [r], text: s, color: w._source.properties().textcolor.value(), horzAlign: i.x < r.x ? "left" : "right", vertAlign: "middle", font: w._source.properties().font.value(), offsetX: 6, offsetY: 0, boxPadding: 0, bold: w._source.properties().bold.value(), italic: w._source.properties().italic.value(), fontsize: w._source.properties().fontsize.value(), forceTextAlign: !0 };
|
|
3498
|
+
t.setData(o), a.append(t);
|
|
3499
|
+
} };
|
|
3500
|
+
if (this._trendLineRendererPoints12.setData(v(e, t)), a.append(this._trendLineRendererPoints12), x(this._p1LabelRenderer, this._p2LabelRenderer, e, t, this._price1, this._price2), 2 === this._points.length)
|
|
3501
|
+
return this.addAnchors(a), void (this._renderer = a);
|
|
3502
|
+
this._trendLineRendererPoints43.setData(v(s, r)), a.append(this._trendLineRendererPoints43), x(this._p3LabelRenderer, this._p4LabelRenderer, r, s, this._price3, this._price4);
|
|
3503
|
+
var m = [e, t, r, s];
|
|
3504
|
+
this._model.lineBeingCreated() === this._source && m.pop(), a.append(this.createLineAnchor({ points: m, pointsCursorType: h }, 0)), this._renderer = a;
|
|
3505
|
+
}
|
|
3506
|
+
}
|
|
3507
|
+
}
|
|
3508
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
3509
|
+
};
|
|
3510
|
+
}, pGCE: function (e, t, i) {
|
|
3511
|
+
"use strict";
|
|
3512
|
+
i.r(t), i.d(t, "LineToolBeingCreatedPaneView", (function () { return h; }));
|
|
3513
|
+
var r = i("aB9a"), n = i("8Uy/"), s = i("a7Ha"), a = i("Zy3/"), o = i("z+cS"), l = i("pJOz");
|
|
3514
|
+
class h extends r.LineSourcePaneView {
|
|
3515
|
+
constructor() { super(...arguments), this._lineRenderer1 = new o.VerticalLineRenderer, this._lineRenderer2 = new o.VerticalLineRenderer, this._medianRenderer = new l.TrendLineRenderer, this._renderer = null; }
|
|
3516
|
+
renderer() { return this._invalidated && (this._updateImpl(), this._invalidated = !1), this._renderer; }
|
|
3517
|
+
_updateImpl() {
|
|
3518
|
+
super._updateImpl(), this._renderer = null;
|
|
3519
|
+
const e = this._getPoints();
|
|
3520
|
+
if (e.length < 1)
|
|
3521
|
+
return;
|
|
3522
|
+
this._renderer = new a.CompositeRenderer;
|
|
3523
|
+
const [t, i] = e;
|
|
3524
|
+
this._lineRenderer1.setData({ x: t.x, color: "#808080", linewidth: 1, linestyle: n.LINESTYLE_SOLID }), this._renderer.append(this._lineRenderer1), e.length > 1 && (this._lineRenderer2.setData({ x: i.x, color: "#808080", linewidth: 1, linestyle: n.LINESTYLE_SOLID }), this._medianRenderer.setData({ points: [t, i], color: "#808080", linewidth: 1, linestyle: n.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: s.LineEnd.Normal, rightend: s.LineEnd.Normal }),
|
|
3525
|
+
this._renderer.append(this._lineRenderer2), this._renderer.append(this._medianRenderer));
|
|
3526
|
+
}
|
|
3527
|
+
}
|
|
3528
|
+
}, piZW: function (e, t, i) {
|
|
3529
|
+
"use strict";
|
|
3530
|
+
i.r(t);
|
|
3531
|
+
var r = i("aO4+"), n = i("aB9a"), s = i("Zy3/"), a = i("cPgM"), o = i("VdBB"), l = i("jFln");
|
|
3532
|
+
class h extends a.ScaledPaneRenderer {
|
|
3533
|
+
constructor(e) { super(), this._data = e; }
|
|
3534
|
+
hitTest(e, t) { const i = (e.x - this._data.point.x) * Math.PI / this._data.width; let r = Math.sin(i - Math.PI / 2) * this._data.height / 2; return r = this._data.point.y + r + this._data.height / 2, Math.abs(r - e.y) <= 3 ? new o.HitTestResult(o.HitTestResult.MOVEPOINT) : null; }
|
|
3535
|
+
_drawImpl(e, t) { e.strokeStyle = this._data.color, e.lineWidth = this._data.lineWidth, Object(l.setLineStyle)(e, this._data.lineStyle), e.beginPath(), e.moveTo(this._data.point.x, this._data.point.y); const i = Math.max(1, this._data.width / 30), r = t.cssWidth - this._data.point.x + i; for (let t = 1; t <= r; t += i) {
|
|
3536
|
+
const i = t * Math.PI / this._data.width, r = Math.sin(i - Math.PI / 2) * this._data.height / 2;
|
|
3537
|
+
e.lineTo(this._data.point.x + t, this._data.point.y + r + this._data.height / 2);
|
|
3538
|
+
} e.stroke(); }
|
|
3539
|
+
}
|
|
3540
|
+
i.d(t, "SineLinePaneView", (function () { return d; }));
|
|
3541
|
+
class d extends n.LineSourcePaneView {
|
|
3542
|
+
constructor(e, t) { super(e, t), this._renderer = new s.CompositeRenderer; }
|
|
3543
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(e, t), this._renderer; }
|
|
3544
|
+
_updateImpl(e, t) { if (super._updateImpl(), this._renderer.clear(), this._points.length < 2)
|
|
3545
|
+
return; const [i, n] = this._source.points(); if (0 === 2 * Math.abs(i.index - n.index))
|
|
3546
|
+
return void this.addAnchors(this._renderer); const [s, a] = this._points, o = Math.abs(s.x - a.x), l = a.y - s.y, d = this._source.properties(), c = d.linewidth.value(); if (s.y < -c && a.y < -c || s.y > e + c && a.y > e + c)
|
|
3547
|
+
return; const u = 2 * o, _ = s.x > 0 ? s.x - Math.ceil(s.x / u) * u : s.x + Math.floor(-s.x / u) * u, p = { point: new r.Point(_, s.y), width: o, height: l, color: d.linecolor.value(), lineWidth: d.linewidth.value(), lineStyle: d.linestyle.value() }; this._renderer.append(new h(p)), this.addAnchors(this._renderer); }
|
|
3548
|
+
}
|
|
3549
|
+
}, qjB4: function (e, t, i) { e.exports = i.p + "f55394b616ed1ae9462c37daab941d93.png"; }, tjxb: function (e, t, i) {
|
|
3550
|
+
"use strict";
|
|
3551
|
+
var r = i("aO4+").Point, n = i("aB9a").LineSourcePaneView, s = i("jkoZ"), a = i("VdBB").HitTestResult, o = i("cPgM").ScaledPaneRenderer;
|
|
3552
|
+
class l extends o {
|
|
3553
|
+
constructor(e, t) { super(), this._data = e, this._adapter = t; }
|
|
3554
|
+
_textWidth(e) { if (0 === this._adapter.getText().length)
|
|
3555
|
+
return 0; e.save(), e.font = this._adapter.getFont(); var t = e.measureText(this._adapter.getText()).width; return e.restore(), 5 + t; }
|
|
3556
|
+
_drawArrow(e, t, i) { e.save(), e.strokeStyle = this._adapter.getArrowColor(), e.fillStyle = this._adapter.getArrowColor(); var r = this._adapter.getArrowHeight(), n = this._adapter.getDirection(); e.translate(t - 2, i), "buy" !== n && e.rotate(Math.PI), CanvasEx.drawArrow(e, 0, 0, 0, r, 4), e.restore(); }
|
|
3557
|
+
_drawText(e, t, i) { var r = this._adapter.getText(); if (r) {
|
|
3558
|
+
e.save(), e.textAlign = "center", e.textBaseline = "middle", e.font = this._adapter.getFont(), e.fillStyle = this._adapter.getTextColor();
|
|
3559
|
+
var n = t + this._textWidth(e) / 2, a = i + s.fontHeight(this._adapter.getFont()) / 2;
|
|
3560
|
+
e.fillText(r, n, a - 1), e.restore();
|
|
3561
|
+
} }
|
|
3562
|
+
_drawImpl(e, t) {
|
|
3563
|
+
var i = Math.round(this._data.points[0].x), r = Math.round(this._data.points[0].y);
|
|
3564
|
+
this._drawArrow(e, i, r);
|
|
3565
|
+
var n = this._textWidth(e);
|
|
3566
|
+
if (0 !== n) {
|
|
3567
|
+
var a = this._adapter.getArrowHeight(), o = this._adapter.getArrowSpacing(), l = s.fontHeight(this._adapter.getFont()), h = "buy" === this._adapter.getDirection() ? r + a + o : r - a - o - l;
|
|
3568
|
+
this._drawText(e, Math.round(i + .5 - n / 2), h);
|
|
3569
|
+
}
|
|
3570
|
+
}
|
|
3571
|
+
hitTest(e) { var t, i, r = Math.round(this._data.points[0].x), n = Math.round(this._data.points[0].y), s = this._adapter.getArrowHeight(); if ("buy" === this._adapter.getDirection() ? (t = n, i = n + s) : (t = n - s, i = n), e.x >= r - 2 && e.x <= r + 2 && e.y >= t && e.y <= i) {
|
|
3572
|
+
var o = this._adapter.getTooltip();
|
|
3573
|
+
const e = () => { TradingView.TradingWidget && TradingView.TradingWidget.journalDialog(); };
|
|
3574
|
+
return new a(a.CUSTOM, { clickHandler: e, tapHandler: e, tooltip: "" !== o ? { text: o, rect: { x: r, y: t, w: 2, h: i - t } } : null });
|
|
3575
|
+
} return null; }
|
|
3576
|
+
}
|
|
3577
|
+
class h extends n {
|
|
3578
|
+
_updateImpl() { super._updateImpl(), this._renderer = null, this._rendererCached = !1; }
|
|
3579
|
+
renderer(e, t) { if (this._invalidated && this._updateImpl(), this._rendererCached)
|
|
3580
|
+
return this._renderer; this._rendererCached = !0; var i = this._source, n = i.points(); if (0 === n.length)
|
|
3581
|
+
return null; var s = i._adapter, a = i._model.timeScale(), o = this._source._model.paneForSource(this._source).executionsPositionController().getXYCoordinate(s, a, n[0].index); if (!isFinite(o.y) || o.y < 0 || o.y > e || o.x < 0)
|
|
3582
|
+
return this._renderer = null, null; var h = { points: [new r(o.x, o.y)] }; return this._renderer = new l(h, s), this._renderer; }
|
|
3583
|
+
}
|
|
3584
|
+
h.prototype._renderer = null, h.prototype._rendererCached = !1, t.ExecutionPaneView = h;
|
|
3585
|
+
}, "u+oH": function (e, t, i) {
|
|
3586
|
+
"use strict";
|
|
3587
|
+
var r = i("aO4+").Point, n = i("YFKU").t, s = i("aB9a").LineSourcePaneView, a = i("pJOz").TrendLineRenderer, o = i("qgcf").TextRenderer, l = i("IjC5").RectangleRenderer, h = i("VdBB").HitTestResult, d = i("Zy3/").CompositeRenderer, c = i("GH0z").PercentageFormatter, u = i("zXvd").NumericFormatter, _ = i("5C6T").PipFormatter, p = i("Tmoa"), f = i("a7Ha").LineEnd, g = i("wGNx").RiskRewardPointIndex, v = i("Ialn").forceLTRStr, w = i("//lt").PaneCursorType, x = [w.Default, w.HorizontalResize, w.VerticalResize, w.VerticalResize];
|
|
3588
|
+
class m extends s {
|
|
3589
|
+
constructor(e, t) { super(e, t), this._percentageFormatter = new c, this._numericFormatter = new u, this._pipFormatter = null, this._lastSymbolInfo = null, this._entryLineRenderer = new a, this._stopLineRenderer = new a, this._targetLineRenderer = new a, this._positionLineRenderer = new a, this._fullStopBgRenderer = new l(new h(h.MOVEPOINT), new h(h.MOVEPOINT)), this._stopBgRenderer = new l(new h(h.MOVEPOINT), new h(h.MOVEPOINT)), this._fullTargetBgRenderer = new l(new h(h.MOVEPOINT), new h(h.MOVEPOINT)), this._targetBgRenderer = new l(new h(h.MOVEPOINT), new h(h.MOVEPOINT)), this._stopLabelRenderer = new o, this._middleLabelRenderer = new o, this._profitLabelRenderer = new o, this._renderer = null; }
|
|
3590
|
+
_formatInTicks(e) { var t = this._model.mainSeries().base(); return Math.round(e * t); }
|
|
3591
|
+
isLabelVisible() { return this.isHoveredSource() || this.isSelectedSource() || this._source.properties().alwaysShowStats.value(); }
|
|
3592
|
+
_updateImpl() {
|
|
3593
|
+
super._updateImpl(), this._renderer = null, this._stopLevel = null, this._profitLevel = null;
|
|
3594
|
+
var e = this._model.timeScale(), t = this._source.priceScale();
|
|
3595
|
+
if (t && !t.isEmpty() && !e.isEmpty()) {
|
|
3596
|
+
var i = this._source.points();
|
|
3597
|
+
if (!(i.length < 2 || this._points.length < 2)) {
|
|
3598
|
+
var n = this._model.mainSeries(), s = n.bars();
|
|
3599
|
+
if (0 !== s.length && null !== s.last()) {
|
|
3600
|
+
this._isClosed = 4 === i.length;
|
|
3601
|
+
var a = this._source.lastBarData();
|
|
3602
|
+
if (a) {
|
|
3603
|
+
var o = this._source.stopPrice(), l = this._source.profitPrice();
|
|
3604
|
+
this._pl = this._source.calculatePL(a.closePrice);
|
|
3605
|
+
var h = this._source.ownerSource().firstValue();
|
|
3606
|
+
this._entryLevel = this._points[g.Entry].y, this._stopLevel = t.priceToCoordinate(o, h), this._profitLevel = t.priceToCoordinate(l, h), this._closeLevel = t.priceToCoordinate(a.closePrice, h), this._closeBar = this._source._model.timeScale().indexToCoordinate(a.index);
|
|
3607
|
+
var c = new d, u = this, w = this._source.properties(), m = this._points[g.Entry].x, y = this._points[g.ActualEntry] ? this._points[g.ActualEntry].x : this._points[g.Close].x, b = this._points[g.ActualClose] ? this._points[g.ActualClose].x : this._points[g.Close].x, R = this._points[g.Close].x, T = new r(m, this._entryLevel), S = new r(R, this._stopLevel);
|
|
3608
|
+
if ((I = {}).points = [T, S], I.color = "white", I.linewidth = 0, I.backcolor = w.stopBackground.value(), I.fillBackground = !0, I.transparency = w.stopBackgroundTransparency.value(), I.extendLeft = !1, I.extendRight = !1, this._fullStopBgRenderer.setData(I), c.append(this._fullStopBgRenderer), this._pl < 0 && y !== b) {
|
|
3609
|
+
T = new r(y, this._entryLevel), S = new r(b, this._closeLevel);
|
|
3610
|
+
(I = {}).points = [T, S], I.color = "white", I.linewidth = 0, I.backcolor = w.stopBackground.value(), I.fillBackground = !0;
|
|
3611
|
+
var P = 100 - 100 * (1 - (L = .01 * w.stopBackgroundTransparency.value()) * L * L);
|
|
3612
|
+
I.transparency = P, I.extendLeft = !1, I.extendRight = !1, this._stopBgRenderer.setData(I), c.append(this._stopBgRenderer);
|
|
3613
|
+
}
|
|
3614
|
+
T = new r(m, this._entryLevel), S = new r(R, this._profitLevel);
|
|
3615
|
+
if ((I = {}).points = [T, S], I.color = "white", I.linewidth = 0, I.backcolor = w.profitBackground.value(), I.fillBackground = !0, I.transparency = w.profitBackgroundTransparency.value(), I.extendLeft = !1, I.extendRight = !1, this._fullTargetBgRenderer.setData(I), c.append(this._fullTargetBgRenderer), this._pl > 0 && y !== b) {
|
|
3616
|
+
T = new r(y, this._entryLevel), S = new r(b, this._closeLevel);
|
|
3617
|
+
(I = {}).points = [T, S], I.color = "white", I.linewidth = 0, I.backcolor = w.profitBackground.value(), I.fillBackground = !0;
|
|
3618
|
+
var L, C = 100 - 100 * (1 - (L = .01 * w.profitBackgroundTransparency.value()) * L * L);
|
|
3619
|
+
I.transparency = C, I.extendLeft = !1, I.extendRight = !1, this._targetBgRenderer.setData(I), c.append(this._targetBgRenderer);
|
|
3620
|
+
}
|
|
3621
|
+
var M = function (e, t, i, r) { var n = {}; n.points = [t, i], n.width = u._model.timeScale().width(), n.height = u._source.priceScale().height(), n.color = r || u._source.properties().linecolor.value(), n.linewidth = u._source.properties().linewidth.value(), n.linestyle = CanvasEx.LINESTYLE_SOLID, n.extendleft = !1, n.extendright = !1, n.leftend = f.Normal, n.rightend = f.Normal, e.setData(n), c.append(e); };
|
|
3622
|
+
if (this._points[g.ActualEntry]) {
|
|
3623
|
+
var I;
|
|
3624
|
+
T = this._points[g.ActualEntry], S = this._isClosed ? this._points[g.ActualClose] : new r(this._closeBar, this._closeLevel);
|
|
3625
|
+
(I = {}).points = [T, S], I.width = u._model.timeScale().width(), I.height = u._source.priceScale().height(), I.color = u._source.properties().linecolor.value(), I.linewidth = 1, I.linestyle = CanvasEx.LINESTYLE_DASHED, I.extendleft = !1, I.extendright = !1, I.leftend = f.Normal, I.rightend = f.Arrow, this._positionLineRenderer.setData(I), c.append(this._positionLineRenderer);
|
|
3626
|
+
}
|
|
3627
|
+
u = this;
|
|
3628
|
+
var O = function (e, t, i, r, n, s, a) {
|
|
3629
|
+
if (u.isLabelVisible()) {
|
|
3630
|
+
var o = {};
|
|
3631
|
+
o.points = [t],
|
|
3632
|
+
o.text = i, o.color = w.textcolor.value(), o.font = w.font.value(), o.offsetX = 3, o.offsetY = s, o.vertAlign = n, o.horzAlign = "center", o.backgroundRoundRect = 4, o.backgroundColor = p.resetTransparency(r), o.fontsize = w.fontsize.value(), o.backgroundHorzInflate = 4, a && (o.borderColor = a), e.setData(o), c.append(e);
|
|
3633
|
+
}
|
|
3634
|
+
}, N = this._source.entryPrice(), D = this._source.stopPrice(), B = this._source.profitPrice(), k = Math.abs(D - N), A = Math.round(1e4 * k / N) / 100, E = Math.abs(B - N), z = Math.round(1e4 * E / N) / 100, j = Math.abs(N - B) / Math.abs(N - D);
|
|
3635
|
+
T = new r(m, this._points[g.Entry].y), S = new r(R, this._points[g.Entry].y);
|
|
3636
|
+
M(this._entryLineRenderer, T, S);
|
|
3637
|
+
var V = new r((m + R) / 2, Math.round(this._points[0].y) + .5), H = "", W = "", F = this._numericFormatter.format(Math.round(100 * j) / 100);
|
|
3638
|
+
this._points[1] && void 0 !== this._pl && (W = this._source.ownerSource().formatter().format(this._pl));
|
|
3639
|
+
var Y = w.qty.value() / w.lotSize.value(), U = n.symbolInfo(), Z = "bitcoin" === U.type || "crypto" === U.type || "futures" === U.type ? Math.round(1e3 * Y) / 1e3 : Math.floor(Y);
|
|
3640
|
+
if (w.compact.value())
|
|
3641
|
+
H += W ? W + " ~ " : "", H += Z + "\n", H += F;
|
|
3642
|
+
else {
|
|
3643
|
+
var q = this._isClosed ? this.i18nCache.closed : this.i18nCache.open;
|
|
3644
|
+
H += W ? this.i18nCache.pnl.format({ status: q, pnl: W }) + ", " : "", H += this.i18nCache.qty.format({ qty: Z }) + "\n", H += this.i18nCache.ratio.format({ ratio: F }) + " ";
|
|
3645
|
+
}
|
|
3646
|
+
var G = w.linecolor.value();
|
|
3647
|
+
this._pl < 0 ? G = w.stopBackground.value() : this._pl > 0 && (G = w.profitBackground.value()), O(this._middleLabelRenderer, V, H, G, "middle", 0, "white");
|
|
3648
|
+
T = new r(m, this._stopLevel), S = new r(R, this._stopLevel);
|
|
3649
|
+
M(this._stopLineRenderer, T, S, w.stopBackground.value()), U && U !== this._lastSymbolInfo && (this._pipFormatter = new _(U.pricescale, U.minmov, U.type, U.minmove2), this._lastSymbolInfo = U);
|
|
3650
|
+
V = new r((m + R) / 2, this._stopLevel), H = "";
|
|
3651
|
+
var Q = this._source.ownerSource().formatter().format(k), X = this._percentageFormatter.format(A);
|
|
3652
|
+
H = w.compact.value() ? Q + " (" + X + ") " + w.amountStop.value() : this.i18nCache.stop.format({ stopChange: v(this._source.ownerSource().formatter().format(k)), stopChangePercent: v(this._percentageFormatter.format(A)), stopChangePip: this._pipFormatter ? v(this._pipFormatter.format(k)) : "", amount: v(w.amountStop.value()) }), O(this._stopLabelRenderer, V, H, w.stopBackground.value(), N < D ? "bottom" : "top", 0);
|
|
3653
|
+
T = new r(m, this._profitLevel), S = new r(R, this._profitLevel);
|
|
3654
|
+
M(this._targetLineRenderer, T, S, w.profitBackground.value());
|
|
3655
|
+
V = new r((m + R) / 2, this._profitLevel), H = "", Q = this._source.ownerSource().formatter().format(E), X = this._percentageFormatter.format(z);
|
|
3656
|
+
H = w.compact.value() ? Q + " (" + X + ") " + w.amountTarget.value() : this.i18nCache.target.format({ profitChange: v(this._source.ownerSource().formatter().format(E)), profitChangePercent: v(this._percentageFormatter.format(z)), profitChangePip: this._pipFormatter ? v(this._pipFormatter.format(E)) : "", amount: v(w.amountTarget.value()) }), O(this._profitLabelRenderer, V, H, w.profitBackground.value(), N < D ? "top" : "bottom", 0);
|
|
3657
|
+
var J = this._points[0].clone();
|
|
3658
|
+
J.data = 0;
|
|
3659
|
+
var K = new r(m, this._stopLevel);
|
|
3660
|
+
K.data = 2, K.square = !0;
|
|
3661
|
+
var $ = new r(m, this._profitLevel);
|
|
3662
|
+
$.data = 3, $.square = !0;
|
|
3663
|
+
var ee = new r(R, J.y);
|
|
3664
|
+
ee.data = 1, ee.square = !0;
|
|
3665
|
+
var te = { points: [J, ee, K, $], pointsCursorType: x };
|
|
3666
|
+
c.append(this.createLineAnchor(te, 0)), this._renderer = c;
|
|
3667
|
+
}
|
|
3668
|
+
}
|
|
3669
|
+
}
|
|
3670
|
+
}
|
|
3671
|
+
}
|
|
3672
|
+
renderer(e, t) {
|
|
3673
|
+
return this._invalidated && this._updateImpl(), this._renderer;
|
|
3674
|
+
}
|
|
3675
|
+
}
|
|
3676
|
+
m.prototype.i18nCache = { pnl: n("{status} P&L: {pnl}"), open: n("Open", { context: "line_tool_position" }), closed: n("Closed", { context: "line_tool_position" }), ratio: n("Risk/Reward Ratio: {ratio}"), stop: n("Stop: {stopChange} ({stopChangePercent}) {stopChangePip}, Amount: {amount}"), target: n("Target: {profitChange} ({profitChangePercent}) {profitChangePip}, Amount: {amount}"), qty: n("Qty: {qty}") }, t.RiskRewardPaneView = m;
|
|
3677
|
+
}, uRW3: function (e, t, i) {
|
|
3678
|
+
"use strict";
|
|
3679
|
+
i.r(t), i.d(t, "HighlighterPaneView", (function () { return s; }));
|
|
3680
|
+
var r = i("8Uy/"), n = i("hzaj");
|
|
3681
|
+
class s extends n.a {
|
|
3682
|
+
_createPolygonRendererData() { const e = this._source.properties().childs(); return { points: this._points, color: e.linecolor.value(), linewidth: 20, backcolor: "rgba(0, 0, 0, 0)", fillBackground: !1, linestyle: r.LINESTYLE_SOLID, linecap: "round", linejoin: "round", filled: !1, transparency: e.transparency.value() }; }
|
|
3683
|
+
}
|
|
3684
|
+
}, wacn: function (e, t, i) {
|
|
3685
|
+
"use strict";
|
|
3686
|
+
i.r(t), i.d(t, "DisjointChannelRenderer", (function () { return _; }));
|
|
3687
|
+
var r = i("Eyy1"), n = i("aO4+"), s = i("f6yo"), a = i("GEp6"), o = i("hBTJ"), l = i("8Uy/"), h = i("VdBB"), d = i("NN6M"), c = i("Tmoa"), u = i("cPgM");
|
|
3688
|
+
class _ {
|
|
3689
|
+
constructor() { this._parallelChannelRenderer = new d.ParallelChannelRenderer, this._disjointChannelIntersectionRenderer = new p, this._selectedRenderer = this._disjointChannelIntersectionRenderer; }
|
|
3690
|
+
setData(e) { if (e.points.length < 4)
|
|
3691
|
+
return; const [t, i, r, s] = e.points; if (Object(n.equalPoints)(t, i) || Object(n.equalPoints)(r, s) || Object(a.distanceToLine)(t, i, r).distance < 1e-6 && Object(a.distanceToLine)(t, i, s).distance < 1e-6)
|
|
3692
|
+
this._selectedRenderer = null;
|
|
3693
|
+
else {
|
|
3694
|
+
null !== Object(o.intersectLines)(Object(n.lineThroughPoints)(t, i), Object(n.lineThroughPoints)(r, s)) ? (this._disjointChannelIntersectionRenderer.setData(e), this._selectedRenderer = this._disjointChannelIntersectionRenderer) : (this._parallelChannelRenderer.setData({ extendleft: e.extendleft, extendright: e.extendright, points: [t, i, s, r], fillBackground: !0, backcolor: e.backcolor, transparency: e.transparency, color: "rgba(0,0,0,0)", linestyle: l.LINESTYLE_SOLID, linewidth: 0, showMidline: !1, hittestOnBackground: e.hittestOnBackground }), this._selectedRenderer = this._parallelChannelRenderer);
|
|
3695
|
+
} }
|
|
3696
|
+
hitTest(e, t) { return null !== this._selectedRenderer ? this._selectedRenderer.hitTest(e, t) : null; }
|
|
3697
|
+
draw(e, t) { null !== this._selectedRenderer && this._selectedRenderer.draw(e, t); }
|
|
3698
|
+
}
|
|
3699
|
+
class p extends u.ScaledPaneRenderer {
|
|
3700
|
+
constructor() { super(...arguments), this._data = null; }
|
|
3701
|
+
setData(e) { this._data = e; }
|
|
3702
|
+
hitTest(e, t) { if (null === this._data || !this._data.hittestOnBackground)
|
|
3703
|
+
return null; for (const i of this._visiblePolygons(t))
|
|
3704
|
+
if (Object(s.pointInPolygon)(e, i))
|
|
3705
|
+
return new h.HitTestResult(h.HitTestResult.MOVEPOINT_BACKGROUND); return null; }
|
|
3706
|
+
_drawImpl(e, t) { if (!(null === this._data || this._data.points.length < 4)) {
|
|
3707
|
+
e.fillStyle = Object(c.generateColor)(this._data.backcolor, this._data.transparency);
|
|
3708
|
+
for (const i of this._visiblePolygons(t)) {
|
|
3709
|
+
e.beginPath(), e.moveTo(i[0].x, i[0].y);
|
|
3710
|
+
for (let t = 1; t < i.length; t++)
|
|
3711
|
+
e.lineTo(i[t].x, i[t].y);
|
|
3712
|
+
e.fill();
|
|
3713
|
+
}
|
|
3714
|
+
} }
|
|
3715
|
+
_visiblePolygons(e) {
|
|
3716
|
+
const t = Object(r.ensureNotNull)(this._data), [i, s, a, l] = t.points;
|
|
3717
|
+
if (e.cssWidth <= 0 || e.cssHeight <= 0)
|
|
3718
|
+
return [];
|
|
3719
|
+
const h = Object(o.intersectLines)(Object(n.lineThroughPoints)(i, s), Object(n.lineThroughPoints)(a, l));
|
|
3720
|
+
if (null === h)
|
|
3721
|
+
return [];
|
|
3722
|
+
const d = [new n.Point(0, 0), new n.Point(e.cssWidth, 0), new n.Point(e.cssWidth, e.cssHeight), new n.Point(0, e.cssHeight)], c = [];
|
|
3723
|
+
{
|
|
3724
|
+
let e = d;
|
|
3725
|
+
const r = i.subtract(s).add(h), n = l.subtract(a).add(h);
|
|
3726
|
+
e = f(e, h, r, [n, n]), e = v(e, t), e = f(e, n, h, [r, r]), null !== e && c.push(e);
|
|
3727
|
+
}
|
|
3728
|
+
{
|
|
3729
|
+
let e = d;
|
|
3730
|
+
const r = s.subtract(i).add(h), n = a.subtract(l).add(h);
|
|
3731
|
+
e = f(e, h, r, [n, n]), e = v(e, t), e = f(e, n, h, [r, r]), null !== e && c.push(e);
|
|
3732
|
+
}
|
|
3733
|
+
return c;
|
|
3734
|
+
}
|
|
3735
|
+
}
|
|
3736
|
+
function f(e, t, i, r) { const s = Object(n.equalPoints)(i, r[0]) ? Object(n.equalPoints)(i, r[1]) ? null : r[1] : r[0]; return null !== e && null !== s ? Object(o.intersectPolygonAndHalfplane)(e, Object(n.halfplaneThroughPoint)(Object(n.lineThroughPoints)(t, i), s)) : null; }
|
|
3737
|
+
function g(e, t, i) { return null !== e ? Object(o.intersectPolygonAndHalfplane)(e, Object(n.halfplaneThroughPoint)((r = t, Object(n.line)(1, 0, -r)), new n.Point(i, 0))) : null; var r; }
|
|
3738
|
+
function v(e, t) { const [i, r] = t.points; return t.extendleft || (e = g(e, i.x, r.x)), t.extendright || (e = g(e, r.x, i.x)), e; }
|
|
3739
|
+
}, wdUH: function (e, t, i) {
|
|
3740
|
+
"use strict";
|
|
3741
|
+
i.r(t), i.d(t, "GannFixedPaneView", (function () { return d; }));
|
|
3742
|
+
var r = i("aO4+"), n = i("aB9a"), s = i("pJOz"), a = i("Zy3/"), o = i("a7Ha"), l = i("8Uy/"), h = i("amvX");
|
|
3743
|
+
class d extends n.LineSourcePaneView {
|
|
3744
|
+
constructor(e, t) { super(e, t), this._verticalLevelsRenderers = [], this._horizontalLevelsRenderers = [], this._fanRenderers = [], this._arcRenderers = [], this._renderer = null, this._initRenderers(); }
|
|
3745
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
3746
|
+
_updateImpl() { super._updateImpl(), this._renderer = null; const e = this._getSource(), t = this._getPoints(), i = e.getScreenPoints(); if (t.length < 2 || i.length < 2)
|
|
3747
|
+
return; const [r, n] = i; t[1] = r, t[1].data = 1, t[2] = n; const s = this._getPoints(), o = new a.CompositeRenderer; if (s.length < 2)
|
|
3748
|
+
return this.addAnchors(o), void (this._renderer = o); const l = s[0], h = 3 === s.length ? s[2] : s[1], d = h.x - l.x, c = h.y - l.y, u = l, _ = h, p = this._getModel(), f = { barsCoordsRange: d, priceCoordsRange: c, startPoint: u, endPoint: _, p1: l, p2: h }; this._prepareLevels(o, f), this._prepareFanLines(o, f), this._prepareArcs(o, f); const g = [l, s[1]]; p.lineBeingCreated() === e && g.pop(), o.append(this.createLineAnchor({ points: g }, 0)), this._renderer = o; }
|
|
3749
|
+
_initRenderers() { const e = this._getSource(), t = e.levelsCount(); for (let e = 0; e < t; e++)
|
|
3750
|
+
this._verticalLevelsRenderers.push(new s.TrendLineRenderer), this._horizontalLevelsRenderers.push(new s.TrendLineRenderer); const i = e.fanLinesCount(); for (let e = 0; e < i; e++)
|
|
3751
|
+
this._fanRenderers.push(new s.TrendLineRenderer); const r = e.arcsCount(); for (let e = 0; e < r; e++)
|
|
3752
|
+
this._arcRenderers.push(new h.a); }
|
|
3753
|
+
_prepareLevels(e, t) {
|
|
3754
|
+
const { startPoint: i, endPoint: n, barsCoordsRange: s, priceCoordsRange: a } = t, h = this._getSource().levels();
|
|
3755
|
+
for (const t of h) {
|
|
3756
|
+
if (!t.visible)
|
|
3757
|
+
continue;
|
|
3758
|
+
const h = t.index / 5, d = i.x + h * s, c = { points: [new r.Point(d, i.y), new r.Point(d, n.y)], color: t.color, linewidth: t.width, linestyle: l.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: o.LineEnd.Normal, rightend: o.LineEnd.Normal }, u = this._verticalLevelsRenderers[t.index];
|
|
3759
|
+
u.setData(c), e.append(u);
|
|
3760
|
+
const _ = i.y + h * a, p = { points: [new r.Point(i.x, _), new r.Point(n.x, _)], color: t.color, linewidth: t.width,
|
|
3761
|
+
linestyle: l.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: o.LineEnd.Normal, rightend: o.LineEnd.Normal }, f = this._horizontalLevelsRenderers[t.index];
|
|
3762
|
+
f.setData(p), e.append(f);
|
|
3763
|
+
}
|
|
3764
|
+
}
|
|
3765
|
+
_prepareFanLines(e, t) { const { p1: i, startPoint: n, endPoint: s, barsCoordsRange: a, priceCoordsRange: h } = t, d = this._getSource().fanLines(); for (const t of d) {
|
|
3766
|
+
if (!t.visible)
|
|
3767
|
+
continue;
|
|
3768
|
+
const d = t.x, c = t.y;
|
|
3769
|
+
let u, _;
|
|
3770
|
+
if (d > c) {
|
|
3771
|
+
u = s.x;
|
|
3772
|
+
const e = c / d;
|
|
3773
|
+
_ = n.y + e * h;
|
|
3774
|
+
}
|
|
3775
|
+
else {
|
|
3776
|
+
_ = s.y;
|
|
3777
|
+
const e = d / c;
|
|
3778
|
+
u = n.x + e * a;
|
|
3779
|
+
}
|
|
3780
|
+
const p = { points: [i, new r.Point(u, _)], color: t.color, linewidth: t.width, linestyle: l.LINESTYLE_SOLID, extendleft: !1, extendright: !1, leftend: o.LineEnd.Normal, rightend: o.LineEnd.Normal }, f = this._fanRenderers[t.index];
|
|
3781
|
+
f.setData(p), e.append(f);
|
|
3782
|
+
} }
|
|
3783
|
+
_prepareArcs(e, t) { const { p1: i, startPoint: n, endPoint: s, barsCoordsRange: a, priceCoordsRange: o } = t; let l = i; const h = this._getSource(), d = h.isArcsBackgroundFilled(), c = h.arcsBackgroundTransparency(), u = h.arcs(); for (const t of u) {
|
|
3784
|
+
if (!t.visible)
|
|
3785
|
+
continue;
|
|
3786
|
+
const i = t.x / 5, h = t.y / 5, u = n.x + i * a, _ = n.y + h * o, p = { center: n, point: new r.Point(u, _), edge: s, color: t.color, linewidth: t.width, fillBack: d, transparency: c, prevPoint: l }, f = this._arcRenderers[t.index];
|
|
3787
|
+
f.setData(p), e.append(f), l = p.point;
|
|
3788
|
+
} }
|
|
3789
|
+
}
|
|
3790
|
+
}, wgWl: function (e, t, i) {
|
|
3791
|
+
"use strict";
|
|
3792
|
+
var r = i("aO4+").Point, n = i("aB9a").LineSourcePaneView, s = i("z+cS").VerticalLineRenderer, a = i("qgcf").TextRenderer, o = i("IjC5").RectangleRenderer, l = i("pJOz").TrendLineRenderer, h = i("VdBB").HitTestResult, d = i("Zy3/").CompositeRenderer, c = i("a7Ha").LineEnd;
|
|
3793
|
+
t.FibTimeZonePaneView = class extends n {
|
|
3794
|
+
constructor(e, t) { super(e, t), this._levels = [], this._trendRenderer = new l, this._renderer = null; }
|
|
3795
|
+
_updateImpl() {
|
|
3796
|
+
if (super._updateImpl(), this._renderer = null, !(this._source.points().length < 1) && this._source.priceScale() && !this._source.priceScale().isEmpty() && !this._model.timeScale().isEmpty()) {
|
|
3797
|
+
var e = this._source.points()[0];
|
|
3798
|
+
2 === this._source.points().length && (v = this._source.points()[1]);
|
|
3799
|
+
var t = this._source.properties(), i = this._source.points()[0].index;
|
|
3800
|
+
if (null !== this._model.timeScale().visibleBarsStrictRange()) {
|
|
3801
|
+
this._levels = [];
|
|
3802
|
+
for (var n = v ? v.index - e.index : 1, l = 1; l <= 11; l++) {
|
|
3803
|
+
var u = t["level" + l];
|
|
3804
|
+
if (u.visible.value()) {
|
|
3805
|
+
var _ = Math.round(i + u.coeff.value() * n), p = { index: l, x: this._model.timeScale().indexToCoordinate(_), color: u.color.value(), width: u.linewidth.value(), style: u.linestyle.value() };
|
|
3806
|
+
t.showLabels.value() && (p.text = u.coeff.value(), p.y = this._source.priceScale().height()), this._levels.push(p);
|
|
3807
|
+
}
|
|
3808
|
+
}
|
|
3809
|
+
var f = new d;
|
|
3810
|
+
if ((t = this._source.properties()).fillBackground.value())
|
|
3811
|
+
for (l = 1; l < this._levels.length; l++) {
|
|
3812
|
+
var g = this._levels[l - 1], v = (e = new r(this._levels[l].x, 0), new r(g.x, this._source.priceScale().height())), w = {};
|
|
3813
|
+
w.points = [e, v], w.color = this._levels[l].color, w.linewidth = 0, w.backcolor = this._levels[l].color, w.fillBackground = !0, w.transparency = t.transparency.value(), w.extendLeft = !1, w.extendRight = !1, (m = new o(void 0, void 0, !0)).setData(w), f.append(m);
|
|
3814
|
+
}
|
|
3815
|
+
for (l = 0; l < this._levels.length; l++) {
|
|
3816
|
+
var x = {};
|
|
3817
|
+
x.x = this._levels[l].x, x.color = this._levels[l].color, x.linewidth = this._levels[l].width, x.linestyle = this._levels[l].style;
|
|
3818
|
+
var m, y = new h(h.MOVEPOINT, null, this._levels[l].index);
|
|
3819
|
+
if ((m = new s).setData(x), m.setHitTest(y), f.append(m),
|
|
3820
|
+
void 0 !== this._levels[l].text) {
|
|
3821
|
+
var b, R = t.horzLabelsAlign.value();
|
|
3822
|
+
switch (R = "left" === R ? "right" : "right" === R ? "left" : "center", t.vertLabelsAlign.value()) {
|
|
3823
|
+
case "top":
|
|
3824
|
+
b = new r(this._levels[l].x, 0);
|
|
3825
|
+
break;
|
|
3826
|
+
case "middle":
|
|
3827
|
+
b = new r(this._levels[l].x, .5 * this._levels[l].y);
|
|
3828
|
+
break;
|
|
3829
|
+
case "bottom": b = new r(this._levels[l].x, this._levels[l].y);
|
|
3830
|
+
}
|
|
3831
|
+
var T = { points: [b], text: "" + this._levels[l].text, color: x.color, vertAlign: t.vertLabelsAlign.value(), horzAlign: R, font: t.font.value(), offsetX: 2, offsetY: 0, fontsize: 12 };
|
|
3832
|
+
f.append(new a(T));
|
|
3833
|
+
}
|
|
3834
|
+
}
|
|
3835
|
+
if (2 === this._points.length) {
|
|
3836
|
+
var S = { points: [this._points[0], this._points[1]], color: t.trendline.color.value(), linewidth: t.trendline.linewidth.value(), linestyle: t.trendline.linestyle.value(), extendleft: !1, extendright: !1, leftend: c.Normal, rightend: c.Normal };
|
|
3837
|
+
this._trendRenderer.setData(S), f.append(this._trendRenderer);
|
|
3838
|
+
}
|
|
3839
|
+
2 === this._source.points().length ? f.append(this.createLineAnchor({ points: this._points }, 0)) : this._points.length > 0 && f.append(this.createLineAnchor({ points: [new r(this._points[0].x, this._source.priceScale().height() / 2)], hittestResult: h.MOVEPOINT }, 0)), this._renderer = f;
|
|
3840
|
+
}
|
|
3841
|
+
}
|
|
3842
|
+
}
|
|
3843
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
3844
|
+
};
|
|
3845
|
+
}, xUGI: function (e, t, i) {
|
|
3846
|
+
"use strict";
|
|
3847
|
+
var r = i("GH0z").PercentageFormatter, n = i("zXvd").NumericFormatter, s = i("zDbI").CHART_FONT_FAMILY, a = i("d1Pk").fibLevelPrice, o = i("ikwP").drawScaled;
|
|
3848
|
+
function l(e, t, i) { this._fibLevelsBasedOnLogScaleProperty = e, this._sourcesToRow = {}, this._rowsToSources = {}, this._currentSymbol = "", this._actualCapacity = 1, this._actualWidth = 1, this._numericFormatter = new n, this._percentageFormatter = new r, this._pixelRatio = i.pixelRatio, this._recreateCanvas(this._actualWidth, l.ROW_HEIGHT * this._actualCapacity), this._levelsCount = t; }
|
|
3849
|
+
l.prototype.destroy = function () { this._canvas = null, this._cache = null; }, l.prototype.topByRow = function (e) { return e * l.ROW_HEIGHT; }, l.prototype.rowHeight = function (e) { return l.ROW_HEIGHT; }, l.prototype.devicePixelRatio = function () { return this._canvas && this._canvas.pixelRatio || 0; }, l.prototype._recreateCanvas = function (e, t) { this._canvas = document.createElement("canvas"), this._canvas.width = Math.ceil(e * this._pixelRatio), this._canvas.height = Math.ceil(t * this._actualCapacity * this._pixelRatio), this._cache = this._canvas.getContext("2d"), this._cache.font = "12px " + s; }, l.prototype.canvas = function () { return this._canvas; }, l.ROW_HEIGHT = 14, l.prototype.points = function (e) { return [e.points()[0], e.points()[1]]; }, l.prototype._selectStartPrice = function (e, t) { return t ? e.points()[0].price : e.points()[1].price; }, l.prototype.startPoint = function (e, t) { var i = this._selectStartPrice(e, t); if (!this._calculateLogLevels(e))
|
|
3850
|
+
return { price: i }; var r = e.ownerSource().firstValue(); return { price: i, coordinate: e.priceScale().priceToCoordinate(i, r) }; }, l.prototype._calculatePriceRange = function (e, t, i) { return i ? t.price - e.price : e.price - t.price; }, l.prototype.priceRange = function (e, t) {
|
|
3851
|
+
var i = this.points(e), r = i[0], n = i[1], s = this._calculatePriceRange(r, n, t);
|
|
3852
|
+
if (!this._calculateLogLevels(e))
|
|
3853
|
+
return { price: s };
|
|
3854
|
+
var a = e.priceScale(), o = e.ownerSource().firstValue(), l = a.priceToCoordinate(r.price, o), h = a.priceToCoordinate(n.price, o);
|
|
3855
|
+
return { price: s,
|
|
3856
|
+
coordinate: t ? h - l : l - h };
|
|
3857
|
+
}, l.prototype.sourceIsReady = function (e) { return e.points().length >= 2; }, l.prototype._calculateLogLevels = function (e) { return e.fibLevelsBasedOnLogScale && e.fibLevelsBasedOnLogScale(); }, l.prototype._calculateWidth = function (e) { if (!this.sourceIsReady(e))
|
|
3858
|
+
return null; var t = this._canvas.getContext("2d"); t.font = "12px " + s; var i = !!e.properties().showPrices && e.properties().showPrices.value(), r = !!e.properties().coeffsAsPercents && e.properties().coeffsAsPercents.value(), n = e.properties().showCoeffs.value(), o = this.points(e), l = o[0], h = o[1]; if (!l || !h)
|
|
3859
|
+
return null; var d = e.ownerSource().firstValue(); if (null === d)
|
|
3860
|
+
return 0; var c = !1, u = e.properties(); u.reverse && u.reverse.value() && (c = u.reverse.value()); for (var _ = this.startPoint(e, c), p = this.priceRange(e, c), f = this._calculateLogLevels(e), g = 0, v = [], w = 1; w <= this._levelsCount; w++) {
|
|
3861
|
+
var x = u["level" + w].coeff.value(), m = "";
|
|
3862
|
+
if (n && (m += r ? this._percentageFormatter.format(Math.round(1e4 * x) / 100) : this._numericFormatter.format(x)), i) {
|
|
3863
|
+
var y = e.priceScale(), b = a(_, p, x, y, d, f);
|
|
3864
|
+
m += "(" + y.formatPrice(b, d) + ")";
|
|
3865
|
+
}
|
|
3866
|
+
var R = { text: m, left: g, width: t.measureText(m).width + 4 };
|
|
3867
|
+
v.push(R), g += R.width;
|
|
3868
|
+
} return { totalWidth: g, cells: v }; }, l.prototype._effectiveState = function (e) { var t = {}, i = e.properties(); i.showPrices && (t.showPrices = i.showPrices.value()), i.coeffsAsPercents && (t.coeffsAsPercents = i.coeffsAsPercents.value()), t.showCoeffs = i.showCoeffs.value(); var r = e.priceScale(); r && (r.formatter().state && (t.formatter = e.priceScale().formatter().state()), t.logLevels = this._calculateLogLevels(e)), i.reverse && (t.reverse = i.reverse.value()), t.p1 = e.points()[0], t.p2 = e.points()[1], 3 === e.points().length && (t.p3 = e.points()[2]), t.items = []; for (var n = 1; n <= this._levelsCount; n++) {
|
|
3869
|
+
var s = i["level" + n], a = { coeff: s.coeff.value(), color: s.color.value() };
|
|
3870
|
+
t.items.push(a);
|
|
3871
|
+
} return t; }, l.prototype._findEmptyRow = function (e) { for (var t = 0; this._rowsToSources[t];)
|
|
3872
|
+
t++; return this._rowsToSources[t] = e, t >= this._actualCapacity && (this._actualCapacity++, this._recreateCanvas(this._actualWidth, l.ROW_HEIGHT * this._actualCapacity)), t; }, l.prototype._repaintSource = function (e, t, i) { var r = l.ROW_HEIGHT * i.row; o(this._cache, this._pixelRatio, function () { this._cache.clearRect(0, r, this._actualWidth, l.ROW_HEIGHT), this._cache.textBaseline = "bottom", this._cache.font = "12px " + s, r += l.ROW_HEIGHT; for (var i = 0; i < e.cells.length; i++) {
|
|
3873
|
+
var n = e.cells[i];
|
|
3874
|
+
this._cache.fillStyle = t.items[i].color, this._cache.fillText(n.text, n.left, r);
|
|
3875
|
+
} }.bind(this)); }, l.prototype.removeSource = function (e) { if (this._sourcesToRow[e]) {
|
|
3876
|
+
var t = this._sourcesToRow[e].row;
|
|
3877
|
+
o(this._cache, this._pixelRatio, (function () { this._cache.clearRect(0, this.topByRow(t), this._actualWidth, l.ROW_HEIGHT); })), delete this._sourcesToRow[e], delete this._rowsToSources[t];
|
|
3878
|
+
} }, l.prototype._effectiveStatesEquals = function (e, t) {
|
|
3879
|
+
var i, r, n, s, a = function (e, t) { return !(!e && !t) && (!(!e || t) || (!(e || !t) || (e.index !== t.index || e.price !== t.price))); };
|
|
3880
|
+
if (e && !t)
|
|
3881
|
+
return !1;
|
|
3882
|
+
if (!e && t)
|
|
3883
|
+
return !1;
|
|
3884
|
+
if (e.showPrices !== t.showPrices)
|
|
3885
|
+
return !1;
|
|
3886
|
+
if (e.coeffsAsPercents !== t.coeffsAsPercents)
|
|
3887
|
+
return !1;
|
|
3888
|
+
if (e.showCoeffs !== t.showCoeffs)
|
|
3889
|
+
return !1;
|
|
3890
|
+
if (e.reverse !== t.reverse)
|
|
3891
|
+
return !1;
|
|
3892
|
+
if (e.logLevels !== t.logLevels)
|
|
3893
|
+
return !1;
|
|
3894
|
+
if (i = e.formatter,
|
|
3895
|
+
r = t.formatter, (i || r) && (i && !r || !i && r || i.minMove !== r.minMove || i.minMove2 !== r.minMove2 || i.fractional !== r.fractional || i.fractionalLength !== r.fractionalLength))
|
|
3896
|
+
return !1;
|
|
3897
|
+
if (a(e.p1, t.p1))
|
|
3898
|
+
return !1;
|
|
3899
|
+
if (a(e.p2, t.p2))
|
|
3900
|
+
return !1;
|
|
3901
|
+
if (a(e.p3, t.p3))
|
|
3902
|
+
return !1;
|
|
3903
|
+
if (e.items.length !== t.items.length)
|
|
3904
|
+
return !1;
|
|
3905
|
+
for (var o = 0; o < e.items.length; o++)
|
|
3906
|
+
if (n = e.items[o], s = t.items[o], n.coeff !== s.coeff || n.color !== s.color)
|
|
3907
|
+
return !1;
|
|
3908
|
+
return !0;
|
|
3909
|
+
}, l.prototype.updateSource = function (e) { var t = e.properties().symbol.value(); if (this._currentSymbol !== t && (this._currentSymbol = t, this._sourcesToRow = {}, this._rowsToSources = {}), !this._sourcesToRow[e.id()]) {
|
|
3910
|
+
var i = this._findEmptyRow(e.id());
|
|
3911
|
+
this._sourcesToRow[e.id()] = { effectiveState: null, row: i };
|
|
3912
|
+
} var r = this._sourcesToRow[e.id()].effectiveState, n = this._effectiveState(e); if (!this._effectiveStatesEquals(r, n)) {
|
|
3913
|
+
var s = this._calculateWidth(e);
|
|
3914
|
+
if (s) {
|
|
3915
|
+
this._sourcesToRow[e.id()].effectiveState = n, s.totalWidth > this._actualWidth && (this._recreateCanvas(s.totalWidth, l.ROW_HEIGHT * this._actualCapacity), this._actualWidth = s.totalWidth);
|
|
3916
|
+
i = this._sourcesToRow[e.id()];
|
|
3917
|
+
this._repaintSource(s, n, i), this._sourcesToRow[e.id()].effectiveState = n, this._sourcesToRow[e.id()].preparedCells = s;
|
|
3918
|
+
}
|
|
3919
|
+
else
|
|
3920
|
+
this._sourcesToRow[e.id()].effectiveState = null;
|
|
3921
|
+
} return this._sourcesToRow[e.id()]; }, e.exports = l;
|
|
3922
|
+
}, xp9B: function (e, t, i) {
|
|
3923
|
+
"use strict";
|
|
3924
|
+
var r = i("aO4+").Point, n = i("aB9a").LineSourcePaneView, s = i("2trc").ChannelRenderer, a = i("qgcf").TextRenderer, o = i("pJOz").TrendLineRenderer, l = i("VdBB").HitTestResult, h = i("Zy3/").CompositeRenderer, d = i("zXvd").NumericFormatter, c = i("a7Ha").LineEnd;
|
|
3925
|
+
t.FibSpeedResistanceFanPaneView = class extends n {
|
|
3926
|
+
constructor(e, t) { super(e, t), this._numericFormatter = new d, this._renderer = null; }
|
|
3927
|
+
_updateImpl() {
|
|
3928
|
+
if (super._updateImpl(), this._renderer = null, !(this._source.points().length < 2) && this._source.priceScale() && !this._source.priceScale().isEmpty() && !this._model.timeScale().isEmpty()) {
|
|
3929
|
+
var e = this._source.points()[0], t = this._source.points()[1], i = this._source.properties(), n = i.reverse.value();
|
|
3930
|
+
this._hlevels = [];
|
|
3931
|
+
for (var d = n ? t.price - e.price : e.price - t.price, u = n ? e.price : t.price, _ = this._source.ownerSource().firstValue(), p = 1; p <= 7; p++) {
|
|
3932
|
+
if ((y = i["hlevel" + p]).visible.value()) {
|
|
3933
|
+
var f = y.coeff.value(), g = y.color.value(), v = u + f * d, w = this._source.priceScale().priceToCoordinate(v, _);
|
|
3934
|
+
this._hlevels.push({ coeff: f, color: g, y: w, index: p });
|
|
3935
|
+
}
|
|
3936
|
+
}
|
|
3937
|
+
this._vlevels = [];
|
|
3938
|
+
var x = n ? t.index - e.index : e.index - t.index, m = n ? e.index : t.index;
|
|
3939
|
+
for (p = 1; p <= 7; p++) {
|
|
3940
|
+
var y;
|
|
3941
|
+
if ((y = i["vlevel" + p]).visible.value()) {
|
|
3942
|
+
f = y.coeff.value(), g = y.color.value();
|
|
3943
|
+
var b = Math.round(m + f * x), R = this._model.timeScale().indexToCoordinate(b, !0);
|
|
3944
|
+
this._vlevels.push({ coeff: f, color: g, x: R, index: p });
|
|
3945
|
+
}
|
|
3946
|
+
}
|
|
3947
|
+
if (!(this._floatPoints.length < 2)) {
|
|
3948
|
+
var T = new h, S = (e = this._floatPoints[0], t = this._floatPoints[1], Math.min(e.x, t.x)), P = Math.min(e.y, t.y), L = Math.max(e.x, t.x), C = Math.max(e.y, t.y), M = i.grid.color.value(), I = i.grid.linewidth.value(), O = i.grid.linestyle.value();
|
|
3949
|
+
for (p = 0; p < this._hlevels.length; p++) {
|
|
3950
|
+
e = new r(S, this._hlevels[p].y), t = new r(L, this._hlevels[p].y);
|
|
3951
|
+
if (i.grid.visible.value()) {
|
|
3952
|
+
var N = { points: [e, t], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: M,
|
|
3953
|
+
linewidth: I, linestyle: O, extendleft: !1, extendright: !1, leftend: c.Normal, rightend: c.Normal };
|
|
3954
|
+
(F = new o).setData(N), T.append(F);
|
|
3955
|
+
}
|
|
3956
|
+
if (i.showLeftLabels.value()) {
|
|
3957
|
+
var D = { points: [e], text: this._numericFormatter.format(this._hlevels[p].coeff), color: this._hlevels[p].color, vertAlign: "middle", horzAlign: "right", font: i.font.value(), offsetX: 5, offsetY: 0, fontsize: 12, forceTextAlign: !0 };
|
|
3958
|
+
T.append(new a(D));
|
|
3959
|
+
}
|
|
3960
|
+
if (i.showRightLabels.value()) {
|
|
3961
|
+
var B = { points: [t], text: this._numericFormatter.format(this._hlevels[p].coeff), color: this._hlevels[p].color, vertAlign: "middle", horzAlign: "left", font: i.font.value(), offsetX: 5, offsetY: 0, fontsize: 12, forceTextAlign: !0 };
|
|
3962
|
+
T.append(new a(B));
|
|
3963
|
+
}
|
|
3964
|
+
}
|
|
3965
|
+
for (p = 0; p < this._vlevels.length; p++) {
|
|
3966
|
+
e = new r(this._vlevels[p].x, P), t = new r(this._vlevels[p].x, C);
|
|
3967
|
+
if (i.grid.visible.value()) {
|
|
3968
|
+
N = { points: [e, t], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: M, linewidth: I, linestyle: O, extendleft: !1, extendright: !1, leftend: c.Normal, rightend: c.Normal };
|
|
3969
|
+
(F = new o).setData(N), T.append(F);
|
|
3970
|
+
}
|
|
3971
|
+
if (i.showTopLabels.value()) {
|
|
3972
|
+
var k = { points: [e], text: this._numericFormatter.format(this._vlevels[p].coeff), color: this._vlevels[p].color, vertAlign: "bottom", horzAlign: "center", font: i.font.value(), offsetX: 0, offsetY: 5, fontsize: 12 };
|
|
3973
|
+
T.append(new a(k));
|
|
3974
|
+
}
|
|
3975
|
+
if (i.showBottomLabels.value()) {
|
|
3976
|
+
var A = { points: [t], text: this._numericFormatter.format(this._vlevels[p].coeff), color: this._vlevels[p].color, vertAlign: "top", horzAlign: "center", font: i.font.value(), offsetX: 0, offsetY: 5, fontsize: 12 };
|
|
3977
|
+
T.append(new a(A));
|
|
3978
|
+
}
|
|
3979
|
+
}
|
|
3980
|
+
var E = i.fillBackground.value(), z = i.transparency.value();
|
|
3981
|
+
for (e = this._floatPoints[0], t = this._floatPoints[1], p = 0; p < this._hlevels.length; p++) {
|
|
3982
|
+
var j = new r(t.x, this._hlevels[p].y);
|
|
3983
|
+
if (p > 0 && E) {
|
|
3984
|
+
var V = new r(t.x, this._hlevels[p - 1].y);
|
|
3985
|
+
(W = {}).width = this._model.timeScale().width(), W.height = this._source.priceScale().height(), W.p1 = e, W.p2 = j, W.p3 = e, W.p4 = V, W.color = this._hlevels[p].color, W.transparency = z, W.hittestOnBackground = !0, (F = new s).setData(W), T.append(F);
|
|
3986
|
+
}
|
|
3987
|
+
N = { points: [e, j], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: this._hlevels[p].color, linewidth: i.linewidth.value(), linestyle: i.linestyle.value(), extendleft: !1, extendright: !0, leftend: c.Normal, rightend: c.Normal };
|
|
3988
|
+
(F = new o).setData(N), F.setHitTest(new l(l.MOVEPOINT, null, { type: "h", index: this._hlevels[p].index })), T.append(F);
|
|
3989
|
+
}
|
|
3990
|
+
for (p = 0; p < this._vlevels.length; p++) {
|
|
3991
|
+
var H = new r(this._vlevels[p].x, t.y);
|
|
3992
|
+
if (p > 0 && E) {
|
|
3993
|
+
var W;
|
|
3994
|
+
V = new r(this._vlevels[p - 1].x, t.y);
|
|
3995
|
+
(W = {}).width = this._model.timeScale().width(), W.height = this._source.priceScale().height(), W.p1 = e, W.p2 = H, W.p3 = e, W.p4 = V, W.color = this._vlevels[p].color, W.transparency = z, W.hittestOnBackground = !0, (F = new s).setData(W), T.append(F);
|
|
3996
|
+
}
|
|
3997
|
+
var F;
|
|
3998
|
+
N = { points: [e, H], width: this._model.timeScale().width(), height: this._source.priceScale().height(), color: this._vlevels[p].color, linewidth: i.linewidth.value(), linestyle: i.linestyle.value(), extendleft: !1, extendright: !0, leftend: c.Normal, rightend: c.Normal };
|
|
3999
|
+
(F = new o).setData(N), F.setHitTest(new l(l.MOVEPOINT, null, { type: "v", index: this._vlevels[p].index })), T.append(F);
|
|
4000
|
+
}
|
|
4001
|
+
this.addAnchors(T), this._renderer = T;
|
|
4002
|
+
}
|
|
4003
|
+
}
|
|
4004
|
+
}
|
|
4005
|
+
renderer(e, t) {
|
|
4006
|
+
return this._invalidated && this._updateImpl(), this._renderer;
|
|
4007
|
+
}
|
|
4008
|
+
};
|
|
4009
|
+
}, "y/56": function (e, t, i) {
|
|
4010
|
+
"use strict";
|
|
4011
|
+
i.r(t);
|
|
4012
|
+
var r = i("aB9a"), n = i("Zy3/"), s = i("vq8G"), a = i("VdBB"), o = i("f6yo"), l = i("gAom"), h = i("cPgM");
|
|
4013
|
+
class d extends h.ScaledPaneRenderer {
|
|
4014
|
+
constructor() { super(...arguments), this._data = null; }
|
|
4015
|
+
setData(e) { this._data = e; }
|
|
4016
|
+
hitTest(e) { if (null === this._data)
|
|
4017
|
+
return null; const { x: t, y: i } = this._data.point; return e.x < t || e.x > t + 20 || e.y < i - 22 || e.y > i ? null : new a.HitTestResult(a.HitTestResult.MOVEPOINT); }
|
|
4018
|
+
doesIntersectWithBox(e) { return null !== this._data && Object(o.pointInBox)(this._data.point, e); }
|
|
4019
|
+
_drawImpl(e) { null !== this._data && (e.save(), e.translate(Math.round(this._data.point.x) - .5, Math.round(this._data.point.y - 22) - .5), e.fillStyle = "#434651", Object(l.drawRoundRect)(e, 0, 0, 2, 22, 1), e.fill(), e.fillStyle = this._data.color, e.beginPath(), e.moveTo(6.87, 0), e.bezierCurveTo(5.62, 0, 4.46, .23, 3.32, .69), e.bezierCurveTo(3.26, .71, 3.2, .75, 3.15, .8), e.bezierCurveTo(3.06, .89, 3, 1.02, 3, 1.16), e.lineTo(3, 1.19), e.lineTo(3, 12.5), e.bezierCurveTo(3, 12.8, 3.3, 13.02, 3.59, 12.93), e.bezierCurveTo(4.61, 12.64, 5.94, 12.44, 6.87, 12.44), e.bezierCurveTo(8.5, 12.44, 10.09, 12.83, 11.63, 13.21), e.bezierCurveTo(13.19, 13.6, 14.79, 14, 16.45, 14), e.bezierCurveTo(17.59, 14, 18.65, 13.81, 19.69, 13.43), e.bezierCurveTo(19.88, 13.36, 20, 13.18, 20, 12.98), e.lineTo(20, 1.19), e.bezierCurveTo(20, 1.06, 19.83, .93, 19.66, .99), e.bezierCurveTo(18.63, 1.38, 17.58, 1.56, 16.45, 1.56), e.bezierCurveTo(14.82, 1.56, 13.23, 1.17, 11.69, .79), e.bezierCurveTo(10.14, .4, 8.53, 0, 6.87, 0), e.closePath(), e.fill(), e.restore()); }
|
|
4020
|
+
}
|
|
4021
|
+
i.d(t, "FlagMarkPaneView", (function () { return c; }));
|
|
4022
|
+
class c extends r.LineSourcePaneView {
|
|
4023
|
+
constructor() { super(...arguments), this._flagMarkRenderer = new d, this._renderer = null, this._anchorsOffset = null; }
|
|
4024
|
+
setAnchors(e) { this._anchorsOffset = e; }
|
|
4025
|
+
renderer(e, t) { return this._invalidated && this._updateImpl(), this._renderer; }
|
|
4026
|
+
_updateImpl() { if (super._updateImpl(), this._renderer = null, 1 !== this._points.length)
|
|
4027
|
+
return; this._flagMarkRenderer.setData({ point: this._points[0], color: this._getSource().properties().childs().flagColor.value() }); const e = this._getModel(); this._renderer = new n.CompositeRenderer, this._renderer.append(this._flagMarkRenderer); const t = [this._anchorsOffset ? this._points[0].add(this._anchorsOffset) : this._points[0].clone()]; this._renderer.append(new s.SelectionRenderer({ points: t, bgColors: this._lineAnchorColors(t), visible: this.areAnchorsVisible(), barSpacing: e.timeScale().barSpacing(), hittestResult: a.HitTestResult.MOVEPOINT })); }
|
|
4028
|
+
}
|
|
4029
|
+
} }]);
|