{"version":3,"file":"js/chunk-common.c29be66b.2.003.00062.03372.js","mappings":"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0DAErB,CACID,KAAM,uBACN7K,KAAM,kBACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,mBACN7K,KAAM,kBACN8K,UAAW,IAAM,yDAErB,CACID,KAAM,2BACN7K,KAAM,sBACN8K,UAAW,IAAM,yDAGrB,CACID,KAAM,YACN7K,KAAM,WACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,oBACN7K,KAAM,eACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,oBACN7K,KAAM,mBACN8K,UAAW,IAAM,oEAErB,CACID,KAAM,4BACN7K,KAAM,uBACN8K,UAAW,IAAM,yDAGrB,CACID,KAAM,gBACN7K,KAAM,eACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,wBACN7K,KAAM,mBACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,wBACN7K,KAAM,uBACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,gCACN7K,KAAM,2BACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,mBACN7K,KAAM,kBACN8K,UAAW,IAAM,yDAErB,CACID,KAAM,2BACN7K,KAAM,sBACN8K,UAAW,IAAM,yDAGrB,CACID,KAAM,oBACN7K,KAAM,mBACN8K,UAAW,IAAM,yDAErB,CACID,KAAM,4BACN7K,KAAM,uBACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,iBACN7K,KAAM,gBACN8K,UAAW,IAAM,wDAErB,CACID,KAAM,yBACN7K,KAAM,oBACN8K,UAAW,IAAM,yDAGrB,CACID,KAAM,qBACN7K,KAAM,oBACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,6BACN7K,KAAM,wBACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,aACN7K,KAAM,YACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,qBACN7K,KAAM,gBACN8K,UAAW,IAAM,yDAGrB,CACID,KAAM,qBACN7K,KAAM,oBACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,6BACN7K,KAAM,wBACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,WACN7K,KAAM,UACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,mBACN7K,KAAM,cACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,UACN7K,KAAM,SACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,kBACN7K,KAAM,aACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,kBACN7K,KAAM,iBACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,0BACN7K,KAAM,qBACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,iBACN7K,KAAM,gBACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,yBACN7K,KAAM,oBACN8K,UAAW,IAAM,wDAGrB,CACID,KAAM,qBACN7K,KAAM,oBACN8K,UAAW,IAAM,yDAErB,CACID,KAAM,6BACN7K,KAAM,wBACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,WACN7K,KAAM,UACN8K,UAAW,IAAM,iCAErB,CACID,KAAM,mBACN7K,KAAM,cACN8K,UAAW,IAAM,iCAGrB,CACID,KAAM,sBACN7K,KAAM,QACN8K,UAAW,IAAM,gCAErB,CACID,KAAM,iBACN7K,KAAM,YACN8K,UAAW,IAAM,iCAGrB,CACID,KAAM,aACN7K,KAAM,YACN8K,UAAW,IAAM,oEAErB,CACID,KAAM,qBACN7K,KAAM,gBACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,cACN7K,KAAM,aACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,sBACN7K,KAAM,iBACN8K,UAAW,IAAM,yDAGrB,CACID,KAAM,cACN7K,KAAM,aACN8K,UAAW,IAAM,yDAErB,CACID,KAAM,sBACN7K,KAAM,iBACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,OACN7K,KAAM,MACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,eACN7K,KAAM,UACN8K,UAAW,IAAM,yDAGrB,CACID,KAAM,WACN7K,KAAM,UACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,mBACN7K,KAAM,cACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,oBACN7K,KAAM,mBACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,4BACN7K,KAAM,uBACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,aACN7K,KAAM,YACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,qBACN7K,KAAM,gBACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,iBACN7K,KAAM,gBACN8K,UAAW,IAAM,yDAErB,CACID,KAAM,yBACN7K,KAAM,oBACN8K,UAAW,IAAM,yDAGrB,CACID,KAAM,gBACN7K,KAAM,eACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,wBACN7K,KAAM,mBACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,QACN7K,KAAM,OACN8K,UAAW,IAAM,yDAErB,CACID,KAAM,gBACN7K,KAAM,WACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,kBACN7K,KAAM,iBACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,0BACN7K,KAAM,qBACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,gBACN7K,KAAM,eACN8K,UAAW,IAAM,wDAErB,CACID,KAAM,wBACN7K,KAAM,mBACN8K,UAAW,IAAM,yDAGrB,CACID,KAAM,qBACN7K,KAAM,oBACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,6BACN7K,KAAM,wBACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,UACN7K,KAAM,SACN8K,UAAW,IAAM,wDAErB,CACID,KAAM,kBACN7K,KAAM,aACN8K,UAAW,IAAM,qDAGrB,CACID,KAAM,iBACN7K,KAAM,gBACN8K,UAAW,IAAM,wDAErB,CACID,KAAM,yBACN7K,KAAM,oBACN8K,UAAW,IAAM,yDAGrB,CACID,KAAM,gBACN7K,KAAM,eACN8K,UAAW,IAAM,oEAErB,CACID,KAAM,wBACN7K,KAAM,mBACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,kBACN7K,KAAM,iBACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,0BACN7K,KAAM,qBACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,WACN7K,KAAM,UACN8K,UAAW,IAAM,yDAErB,CACID,KAAM,mBACN7K,KAAM,cACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,6DACN7K,KAAM,qBACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,6DACN7K,KAAM,qBACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,gBACN7K,KAAM,eACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,wBACN7K,KAAM,mBACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,wBACN7K,KAAM,uBACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,gCACN7K,KAAM,2BACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,6BACN7K,KAAM,4BACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,qCACN7K,KAAM,gCACN8K,UAAW,IAAM,yDAGrB,CACID,KAAM,sBACN7K,KAAM,qBACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,8BACN7K,KAAM,yBACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,oBACN7K,KAAM,mBACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,4BACN7K,KAAM,uBACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,aACN7K,KAAM,YACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,qBACN7K,KAAM,gBACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,YACN7K,KAAM,WACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,oBACN7K,KAAM,eACN8K,UAAW,IAAM,0DAGrB,CACID,KAAM,eACN7K,KAAM,cACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,uBACN7K,KAAM,kBACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,4BACN7K,KAAM,eACN8K,UAAW,IAAM,8EAErB,CACID,KAAM,qBACN7K,KAAM,oBACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,6BACN7K,KAAM,wBACN8K,UAAW,IAAM,yDAErB,CACID,KAAM,kBACN7K,KAAM,wBACN8K,UAAW,IAAM,iCAErB,CACID,KAAM,8BACN7K,KAAM,qBACN8K,UAAW,IAAM,iCAErB,CACID,KAAM,kBACN7K,KAAM,iBACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,0BACN7K,KAAM,qBACN8K,UAAW,IAAM,0DAErB,CACID,KAAM,WACN7K,KAAM,UACN8K,UAAW,IAAM,+BAE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","sources":["webpack://eps.client/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://eps.client/./src/views/Dashboard/Dashboard.vue","webpack://eps.client/./src/components/Dashboard/DashboardContractListCmp.vue","webpack://eps.client/./src/components/Dashboard/DashboardContractListCmp.vue?a357","webpack://eps.client/./src/components/Dashboard/DashboardTransactionListCmp.vue","webpack://eps.client/./src/components/Dashboard/DashboardTransactionListCmp.vue?5753","webpack://eps.client/./src/components/Dashboard/DashboardTGECmp.vue","webpack://eps.client/./src/components/Quotation/QuotationDashboardListCmp.vue","webpack://eps.client/./src/components/Quotation/QuotationDashboardListCmp.vue?6c73","webpack://eps.client/./src/components/TradingIndex/TradingIndexDashboardListCmp.vue","webpack://eps.client/./src/components/TradingIndex/TradingIndexDashboardListCmp.vue?6b67","webpack://eps.client/./src/components/Dashboard/DashboardTGECmp.vue?d073","webpack://eps.client/./src/views/Dashboard/Dashboard.vue?601a","webpack://eps.client/./src/router/index.ts","webpack://eps.client/./src/components/Chart/ChartTGE.vue","webpack://eps.client/./src/components/Chart/ChartTGE.vue?7e08","webpack://eps.client/./src/components/Chart/ChartTGEIndex.vue","webpack://eps.client/./src/components/Chart/ChartTGEIndex.vue?1430","webpack://eps.client/./src/components/PasswordPages/PasswordPageFooterCmp.vue","webpack://eps.client/./src/components/PasswordPages/PasswordPageFooterCmp.vue?bbf8","webpack://eps.client/./src/components/PasswordPages/PasswordPageHeaderCmp.vue","webpack://eps.client/./src/components/PasswordPages/PasswordPageHeaderCmp.vue?1879","webpack://eps.client/./src/components/PasswordStrenthIndicator.vue","webpack://eps.client/./src/components/PasswordStrenthIndicator.vue?c68c","webpack://eps.client/./src/api/AccountApi.js","webpack://eps.client/./src/api/BaseApi.js","webpack://eps.client/./src/api/ContractApi.js","webpack://eps.client/./src/api/DeclarationKindApi.js","webpack://eps.client/./src/api/MessageApi.js","webpack://eps.client/./src/api/OfferApi.js","webpack://eps.client/./src/api/QuotationApi.js","webpack://eps.client/./src/api/TradingIndexApi.js","webpack://eps.client/./src/api/VTransactionApi.js","webpack://eps.client/./src/components/Chart/chartTGE.js","webpack://eps.client/./src/components/Chart/chartTGEIndex.js","webpack://eps.client/./src/scripts/common.js","webpack://eps.client/./src/scripts/configuration.js","webpack://eps.client/./src/scripts/const.js","webpack://eps.client/./src/scripts/dictionaries.js","webpack://eps.client/./src/scripts/helpers.js","webpack://eps.client/./src/scripts/list.js","webpack://eps.client/./src/api/ClientLogApi.js","webpack://eps.client/./src/stores/ClientLogStore.js","webpack://eps.client/./src/scripts/logger.js","webpack://eps.client/./src/scripts/notifications.js","webpack://eps.client/./src/scripts/operations.js","webpack://eps.client/./src/scripts/renderers.js","webpack://eps.client/./src/scripts/validators.js","webpack://eps.client/./src/setup/i18n-setup.js","webpack://eps.client/./src/stores/AccountStore.js"],"sourcesContent":["var map = {\n\t\"./af\": 42786,\n\t\"./af.js\": 42786,\n\t\"./ar\": 30867,\n\t\"./ar-dz\": 14130,\n\t\"./ar-dz.js\": 14130,\n\t\"./ar-kw\": 96135,\n\t\"./ar-kw.js\": 96135,\n\t\"./ar-ly\": 56440,\n\t\"./ar-ly.js\": 56440,\n\t\"./ar-ma\": 47702,\n\t\"./ar-ma.js\": 47702,\n\t\"./ar-sa\": 16040,\n\t\"./ar-sa.js\": 16040,\n\t\"./ar-tn\": 37100,\n\t\"./ar-tn.js\": 37100,\n\t\"./ar.js\": 30867,\n\t\"./az\": 31083,\n\t\"./az.js\": 31083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 68338,\n\t\"./bg.js\": 68338,\n\t\"./bm\": 67438,\n\t\"./bm.js\": 67438,\n\t\"./bn\": 8905,\n\t\"./bn-bd\": 76225,\n\t\"./bn-bd.js\": 76225,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 11560,\n\t\"./bo.js\": 11560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 80622,\n\t\"./bs.js\": 80622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 50877,\n\t\"./cv.js\": 50877,\n\t\"./cy\": 47373,\n\t\"./cy.js\": 47373,\n\t\"./da\": 24780,\n\t\"./da.js\": 24780,\n\t\"./de\": 59740,\n\t\"./de-at\": 60217,\n\t\"./de-at.js\": 60217,\n\t\"./de-ch\": 60894,\n\t\"./de-ch.js\": 60894,\n\t\"./de.js\": 59740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 50837,\n\t\"./el.js\": 50837,\n\t\"./en-au\": 78348,\n\t\"./en-au.js\": 78348,\n\t\"./en-ca\": 77925,\n\t\"./en-ca.js\": 77925,\n\t\"./en-gb\": 22243,\n\t\"./en-gb.js\": 22243,\n\t\"./en-ie\": 46436,\n\t\"./en-ie.js\": 46436,\n\t\"./en-il\": 47207,\n\t\"./en-il.js\": 47207,\n\t\"./en-in\": 44175,\n\t\"./en-in.js\": 44175,\n\t\"./en-nz\": 76319,\n\t\"./en-nz.js\": 76319,\n\t\"./en-sg\": 31662,\n\t\"./en-sg.js\": 31662,\n\t\"./eo\": 92915,\n\t\"./eo.js\": 92915,\n\t\"./es\": 55655,\n\t\"./es-do\": 55251,\n\t\"./es-do.js\": 55251,\n\t\"./es-mx\": 96112,\n\t\"./es-mx.js\": 96112,\n\t\"./es-us\": 71146,\n\t\"./es-us.js\": 71146,\n\t\"./es.js\": 55655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 77763,\n\t\"./eu.js\": 77763,\n\t\"./fa\": 76959,\n\t\"./fa.js\": 76959,\n\t\"./fi\": 11897,\n\t\"./fi.js\": 11897,\n\t\"./fil\": 42549,\n\t\"./fil.js\": 42549,\n\t\"./fo\": 94694,\n\t\"./fo.js\": 94694,\n\t\"./fr\": 94470,\n\t\"./fr-ca\": 63049,\n\t\"./fr-ca.js\": 63049,\n\t\"./fr-ch\": 52330,\n\t\"./fr-ch.js\": 52330,\n\t\"./fr.js\": 94470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 29295,\n\t\"./ga.js\": 29295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 38794,\n\t\"./gl.js\": 38794,\n\t\"./gom-deva\": 27884,\n\t\"./gom-deva.js\": 27884,\n\t\"./gom-latn\": 23168,\n\t\"./gom-latn.js\": 23168,\n\t\"./gu\": 95349,\n\t\"./gu.js\": 95349,\n\t\"./he\": 24206,\n\t\"./he.js\": 24206,\n\t\"./hi\": 30094,\n\t\"./hi.js\": 30094,\n\t\"./hr\": 30316,\n\t\"./hr.js\": 30316,\n\t\"./hu\": 22138,\n\t\"./hu.js\": 22138,\n\t\"./hy-am\": 11423,\n\t\"./hy-am.js\": 11423,\n\t\"./id\": 29218,\n\t\"./id.js\": 29218,\n\t\"./is\": 90135,\n\t\"./is.js\": 90135,\n\t\"./it\": 90626,\n\t\"./it-ch\": 10150,\n\t\"./it-ch.js\": 10150,\n\t\"./it.js\": 90626,\n\t\"./ja\": 39183,\n\t\"./ja.js\": 39183,\n\t\"./jv\": 24286,\n\t\"./jv.js\": 24286,\n\t\"./ka\": 12105,\n\t\"./ka.js\": 12105,\n\t\"./kk\": 47772,\n\t\"./kk.js\": 47772,\n\t\"./km\": 18758,\n\t\"./km.js\": 18758,\n\t\"./kn\": 79282,\n\t\"./kn.js\": 79282,\n\t\"./ko\": 33730,\n\t\"./ko.js\": 33730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 33291,\n\t\"./ky.js\": 33291,\n\t\"./lb\": 36841,\n\t\"./lb.js\": 36841,\n\t\"./lo\": 55466,\n\t\"./lo.js\": 55466,\n\t\"./lt\": 57010,\n\t\"./lt.js\": 57010,\n\t\"./lv\": 37595,\n\t\"./lv.js\": 37595,\n\t\"./me\": 39861,\n\t\"./me.js\": 39861,\n\t\"./mi\": 35493,\n\t\"./mi.js\": 35493,\n\t\"./mk\": 95966,\n\t\"./mk.js\": 95966,\n\t\"./ml\": 87341,\n\t\"./ml.js\": 87341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 10370,\n\t\"./mr.js\": 10370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 41237,\n\t\"./ms-my.js\": 41237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 72126,\n\t\"./mt.js\": 72126,\n\t\"./my\": 56165,\n\t\"./my.js\": 56165,\n\t\"./nb\": 64924,\n\t\"./nb.js\": 64924,\n\t\"./ne\": 16744,\n\t\"./ne.js\": 16744,\n\t\"./nl\": 93901,\n\t\"./nl-be\": 59814,\n\t\"./nl-be.js\": 59814,\n\t\"./nl.js\": 93901,\n\t\"./nn\": 83877,\n\t\"./nn.js\": 83877,\n\t\"./oc-lnc\": 92135,\n\t\"./oc-lnc.js\": 92135,\n\t\"./pa-in\": 15858,\n\t\"./pa-in.js\": 15858,\n\t\"./pl\": 64495,\n\t\"./pl.js\": 64495,\n\t\"./pt\": 89520,\n\t\"./pt-br\": 57971,\n\t\"./pt-br.js\": 57971,\n\t\"./pt.js\": 89520,\n\t\"./ro\": 96459,\n\t\"./ro.js\": 96459,\n\t\"./ru\": 21793,\n\t\"./ru.js\": 21793,\n\t\"./sd\": 40950,\n\t\"./sd.js\": 40950,\n\t\"./se\": 10490,\n\t\"./se.js\": 10490,\n\t\"./si\": 90124,\n\t\"./si.js\": 90124,\n\t\"./sk\": 64249,\n\t\"./sk.js\": 64249,\n\t\"./sl\": 14985,\n\t\"./sl.js\": 14985,\n\t\"./sq\": 51104,\n\t\"./sq.js\": 51104,\n\t\"./sr\": 49131,\n\t\"./sr-cyrl\": 79915,\n\t\"./sr-cyrl.js\": 79915,\n\t\"./sr.js\": 49131,\n\t\"./ss\": 85893,\n\t\"./ss.js\": 85893,\n\t\"./sv\": 98760,\n\t\"./sv.js\": 98760,\n\t\"./sw\": 91172,\n\t\"./sw.js\": 91172,\n\t\"./ta\": 27333,\n\t\"./ta.js\": 27333,\n\t\"./te\": 23110,\n\t\"./te.js\": 23110,\n\t\"./tet\": 52095,\n\t\"./tet.js\": 52095,\n\t\"./tg\": 27321,\n\t\"./tg.js\": 27321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tk\": 19005,\n\t\"./tk.js\": 19005,\n\t\"./tl-ph\": 75768,\n\t\"./tl-ph.js\": 75768,\n\t\"./tlh\": 89444,\n\t\"./tlh.js\": 89444,\n\t\"./tr\": 72397,\n\t\"./tr.js\": 72397,\n\t\"./tzl\": 28254,\n\t\"./tzl.js\": 28254,\n\t\"./tzm\": 51106,\n\t\"./tzm-latn\": 30699,\n\t\"./tzm-latn.js\": 30699,\n\t\"./tzm.js\": 51106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 67691,\n\t\"./uk.js\": 67691,\n\t\"./ur\": 13795,\n\t\"./ur.js\": 13795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 60588,\n\t\"./uz-latn.js\": 60588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 65666,\n\t\"./vi.js\": 65666,\n\t\"./x-pseudo\": 14378,\n\t\"./x-pseudo.js\": 14378,\n\t\"./yo\": 75805,\n\t\"./yo.js\": 75805,\n\t\"./zh-cn\": 83839,\n\t\"./zh-cn.js\": 83839,\n\t\"./zh-hk\": 55726,\n\t\"./zh-hk.js\": 55726,\n\t\"./zh-mo\": 99807,\n\t\"./zh-mo.js\": 99807,\n\t\"./zh-tw\": 74152,\n\t\"./zh-tw.js\": 74152\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","\r\n\r\n\r\n","\r\n\r\n","import { render } from \"./DashboardContractListCmp.vue?vue&type=template&id=71962c5f\"\nimport script from \"./DashboardContractListCmp.vue?vue&type=script&lang=js\"\nexport * from \"./DashboardContractListCmp.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"E:\\\\jenkins\\\\workspace\\\\EPS\\\\EPS.Build\\\\src\\\\EPS.Client\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./DashboardTransactionListCmp.vue?vue&type=template&id=5333f0a6\"\nimport script from \"./DashboardTransactionListCmp.vue?vue&type=script&lang=js\"\nexport * from \"./DashboardTransactionListCmp.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"E:\\\\jenkins\\\\workspace\\\\EPS\\\\EPS.Build\\\\src\\\\EPS.Client\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","import { render } from \"./QuotationDashboardListCmp.vue?vue&type=template&id=3ff3fd48\"\nimport script from \"./QuotationDashboardListCmp.vue?vue&type=script&lang=js\"\nexport * from \"./QuotationDashboardListCmp.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"E:\\\\jenkins\\\\workspace\\\\EPS\\\\EPS.Build\\\\src\\\\EPS.Client\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./TradingIndexDashboardListCmp.vue?vue&type=template&id=5e566747\"\nimport script from \"./TradingIndexDashboardListCmp.vue?vue&type=script&lang=js\"\nexport * from \"./TradingIndexDashboardListCmp.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"E:\\\\jenkins\\\\workspace\\\\EPS\\\\EPS.Build\\\\src\\\\EPS.Client\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./DashboardTGECmp.vue?vue&type=template&id=cc467464&scoped=true\"\nimport script from \"./DashboardTGECmp.vue?vue&type=script&lang=js\"\nexport * from \"./DashboardTGECmp.vue?vue&type=script&lang=js\"\n\nimport \"./DashboardTGECmp.vue?vue&type=style&index=0&id=cc467464&scoped=true&lang=css\"\n\nimport exportComponent from \"E:\\\\jenkins\\\\workspace\\\\EPS\\\\EPS.Build\\\\src\\\\EPS.Client\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-cc467464\"]])\n\nexport default __exports__","import { render } from \"./Dashboard.vue?vue&type=template&id=94e73372\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=js\"\nexport * from \"./Dashboard.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"E:\\\\jenkins\\\\workspace\\\\EPS\\\\EPS.Build\\\\src\\\\EPS.Client\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'\r\nimport Dashboard from '../views/Dashboard/Dashboard.vue'\r\nconst routes: Array = [\r\n {\r\n path: '/',\r\n name: 'home',\r\n component: Dashboard\r\n },\r\n {\r\n path: '/pageunavailable/:id',\r\n name: 'pageunavailable',\r\n component: () => import('../views/PageUnavailable.vue')\r\n },\r\n {\r\n path: '/alert',\r\n name: 'alert',\r\n component: () => import('../views/Alert/AlertList.vue')\r\n },\r\n {\r\n path: '/alertform/:id',\r\n name: 'alertform',\r\n component: () => import('../views/Alert/AlertForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/alerts',\r\n name: 'alerts',\r\n component: () => import('../views/AlertDef/AlertDefList.vue')\r\n },\r\n {\r\n path: '/alertdefform/:id',\r\n name: 'alertdefform',\r\n component: () => import('../views/AlertDef/AlertDefForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/applicantcontract',\r\n name: 'applicantcontract',\r\n component: () => import('../views/ApplicantContract/ApplicantContractList.vue')\r\n },\r\n {\r\n path: '/applicantcontractform/:id',\r\n name: 'applicantcontractform',\r\n component: () => import('../views/ApplicantContract/ApplicantContractForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/balance',\r\n name: 'balance',\r\n component: () => import('../views/Balance/BalanceList.vue')\r\n },\r\n {\r\n path: '/balanceform/:id',\r\n name: 'balanceform',\r\n component: () => import('../views/Balance/BalanceForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/calendar',\r\n name: 'calendar',\r\n component: () => import('../views/Calendar/CalendarList.vue')\r\n },\r\n {\r\n path: '/calendarform/:id',\r\n name: 'calendarform',\r\n component: () => import('../views/Calendar/CalendarForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/calendarday',\r\n name: 'calendarday',\r\n component: () => import('../views/CalendarDay/CalendarDayList.vue')\r\n },\r\n {\r\n path: '/calendardayform/:id',\r\n name: 'calendardayform',\r\n component: () => import('../views/CalendarDay/CalendarDayForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/complementary',\r\n name: 'complementary',\r\n component: () => import('../views/Complementary/ComplementaryList.vue')\r\n },\r\n {\r\n path: '/complementaryform/:id',\r\n name: 'complementaryform',\r\n component: () => import('../views/Complementary/ComplementaryForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/contract/:mediumtype',\r\n name: 'contract',\r\n component: () => import('../views/Contract/ContractList.vue')\r\n },\r\n {\r\n path: '/contractform/:id',\r\n name: 'contractform',\r\n component: () => import('../views/Contract/ContractForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/contractaudit',\r\n name: 'contractaudit',\r\n component: () => import('../views/ContractAudit/ContractAuditList.vue')\r\n },\r\n {\r\n path: '/contractauditform/:id',\r\n name: 'contractauditform',\r\n component: () => import('../views/ContractAudit/ContractAuditForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/contractrealization',\r\n name: 'contractrealization',\r\n component: () => import('../views/ContractRealization/ContractRealizationList.vue')\r\n },\r\n {\r\n path: '/contractrealizationform/:id',\r\n name: 'contractrealizationform',\r\n component: () => import('../views/ContractRealization/ContractRealizationForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/contractrev',\r\n name: 'contractrev',\r\n component: () => import('../views/ContractRev/ContractRevList.vue')\r\n },\r\n {\r\n path: '/contractrevform/:id',\r\n name: 'contractrevform',\r\n component: () => import('../views/ContractRev/ContractRevForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/contractsummary',\r\n name: 'contractsummary',\r\n component: () => import('../views/ContractSummary/ContractSummaryList.vue')\r\n },\r\n {\r\n path: '/contractsummaryform/:id',\r\n name: 'contractsummaryform',\r\n component: () => import('../views/ContractSummary/ContractSummaryForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/customer',\r\n name: 'customer',\r\n component: () => import('../views/Customer/CustomerList.vue')\r\n },\r\n {\r\n path: '/customerform/:id',\r\n name: 'customerform',\r\n component: () => import('../views/Customer/CustomerForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/customercontract',\r\n name: 'customercontract',\r\n component: () => import('../views/CustomerContract/CustomerContractList.vue')\r\n },\r\n {\r\n path: '/customercontractform/:id',\r\n name: 'customercontractform',\r\n component: () => import('../views/CustomerContract/CustomerContractForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/customeruser',\r\n name: 'customeruser',\r\n component: () => import('../views/CustomerUser/CustomerUserList.vue')\r\n },\r\n {\r\n path: '/customeruserform/:id',\r\n name: 'customeruserform',\r\n component: () => import('../views/CustomerUser/CustomerUserForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/customeruseractivity',\r\n name: 'customeruseractivity',\r\n component: () => import('../views/CustomerUserActivity/CustomerUserActivityList.vue')\r\n },\r\n {\r\n path: '/customeruseractivityform/:id',\r\n name: 'customeruseractivityform',\r\n component: () => import('../views/CustomerUserActivity/CustomerUserActivityForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/declarationkind',\r\n name: 'declarationkind',\r\n component: () => import('../views/DeclarationKind/DeclarationKindList.vue')\r\n },\r\n {\r\n path: '/declarationkindform/:id',\r\n name: 'declarationkindform',\r\n component: () => import('../views/DeclarationKind/DeclarationKindForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/declarationlimit',\r\n name: 'declarationlimit',\r\n component: () => import('../views/DeclarationLimit/DeclarationLimitList.vue')\r\n },\r\n {\r\n path: '/declarationlimitform/:id',\r\n name: 'declarationlimitform',\r\n component: () => import('../views/DeclarationLimit/DeclarationLimitForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/indexcalendar',\r\n name: 'indexcalendar',\r\n component: () => import('../views/IndexCalendar/IndexCalendarList.vue')\r\n },\r\n {\r\n path: '/indexcalendarform/:id',\r\n name: 'indexcalendarform',\r\n component: () => import('../views/IndexCalendar/IndexCalendarForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/keyaccountmanager',\r\n name: 'keyaccountmanager',\r\n component: () => import('../views/KeyAccountManager/KeyAccountManagerList.vue')\r\n },\r\n {\r\n path: '/keyaccountmanagerform/:id',\r\n name: 'keyaccountmanagerform',\r\n component: () => import('../views/KeyAccountManager/KeyAccountManagerForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/localuser',\r\n name: 'localuser',\r\n component: () => import('../views/LocalUser/LocalUserList.vue')\r\n },\r\n {\r\n path: '/localuserform/:id',\r\n name: 'localuserform',\r\n component: () => import('../views/LocalUser/LocalUserForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/localuseractivity',\r\n name: 'localuseractivity',\r\n component: () => import('../views/LocalUserActivity/LocalUserActivityList.vue')\r\n },\r\n {\r\n path: '/localuseractivityform/:id',\r\n name: 'localuseractivityform',\r\n component: () => import('../views/LocalUserActivity/LocalUserActivityForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/mandate',\r\n name: 'mandate',\r\n component: () => import('../views/Mandate/MandateList.vue')\r\n },\r\n {\r\n path: '/mandateform/:id',\r\n name: 'mandateform',\r\n component: () => import('../views/Mandate/MandateForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/medium',\r\n name: 'medium',\r\n component: () => import('../views/Medium/MediumList.vue')\r\n },\r\n {\r\n path: '/mediumform/:id',\r\n name: 'mediumform',\r\n component: () => import('../views/Medium/MediumForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/mediumcalendar',\r\n name: 'mediumcalendar',\r\n component: () => import('../views/MediumCalendar/MediumCalendarList.vue')\r\n },\r\n {\r\n path: '/mediumcalendarform/:id',\r\n name: 'mediumcalendarform',\r\n component: () => import('../views/MediumCalendar/MediumCalendarForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/mediumproduct',\r\n name: 'mediumproduct',\r\n component: () => import('../views/MediumProduct/MediumProductList.vue')\r\n },\r\n {\r\n path: '/mediumproductform/:id',\r\n name: 'mediumproductform',\r\n component: () => import('../views/MediumProduct/MediumProductForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/mediumproducttype',\r\n name: 'mediumproducttype',\r\n component: () => import('../views/MediumProductType/MediumProductTypeList.vue')\r\n },\r\n {\r\n path: '/mediumproducttypeform/:id',\r\n name: 'mediumproducttypeform',\r\n component: () => import('../views/MediumProductType/MediumProductTypeForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/message',\r\n name: 'message',\r\n component: () => import('../views/Message/MessageList.vue')\r\n },\r\n {\r\n path: '/messageform/:id',\r\n name: 'messageform',\r\n component: () => import('../views/Message/MessageForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/offer/:contractId?',\r\n name: 'offer',\r\n component: () => import('../views/Offer/OfferList.vue')\r\n },\r\n {\r\n path: '/offerform/:id',\r\n name: 'offerform',\r\n component: () => import('../views/Offer/OfferForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/parameter',\r\n name: 'parameter',\r\n component: () => import('../views/Parameter/ParameterList.vue')\r\n },\r\n {\r\n path: '/parameterform/:id',\r\n name: 'parameterform',\r\n component: () => import('../views/Parameter/ParameterForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/permission',\r\n name: 'permission',\r\n component: () => import('../views/Permission/PermissionList.vue')\r\n },\r\n {\r\n path: '/permissionform/:id',\r\n name: 'permissionform',\r\n component: () => import('../views/Permission/PermissionForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/powerlimit',\r\n name: 'powerlimit',\r\n component: () => import('../views/PowerLimit/PowerLimitList.vue')\r\n },\r\n {\r\n path: '/powerlimitform/:id',\r\n name: 'powerlimitform',\r\n component: () => import('../views/PowerLimit/PowerLimitForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/ppa',\r\n name: 'ppa',\r\n component: () => import('../views/PPA/PPAList.vue')\r\n },\r\n {\r\n path: '/ppaform/:id',\r\n name: 'ppaform',\r\n component: () => import('../views/PPA/PPAForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/product',\r\n name: 'product',\r\n component: () => import('../views/Product/ProductList.vue')\r\n },\r\n {\r\n path: '/productform/:id',\r\n name: 'productform',\r\n component: () => import('../views/Product/ProductForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/product_calendar',\r\n name: 'product_calendar',\r\n component: () => import('../views/Product_Calendar/Product_CalendarList.vue')\r\n },\r\n {\r\n path: '/product_calendarform/:id',\r\n name: 'product_calendarform',\r\n component: () => import('../views/Product_Calendar/Product_CalendarForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/quotation',\r\n name: 'quotation',\r\n component: () => import('../views/Quotation/QuotationList.vue')\r\n },\r\n {\r\n path: '/quotationform/:id',\r\n name: 'quotationform',\r\n component: () => import('../views/Quotation/QuotationForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/recoverytoken',\r\n name: 'recoverytoken',\r\n component: () => import('../views/RecoveryToken/RecoveryTokenList.vue')\r\n },\r\n {\r\n path: '/recoverytokenform/:id',\r\n name: 'recoverytokenform',\r\n component: () => import('../views/RecoveryToken/RecoveryTokenForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/refreshtoken',\r\n name: 'refreshtoken',\r\n component: () => import('../views/RefreshToken/RefreshTokenList.vue')\r\n },\r\n {\r\n path: '/refreshtokenform/:id',\r\n name: 'refreshtokenform',\r\n component: () => import('../views/RefreshToken/RefreshTokenForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/role',\r\n name: 'role',\r\n component: () => import('../views/Role/RoleList.vue')\r\n },\r\n {\r\n path: '/roleform/:id',\r\n name: 'roleform',\r\n component: () => import('../views/Role/RoleForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/rolepermission',\r\n name: 'rolepermission',\r\n component: () => import('../views/RolePermission/RolePermissionList.vue')\r\n },\r\n {\r\n path: '/rolepermissionform/:id',\r\n name: 'rolepermissionform',\r\n component: () => import('../views/RolePermission/RolePermissionForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/runoperation',\r\n name: 'runoperation',\r\n component: () => import('../views/RunOperation/RunOperationList.vue')\r\n },\r\n {\r\n path: '/runoperationform/:id',\r\n name: 'runoperationform',\r\n component: () => import('../views/RunOperation/RunOperationForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/runoperationstate',\r\n name: 'runoperationstate',\r\n component: () => import('../views/RunOperationState/RunOperationStateList.vue')\r\n },\r\n {\r\n path: '/runoperationstateform/:id',\r\n name: 'runoperationstateform',\r\n component: () => import('../views/RunOperationState/RunOperationStateForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/status',\r\n name: 'status',\r\n component: () => import('../views/Status/StatusList.vue')\r\n },\r\n {\r\n path: '/statusform/:id',\r\n name: 'statusform',\r\n component: () => import('../views/Status/StatusForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/status2status',\r\n name: 'status2status',\r\n component: () => import('../views/Status2Status/Status2StatusList.vue')\r\n },\r\n {\r\n path: '/status2statusform/:id',\r\n name: 'status2statusform',\r\n component: () => import('../views/Status2Status/Status2StatusForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/statuschange',\r\n name: 'statuschange',\r\n component: () => import('../views/StatusChange/StatusChangeList.vue')\r\n },\r\n {\r\n path: '/statuschangeform/:id',\r\n name: 'statuschangeform',\r\n component: () => import('../views/StatusChange/StatusChangeForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/tradingsession',\r\n name: 'tradingsession',\r\n component: () => import('../views/TradingSession/TradingSessionList.vue')\r\n },\r\n {\r\n path: '/tradingsessionform/:id',\r\n name: 'tradingsessionform',\r\n component: () => import('../views/TradingSession/TradingSessionForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/tranche',\r\n name: 'tranche',\r\n component: () => import('../views/Tranche/TrancheList.vue')\r\n },\r\n {\r\n path: '/trancheform/:id',\r\n name: 'trancheform',\r\n component: () => import('../views/Tranche/TrancheForm.vue')\r\n },\r\n {\r\n path: '/trancheapplication/trancheapplication/:contractId/:medium',\r\n name: 'trancheapplication',\r\n component: () => import('../views/VTrancheApplication/VTrancheApplicationForm.vue')\r\n },\r\n {\r\n path: '/mandateapplication/mandateapplication/:contractId/:medium',\r\n name: 'mandateapplication',\r\n component: () => import('../views/VMandateApplication/VMandateApplicationForm.vue')\r\n },\r\n {\r\n path: '/tradingindex',\r\n name: 'tradingindex',\r\n component: () => import('../views/TradingIndex/TradingIndexList.vue')\r\n },\r\n {\r\n path: '/tradingindexform/:id',\r\n name: 'tradingindexform',\r\n component: () => import('../views/TradingIndex/TradingIndexForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/tradingsessionimport',\r\n name: 'tradingsessionimport',\r\n component: () => import('../views/TradingSessionImport/TradingSessionImportList.vue')\r\n },\r\n {\r\n path: '/tradingsessionimportform/:id',\r\n name: 'tradingsessionimportform',\r\n component: () => import('../views/TradingSessionImport/TradingSessionImportForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/tradingsessionimportstate',\r\n name: 'tradingsessionimportstate',\r\n component: () => import('../views/TradingSessionImportState/TradingSessionImportStateList.vue')\r\n },\r\n {\r\n path: '/tradingsessionimportstateform/:id',\r\n name: 'tradingsessionimportstateform',\r\n component: () => import('../views/TradingSessionImportState/TradingSessionImportStateForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/tradingsessionplan',\r\n name: 'tradingsessionplan',\r\n component: () => import('../views/TradingSessionPlan/TradingSessionPlanList.vue')\r\n },\r\n {\r\n path: '/tradingsessionplanform/:id',\r\n name: 'tradingsessionplanform',\r\n component: () => import('../views/TradingSessionPlan/TradingSessionPlanForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/transactionstate',\r\n name: 'transactionstate',\r\n component: () => import('../views/TransactionState/TransactionStateList.vue')\r\n },\r\n {\r\n path: '/transactionstateform/:id',\r\n name: 'transactionstateform',\r\n component: () => import('../views/TransactionState/TransactionStateForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/userclaim',\r\n name: 'userclaim',\r\n component: () => import('../views/UserClaim/UserClaimList.vue')\r\n },\r\n {\r\n path: '/userclaimform/:id',\r\n name: 'userclaimform',\r\n component: () => import('../views/UserClaim/UserClaimForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/userrole',\r\n name: 'userrole',\r\n component: () => import('../views/UserRole/UserRoleList.vue')\r\n },\r\n {\r\n path: '/userroleform/:id',\r\n name: 'userroleform',\r\n component: () => import('../views/UserRole/UserRoleForm.vue')\r\n }\r\n ,\r\n {\r\n path: '/usersetting',\r\n name: 'usersetting',\r\n component: () => import('../views/UserSetting/UserSettingList.vue')\r\n },\r\n {\r\n path: '/usersettingform/:id',\r\n name: 'usersettingform',\r\n component: () => import('../views/UserSetting/UserSettingForm.vue')\r\n },\r\n {\r\n path: '/vtransaction/:mediumtype',\r\n name: 'vtransaction',\r\n component: () => import('../views/VTransaction/VTransactionList.vue')\r\n },\r\n {\r\n path: '/consumptionvolume',\r\n name: 'consumptionvolume',\r\n component: () => import('../views/ConsumptionVolume/ConsumptionVolumeList.vue')\r\n },\r\n {\r\n path: '/consumptionvolumeform/:id',\r\n name: 'consumptionvolumeform',\r\n component: () => import('../views/ConsumptionVolume/ConsumptionVolumeForm.vue')\r\n },\r\n {\r\n path: '/activemandates',\r\n name: 'activemandateslistAll',\r\n component: () => import('../views/Mandate/ActiveMandatesList.vue')\r\n },\r\n {\r\n path: '/activemandates/:mediumtype',\r\n name: 'activemandateslist',\r\n component: () => import('../views/Mandate/ActiveMandatesList.vue')\r\n },\r\n {\r\n path: '/messagereading',\r\n name: 'messagereading',\r\n component: () => import('../views/MessageReading/MessageReadingList.vue')\r\n },\r\n {\r\n path: '/messagereadingform/:id',\r\n name: 'messagereadingform',\r\n component: () => import('../views/MessageReading/MessageReadingForm.vue')\r\n },\r\n {\r\n path: '/contact',\r\n name: 'contact',\r\n component: () => import('../views/Contact/ContactForm.vue')\r\n },\r\n {\r\n path: '/documents',\r\n name: 'documents',\r\n component: () => import('../views/Document/DocumentList.vue')\r\n },\r\n {\r\n path: '/:catchAll(.*)',\r\n name: \"NotFound\",\r\n component: () => import('../views/404.vue')\r\n }\r\n]\r\nconst router = createRouter({\r\n history: createWebHistory(process.env.BASE_URL),\r\n routes\r\n})\r\nexport default router\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","import { render } from \"./ChartTGE.vue?vue&type=template&id=d9d5978e&scoped=true\"\nimport script from \"./ChartTGE.vue?vue&type=script&lang=js\"\nexport * from \"./ChartTGE.vue?vue&type=script&lang=js\"\n\nimport \"./ChartTGE.vue?vue&type=style&index=0&id=d9d5978e&scoped=true&lang=css\"\n\nimport exportComponent from \"E:\\\\jenkins\\\\workspace\\\\EPS\\\\EPS.Build\\\\src\\\\EPS.Client\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-d9d5978e\"]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n\r\n\r\n","import { render } from \"./ChartTGEIndex.vue?vue&type=template&id=762f521a&scoped=true\"\nimport script from \"./ChartTGEIndex.vue?vue&type=script&lang=js\"\nexport * from \"./ChartTGEIndex.vue?vue&type=script&lang=js\"\n\nimport \"./ChartTGEIndex.vue?vue&type=style&index=0&id=762f521a&scoped=true&lang=css\"\n\nimport exportComponent from \"E:\\\\jenkins\\\\workspace\\\\EPS\\\\EPS.Build\\\\src\\\\EPS.Client\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-762f521a\"]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./PasswordPageFooterCmp.vue?vue&type=template&id=237a7304\"\nimport script from \"./PasswordPageFooterCmp.vue?vue&type=script&lang=js\"\nexport * from \"./PasswordPageFooterCmp.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"E:\\\\jenkins\\\\workspace\\\\EPS\\\\EPS.Build\\\\src\\\\EPS.Client\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n\r\n","import { render } from \"./PasswordPageHeaderCmp.vue?vue&type=template&id=28e1b99a\"\nimport script from \"./PasswordPageHeaderCmp.vue?vue&type=script&lang=js\"\nexport * from \"./PasswordPageHeaderCmp.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"E:\\\\jenkins\\\\workspace\\\\EPS\\\\EPS.Build\\\\src\\\\EPS.Client\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n\r\n","import { render } from \"./PasswordStrenthIndicator.vue?vue&type=template&id=73137040\"\nimport script from \"./PasswordStrenthIndicator.vue?vue&type=script&lang=js\"\nexport * from \"./PasswordStrenthIndicator.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"E:\\\\jenkins\\\\workspace\\\\EPS\\\\EPS.Build\\\\src\\\\EPS.Client\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import axios from 'axios';\r\nimport * as base from '@/api/BaseApi';\r\n\r\n/**\r\n * Login user using credentials\r\n * @param {any} username\r\n * @param {any} password\r\n * @param {any} success\r\n * @param {any} fail\r\n */\r\nexport const login = (username, password, success, fail) => {\r\n\r\n var params = \"userName=\" + encodeURIComponent(username) +\r\n \"&password=\" + encodeURIComponent(password) +\r\n \"&grant_type=password\";\r\n\r\n axios\r\n .post(\"/api/token\",\r\n params,\r\n { headers: { 'Content-Type': 'application/x-www-form-urlencoded' }}\r\n )\r\n .then((response) => success(response))\r\n .catch((response) => fail(response));\r\n};\r\n\r\n/**\r\n * Login user using refresh token\r\n * @param {any} refreshToken\r\n * @param {any} login\r\n * @param {any} success\r\n * @param {any} fail\r\n */\r\nexport const refreshToken = (refreshToken, login, success, fail) => {\r\n return axios\r\n .post(\"/api/token\",\r\n \"refresh_token=\" + refreshToken +\r\n \"&grant_type=refresh_token\" +\r\n \"&user_login=\" + login,\r\n { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }\r\n )\r\n .then((response) => success(response))\r\n .catch((response) => fail(response));\r\n};\r\n\r\n/**\r\n * Send notification about forgotten password\r\n * @param {any} model\r\n * @param {any} success\r\n * @param {any} fail\r\n */\r\nexport const forgotPassword = (model, success, fail) => {\r\n return base.runOperation(\"/api/customeruser/OpCustomerUserForgotPassword\", 0, model, success, fail);\r\n};\r\n\r\n/**\r\n * Send SMS code to user\r\n * @param {any} model\r\n * @param {any} success\r\n * @param {any} fail\r\n */\r\nexport const sendSMSCode = (model, success, fail) => {\r\n return base.runOperation(\"/api/customeruser/OpCustomerUserSendResetSMS\", 0, model, success, fail);\r\n};\r\n\r\n/**\r\n * Reset user password\r\n * @param {any} model\r\n * @param {any} success\r\n * @param {any} fail\r\n */\r\nexport const resetPassword = (model, success, fail) => {\r\n return base.runOperation(\"/api/customeruser/OpCustomerUserResetPassword\", 0, model, success, fail);\r\n}\r\n\r\n/**\r\n * Change password\r\n * @param {any} model\r\n * @param {any} success\r\n * @param {any} fail\r\n */\r\nexport const changePassword = (model, success, fail) => {\r\n return base.runOperation(\"/api/customeruser/OpCustomerUserChangePassword\", 0, model, success, fail);\r\n}\r\n\r\n/**\r\n * Get permissions from service\r\n * @param {any} success\r\n * @param {any} fail\r\n */\r\nexport const getPermissions = (success, fail) => {\r\n return axios\r\n .get(\"/api/account/getPermissions\")\r\n .then((response) => success(response))\r\n .catch((response) => fail(response));\r\n};\r\n\r\n/**\r\n * Get user language\r\n * @param {*} success \r\n * @param {*} fail \r\n * @returns \r\n */\r\nexport const getLanguage = (success, fail) => {\r\n return axios\r\n .get(\"/api/account/getLanguage\")\r\n .then((response) => success(response))\r\n .catch((response) => fail(response));\r\n}\r\n\r\n/**\r\n * Change user language\r\n * @param {*} success \r\n * @param {*} fail \r\n * @returns \r\n */\r\nexport const changeLanguage = (success, fail) => {\r\n return axios.post(\"/api/account/changeLanguage\")\r\n .then((response) => success(response))\r\n .catch((response) => fail(response));\r\n}\r\n\r\n/**\r\n * Get permissions from service\r\n * @param {any} success\r\n * @param {any} fail\r\n */\r\nexport const finishSession = async(success, fail) => {\r\n return axios\r\n .get(\"/api/account/logout\")\r\n .then((response) => success(response))\r\n .catch((response) => fail(response));\r\n};\r\n\r\n","import axios from 'axios';\r\n\r\nexport const getRecords = (apiUrl, params, success, fail) => {\r\n var url = `${apiUrl}`;\r\n axios\r\n .get(url,\r\n {\r\n params: params ? params : { searchModel: '[]', pageIndex: 0, pageSize: 0 }\r\n })\r\n .then((response) => success(response))\r\n .catch((response) => fail(response));\r\n};\r\n\r\nexport const getRecord = (apiUrl, id, success, fail) => {\r\n var url = `${apiUrl}?id=${id}`;\r\n axios\r\n .get(url)\r\n .then((response) => success(response))\r\n .catch((response) => fail(response));\r\n};\r\n\r\nexport const get = (apiUrl, success, fail) => {\r\n var url = `${apiUrl}`;\r\n axios\r\n .get(url)\r\n .then((response) => success(response))\r\n .catch((response) => fail(response));\r\n};\r\n\r\nexport const loadDictionaries = (apiUrl, success, fail) => {\r\n var url = `${apiUrl}/loaddictionaries`;\r\n axios\r\n .get(url)\r\n .then((response) => success(response))\r\n .catch((response) => fail(response));\r\n};\r\n\r\nexport const fetchDictionary = (apiUrl, params, success, fail) => {\r\n var url = `${apiUrl}`;\r\n axios\r\n .get(url,\r\n {\r\n params: params ? params : { term: ' ', maxSize: 50 }\r\n })\r\n .then((response) => success(response))\r\n .catch((response) => fail(response));\r\n};\r\n\r\nexport const add = (apiUrl, model, success, fail) => {\r\n var url = `${apiUrl}`;\r\n axios\r\n .post(url, model)\r\n .then((response) => success(response))\r\n .catch((response) => fail(response));\r\n};\r\n\r\nexport const update = (apiUrl, model, success, fail) => {\r\n var url = `${apiUrl}`;\r\n axios\r\n .post(url, model)\r\n .then((response) => success(response))\r\n .catch((response) => fail(response));\r\n};\r\n\r\nexport const runOperation = (operationUrl, id, params, success, fail) => {\r\n var url = `${operationUrl}/${id}`;\r\n axios\r\n .post(url, params)\r\n .then((response) => success(response))\r\n .catch((response) => fail(response));\r\n};\r\n","import axios from 'axios';\r\nimport * as base from '@/api/BaseApi';\r\n\r\nexport const getPage = (params, success, fail) => {\r\n return base.getRecords(\"/api/contract/page\", params, success, fail);\r\n};\r\n\r\nexport const get = (id, success, fail) => {\r\n return base.getRecord(\"/api/contract/contract\", id, success, fail);\r\n};\r\n\r\nexport const add = (model, success, fail) => {\r\n return base.add(\"/api/contract/add\", model, success, fail);\r\n};\r\n\r\nexport const update = (model, success, fail) => {\r\n return base.update(\"/api/contract/update\", model, success, fail);\r\n};\r\n\r\nexport const exportList = (model, success, fail) => {\r\n return base.runOperation(\"/api/contract/OpContractExportList\", 0, model, success, fail);\r\n};\r\n\r\nexport const getCustomerContracts = (contractId, success, fail) => {\r\n var model = { searchModel: JSON.stringify({ ContractId: contractId }), pageIndex: 1, pageSize: 100 };\r\n return base.getRecords(\"/api/customercontract/page\", model, success, fail);\r\n};\r\n\r\nexport const changeName = (id, model, success, fail) => {\r\n return base.runOperation(\"/api/contract/OpContractChangeName\", id, model, success, fail);\r\n};\r\n\r\nexport const getContractParameters = (contractId, success, fail) => {\r\n var model = { searchModel: JSON.stringify({ ContractId: contractId }), pageIndex: 1, pageSize: 100 };\r\n return base.getRecords(\"/api/parameter/page\", model, success, fail);\r\n};\r\n\r\nexport const getContractActiveOffers = (contractId, success, fail) => {\r\n var model = { searchModel: JSON.stringify({ ContractId: contractId, StatusId: 5, ValidOnly: true }), pageIndex: 1, pageSize: 100 };\r\n return base.getRecords(\"/api/offer/page\", model, success, fail);\r\n};\r\n\r\nexport const getMenuInformation = (success, fail) => {\r\n return base.get(\"/api/contract/getmenuinformation\", success, fail);\r\n};\r\n\r\nexport const getContractMediums = (contractId, success, fail) => {\r\n var model = { searchModel: JSON.stringify({ ContractId: contractId }), pageIndex: 1, pageSize: 100 };\r\n return base.getRecords(\"/api/medium/page\", model, success, fail);\r\n};\r\n\r\nexport const getContractMediumProductTypes = (mediumIds, success, fail) => {\r\n var model = { searchModel: JSON.stringify({ MediumIds: mediumIds }), pageIndex: 1, pageSize: 100 };\r\n return base.getRecords(\"/api/mediumproducttype/page\", model, success, fail);\r\n};\r\n\r\nexport const getContractManager = (contractId, success, fail) => {\r\n var model = { id: contractId };\r\n return base.getRecords(\"/api/contract/getcontractmanager\", model, success, fail);\r\n};","import axios from 'axios';\r\nimport * as base from '@/api/BaseApi';\r\n\r\nexport const getPage = (params, success, fail) => {\r\n return base.getRecords(\"/api/declarationkind/page\", params, success, fail);\r\n};\r\n\r\nexport const get = (id, success, fail) => {\r\n return base.getRecord(\"/api/declarationkind/declarationkind\", id, success, fail);\r\n};\r\n\r\nexport const add = (model, success, fail) => {\r\n return base.add(\"/api/declarationkind/add\", model, success, fail);\r\n};\r\n\r\nexport const update = (model, success, fail) => {\r\n return base.update(\"/api/declarationkind/update\", model, success, fail);\r\n};\r\n","import axios from 'axios';\r\nimport * as base from '@/api/BaseApi';\r\n\r\nexport const getPage = (params, success, fail) => {\r\n return base.getRecords(\"/api/message/pagecustomer\", params, success, fail);\r\n};\r\n\r\nexport const get = (id, success, fail) => {\r\n return base.getRecord(\"/api/message/messagecustomer\", id, success, fail);\r\n};\r\n\r\nexport const add = (model, success, fail) => {\r\n return base.add(\"/api/message/add\", model, success, fail);\r\n};\r\n\r\nexport const update = (model, success, fail) => {\r\n return base.update(\"/api/message/update\", model, success, fail);\r\n};\r\n","import axios from 'axios';\r\nimport * as base from '@/api/BaseApi';\r\n\r\nexport const getPage = (params, success, fail) => {\r\n return base.getRecords(\"/api/offer/page\", params, success, fail);\r\n};\r\n\r\nexport const get = (id, success, fail) => {\r\n return base.getRecord(\"/api/offer/offer\", id, success, fail);\r\n};\r\n\r\nexport const add = (model, success, fail) => {\r\n return base.add(\"/api/offer/add\", model, success, fail);\r\n};\r\n\r\nexport const update = (model, success, fail) => {\r\n return base.update(\"/api/offer/update\", model, success, fail);\r\n};\r\n\r\nexport const getOffersContracts = (contractIds, success, fail) => {\r\n var model = { searchModel: JSON.stringify({ ArrayOf_Id: contractIds }), pageIndex: 1, pageSize: 100 };\r\n return base.getRecords(\"/api/contract/page\", model, success, fail)\r\n};\r\n\r\nexport const offerAccept = (id, model, success, fail) => {\r\n return base.runOperation(\"/api/offer/OpOfferAccept\", id, model, success, fail);\r\n};\r\n\r\nexport const offerAcceptAuthorise = (id, model, success, fail) => {\r\n return base.runOperation(\"/api/offer/OpOfferAcceptAuthorise\", id, model, success, fail);\r\n};\r\n\r\nexport const offerAcceptAuthoriseCancel = (id, model, success, fail) => {\r\n return base.runOperation(\"/api/offer/OpOfferAcceptAuthoriseCancel\", id, model, success, fail);\r\n};\r\n\r\nexport const offerReject = (id, model, success, fail) => {\r\n return base.runOperation(\"/api/offer/OpOfferReject\", id, model, success, fail);\r\n};\r\n","import axios from 'axios';\r\nimport * as base from '@/api/BaseApi';\r\n\r\nexport const getPage = (params, success, fail) => {\r\n return base.getRecords(\"/api/quotation/page\", params, success, fail);\r\n};\r\n\r\nexport const chartList = (params, success, fail) => {\r\n return base.getRecords(\"/api/quotation/chartList\", params, success, fail);\r\n};\r\n\r\nexport const getLatestByProduct = (params, success, fail) => {\r\n return base.getRecords(\"/api/quotation/getlatestbyproduct\", params, success, fail);\r\n};\r\n\r\nexport const get = (id, success, fail) => {\r\n return base.getRecord(\"/api/quotation/quotation\", id, success, fail);\r\n};\r\n\r\nexport const add = (model, success, fail) => {\r\n return base.add(\"/api/quotation/add\", model, success, fail);\r\n};\r\n\r\nexport const update = (model, success, fail) => {\r\n return base.update(\"/api/quotation/update\", model, success, fail);\r\n};\r\n","import axios from 'axios';\r\nimport * as base from '@/api/BaseApi';\r\n\r\nexport const getPage = (params, success, fail) => {\r\n return base.getRecords(\"/api/tradingindex/page\", params, success, fail);\r\n};\r\n\r\nexport const get = (id, success, fail) => {\r\n return base.getRecord(\"/api/tradingindex/tradingindex\", id, success, fail);\r\n};\r\n\r\nexport const add = (model, success, fail) => {\r\n return base.add(\"/api/tradingindex/add\", model, success, fail);\r\n};\r\n\r\nexport const update = (model, success, fail) => {\r\n return base.update(\"/api/tradingindex/update\", model, success, fail);\r\n};\r\n\r\nexport const getLatest = (params, success, fail) => {\r\n return base.getRecords(\"/api/tradingindex/getlatest\", params, success, fail);\r\n};\r\n\r\n","import axios from 'axios';\r\nimport * as base from '@/api/BaseApi';\r\n\r\nexport const getPage = (params, success, fail) => {\r\n return base.getRecords(\"/api/vtransaction/page\", params, success, fail);\r\n};\r\n\r\nexport const get = (id, success, fail) => {\r\n return base.getRecord(\"/api/vtransaction/vtransaction\", id, success, fail);\r\n};\r\n\r\nexport const exportList = (model, success, fail) => {\r\n return base.runOperation(\"/api/vtransaction/OpVTransactionExportList\", 0, model, success, fail);\r\n};\r\n","import $ from 'jquery'\r\nimport { t } from \"@/setup/i18n-setup\"\r\nimport { tgeColors, chartPeriods } from '@/scripts/const'\r\nimport moment from 'moment'\r\nimport { Notifications } from '@/scripts/notifications'\r\nimport { Logger } from '@/scripts/logger'\r\nimport * as api from '@/api/QuotationApi'\r\n\r\nexport const ChartTGEJs = {\r\n data() {\r\n return {\r\n chartTGEProps: {},\r\n chartTGEPeriod: this.chartPeriods.TwoWeeks,\r\n quotationsForProduct: [],\r\n dateRangeCalendarButtonType: '',\r\n selectedProduct: null, //zaznaczony rekord na liście notowań z pogrupowanymi produktami\r\n searchModelForProduct: {},\r\n\r\n TGEFilterDate: null,\r\n };\r\n },\r\n created() {\r\n\r\n },\r\n methods: {\r\n fetchChartTGEQuotationsForProduct: function (productSymbol) {\r\n if (!productSymbol) {\r\n this.quotationsForProduct = [];\r\n this.chartTGEProps = null;\r\n return;\r\n }\r\n\r\n let self = this;\r\n\r\n this.loading = true;\r\n\r\n this.quotationsForProduct = [];\r\n\r\n self.chartTGEProps = null;\r\n\r\n //warunki wyszukiwania\r\n this.searchModelForProduct.ProductSymbol = productSymbol;\r\n this.setChartTGEPeriodDates();\r\n\r\n api.chartList({\r\n searchModel: JSON.stringify($.extend(true, {}, this.searchModelForProduct)),\r\n pageIndex: 1,\r\n pageSize: 999\r\n },\r\n (response) => {\r\n var isCorrectResult = Notifications.showOperationMessage(response.data, true);\r\n if (!isCorrectResult) {\r\n this.loading = false;\r\n return;\r\n }\r\n\r\n this.quotationsForProduct = response.data.Model.data;\r\n\r\n this.setChartTGEListProps(this.quotationsForProduct);\r\n\r\n this.loading = false;\r\n },\r\n (error) => {\r\n Logger.logException(error);\r\n\r\n this.loading = false;\r\n }\r\n );\r\n },\r\n setChartTGEListProps: function (quotationsForProduct) {\r\n let self = this;\r\n\r\n var labelsChart = [];\r\n var datasetsChart = [\r\n {\r\n kind: 'Lots',\r\n label: t('chart.Lots'),\r\n data: [],\r\n backgroundColor: tgeColors.Lots,\r\n order: 1,\r\n type: 'bar',\r\n yAxisID: 'y1',\r\n },\r\n {\r\n kind: 'MinRate',\r\n label: t('chart.MinRate'),\r\n data: [],\r\n borderColor: tgeColors.MinRate,\r\n backgroundColor: tgeColors.MinRate,\r\n type: 'line',\r\n borderWidth: 1,\r\n pointBorderWidth: 0,\r\n pointStyle: 'rect',\r\n order: 0,\r\n yAxisID: 'y',\r\n },\r\n {\r\n kind: 'DKR',\r\n label: t('chart.DKR'),\r\n data: [],\r\n borderColor: tgeColors.DKR,\r\n backgroundColor: tgeColors.DKR,\r\n type: 'line',\r\n borderWidth: 1,\r\n pointBorderWidth: 0,\r\n pointStyle: 'rect',\r\n order: 0,\r\n yAxisID: 'y',\r\n },\r\n {\r\n kind: 'MaxRate',\r\n label: t('chart.MaxRate'),\r\n data: [],\r\n borderColor: tgeColors.MaxRate,\r\n backgroundColor: tgeColors.MaxRate,\r\n type: 'line',\r\n borderWidth: 1,\r\n pointBorderWidth: 0,\r\n pointStyle: 'rect',\r\n order: 0,\r\n yAxisID: 'y',\r\n fill: { above: tgeColors.Filler, below: tgeColors.Filler, target: '-2' },\r\n },\r\n {\r\n kind: 'IndexPrice',\r\n label: t('chart.IndexPrice'),\r\n data: [],\r\n borderColor: tgeColors.IndexPrice,\r\n backgroundColor: tgeColors.IndexPrice,\r\n type: 'line',\r\n borderWidth: 1,\r\n pointBorderWidth: 0,\r\n pointStyle: 'rect',\r\n order: 0,\r\n yAxisID: 'y',\r\n hidden: true,\r\n },\r\n ];\r\n\r\n for (var i in quotationsForProduct) {\r\n var q = quotationsForProduct[i];\r\n\r\n labelsChart.push(q.QuoteDate.substring(0, 10));\r\n\r\n var dataLots = datasetsChart.filter(f => { return f.kind === 'Lots'; })[0];\r\n dataLots.data.push({ x: q.QuoteDate.substring(0, 10), y: q.Lots, type: \"bar\", kind: t('chart.Lots') });\r\n\r\n var dataMinRate = datasetsChart.filter(f => { return f.kind === 'MinRate'; })[0];\r\n dataMinRate.data.push({ x: q.QuoteDate.substring(0, 10), y: q.MinimumPrice, type: \"line\", kind: t('chart.MinRate') });\r\n\r\n var dataDKR = datasetsChart.filter(f => { return f.kind === 'DKR'; })[0];\r\n dataDKR.data.push({ x: q.QuoteDate.substring(0, 10), y: q.DailySettlementPrice, type: \"line\", kind: t('chart.DKR') });\r\n\r\n var dataMaxRate = datasetsChart.filter(f => { return f.kind === 'MaxRate'; })[0];\r\n dataMaxRate.data.push({ x: q.QuoteDate.substring(0, 10), y: q.MaximumPrice, type: \"line\", kind: t('chart.MaxRate') });\r\n\r\n var dataIndexPrice = datasetsChart.filter(f => { return f.kind === 'IndexPrice'; })[0];\r\n dataIndexPrice.data.push({ x: q.QuoteDate.substring(0, 10), y: q.IndexPrice, type: \"line\", kind: t('chart.IndexPrice') });\r\n };\r\n\r\n self.chartTGEProps = {\r\n labels: labelsChart,\r\n datasets: datasetsChart,\r\n };\r\n },\r\n\r\n setChartTGEPeriodDates: function () {\r\n if (this.searchModelForProduct.QuoteDateRange?.length == 2) {\r\n this.searchModelForProduct.QuoteDateFrom = this.searchModelForProduct.QuoteDateRange[0];\r\n this.searchModelForProduct.QuoteDateTo = this.searchModelForProduct.QuoteDateRange[1];\r\n return;\r\n };\r\n\r\n var referenceDate = this.TGEFilterDate ? moment(new Date(this.TGEFilterDate)) : moment();\r\n var result = { From: null, To: referenceDate };\r\n\r\n switch (this.chartTGEPeriod) {\r\n case this.chartPeriods.TwoWeeks:\r\n result.From = moment(referenceDate).subtract(2, 'weeks');\r\n break;\r\n case this.chartPeriods.OneMonth:\r\n result.From = moment(referenceDate).subtract(1, 'months').startOf('month');\r\n break;\r\n case this.chartPeriods.ThreeMonths:\r\n result.From = moment(referenceDate).subtract(3, 'months').startOf('month');\r\n break;\r\n case this.chartPeriods.SixMonths:\r\n result.From = moment(referenceDate).subtract(6, 'months').startOf('month');\r\n break;\r\n case this.chartPeriods.Max:\r\n result.From = null;\r\n break;\r\n default:\r\n result.From = null;\r\n result.To = null;\r\n break;\r\n };\r\n\r\n this.searchModelForProduct.QuoteDateFrom = result.From;\r\n this.searchModelForProduct.QuoteDateTo = result.To;\r\n },\r\n onChangeChartTGEDateRange: function () {\r\n this.dateRangeCalendarButtonType = 'primary';\r\n this.chartTGEPeriod = null;\r\n\r\n $('#selectedDateRange').html(null);\r\n\r\n if (this.searchModelForProduct.QuoteDateRange && this.searchModelForProduct.QuoteDateRange[0] && this.searchModelForProduct.QuoteDateRange[1]) {\r\n var from = moment(this.searchModelForProduct.QuoteDateRange[0]).format(\"YYYY-MM-DD\");\r\n var to = moment(this.searchModelForProduct.QuoteDateRange[1]).format(\"YYYY-MM-DD\");\r\n $('#selectedDateRange').html(from + \" - \" + to);\r\n };\r\n\r\n if (this.selectedProduct)\r\n this.fetchChartTGEQuotationsForProduct(this.selectedProduct.ProductSymbol);\r\n },\r\n onChartTGEPeriodChange: function () {\r\n this.dateRangeCalendarButtonType = '';\r\n this.searchModelForProduct.QuoteDateRange = null;\r\n $('#selectedDateRange').html(null);\r\n\r\n this.setChartTGEPeriodDates();\r\n\r\n if (this.selectedProduct)\r\n this.fetchChartTGEQuotationsForProduct(this.selectedProduct.ProductSymbol);\r\n },\r\n onChartTGEFilterDateChange: function (newDate) {\r\n this.TGEFilterDate = newDate;\r\n\r\n if (this.searchModelForProduct.QuoteDateRange\r\n && this.searchModelForProduct.QuoteDateRange[0]\r\n && this.searchModelForProduct.QuoteDateRange[1]) {\r\n //\r\n }\r\n else {\r\n this.onChartTGEPeriodChange();\r\n };\r\n },\r\n },\r\n};","import $ from 'jquery'\r\nimport { t } from \"@/setup/i18n-setup\"\r\nimport { tgeColors, chartPeriods } from '@/scripts/const'\r\nimport moment from 'moment'\r\nimport { Notifications } from '@/scripts/notifications'\r\nimport { Logger } from '@/scripts/logger'\r\nimport * as api from '@/api/TradingIndexApi'\r\n\r\nexport const ChartTGEIndexJs = {\r\n data() {\r\n return {\r\n chartTGEIndexProps: {},\r\n chartTGEIndexPeriod: this.chartPeriods.TwoWeeks,\r\n forIndex: [],\r\n dateRangeCalendarButtonType: '',\r\n selectedProduct: null, //zaznaczony rekord na liście notowań z pogrupowanymi produktami\r\n searchModelForIndex: {},\r\n\r\n TGEIndexFilterDate: null,\r\n };\r\n },\r\n created() {\r\n\r\n },\r\n methods: {\r\n fetchChartTGETradingIndex: function (indexType) {\r\n if (!indexType) {\r\n this.forIndex = [];\r\n this.chartTGEIndexProps = null;\r\n return;\r\n };\r\n\r\n let self = this;\r\n\r\n this.loading = true;\r\n\r\n this.forIndex = [];\r\n\r\n self.chartTGEIndexProps = null;\r\n\r\n //warunki wyszukiwania\r\n this.searchModelForIndex.IndexType = indexType;\r\n this.setChartTGEIndexPeriodDates();\r\n\r\n api.getPage({\r\n searchModel: JSON.stringify($.extend(true, {}, this.searchModelForIndex)),\r\n pageIndex: 1,\r\n pageSize: 999\r\n },\r\n (response) => {\r\n var isCorrectResult = Notifications.showOperationMessage(response.data, true);\r\n if (!isCorrectResult) {\r\n this.loading = false;\r\n return;\r\n }\r\n\r\n this.forIndex = response.data.Model.data;\r\n\r\n this.setChartTGEIndexListProps(this.forIndex);\r\n\r\n this.loading = false;\r\n },\r\n (error) => {\r\n Logger.logException(error);\r\n\r\n this.loading = false;\r\n }\r\n );\r\n },\r\n setChartTGEIndexListProps: function (forIndex) {\r\n let self = this;\r\n\r\n var labelsChart = [];\r\n var datasetsChart = [\r\n {\r\n kind: 'Price',\r\n label: t('chart.RateIndex'),\r\n data: [],\r\n borderColor: tgeColors.MinRate,\r\n backgroundColor: tgeColors.MinRate,\r\n type: 'line',\r\n borderWidth: 1,\r\n pointBorderWidth: 0,\r\n pointStyle: 'rect',\r\n order: 0,\r\n yAxisID: 'y',\r\n }\r\n ];\r\n\r\n for (var i in forIndex) {\r\n var q = forIndex[i];\r\n\r\n labelsChart.push(q.IndexDate.substring(0, 10));\r\n\r\n var dataMinRate = datasetsChart.filter(f => { return f.kind === 'Price'; })[0];\r\n dataMinRate.data.push({ x: q.IndexDate.substring(0, 10), y: q.Price, type: \"line\", kind: t('chart.RateIndex') });\r\n\r\n };\r\n\r\n self.chartTGEIndexProps = {\r\n labels: labelsChart,\r\n datasets: datasetsChart,\r\n };\r\n },\r\n setChartTGEIndexPeriodDates: function () {\r\n if (this.searchModelForIndex.IndexDateRange?.length == 2) {\r\n this.searchModelForIndex.IndexDateFrom = this.searchModelForIndex.IndexDateRange[0];\r\n this.searchModelForIndex.IndexDateTo = this.searchModelForIndex.IndexDateRange[1];\r\n return;\r\n };\r\n\r\n var referenceDate = this.TGEIndexFilterDate ? moment(new Date(this.TGEIndexFilterDate)) : moment();\r\n var result = { From: null, To: referenceDate };\r\n\r\n switch (this.chartTGEIndexPeriod) {\r\n case this.chartPeriods.TwoWeeks:\r\n result.From = moment(referenceDate).subtract(2, 'weeks');\r\n break;\r\n case this.chartPeriods.OneMonth:\r\n result.From = moment(referenceDate).subtract(1, 'months').startOf('month');\r\n break;\r\n case this.chartPeriods.ThreeMonths:\r\n result.From = moment(referenceDate).subtract(3, 'months').startOf('month');\r\n break;\r\n case this.chartPeriods.SixMonths:\r\n result.From = moment(referenceDate).subtract(6, 'months').startOf('month');\r\n break;\r\n case this.chartPeriods.Max:\r\n result.From = null;\r\n break;\r\n default:\r\n result.From = null;\r\n result.To = null;\r\n break;\r\n };\r\n\r\n this.searchModelForIndex.IndexDateFrom = result.From;\r\n this.searchModelForIndex.IndexDateTo = result.To;\r\n },\r\n onChangeChartTGEIndexDateRange: function () {\r\n this.dateRangeCalendarButtonType = 'primary';\r\n this.chartTGEIndexPeriod = null;\r\n\r\n $('#selectedDateRangeForTGEIndex').html(null);\r\n\r\n if (this.searchModelForIndex.IndexDateRange && this.searchModelForIndex.IndexDateRange[0] && this.searchModelForIndex.IndexDateRange[1]) {\r\n var from = moment(this.searchModelForIndex.IndexDateRange[0]).format(\"YYYY-MM-DD\");\r\n var to = moment(this.searchModelForIndex.IndexDateRange[1]).format(\"YYYY-MM-DD\");\r\n $('#selectedDateRangeForTGEIndex').html(from + \" - \" + to);\r\n };\r\n\r\n if (this.selectedProduct)\r\n this.fetchChartTGETradingIndex(this.selectedProduct.IndexType);\r\n },\r\n onChartTGEIndexPeriodChange: function () {\r\n this.dateRangeCalendarButtonType = '';\r\n this.searchModelForIndex.IndexDateRange = null;\r\n $('#selectedDateRangeForTGEIndex').html(null);\r\n\r\n this.setChartTGEIndexPeriodDates();\r\n\r\n if (this.selectedProduct)\r\n this.fetchChartTGETradingIndex(this.selectedProduct.IndexType);\r\n },\r\n onChartTGEIndexFilterDateChange: function (newDate) {\r\n this.TGEIndexFilterDate = newDate;\r\n\r\n if (this.searchModelForIndex.IndexDateRange\r\n && this.searchModelForIndex.IndexDateRange[0]\r\n && this.searchModelForIndex.IndexDateRange[1]) {\r\n //\r\n }\r\n else {\r\n this.onChartTGEIndexPeriodChange();\r\n };\r\n\r\n },\r\n },\r\n};","import moment from 'moment'\r\nimport { Renderers } from '@/scripts/renderers'\r\n\r\nexport const Common = {\r\n data() {\r\n return {\r\n smallScreen: window.innerWidth <= 800,\r\n screenSize: window.innerWidth,\r\n };\r\n },\r\n created() {\r\n window.addEventListener(\"resize\", this.checkScreenSize);\r\n },\r\n methods: {\r\n //navigator\r\n handleTabClick(tab, event) {\r\n if (!tab?.props) {\r\n return;\r\n };\r\n\r\n window.location.hash = tab.props.name;\r\n\r\n try {\r\n switch (tab.props.name) {\r\n default:\r\n this.loadFormBase();\r\n break;\r\n }\r\n }\r\n catch (ex) {\r\n //\r\n }\r\n },\r\n loadTabFromHash() {\r\n if (window.location.hash.length > 1) {\r\n var tab = window.location.hash.replace('#', '');\r\n this.activeTabName = tab;\r\n this.handleTabClick({ props: { name: tab } });\r\n return true;\r\n }\r\n else {\r\n return false;\r\n };\r\n },\r\n onHashChange: function () {\r\n this.loadTabFromHash();\r\n },\r\n\r\n registerComponent: function (cmpName, cmp) {\r\n this[cmpName] = cmp;\r\n },\r\n checkScreenSize: function () {\r\n this.smallScreen = window.innerWidth <= 800;\r\n },\r\n\r\n clearPasteValue: function (e) {\r\n if (e.clipboardData) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n var pastedData = e.clipboardData.getData('Text');\r\n\r\n var newData = pastedData.replace(/\\u00A0/g, \"\"); //non-braking space\r\n\r\n e.target.value = newData;\r\n e.target.dispatchEvent(new Event('input'));\r\n }\r\n },\r\n\r\n /*\r\n Check if given date is in the future\r\n */\r\n dateIsFuture: function (date) {\r\n if (!date)\r\n return false;\r\n\r\n var parsedDate = moment(Renderers.formatAsDateFromProc(date));\r\n\r\n return parsedDate > new Date();\r\n },\r\n }\r\n}","export const Configurations = {\r\n data() {\r\n return {\r\n pickerOptions: {\r\n\r\n },\r\n datePickerShortcuts: [\r\n {\r\n text: this.$t('datePicker.today'),\r\n value: new Date(),\r\n },\r\n {\r\n text: this.$t('datePicker.lastDay'),\r\n value: () => {\r\n const date = new Date()\r\n date.setTime(date.getTime() - 3600 * 1000 * 24)\r\n return date\r\n },\r\n },\r\n {\r\n text: this.$t('datePicker.weekAgo'),\r\n value: () => {\r\n const date = new Date()\r\n date.setTime(date.getTime() - 3600 * 1000 * 24 * 7)\r\n return date\r\n },\r\n },\r\n ],\r\n datePickerRangeYearShortcuts: [\r\n {\r\n text: this.$t('datePicker.previousYear'),\r\n value: () => {\r\n const end = new Date(new Date().getFullYear() - 1, 11, 31)\r\n const start = new Date(new Date().getFullYear() - 1, 0, 1)\r\n return [start, end]\r\n },\r\n },\r\n {\r\n text: this.$t('datePicker.thisYear'),\r\n value: () => {\r\n const end = new Date(new Date().getFullYear(), 11, 31)\r\n const start = new Date(new Date().getFullYear(), 0, 1)\r\n return [start, end]\r\n },\r\n },\r\n {\r\n text: this.$t('datePicker.nextYear'),\r\n value: () => {\r\n const end = new Date(new Date().getFullYear() + 1, 11, 31)\r\n const start = new Date(new Date().getFullYear() + 1, 0, 1)\r\n return [start, end]\r\n },\r\n },\r\n ],\r\n datePickerRangeShortcuts: [\r\n {\r\n text: this.$t('datePicker.lastDay'),\r\n value: () => {\r\n const end = new Date()\r\n const start = new Date()\r\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 1)\r\n return [start, end]\r\n },\r\n },\r\n {\r\n text: this.$t('datePicker.lastWeek'),\r\n value: () => {\r\n const end = new Date()\r\n const start = new Date()\r\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)\r\n return [start, end]\r\n },\r\n },\r\n {\r\n text: this.$t('datePicker.last2Weeks'),\r\n value: () => {\r\n const end = new Date()\r\n const start = new Date()\r\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 14)\r\n return [start, end]\r\n },\r\n },\r\n {\r\n text: this.$t('datePicker.lastMonth'),\r\n value: () => {\r\n var start = new Date();\r\n const end = new Date(start.getFullYear(), start.getMonth(), 0);\r\n start = new Date(start.getFullYear(), start.getMonth() - 1, 1);\r\n return [start, end]\r\n },\r\n },\r\n {\r\n text: this.$t('datePicker.last3Months'),\r\n value: () => {\r\n var start = new Date();\r\n const end = new Date(start.getFullYear(), start.getMonth(), 0);\r\n start = new Date(start.getFullYear(), start.getMonth() - 3, 1);\r\n return [start, end]\r\n },\r\n },\r\n {\r\n text: this.$t('datePicker.last6Months'),\r\n value: () => {\r\n var start = new Date();\r\n const end = new Date(start.getFullYear(), start.getMonth(), 0);\r\n start = new Date(start.getFullYear(), start.getMonth() - 6, 1);\r\n return [start, end]\r\n },\r\n },\r\n ],\r\n datePickerRangeShortcutsFuture: [\r\n {\r\n text: this.$t('datePicker.nextDay'),\r\n value: () => {\r\n const end = new Date()\r\n const start = new Date()\r\n start.setTime(start.getTime() + 3600 * 1000 * 24 * 1)\r\n end.setTime(end.getTime() + 3600 * 1000 * 24 * 1)\r\n return [start, end]\r\n },\r\n },\r\n {\r\n text: this.$t('datePicker.nextMonth'),\r\n value: () => {\r\n var start = new Date();\r\n const end = new Date(start.getFullYear(), start.getMonth() + 2, 0);\r\n start = new Date(start.getFullYear(), start.getMonth() + 1, 1);\r\n return [start, end]\r\n },\r\n },\r\n {\r\n text: this.$t('datePicker.next3Months'),\r\n value: () => {\r\n var start = new Date();\r\n const end = new Date(start.getFullYear(), start.getMonth() + 4, 0);\r\n start = new Date(start.getFullYear(), start.getMonth() + 1, 1);\r\n return [start, end]\r\n },\r\n },\r\n {\r\n text: this.$t('datePicker.next6Months'),\r\n value: () => {\r\n var start = new Date();\r\n const end = new Date(start.getFullYear(), start.getMonth() + 7, 0);\r\n start = new Date(start.getFullYear(), start.getMonth() + 1, 1);\r\n return [start, end]\r\n },\r\n },\r\n {\r\n text: this.$t('datePicker.nextYear'),\r\n value: () => {\r\n var start = new Date();\r\n const end = new Date(start.getFullYear(), start.getMonth() + 13, 0);\r\n start = new Date(start.getFullYear(), start.getMonth() + 1, 1);\r\n return [start, end]\r\n },\r\n },\r\n ],\r\n configuration: {\r\n showSearch: true,\r\n showSearchPanel: true,\r\n showExpandColumn: true,\r\n showSelectionColumn: true,\r\n showQuickSearch: true,\r\n showBreadcrumb: true,\r\n showBaseSearchPanel: true,\r\n showMainSearch: true,\r\n },\r\n };\r\n },\r\n methods: {\r\n disableFarDates: function (date) {\r\n return date < new Date(2020, 1, 1) || date > new Date(2030, 1, 1);\r\n },\r\n }\r\n\r\n}","export const operationResult = Object.freeze({\r\n OK: 1,\r\n Warning: 0,\r\n Error: -1,\r\n Invalid: -2\r\n});\r\n\r\nexport const tgeColors = Object.freeze({\r\n Lots: '#038eff',\r\n MinRate: '#2c2f72',\r\n DKR: '#75cee8',\r\n MaxRate: '#3d83d7',\r\n IndexPrice: '#384fc1',\r\n Filler: 'rgba(195, 195, 195, 0.3)',\r\n});\r\n\r\nexport const chartPeriods = Object.freeze({\r\n TwoWeeks: '14d',\r\n OneMonth: '1m',\r\n ThreeMonths: '3m',\r\n SixMonths: '6m',\r\n Max: 'max'\r\n});\r\n\r\nexport const productSwitchByYear = Object.freeze({\r\n TradingYear: 1,\r\n DeliveryYear: 0\r\n});\r\n\r\nexport const operationExecutionType = Object.freeze({\r\n SYNC: 1,\r\n ASYNC: 2\r\n});\r\n\r\nexport const fileUploadSettings = Object.freeze({\r\n maxFilesSizeSum: 10, //w MB\r\n maxFileSize: 1024 * 1024 * 10, //10MB w Bajtach\r\n maxFileNumber: 12,\r\n fileTypes: '.doc, .docx, .txt, .pdf, .png, .jpg, .jpeg, .gif, .xls, .xlsx, .csv' //muszą się zgadzać z appSettings.config FileAttachedAcceptedExtensions\r\n});\r\n\r\nexport const permission = Object.freeze({\r\n ContractCreate: \"eps.contract.create\",\r\n ContractReadOwn: \"eps.contract.read.own\",\r\n ContractReadAll: \"eps.contract.read.all\",\r\n ContractWriteOwn: \"eps.contract.write.own\",\r\n ContractWriteAll: \"eps.contract.write.all\",\r\n ContractFinish: \"eps.contract.finish\",\r\n TrancheReadOwn: \"eps.tranche.read.own\",\r\n TrancheReadAll: \"eps.tranche.read.all\",\r\n TrancheWriteOwn: \"eps.tranche.write.own\",\r\n TrancheWriteAll: \"eps.tranche.write.all\",\r\n TrancheAddOwn: \"eps.tranche.add.own\",\r\n TrancheAddAll: \"eps.tranche.add.all\",\r\n MandateReadOwn: \"eps.mandate.read.own\",\r\n MandateReadAll: \"eps.mandate.read.all\",\r\n MandateWriteOwn: \"eps.mandate.write.own\",\r\n MandateWriteAll: \"eps.mandate.write.all\",\r\n MandateAddOwn: \"eps.mandate.add.own\",\r\n MandateAddAll: \"eps.mandate.add.all\",\r\n MandateCancel: \"eps.mandate.cancel\",\r\n PPAAdd: \"eps.ppa.add\",\r\n PPARead: \"eps.ppa.read\",\r\n TransactionReadOwn: \"eps.transaction.read.own\",\r\n TransactionReadAll: \"eps.transaction.read.all\",\r\n TransactionWriteOwn: \"eps.transaction.write.own\",\r\n TransactionWriteAll: \"eps.transaction.write.all\",\r\n UserReadAll: \"eps.user.read.all\",\r\n UserWriteAll: \"eps.user.write.all\",\r\n ApplicantContractModify: \"eps.applicantcontract.modify\",\r\n QuotationReadOwn: \"eps.quotation.read.own\",\r\n QuotationReadAll: \"eps.quotation.read.all\",\r\n QuotationWriteOwn: \"eps.quotation.write.own\",\r\n QuotationWriteAll: \"eps.quotation.write.all\",\r\n TradingIndexReadOwn: \"eps.tradingindex.read.own\",\r\n TradingIndexReadAll: \"eps.tradingindex.read.all\",\r\n TradingIndexWriteOwn: \"eps.tradingindex.write.own\",\r\n TradingIndexWriteAll: \"eps.tradingindex.write.all\",\r\n AlertReadOwn: \"eps.alert.read.own\",\r\n AlertReadAll: \"eps.alert.read.all\",\r\n AlertWriteOwn: \"eps.alert.write.own\",\r\n AlertWriteAll: \"eps.alert.write.all\",\r\n CalendarsReadOwn: \"eps.calendars.read.own\",\r\n CalendarsReadAll: \"eps.calendars.read.all\",\r\n CalendarsWriteOwn: \"eps.calendars.write.own\",\r\n CalendarsWriteAll: \"eps.calendars.write.all\",\r\n ProductReadOwn: \"eps.product.read.own\",\r\n ProductReadAll: \"eps.product.read.all\",\r\n ProductWriteOwn: \"eps.product.write.own\",\r\n ProductWriteAll: \"eps.product.write.all\",\r\n MessageReadOwn: \"eps.message.read.own\",\r\n MessageReadAll: \"eps.message.read.all\",\r\n MessageWriteOwn: \"eps.message.write.own\",\r\n MessageWriteAll: \"eps.message.write.all\",\r\n MessageMarkRead: \"eps.message.mark.read\",\r\n MessageDelete: \"eps.message.delete\",\r\n RunJobRead: \"eps.runjob.read\",\r\n RunJobStateRead: \"eps.runjob.read\",\r\n VReportPriceReadAll: \"eps.reportprice.read.all\",\r\n VReportTrancheDetailReadAll: \"eps.reporttranchedetail.read.all\",\r\n ParameterWriteOwn: \"eps.parameter.write.own\",\r\n ParameterWriteAll: \"eps.parameter.write.all\",\r\n OfferWriteOwn: \"eps.offer.write.own\",\r\n OfferWriteAll: \"eps.offer.write.all\",\r\n OfferAddAll: \"eps.offer.add.all\",\r\n OfferWriteInRealization: \"eps.offer.write.inrealization\",\r\n OfferWriteToVerify: \"eps.offer.write.toverify\",\r\n DeclarationLimitWriteOwn: \"eps.declarationlimit.write.own\",\r\n DeclarationLimitWriteAll: \"eps.declarationlimit.write.all\",\r\n DeclarationKindWriteOwn: \"eps.declarationkind.write.own\",\r\n DeclarationKindWriteAll: \"eps.declarationkind.write.all\",\r\n PowerLimitWriteOwn: \"eps.powerlimit.write.own\",\r\n PowerLimitWriteAll: \"eps.powerlimit.write.all\",\r\n UserActivityAll: \"eps.useractivity.read.all\",\r\n MigrateData: \"eps.migrate.data\",\r\n RolePermissionRead: \"eps.rolepermission.read.all\",\r\n ProductAccept: \"eps.product.accept\",\r\n MediumWrite:\"eps.medium.write\",\r\n MediumProductWriteOwn: \"eps.mediumproduct.write.own\",\r\n MediumProductWriteAll: \"eps.mediumproduct.write.all\",\r\n MediumProductTypeWriteOwn: \"eps.mediumproducttype.write.own\",\r\n MediumProductTypeWriteAll: \"eps.mediumproducttype.write.all\",\r\n TradingSessionPlanWriteOwn: \"eps.tradingsessionplan.write.own\",\r\n TradingSessionPlanWriteAll: \"eps.tradingsessionplan.write.all\",\r\n});\r\n","import $ from 'jquery'\r\nimport * as api from '@/api/BaseApi'\r\nimport { Notifications } from '@/scripts/notifications'\r\nimport { Logger } from '@/scripts/logger'\r\n\r\nexport const Dictionaries = {\r\n data() {\r\n return {\r\n apiUrl: '',\r\n dictModel: [],\r\n };\r\n },\r\n methods: {\r\n //dictionary loading\r\n loadDictionaries: function () {\r\n let self = this;\r\n\r\n api.loadDictionaries(this.apiUrl,\r\n (response) => {\r\n\r\n var isCorrectResult = Notifications.showOperationMessage(response.data, true);\r\n if (!isCorrectResult) {\r\n return;\r\n };\r\n\r\n $.extend(true, self.dictModel, response.data.Model);\r\n\r\n this.afterLoadDictionaries();\r\n },\r\n (error) => {\r\n Logger.logException(error);\r\n }\r\n );\r\n },\r\n afterLoadDictionaries: function () {\r\n\r\n },\r\n checkAndLoadDictModel: function () {\r\n if (Object.keys(this.dictModel).length === 0 && this.dictModel.constructor === Object) {\r\n this.loadDictionaries();\r\n } else {\r\n for (var key in this.dictModel) {\r\n if (this.dictModel[key] === null) {\r\n this.loadDictionaries();\r\n break;\r\n };\r\n };\r\n };\r\n },\r\n\r\n //remote comboboxes\r\n fetchDictionary: function (searchTerm, options, apiUrl, forceRefresh, searchModel) {\r\n let self = this;\r\n\r\n if (!apiUrl) {\r\n apiUrl = self.apiUrl + '/getcombo';\r\n };\r\n\r\n var searchParams = {\r\n term: searchTerm,\r\n maxSize: 50,\r\n searchModel: JSON.stringify(searchModel)\r\n };\r\n\r\n var params = JSON.parse(JSON.stringify(searchParams));\r\n\r\n api.fetchDictionary(apiUrl, params,\r\n (response) => {\r\n self.loading = false;\r\n\r\n var isCorrectResult = Notifications.showOperationMessage(response.data, true);\r\n if (!isCorrectResult) {\r\n return [];\r\n };\r\n\r\n self[options] = response.data.Model;\r\n\r\n return response;\r\n },\r\n (error) => {\r\n Logger.logException(error);\r\n\r\n Notifications.showMsg(self.$t('messages.Error'), null, null, true, 'error', error);\r\n self.loading = false;\r\n return [];\r\n }\r\n );\r\n },\r\n getDictionaryValues(searchTerm, fieldId, apiUrl, forceRefresh, visible, searchModel) {\r\n let self = this;\r\n\r\n var options = 'options' + fieldId;\r\n\r\n if (visible) {\r\n self.fetchDictionary(searchTerm, options, apiUrl, forceRefresh, searchModel);\r\n };\r\n },\r\n\r\n //helpersFunction\r\n isNullOrEmptyCombo: function (rule, value, callback) {\r\n let self = this;\r\n if (!self.isNullOrEmpty(value)) {\r\n callback();\r\n } else {\r\n callback(new Error(self.$t('rules.pickValue')));\r\n }\r\n },\r\n }\r\n}","import $ from 'jquery'\r\n\r\nexport const Helpers = {\r\n /**\r\n * Check if object is null or empty \r\n * @param {any} value - object\r\n * @param {any} zeroIsBad - bool, default if value == 0 -> return true\r\n */\r\n isNullOrEmpty(value, zeroIsBad = true) {\r\n //uwaga na $.isEmptyObject(value) - przy datach zwraca błędnie true\r\n\r\n if (typeof (value) == \"object\") {\r\n if (value === null) //null\r\n return true;\r\n\r\n if (value.length > 0) //table\r\n return false;\r\n\r\n if (value instanceof Date) //date\r\n return false;\r\n\r\n for (var i in value) {\r\n return false; //object with props\r\n };\r\n\r\n return true;\r\n };\r\n\r\n return (\r\n (zeroIsBad && value === 0) ||\r\n (zeroIsBad && value === \"0\") ||\r\n value === \"\" ||\r\n value === null ||\r\n value == undefined ||\r\n (typeof (value) == \"object\" && value === {}));\r\n },\r\n /**\r\n * Check if pressed key is number key or operationKey \r\n * @param event - object\r\n */\r\n isIntNumber(event) {\r\n if (!/\\d/.test(event.key) && !this.isOperationKey(event))\r\n return event.preventDefault();\r\n },\r\n /**\r\n * Check if pressed key is number key or operationKey or dot or comma \r\n * @param event - object\r\n * @param isMinusOK - if minus is acceptable in field\r\n * @param value - value field for check if minus exists yet\r\n */\r\n isDecimalNumber(event, isMinusOK = false, value = 0) {\r\n const keyCode = (event.keyCode ? event.keyCode : event.which);\r\n //console.log('event.keyCode', event.keyCode, keyCode);\r\n\r\n var acceptableChars = [];\r\n acceptableChars.push(46, 110, 190); //kropka\r\n acceptableChars.push(44, 188); //przecinek\r\n acceptableChars.push(48, 49, 50, 51, 52, 53, 54, 55, 56, 57); //top\r\n acceptableChars.push(96, 97, 98, 99, 100, 101, 102, 103, 104, 105); //num\r\n\r\n if (isMinusOK) {\r\n if (this.isNullOrEmpty(value, false)) {\r\n acceptableChars.push(189, 109); //minus\r\n };\r\n };\r\n\r\n if (!acceptableChars.includes(keyCode) && !this.isOperationKey(event)) {\r\n event.preventDefault();\r\n return false;\r\n };\r\n\r\n return true;\r\n },\r\n /**\r\n * Check if pressed key is operation key\r\n * @param event - object\r\n */\r\n isOperationKey(event) {\r\n if (event.ctrlKey) {\r\n switch (event.keyCode) {\r\n case 65: //a (select all)\r\n case 67: //c (copy)\r\n case 86: //v (paste)\r\n case 88: //x (cut)\r\n return true;\r\n default:\r\n return false;\r\n }\r\n };\r\n\r\n switch (event.keyCode) {\r\n case 8: //backspace\r\n case 46: //delete\r\n case 37: //arrow left\r\n case 39: //arrow right\r\n case 9: //tab\r\n return true;\r\n default:\r\n return false;\r\n };\r\n },\r\n /**\r\n * Get :root css property value with checking nullEmpty\r\n * @param property - string\r\n * @param propertyType - string, \"int\", \"float\", default \"string\"\r\n * @param removeSuffix - string, ex. 'px', if given in result will be removed\r\n */\r\n getRootCssValue(property, propertyType, removeSuffix) {\r\n var propertyValue = {\r\n RawValue: getComputedStyle(document.documentElement).getPropertyValue(property),\r\n ReplacedValue: null,\r\n ParsedValue: null\r\n };\r\n\r\n if (!Helpers.isNullOrEmpty(propertyValue.RawValue)) {\r\n propertyValue.ReplacedValue = propertyValue.RawValue.replace(removeSuffix, '');\r\n\r\n if (propertyType == \"int\") {\r\n propertyValue.ParsedValue = parseInt(propertyValue.ReplacedValue);\r\n }\r\n else if (propertyType == \"float\") {\r\n propertyValue.ParsedValue = parseFloat(propertyValue.ReplacedValue);\r\n };\r\n };\r\n\r\n return propertyValue;\r\n },\r\n}","import { Configurations } from '../scripts/configuration'\r\nimport { Operations } from '../scripts/operations'\r\nimport { Common } from '../scripts/common'\r\nimport { Dictionaries } from '../scripts/dictionaries'\r\nimport { Helpers } from '../scripts/helpers'\r\nimport { Renderers } from '../scripts/renderers'\r\nimport $ from 'jquery'\r\nimport Sortable from 'sortablejs/modular/sortable.complete.esm.js';\r\n\r\nexport const List = {\r\n mixins: [Operations, Configurations, Common, Dictionaries],\r\n data() {\r\n return {\r\n //mock\r\n listOperations: [],\r\n currentPage: 1,\r\n loadingList: false,\r\n //page settings\r\n pageName: '',\r\n pageObjectName: '',\r\n selectedRows: [],\r\n isSelectedAnyRow: false,\r\n pageSize: 10,\r\n pageSizes: [10, 20, 50, 100],\r\n tableData: [],\r\n ghostRowDropVisible: true, //pokazuje wiersz przy przesuwaniu (true), przy (false) można używać jako np. przesuwania pliku do folderu, nie rozsuwa wtedy tabeli na nowe miejsce dla wiersza\r\n expandKeys: [],\r\n\r\n // return false; — for cancel\r\n // return -1; — insert before target\r\n // return 1; — insert after target\r\n // return true; — keep default insertion point based on the direction\r\n // return void; — keep default insertion point based on the direction\r\n rowDropMoveReturn: -1,\r\n\r\n setViewSelected: this.$t('toolbar.all'), //default main filter dropdown value\r\n searchModel: {},\r\n searchModelCopy: {},\r\n searchModelInfo: {},\r\n currentRow: null,\r\n showFilters: false,\r\n pageIndex: 1,\r\n total: 0,\r\n model: null,\r\n tableHeight: 100,\r\n minTableHeight: 160,\r\n\r\n settingsSaveAvailable: true,\r\n columnListVisibility: [],\r\n copyColumnListVisibility: [],\r\n orderColumns: {},\r\n widthColumns: {},\r\n isUserSettingsLoaded: false,\r\n\r\n //loadingi\r\n loading: false,\r\n loadingRow: false,\r\n renderRow: true,\r\n };\r\n },\r\n methods: {\r\n //table view\r\n tableRowClassName: function (row) {\r\n\r\n },\r\n //używać tylko na pełnych listach (całostronicowych),\r\n //zakomentować na listach ładowanych jako element strony, np. w tabie formularza z nagłówkiem albo z wykresem\r\n setTableHeight: function (e, topElement, buffer) {\r\n if (this.parent && this.parent.pageName + 'Cmp' != this.pageName) {\r\n return; //jeśli strona nie jest ładowana całostronnie to nie przeliczaj\r\n };\r\n\r\n var bufferHeight = buffer ? buffer : 110;\r\n var relativeElement = topElement ? topElement : '.table.mar-t-15.table-condensed';\r\n var windowHeight = window.innerHeight;\r\n //console.log('windowHeight', windowHeight);\r\n\r\n var rel = $(relativeElement)[0];\r\n var jrel = $(rel);\r\n var positionOfTableHeader = jrel.offset() ? jrel.offset().top : rel ? rel.offsetTop : 100;\r\n\r\n // console.log('windowHeight', windowHeight);\r\n // console.log('relativeElement', relativeElement);\r\n // console.log('bufferHeight', bufferHeight);\r\n // console.log('positionOfTableHeader', positionOfTableHeader);\r\n\r\n //this.$root.isMobile\r\n if (windowHeight < 450) {\r\n return; //pełnowymiarowa tabela, nie ustawiamy wysokości\r\n };\r\n\r\n // console.log('minTableHeight', this.minTableHeight);\r\n\r\n var tableHeightToSet = windowHeight - positionOfTableHeader - bufferHeight;\r\n this.tableHeight = tableHeightToSet > this.minTableHeight ? tableHeightToSet : this.minTableHeight;\r\n\r\n // console.log('tableHeight', this.tableHeight);\r\n },\r\n //ustawienie wysokości tabeli na zasadzie :height=\"setHeight('table_id', 200)\"\r\n setHeight: function (tableId, heightPx) {\r\n $('#' + tableId).find('.el-table__body-wrapper').css('height', heightPx + \"px\");\r\n },\r\n\r\n //copy table content\r\n selectElementContents: function (id, e) {\r\n let self = this;\r\n var el = document.getElementById(id);\r\n\r\n //obsługa kolumn fixed; przed kopiowaniem je chowamy i pokazujemy domyślne\r\n $(el).find('.is-hidden').removeClass('is-hidden').addClass('is-hidden-copyseleced');\r\n $('.el-table__fixed').hide();\r\n\r\n var body = document.body, range, sel;\r\n\r\n if (document.createRange && window.getSelection) {\r\n range = document.createRange();\r\n sel = window.getSelection();\r\n sel.removeAllRanges();\r\n try {\r\n range.selectNodeContents(el);\r\n sel.addRange(range);\r\n } catch (e) {\r\n range.selectNode(el);\r\n sel.addRange(range);\r\n }\r\n } else if (body.createTextRange) {\r\n range = body.createTextRange();\r\n range.moveToElementText(el);\r\n range.select();\r\n }\r\n\r\n document.execCommand(\"copy\");\r\n document.getSelection().removeAllRanges();\r\n\r\n this.$message({\r\n message: self.$t('messages.TableCopied'),\r\n type: 'success',\r\n duration: 2000,\r\n offset: 200\r\n });\r\n\r\n //obsługa kolumn fixed; po kopiowaniu je pokazujemy i chowamy domyślne\r\n $(el).find('.is-hidden-copyseleced').removeClass('is-hidden-copyseleced').addClass('is-hidden');\r\n $('.el-table__fixed').show();\r\n },\r\n\r\n //selection\r\n handleSelectionChange(rows) {\r\n this.selectedRows = rows;\r\n this.isSelectedAnyRow = rows.length > 0;\r\n },\r\n\r\n //operations\r\n handleCommand(command, row, index) {\r\n if (command && row) {\r\n this.selectedRows = [row];\r\n this.prepareCurrentOperation(command);\r\n // this.selectedRows = [row];\r\n // this.operation = this.operations[command];\r\n // this.operationModel = this.operation.Model;\r\n // if (this.operation) {\r\n // if (this.operation.IsConfirmed || this.operation.IsExtended) {\r\n // this.showDlgOperation = true;\r\n // }\r\n // }\r\n }\r\n },\r\n\r\n //rowExpander\r\n handleExpandChange(row, expanded, tableRef, propertyName) {\r\n var singleExpand = true;\r\n\r\n if (!propertyName)\r\n propertyName = 'Id';\r\n\r\n if (singleExpand) {\r\n if (this.expandKeys?.indexOf(row[propertyName]) >= 0) {\r\n this.expandKeys = null;\r\n this.currentRow = null;\r\n return;\r\n };\r\n\r\n this.expandKeys = [];\r\n };\r\n\r\n if (this && tableRef && this.$refs && this.$refs[tableRef] && row)\r\n this.$refs[tableRef].setCurrentRow(row);\r\n\r\n if (!singleExpand) {\r\n if (this.expandKeys.indexOf(row[propertyName]) >= 0) {\r\n this.expandKeys = this.expandKeys.filter(function (value, index, arr) {\r\n return value != row[propertyName];\r\n });\r\n this.currentRow = null;\r\n return;\r\n }\r\n };\r\n\r\n this.currentRow = row;\r\n this.fetchData(row.Id, row);\r\n\r\n if (expanded.length > 1) {\r\n expanded.shift()\r\n };\r\n },\r\n\r\n //sorting\r\n sortChange(sortProps) {\r\n if (sortProps.prop == null) {\r\n this.searchModel.Sort = null;\r\n this.fetchList();\r\n return;\r\n };\r\n\r\n var sort = {};\r\n var order = \"ASC\";\r\n if (sortProps.order === \"descending\")\r\n order = \"DESC\";\r\n else\r\n order = \"ASC\";\r\n sort[sortProps.prop] = order;\r\n this.searchModel.Sort = sort;\r\n this.fetchList();\r\n },\r\n\r\n //paging\r\n pageIndexChange: function (pageIndex) {\r\n this.pageIndex = pageIndex;\r\n this.fetchList();\r\n },\r\n sizeChange: function (pageSize) {\r\n this.pageSize = pageSize;\r\n this.fetchList();\r\n },\r\n\r\n //searching and filtering\r\n toggleFilters: function (e) {\r\n this.showFilters = !this.showFilters;\r\n },\r\n getSearchFormValues: function () {\r\n //ustawienie informacji po czym odpalono wyszukiwanie na podstawie parsowania formularza searchModelu\r\n\r\n let self = this;\r\n\r\n return; //todo:ep\r\n\r\n var formSearcher = $('.d_searchModelInfo');\r\n if (formSearcher.length > 0) {\r\n self.searchModelInfo = [];\r\n\r\n var fields = self.$refs.searchPanel.getFields();\r\n $.each(self.searchModel, function (e, i) {\r\n var value = self.searchModel[e];\r\n\r\n if ((value != null && value != '') || value == 0) {\r\n var field = fields.filter(obj => {\r\n return obj.prop === e;\r\n });\r\n\r\n switch (typeof value) {\r\n case 'number':\r\n //todo filtr boolean\r\n break;\r\n case 'boolean':\r\n value = value == true ? self.$t('consts.yes') : self.$t('consts.no');\r\n break;\r\n case 'object':\r\n if (value instanceof Date) {\r\n try {\r\n var tryDate = new Date(value);\r\n var isDate = !isNaN(tryDate.getTime());\r\n if (isDate)\r\n value = Renderers.formatAsDateFromProc(tryDate);\r\n }\r\n catch (ex) {\r\n //topimy\r\n };\r\n }\r\n else if (value.Key && value.Name) {\r\n value = value.Name;\r\n };\r\n break;\r\n };\r\n\r\n var valuePresented = value;\r\n\r\n if (field && field.length > 0) {\r\n var label = field[0].label;\r\n\r\n //dla rangedate\r\n if (!field[0].$children || field[0].$children.length === 1) {\r\n //\r\n }\r\n //dla select\r\n else if (field[0].$children[1].selected) {\r\n try {\r\n if (field[0].$children && field[0].$children.length > 1) {\r\n\r\n var selectedOption = field[0].$children[1].options.filter(obj => {\r\n return obj.value === value;\r\n });\r\n\r\n valuePresented = \" \" + selectedOption[0].label;\r\n };\r\n }\r\n catch (ex) {\r\n console.error(ex);\r\n }\r\n }\r\n //dla cascader\r\n else if (field[0].$children[1].presentText == null\r\n || (field[0].$children[1].presentText && field[0].$children[1].presentText != null)) {\r\n try {\r\n\r\n //console.log(field[0].$children[1]);\r\n\r\n var deepObj = self.searchDeep(field[0].$children[1].options, value);\r\n valuePresented = deepObj[0].label;\r\n }\r\n catch (ex) {\r\n //console.error(ex);\r\n }\r\n };\r\n\r\n self.searchModelInfo.push({ fieldName: label, fieldValue: valuePresented });\r\n }\r\n //pola wyszukiwania dla których nie ma pól formularza\r\n else {\r\n //nie prezentujemy bo nie mamy czytelnej labelki, można dodać pole formularza z prop i label i klasą hide, wtedy się pokaże\r\n //self.searchModelInfo.push({ fieldName: e, fieldValue: valuePresented });\r\n };\r\n };\r\n });\r\n };\r\n },\r\n clearAdditionalFilters() {\r\n //dodatkowe pola na stronie, np. wyliczane, albo daterange, etc.\r\n },\r\n clearFilters() {\r\n if (this.$refs['searchPanel']) {\r\n this.$refs['searchPanel'].resetFields();\r\n };\r\n\r\n this.searchModel.QuickSearchTerm = null;\r\n\r\n this.clearAdditionalFilters();\r\n\r\n this.fetchList();\r\n },\r\n\r\n //sortable, move columns and rows\r\n setDraggableTh: function () {\r\n //ustawienie draggable dla każdej kolumny\r\n var ths = $('.el-table__header th');\r\n $.each(ths, function (i, j) {\r\n ($(j)[0]).draggable = true;\r\n });\r\n },\r\n onRowDrop(evt) {\r\n //this.tableData musi być ustawiona na liście przy fetchlist na listę obiektów otrzymanych w reponse po kompletnym przetworzeniu\r\n\r\n var sourceRow = evt.target.rows[evt.newIndex];\r\n var targetRow = evt.target.rows[evt.newIndex + 1];\r\n\r\n //console.log('onRowDrop evt', evt);\r\n //console.log('onRowDrop targetRow', targetRow);\r\n //console.log('onRowDrop sourceRow', sourceRow);\r\n\r\n //console.log('tableData source', this.tableData[evt.oldIndex].Title);\r\n //console.log('tableData target', this.tableData[evt.newIndex].Title);\r\n\r\n //evt.target.rows[evt.newIndex].remove(); //usunięcie wiersza z bieżącej tabeli w DOM\r\n\r\n //const currRow = this.tableData.splice(evt.oldIndex, 1)[0];\r\n //this.tableData.splice(evt.newIndex, 0, currRow);\r\n },\r\n rowDrop() {\r\n let self = this;\r\n const tbody = document.querySelector('.el-table__body-wrapper tbody');\r\n\r\n Sortable.create(tbody, {\r\n ghostClass: self.ghostRowDropVisible === false ? \"sortable-ghost-displayNone\" : \"sortable-ghost\",\r\n //draggable: 'tr',\r\n onMove: function (/**Event*/evt, /**Event*/originalEvent) {\r\n var expandedRow = $('.el-table__expand-icon--expanded').length;\r\n if (expandedRow > 0) {\r\n return false; //nie działa z rowiniętym wierszem, więc blokujemy\r\n }\r\n\r\n return self.rowDropMoveReturn;\r\n },\r\n onEnd: evt => {\r\n this.onRowDrop(evt);\r\n },\r\n onChange: function (/**Event*/evt) {\r\n\r\n }\r\n });\r\n },\r\n initializeDragAndDropFunctionality(table) {\r\n const tableColumn = $(table.$el).find('.el-table__header-wrapper .el-table__header thead tr')[0];\r\n\r\n Sortable.create(tableColumn, {\r\n draggable: 'th',\r\n onMove: function (/**Event*/evt, /**Event*/originalEvent) {\r\n var expandedRow = $('.el-table__expand-icon--expanded').length;\r\n if (expandedRow > 0) {\r\n return false; //nie działa z rowiniętym wierszem, więc blokujemy\r\n }\r\n },\r\n onEnd: evt => {\r\n this.dragReorderColumn(evt, table);\r\n }\r\n });\r\n },\r\n dragReorderColumn(evt, table) {\r\n function swap(draggableSelector, movedElement, newIndex, oldIndex) {\r\n const parent = $($(movedElement)[0].parentNode)[0];\r\n const cells = $(parent).find(draggableSelector);\r\n\r\n //var width = evt.item.attributes['data-width'];\r\n //console.log(width, $(evt.item).width());\r\n\r\n if (oldIndex > newIndex) {\r\n parent.insertBefore(movedElement, cells[newIndex]);\r\n } else {\r\n // inserts after trs[oldIndex] - if nextSibling is null insertBefore puts item to the end\r\n parent.insertBefore(movedElement, cells[newIndex].nextSibling);\r\n }\r\n };\r\n\r\n var expandedRow = $('.el-table__expand-icon--expanded').length;\r\n if (expandedRow > 0) {\r\n return; //nie działa z rowiniętym wierszem, więc blokujemy\r\n }\r\n else {\r\n const tmpStorage = {};\r\n\r\n swap('th', evt.item, evt.newIndex, evt.oldIndex);\r\n\r\n const tableColumn2 = document.querySelectorAll(\r\n '.el-table__body-wrapper .el-table__body tr'\r\n );\r\n\r\n $.each(tableColumn2, function () {\r\n var item = $(this)[0].children[evt.oldIndex];\r\n swap('td', item, evt.newIndex, evt.oldIndex);\r\n });\r\n\r\n const tableColGroup = $(table.$el).find('.el-table__header colgroup');\r\n var item = $(tableColGroup)[0].children[evt.oldIndex];\r\n swap('col', $(item)[0], evt.newIndex, evt.oldIndex);\r\n const tableColGroupTr = document.querySelectorAll(\r\n '.el-table__body-wrapper .el-table__body colgroup'\r\n );\r\n $.each(tableColGroupTr, function () {\r\n var item = $(this)[0].children[evt.oldIndex];\r\n swap('col', $(item)[0], evt.newIndex, evt.oldIndex);\r\n });\r\n\r\n tmpStorage.onChange = undefined;\r\n\r\n const tableHeader = document.querySelectorAll('.el-table__header-wrapper .el-table__header tr');\r\n var orderColumns = {};\r\n\r\n if (tableHeader[0] === undefined) { return; };\r\n\r\n for (var h = 0; h < tableHeader[0].children.length; h++) {\r\n var item2 = tableHeader[0].children[h];\r\n if (!$(item2).hasClass('gutter')) {\r\n $(item2).attr('data-indexorder', h);\r\n orderColumns[$(item2).data().prop] = h;\r\n };\r\n };\r\n\r\n this.orderColumns = orderColumns;\r\n //console.log('change order', orderColumns);\r\n\r\n //sortowanie kolumn w menu\r\n var self = this;\r\n self.copyColumnListVisibility.sort(function (a, b) {\r\n var aName = self.orderColumns[a.column];\r\n var bName = self.orderColumns[b.column];\r\n return ((aName < bName) ? -1 : ((aName > bName) ? 1 : 0));\r\n });\r\n\r\n //this.settingsSaveAvailable = false;\r\n\r\n //ustawienie draggable dla każdej kolumny\r\n this.setDraggableTh();\r\n\r\n localStorage.setItem(this.pageName + '_ColumnOrder', JSON.stringify(orderColumns));\r\n }\r\n },\r\n dragend: function (newwidth, oldWidth, column, event) {\r\n //console.log('dragend', newwidth, oldWidth, column, event);\r\n\r\n this.setDraggableTh();\r\n },\r\n\r\n //configuration menu\r\n showListConfiguration: function () {\r\n $('.right-sidebar').addClass('right-sidebar-open');\r\n },\r\n loadSettingsMenu: function (menuSettings) {\r\n if (menuSettings !== undefined) {\r\n menuSettings.fetchData();\r\n }\r\n else {\r\n let self = this;\r\n\r\n // require(['settings-cmp'], function (cmp) {\r\n\r\n // var props = {\r\n // parent: self\r\n // };\r\n\r\n // menuSettings = Vue.createApp(cmp, props);\r\n\r\n // menuSettings.use(ElementPlus, { locale: ElementPlus.lang[appLocalization] });\r\n // menuSettings.use(i18n);\r\n // menuSettings.mount(\"#listSettings-placeholder\");\r\n // });\r\n };\r\n\r\n for (var cc in this.columnListVisibility) {\r\n var obj = jQuery.extend(true, {}, this.columnListVisibility[cc]);\r\n this.copyColumnListVisibility.push(obj);\r\n };\r\n\r\n var self = this;\r\n self.copyColumnListVisibility.sort(function (a, b) {\r\n var aName = self.orderColumns[a.column];\r\n var bName = self.orderColumns[b.column];\r\n return ((aName < bName) ? -1 : ((aName > bName) ? 1 : 0));\r\n });\r\n\r\n return menuSettings;\r\n },\r\n makeSortableSettings: function () {\r\n var self = this;\r\n const tbody = document.querySelector('#right-sidebar-list-tab .el-form');\r\n if (tbody !== null) {\r\n Sortable.create(tbody, {\r\n onEnd({ newIndex, oldIndex }) {\r\n self.settingsSaveAvailable = false;\r\n\r\n //var domElements = $('#right-sidebar-list-tab .el-form .el-row[data-column]');\r\n\r\n //var visibilityOrder = [];\r\n //for (var d = 0; d < domElements.length; d++) {\r\n // var domEl = $(domElements[d]);\r\n // var el = domEl[0].dataset;\r\n // var obj = {};\r\n // obj.column = el.column;\r\n // obj.value = el.visible === \"true\" || el.visible === true;\r\n // obj.name = el.name;\r\n // visibilityOrder.push(obj);\r\n //};\r\n\r\n //console.log(self.copyColumnListVisibility);\r\n //console.log(visibilityOrder);\r\n\r\n //self.copyColumnListVisibility = [];\r\n //for (var cc in visibilityOrder) {\r\n // var obj2 = jQuery.extend(true, {}, visibilityOrder[cc]);\r\n // self.copyColumnListVisibility.push(obj2);\r\n //};\r\n }\r\n })\r\n };\r\n },\r\n changeColumnVisibility: function () {\r\n this.settingsSaveAvailable = false;\r\n },\r\n changecolumnwidth: function () {\r\n //console.log('changecolumnwidth');\r\n return;\r\n\r\n const tableHeader = document.querySelectorAll('.el-table__header-wrapper .el-table__header tr');\r\n var widthColumns = {};\r\n\r\n if (tableHeader[0] === undefined) { return; };\r\n\r\n for (var h = 0; h < tableHeader[0].children.length; h++) {\r\n var item = tableHeader[0].children[h];\r\n var itemWidth = $(item).width();\r\n //console.log('itemWidth', $(item).attr('data-width'), $(item).data().prop);\r\n if (itemWidth < 0 || itemWidth === undefined) itemWidth = $(item).attr('data-width'); //ep default\r\n $(item).attr('data-width', itemWidth);\r\n widthColumns[$(item).data().prop] = itemWidth || 80;\r\n };\r\n\r\n this.widthColumns = widthColumns;\r\n //console.log('change width', widthColumns);\r\n\r\n //this.settingsSaveAvailable = false;\r\n\r\n localStorage.setItem(this.pageName + '_ColumnWidth', JSON.stringify(widthColumns));\r\n },\r\n saveColumnVisibility: function (getFromCopy) {\r\n localStorage.removeItem(this.pageName + '_ColumnVisibility');\r\n if (getFromCopy === 1) {\r\n localStorage.setItem(this.pageName + '_ColumnVisibility', JSON.stringify(this.copyColumnListVisibility));\r\n }\r\n else {\r\n localStorage.setItem(this.pageName + '_ColumnVisibility', JSON.stringify(this.columnListVisibility));\r\n };\r\n this.settingsSaveAvailable = false;\r\n },\r\n saveColumnOrder: function () {\r\n localStorage.removeItem(this.pageName + '_ColumnOrder');\r\n localStorage.setItem(this.pageName + '_ColumnOrder', JSON.stringify(this.orderColumns));\r\n },\r\n\r\n //read configurations\r\n getColumnVisibility: function (column) {\r\n var columnVisibilityFiltered = this.columnListVisibility.filter(obj => { return obj.column === column; });\r\n if (columnVisibilityFiltered.length > 0) {\r\n return columnVisibilityFiltered[0].value;\r\n }\r\n else {\r\n var columnVisibilityFilteredDisplayName = this.columnListVisibility.filter(obj => { return obj.name === column; });\r\n if (columnVisibilityFilteredDisplayName.length > 0) {\r\n return columnVisibilityFilteredDisplayName[0].value;\r\n }\r\n else {\r\n //console.error('Brak definicji widoczności kolumny: ' + column);\r\n };\r\n }\r\n },\r\n getColumnVisibilityClass: function (column) {\r\n var columnVisibilityFiltered = this.columnListVisibility.filter(obj => { return obj.column === column; });\r\n if (columnVisibilityFiltered.length > 0) {\r\n return columnVisibilityFiltered[0].value === true ? '' : 'hide1';\r\n }\r\n else {\r\n var columnVisibilityFilteredDisplayName = this.columnListVisibility.filter(obj => { return obj.name === column; });\r\n if (columnVisibilityFilteredDisplayName.length > 0) {\r\n return columnVisibilityFilteredDisplayName[0].value === true ? '' : 'hide1';\r\n }\r\n else {\r\n //console.error('Brak definicji widoczności kolumny: ' + column);\r\n };\r\n }\r\n },\r\n getColumnwidth: function (setToo) {\r\n //console.log('getColumnwidth', setToo);\r\n const tableHeader = document.querySelectorAll('.el-table__header-wrapper .el-table__header tr');\r\n var widthColumns = {};\r\n\r\n if (tableHeader[0] === undefined) { return; };\r\n\r\n for (var h = 0; h < tableHeader[0].children.length; h++) {\r\n var item = tableHeader[0].children[h];\r\n\r\n var itemWidth = $(item).width();\r\n //console.log('itemWidth', $(item).attr('data-width'), $(item).data().prop);\r\n if (itemWidth < 0 || itemWidth === undefined) itemWidth = $(item).attr('data-width'); //ep default\r\n\r\n if (setToo) {\r\n $(item).attr('data-width', itemWidth);\r\n //this.settingsSaveAvailable = false;\r\n };\r\n widthColumns[$(item).data().prop] = itemWidth;\r\n };\r\n\r\n this.widthColumns = widthColumns;\r\n //console.log('widthColumns', widthColumns);\r\n //localStorage.setItem(this.pageName + '_ColumnWidth', JSON.stringify(widthColumns));\r\n },\r\n getColumnOrder(setToo) {\r\n //console.log('getColumnOrder', setToo);\r\n const tableHeader = document.querySelectorAll('.el-table__header-wrapper .el-table__header tr');\r\n var orderColumns = {};\r\n\r\n if (tableHeader[0] === undefined) { return; };\r\n\r\n for (var h = 0; h < tableHeader[0].children.length; h++) {\r\n var item2 = tableHeader[0].children[h];\r\n if (!$(item2).hasClass('gutter')) {\r\n if (setToo) {\r\n $(item2).attr('data-indexorder', h);\r\n //this.settingsSaveAvailable = false;\r\n };\r\n orderColumns[$(item2).data().prop] = h;\r\n };\r\n };\r\n\r\n this.orderColumns = orderColumns;\r\n //console.log('orderColumns', orderColumns);\r\n //localStorage.setItem(this.pageName + '_ColumnOrder', JSON.stringify(orderColumns));\r\n },\r\n headerChangeLayout: function () {\r\n this.getColumnwidth(true);\r\n this.getColumnOrder(true);\r\n\r\n //this.$root.$refs.agreementTable.setColumnOrdering(1);\r\n },\r\n\r\n //helpers - todo:ep czy można przenieść tę metodę do Helpers?\r\n searchDeep: function (hay, needle, accumulator) {\r\n //wyszukiwanie wartości NEEDLE w obiekcie piętrowym HAY\r\n\r\n let self = this;\r\n var accumulator2 = accumulator || [];\r\n if (typeof hay == 'object') {\r\n for (var i in hay) {\r\n self.searchDeep(hay[i], needle, accumulator2) == true ? accumulator2.push(hay) : 1;\r\n }\r\n }\r\n\r\n return new RegExp(needle).test(hay) || accumulator2;\r\n },\r\n //mock ##############################\r\n\r\n handleSelectionChangeMock: function (rows) {\r\n this.selectedRows = rows;\r\n this.listOperations = [];\r\n\r\n for (var r in rows) {\r\n for (var o in rows[r].Operations) {\r\n var operation = rows[r].Operations[o];\r\n if (!(this.listOperations.find((o) => { return o.Symbol == operation.Symbol })))\r\n this.listOperations.push(operation);\r\n }\r\n };\r\n\r\n this.isSelectedAnyRow = rows.length > 0;\r\n },\r\n handleSizeChangeMock: function (pageSize) {\r\n this.pageSize = pageSize;\r\n this.refresh();\r\n },\r\n handleCurrentChangeMock: function (currentPage) {\r\n this.currentPage = currentPage;\r\n this.refresh();\r\n },\r\n\r\n // /mock ##############################\r\n },\r\n watch: {\r\n searchModel: {\r\n handler(newValue, oldValue) {\r\n //console.log('searchModel', val, oldVal);\r\n\r\n //var changed = val.filter(function (p, idx) {\r\n // return Object.keys(p).some(function (prop) {\r\n // return p[prop] !== oldVal[idx][prop];\r\n // })\r\n //});\r\n\r\n this.getSearchFormValues();\r\n },\r\n deep: true\r\n },\r\n showFilters: function (val) {\r\n //todo:ep\r\n //this.setTableHeight(null, null, null);\r\n //this.setTableHeightCmp(null, null, null);\r\n },\r\n },\r\n created() {\r\n window.addEventListener(\"resize\", this.setTableHeight);\r\n\r\n var isUserSettingsLoaded = localStorage.getItem('IsUserSettingsLoaded');\r\n this.isUserSettingsLoaded = isUserSettingsLoaded;\r\n },\r\n mounted() {\r\n $('.d_searchModelInfo').fadeIn(500);\r\n },\r\n updated() {\r\n //sortowanie kolumn na panelu bocznym\r\n if (Helpers.isNullOrEmpty(this.orderColumns)) {\r\n this.getColumnOrder();\r\n var self = this;\r\n self.copyColumnListVisibility.sort(function (a, b) {\r\n var aName = self.orderColumns[a.column];\r\n var bName = self.orderColumns[b.column];\r\n return ((aName < bName) ? -1 : ((aName > bName) ? 1 : 0));\r\n });\r\n };\r\n\r\n //draggable na panelu bocznym\r\n this.makeSortableSettings();\r\n\r\n //pierwsze ładowanie ustawień, przed renderowaniem strony jeszcze nie jest uzupełniony localstorage więc musimy\r\n //zaktualizować dane ustawień jeśli wiemy, że już się uzupełnił\r\n var isUserSettingsLoaded = localStorage.getItem('IsUserSettingsLoaded');\r\n if (this.isUserSettingsLoaded !== isUserSettingsLoaded) {\r\n this.isUserSettingsLoaded = isUserSettingsLoaded;\r\n //console.log('załadowano ustawienia użytkownika, odświeżenie parametrów grida');\r\n\r\n this.orderColumns = JSON.parse(localStorage.getItem(this.pageName + '_ColumnOrder')) || {};\r\n this.widthColumns = JSON.parse(localStorage.getItem(this.pageName + '_ColumnWidth')) || {};\r\n this.reduceOperationColumn = localStorage.getItem(this.pageName + '_ReduceOperationColumn') === \"true\" || false;\r\n\r\n var columnVisibility = JSON.parse(localStorage.getItem(this.pageName + '_ColumnVisibility'));\r\n if (columnVisibility !== null && !Helpers.isNullOrEmpty(columnVisibility)) {\r\n this.columnListVisibility = columnVisibility;\r\n };\r\n };\r\n },\r\n destroyed() {\r\n window.removeEventListener(\"resize\", this.setTableHeight);\r\n },\r\n}","import axios from 'axios';\r\n\r\nconst add = (log, success, fail) => {\r\n axios\r\n .post(\"/api/clientLog/add\", log,\r\n { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }\r\n\r\n )\r\n .then((response) => success(response))\r\n .catch((response) => fail(response));\r\n};\r\n\r\nexport { add };","import * as api from '@/api/ClientLogApi';\r\nimport { defineStore } from 'pinia'\r\n\r\nexport const useClientLogStore = defineStore('ClientLogStore', {\r\n actions: {\r\n add(clientLog, success, fail) {\r\n api.add(clientLog,\r\n (response) => {\r\n success && success(response)\r\n },\r\n (response) => {\r\n fail && fail(response)\r\n })\r\n }\r\n }\r\n});","import { useClientLogStore } from '../stores/ClientLogStore'\r\nimport { Notifications } from './notifications'\r\nimport { t } from \"../setup/i18n-setup\"\r\n\r\nvar lastError;\r\n\r\nexport const Logger = {\r\n /**\r\n * Send error information to the server \r\n * @param {any} errorMessage - error message\r\n * @param {any} stackTrace - exception stack trace\r\n * @param {boolean} withoutUserNotification - if true: no user notification\r\n */\r\n logError(errorMessage, stackTrace, withoutUserNotification = false) {\r\n var isDebug = false; //todo:prd na potrzeby developmentu i prototypu ustawiamy na true; na PRD na false\r\n var isAlert = true; //false - notyfikacja, true - okienko\r\n\r\n if (isDebug) {\r\n if (lastError === errorMessage)\r\n return;\r\n\r\n lastError = errorMessage;\r\n\r\n console.error(errorMessage);\r\n isAlert = false;\r\n\r\n Notifications.showMsg(\r\n t('messages.Error'),\r\n null,\r\n errorMessage,\r\n isAlert,\r\n 'error',\r\n null\r\n );\r\n };\r\n\r\n let error = {\r\n Message: errorMessage,\r\n StackTrace: stackTrace,\r\n LogType: 'ERROR'\r\n };\r\n useClientLogStore().add(error,\r\n (success) => {\r\n if (!withoutUserNotification)\r\n showErrorCode(success);\r\n },\r\n (fail) => {\r\n if (isDebug) {\r\n console.error('fail', fail);\r\n };\r\n\r\n Notifications.showMsg(\r\n t('messages.Error'),\r\n null,\r\n isDebug ? fail?.message + ' ' + JSON.stringify(fail?.response?.data) : t('error.UnexpectedException'),\r\n isAlert,\r\n 'error',\r\n null\r\n );\r\n }\r\n )\r\n },\r\n /**\r\n * Send exception to the server \r\n * @param {any} exception\r\n * @param {boolean} withoutUserNotification - if true: no user notification\r\n */\r\n logException(exception, withoutUserNotification = false) {\r\n if (exception?.response?.status == 401) {\r\n return;\r\n };\r\n\r\n if (exception?.response?.status == 403) {\r\n withoutUserNotification = true; //komunikat dla użytkownika będzie w AccountStore.js w interceptors\r\n };\r\n\r\n if (exception?.message?.indexOf('this.$t is not a function') > -1) {\r\n withoutUserNotification = true; //nie pokazuj komunikatu błędu dla $t\r\n };\r\n\r\n this.logError(exception.message ?? exception, exception.stack, withoutUserNotification);\r\n }\r\n}\r\n\r\n/**\r\n * Show message with error code\r\n * @param {any} clientLogResult - ClientLog API result\r\n */\r\nfunction showErrorCode(clientLogResult) {\r\n var uniqueCode = clientLogResult?.data?.Model?.ErrorId;\r\n Notifications.showMsg(\r\n t('messages.Error'),\r\n null,\r\n uniqueCode ?\r\n t('error.UnexpectedExceptionWithCode')\r\n + \" \" + uniqueCode.toUpperCase()\r\n : t('error.UnexpectedException'),\r\n true,\r\n 'error',\r\n null\r\n );\r\n}","import { operationResult } from \"./const\"\r\nimport { ElNotification, ElMessageBox } from 'element-plus'\r\nimport { Helpers } from './helpers'\r\nimport { Renderers } from './renderers'\r\nimport { t } from \"../setup/i18n-setup\"\r\n\r\nexport const Notifications = {\r\n /**\r\n * Show message\r\n * @param {any} title - message title\r\n * @param {any} subtitle - message subtitle\r\n * @param {any} description - message text (description)\r\n * @param {any} isAlert - true if show ElMessage, false if show ElNotification\r\n * @param {any} type - message type ('success', 'warning', 'info', 'error', etc.)\r\n * @param {any} error - error object / array of errors\r\n */\r\n showMsg(title, subtitle, description, isAlert, type, error, callback) {\r\n if (!Helpers.isNullOrEmpty(subtitle))\r\n subtitle = '' + subtitle + \":\";\r\n\r\n var message = this.getErrorInfo(error);\r\n\r\n if (!description\r\n || description == null\r\n || description == undefined\r\n || description == '') {\r\n description = message;\r\n };\r\n\r\n if (isAlert) {\r\n var isList = description.indexOf('n/g') >= 0;\r\n const html = isList ? '
' + subtitle + '
' : description;\r\n\r\n ElMessageBox.alert(html, title, {\r\n dangerouslyUseHTMLString: true,\r\n type: type ? type : 'success',\r\n callback: (action) => {\r\n callback && callback(action);\r\n }\r\n });\r\n }\r\n else {\r\n ElNotification({\r\n title: title,\r\n message: description,\r\n type: type ? type : 'success',\r\n dangerouslyUseHTMLString: true\r\n });\r\n };\r\n },\r\n\r\n /**\r\n * Show notification of Result\r\n * @param {any} result - Result from API\r\n * @param {any} isAlert - true if show ElMessage, false if show ElNotification\r\n * @param {any} showCorrect - show message even if result is OK\r\n * @param {any} allowNullModel - when false: show message when result is OK but model is NULL\r\n * @param {any} customMessage - custom message if needed\r\n * @param {any} callback - callback function\r\n */\r\n showOperationMessage(result, isAlert, showCorrect = false, allowNullModel = false, customMessage = null, callback = null) {\r\n // do not show OK result and allow empty model\r\n if (result.Status === operationResult.OK\r\n && !showCorrect && allowNullModel) {\r\n return true;\r\n }\r\n // do not show OK result but do not allow empty model\r\n else if (result.Status === operationResult.OK\r\n && !showCorrect && !allowNullModel && result.Model) {\r\n return true;\r\n\r\n }\r\n // do not allow empty model and model is empty :)\r\n else if (result.Status === operationResult.OK\r\n && !allowNullModel && result.Model == null) {\r\n this.showMsg(\r\n t('messages.Error'),\r\n null,\r\n customMessage ?? t('error.NullModelException'),\r\n isAlert,\r\n 'error',\r\n null,\r\n callback\r\n );\r\n\r\n return false;\r\n }\r\n // result ok and show correct\r\n else if (result.Status === operationResult.OK && showCorrect) {\r\n this.showMsg(\r\n t('messages.Success'),\r\n null,\r\n customMessage ?? t('messages.Success'),\r\n isAlert,\r\n 'success',\r\n null,\r\n callback\r\n );\r\n\r\n return true;\r\n }\r\n // other results\r\n else if (result.Status !== operationResult.OK) {\r\n this.showMsg(\r\n result.Status === operationResult.Error\r\n ? t('messages.Error') : t('messages.Warning'),\r\n null,\r\n null,\r\n isAlert,\r\n customMessage ?? this.getOperationStatusLabel(result.Status),\r\n result,\r\n callback\r\n );\r\n\r\n return false;\r\n }\r\n },\r\n /**\r\n * Show alert if action is forbidden for user\r\n * @param {any} customMessage - custom message if needed\r\n * @param {any} callback - callback function after error 403\r\n */\r\n showForbiddenMessage(customMessage = null, callback = null) {\r\n this.showMsg(\r\n t('messages.Error'),\r\n null,\r\n customMessage ?? t('error.ForbiddenException'),\r\n false,\r\n 'error',\r\n null,\r\n callback\r\n );\r\n },\r\n\r\n /**\r\n * Convert operation status to label type\r\n * @param {any} operationResultStatus - operation result status\r\n */\r\n getOperationStatusLabel(operationResultStatus) {\r\n switch (operationResultStatus) {\r\n case operationResult.OK:\r\n return 'success';\r\n case operationResult.Warning:\r\n return 'warning';\r\n default:\r\n return 'error';\r\n }\r\n },\r\n\r\n //create object contains raw, short and extended error message; used in operations summary\r\n prepareErrorMessage: function (error) {\r\n var msg = {\r\n String: '',\r\n Short: t('messages.Error'),\r\n CompleteHtml: ''\r\n };\r\n\r\n if (typeof (error) !== 'undefined') {\r\n //powinniśmy otrzymać zawsze Result z właściwością MessagesString; jeśli go nie ma - otrzymaliśmy stronę błędu\r\n if (typeof (error.MessagesString) == 'undefined') {\r\n throw new Error(t('messages.CatchErrorAjax'));\r\n };\r\n\r\n msg.String = error.MessagesString;\r\n\r\n if (error.Messages.length == 1) {\r\n msg.Short = Renderers.ellipsis(error.Messages[0].Message, 50)\r\n }\r\n else if (error.Messages.length > 1) {\r\n msg.Short = t('messages.Errors') + ' (' + error.Messages.length + ')';\r\n };\r\n\r\n for (var i in error.Messages) {\r\n msg.CompleteHtml += '

' + error.Messages[i].Message + '

';\r\n };\r\n };\r\n\r\n return msg;\r\n },\r\n /**\r\n * Get error message from error object / array of errors\r\n * @param {any} error - error object / array of errors\r\n */\r\n getErrorInfo(error) {\r\n if (error === null)\r\n return null;\r\n\r\n var rawError = '';\r\n var messageForUser = '';\r\n var defaultMessage = t('messages.Error');\r\n\r\n if (typeof (error) !== 'undefined') {\r\n rawError\r\n = ((error.response && error.response.data) ? error.response.data.ExceptionMessage ? error.response.data.ExceptionMessage : error.response.data.Message : error.message);\r\n\r\n if (typeof (error) === 'string') {\r\n messageForUser = error;\r\n }\r\n else if (typeof (error.MessagesString) != 'undefined') {\r\n messageForUser = '
  • ' + error.MessagesString.replace(/\\/n/g, \"
  • \") + '
';\r\n }\r\n else if (error?.response?.status === 403) {\r\n messageForUser = t('error.ForbiddenException');\r\n }\r\n else {\r\n messageForUser = defaultMessage;\r\n };\r\n };\r\n\r\n return messageForUser;\r\n }\r\n};","import $ from 'jquery'\r\nimport { markRaw } from 'vue'\r\nimport { QuestionFilled } from '@element-plus/icons-vue'\r\nimport { ElMessage, ElMessageBox, ElNotification } from 'element-plus'\r\nimport { operationResult } from './const'\r\nimport _ from 'lodash'\r\nimport { Notifications } from './notifications'\r\nimport { operationExecutionType } from './const'\r\nimport * as api from '@/api/BaseApi';\r\n\r\nexport const Operations = {\r\n mixins: [],\r\n data() {\r\n return {\r\n apiUrl: '',\r\n currentOperationSymbol: '',\r\n operations: {},\r\n operation: {},\r\n operationModel: [],\r\n startedOperations: [],\r\n opPercentage: 0,\r\n opCounter: 0,\r\n opExecution: null,\r\n showDlgOperation: false,\r\n showProgress: false,\r\n selectedRows: [],\r\n showOnlyNotifyResult: false, //zamiast okna z progressami pokazuje notyfikację dla każdej operacji\r\n enableExtendOperationWindow: false, //właściwość na konkretnej stronie dla uniknięcia #750\r\n showExtendOperationWindow: false,\r\n allOperationFinished: false,\r\n };\r\n },\r\n computed: {\r\n isOperationRun: function () {\r\n return this.operation != null && this.operation != '' && (this.showDlgOperation || this.startedOperations.length > 0);\r\n },\r\n selectedRowsCounter: function () {\r\n if (this.selectedRows && this.selectedRows.length > 1)\r\n return ` (${this.selectedRows.length}) `;\r\n else\r\n return '';\r\n },\r\n orderedOperations: function () {\r\n return _.orderBy(this.operations, \"SortOrder\");\r\n },\r\n operationsForList: function () {\r\n const filtered = Object.entries(this.operations)?.filter(([key, value]) => value.ForList == true);\r\n const operationList = Object.fromEntries(filtered);\r\n\r\n return operationList;\r\n },\r\n },\r\n methods: {\r\n closeExecution: function () {\r\n // if (this.opPercentage != 100) {\r\n // ElMessageBox.confirm(\r\n // this.$t('headers.confirm'),\r\n // this.$t('headers.confirm'))\r\n // .then(() => {\r\n // //go\r\n // })\r\n // .catch(() => {\r\n // return;\r\n // })\r\n // };\r\n\r\n let opSymbol = this.currentOperationSymbol;\r\n\r\n this.showProgress = false;\r\n this.loading = false;\r\n this.operation = null;\r\n this.startedOperations = [];\r\n this.opPercentage = 0;\r\n this.opCounter = 0;\r\n this.currentOperationSymbol = \"\";\r\n //this.selectedRows = [];\r\n\r\n this.doAfterOperationExecution(opSymbol);\r\n },\r\n doAfterOperationExecution(opSymbol) {\r\n if (typeof this.afterOperationExecuted === \"function\") {\r\n this.afterOperationExecuted(opSymbol);\r\n }\r\n else if (typeof this.fetchAfterSave === \"function\") {\r\n this.fetchAfterSave();\r\n }\r\n else {\r\n this.fetchList();\r\n };\r\n },\r\n operationDone: function () {\r\n\r\n },\r\n allOperationsDone: function () {\r\n this.allOperationFinished = true;\r\n\r\n return this.allOperationFinished;\r\n },\r\n handleProgressOpenedSync: function (processData, done) {\r\n let self = this;\r\n var data = this.startedOperations;\r\n\r\n if (data.length > 0) {\r\n var loop = function (data, i, processData, done) {\r\n processData(data[i], data[i].Operation.Model.Id, function () {\r\n if (++i < data.length) {\r\n loop(data, i, processData, done);\r\n } else {\r\n //self.allOperationsDone(); //wykonuje się z watch this.startedOperations\r\n };\r\n\r\n });\r\n };\r\n\r\n loop(data, 0, processData, done);\r\n }\r\n else {\r\n //self.allOperationsDone(); //wykonuje się z watch this.startedOperations\r\n }\r\n },\r\n handleProgressOpenedAsync: function () {\r\n this.startedOperations.forEach(op => {\r\n this.runOperation(op, op.Operation.Model.Id);\r\n }\r\n );\r\n },\r\n isStartedSyncOperation: function () {\r\n //jeśli przynajmniej jedna ze zleconych operacji ma atrybut SYNC to wykonujemy operacje synchronicznie\r\n var isAnySYNC = this.startedOperations.filter(obj => {\r\n return obj.Operation.Operacja.ExecutionType === operationExecutionType.SYNC;\r\n });\r\n\r\n if (isAnySYNC && isAnySYNC.length > 0) {\r\n return true;\r\n };\r\n\r\n return false;\r\n },\r\n handleProgressOpened: function () {\r\n this.allOperationFinished = false;\r\n\r\n if (this.isStartedSyncOperation()) {\r\n //sync\r\n this.handleProgressOpenedSync(this.runOperation, this.operationDone);\r\n }\r\n else {\r\n //async\r\n this.handleProgressOpenedAsync();\r\n };\r\n },\r\n run: function () {\r\n let formName = 'form' + this.operation.Symbol;\r\n\r\n if (this.$refs[formName] && this.$refs[formName].$refs && this.$refs[formName].$refs.formOperation) {\r\n this.$refs[formName].$refs.formOperation.validate((valid, fields) => {\r\n if (valid) {\r\n this.operation.Model = this.operationModel;\r\n this.runIfValid();\r\n }\r\n else {\r\n return false;\r\n }\r\n });\r\n }\r\n else {\r\n this.runIfValid();\r\n };\r\n },\r\n runIfValid: function () {\r\n if (this.operation) {\r\n this.showDlgOperation = false;\r\n this.showProgress = true;\r\n let i = 0;\r\n if (this.selectedRows) {\r\n this.selectedRows.forEach(item => {\r\n this.runForItem(item, this.operation, i);\r\n });\r\n };\r\n }\r\n this.showDlgOperation = false;\r\n },\r\n runForItem(item, operation, i) {\r\n //this.operation.Model = {\r\n // Id: item.Id\r\n //};\r\n if (this.operation.Model === null) {\r\n this.operation.Model = {};\r\n };\r\n\r\n // JS@2020-10-13 Jeśli przekazano Id encji w modelu operacji to wykonaj dla tego Id, w przeciwnym wypadku wykonaj w kontekście głownego obiektu\r\n this.operation.Model.Id = operation.Entity_id ? operation.Entity_id : item.Id;\r\n\r\n // Pg, trzeba przekazać wartość, bo inaczej idzie referencja\r\n // i przy wielu rekordach wykonuje operation wykonuje się i tak na ostatnim\r\n var operationCopy = $.extend(true, {}, this.operation); //Object.assign({}, this.operation); //ep:uwaga: object.assign robi poważne kuku\r\n\r\n var started = {\r\n Operation: operationCopy,\r\n Id: item.Id,\r\n Title: item['DisplayName'] ?? item['Name'] ?? item['Title'] ?? (item['Id'] != '0' ? 'Id #' + item['Id'] : ''),\r\n OperationName: operationCopy.Nazwa,\r\n Percentage: 0,\r\n Status: \"\",\r\n Message: \"\",\r\n Row: i++\r\n };\r\n this.startedOperations.push(started);\r\n },\r\n runOperation(operation, id, callback) {\r\n const self = this;\r\n this.loading = true;\r\n\r\n operation.Percentage = 25;\r\n\r\n //obsługa dat\r\n for (var prop in operation.Operation.Model) {\r\n var d = (operation.Operation.Model)[prop];\r\n var isDate = d && Object.prototype.toString.call(d) === \"[object Date]\" && !isNaN(d);\r\n if (isDate) {\r\n (operation.Operation.Model)[prop] = formatAsDate(d);\r\n }\r\n };\r\n\r\n let params = JSON.parse(JSON.stringify(operation.Operation.Model));\r\n // JS@2020-10-13 Jeśli przekazano apiUrl w modelu operacji to wykonaj dla tego apiUrl, w przeciwnym wypadku wykonaj dla apiUrl głownego obiektu\r\n let httpApiUrl = operation.Operation.ApiUrl ? operation.Operation.ApiUrl : this.apiUrl;\r\n\r\n this.currentOperationSymbol = operation.Operation.Symbol;\r\n\r\n api.runOperation(httpApiUrl + operation.Operation.Symbol, id, params,\r\n (response) => {\r\n if (response.data.Status != operationResult.OK) {\r\n var errorMsg = Notifications.prepareErrorMessage(response.data);\r\n\r\n operation.Status = \"exception\";\r\n operation.Message = errorMsg.Short;\r\n operation.ExtendedMessage = errorMsg.CompleteHtml;\r\n\r\n operation.Percentage = 100;\r\n ++this.opCounter;\r\n this.opPercentage = (this.opCounter) / (this.startedOperations.length) * 100;\r\n\r\n if (this.showOnlyNotifyResult) {\r\n ElMessage({\r\n type: 'error',\r\n message: self.$t('messages.RunOperationError', { operation: operation.OperationName }) + '

' + operation.ExtendedMessage,\r\n duration: 15000,\r\n showClose: true,\r\n dangerouslyUseHTMLString: true\r\n });\r\n };\r\n }\r\n else {\r\n //todo:przeładowanie\r\n operation.Status = \"success\";\r\n operation.Percentage = 100;\r\n operation.Message = self.$t('messages.OperationSuccess');\r\n operation.ExtendedMessage = response.data.Komunikat != null ? response.data.Komunikat : '';\r\n\r\n //todo! typ operacji download\r\n if (operation !== null && operation.Operation !== null && operation.Operation.Symbol === \"OpDocumentGetReport\" && response.headers.location !== null) {\r\n //var win = window.open(response.headers.location, '_blank');\r\n //win.focus();\r\n operation.Message = self.$t('messages.OperationSuccess');\r\n operation.LinkUrl = response.headers.location;\r\n operation.LinkName = self.$t('consts.fileLink');\r\n };\r\n\r\n if (this.showOnlyNotifyResult) {\r\n ElMessage({\r\n type: 'success',\r\n message: self.$t('messages.RunOperationSuccess', { operation: operation.OperationName }),\r\n duration: 5000,\r\n showClose: true,\r\n dangerouslyUseHTMLString: true\r\n });\r\n this.closeExecution();\r\n };\r\n }\r\n\r\n ++this.opCounter;\r\n this.opPercentage = (this.opCounter) / (this.startedOperations.length) * 100;\r\n\r\n if (callback)\r\n callback();\r\n },\r\n (error) => {\r\n var errorMessage = self.$t('messages.Error');\r\n\r\n if (error?.response?.status === 403) {\r\n errorMessage = self.$t('error.ForbiddenException');\r\n };\r\n\r\n operation.Status = \"exception\";\r\n operation.Message = errorMessage;\r\n operation.ExtendedMessage = Notifications.getErrorInfo(error);\r\n\r\n operation.Percentage = 100;\r\n ++this.opCounter;\r\n this.opPercentage = (this.opCounter) / (this.startedOperations.length) * 100;\r\n\r\n if (this.showOnlyNotifyResult) {\r\n ElMessage({\r\n type: 'error',\r\n message: self.$t('messages.RunOperationError', { operation: operation.OperationName }) + '

' + operation.ExtendedMessage,\r\n duration: 15000,\r\n showClose: true\r\n });\r\n };\r\n\r\n if (callback)\r\n callback();\r\n }\r\n );\r\n },\r\n prepareOperations(model) {\r\n this.enableExtendOperationWindow = true;\r\n var self = this;\r\n self.operations = {};\r\n\r\n if (!model.Operacje) {\r\n return;\r\n };\r\n\r\n model.Operacje.forEach(op => {\r\n if (!self.operations[op.Symbol]) {\r\n self.operations[op.Symbol] = op;\r\n }\r\n else {\r\n Object.keys(op).forEach(key => {\r\n if (!self.operations[op.Symbol][key]) {\r\n self.operations[op.Symbol][key] = op[key];\r\n }\r\n });\r\n };\r\n\r\n self.operations[op.Symbol].Kolor = op.Kolor || op.ButtonCls;\r\n self.operations[op.Symbol].Ikona = op.Icon || '';\r\n self.operations[op.Symbol].ForList = op.ForList;\r\n if (op.TypOperacji) self.operations[op.Symbol].IsConfirmed = op.TypOperacji === 2;\r\n if (op.TypOperacji) self.operations[op.Symbol].IsExtended = op.TypOperacji === 3;\r\n\r\n });\r\n\r\n Object.keys(self.operations).forEach(key => {\r\n if (this[key]) {\r\n self.operations[key].Run = this[key];\r\n }\r\n else\r\n self.operations[key].Run = this.run;\r\n let formName = 'form' + key;\r\n });\r\n },\r\n prepareCurrentOperation(command) {\r\n this.enableExtendOperationWindow = true;\r\n this.operation = this.operations[command] || this.operations.find(obj => {\r\n return obj.Symbol === command;\r\n });\r\n\r\n this.operationModel = this.operation ? this.operation.Model : null;\r\n if (this.operation) {\r\n if (this.operation.IsConfirmed || this.operation.IsExtended) {\r\n this.showDlgOperation = true;\r\n }\r\n else {\r\n this.operation.Run();\r\n }\r\n }\r\n else {\r\n try {\r\n command();\r\n }\r\n catch (ex) {\r\n console.error(ex); //todo\r\n }\r\n }\r\n },\r\n handleMenuCommand(command) {\r\n this.enableExtendOperationWindow = true;\r\n this.prepareCurrentOperation(command);\r\n },\r\n setOperationResultsDialogModel() {\r\n this.$root.operationResultsDialogModel = this.startedOperations;\r\n this.$root.operationResultsDialogModel.closeExecution = this.closeExecution;\r\n }\r\n },\r\n watch: {\r\n showDlgOperation(value) {\r\n this.$root.operationsController = this;\r\n this.$root.operationConfirmDialogVisible = value && !this.operation.IsExtended; //dla extended pokazujemy dialog z parametrami na zagadnieniu\r\n this.$root.operationConfirmDialogExtendedVisible = value && this.operation.IsExtended && this.enableExtendOperationWindow;\r\n this.showExtendOperationWindow = value && this.operation.IsExtended && this.enableExtendOperationWindow;\r\n this.$root.operationConfirmDialogModel = $.extend(true, {}, this.operation);\r\n this.$root.operationConfirmDialogModel.selectedRowsCounter = this.selectedRowsCounter;\r\n this.$root.operationConfirmDialogModel.caller = this;\r\n },\r\n showProgress(value) {\r\n if (value) {\r\n if (!this.showOnlyNotifyResult) {\r\n this.$root.operationResultsDialogVisible = value;\r\n };\r\n\r\n this.setOperationResultsDialogModel();\r\n\r\n this.handleProgressOpened();\r\n }\r\n },\r\n startedOperations: {\r\n handler: function (val, oldVal) {\r\n var isAnyInProgress = this.startedOperations.filter(x => x.Percentage != 100).length;\r\n if (isAnyInProgress == 0 && !this.allOperationFinished) {\r\n this.allOperationsDone();\r\n };\r\n\r\n this.setOperationResultsDialogModel();\r\n },\r\n deep: true\r\n },\r\n allOperationFinished(value) {\r\n this.$root.operationResultsDialogModel.allOperationFinished = value;\r\n },\r\n }\r\n}","import { t, defaultLanguage } from \"../setup/i18n-setup\"\r\nimport { Helpers } from \"./helpers\"\r\nimport moment from 'moment'\r\n\r\nexport const Renderers = {\r\n /**\r\n * Format bool value as string with language support\r\n * @param value - bool\r\n */\r\n yesNo(value) {\r\n if (value === true || value === 1) {\r\n return t('consts.yes');\r\n }\r\n else if (value === false || value === 0) {\r\n return t('consts.no');\r\n }\r\n else {\r\n return \"\";\r\n };\r\n },\r\n /**\r\n * Format string to shorter string with ellipsis at the end\r\n * @param str - string, source string\r\n * @param limit - int, char limit before ellipsis sign\r\n */\r\n ellipsis: function (str, limit) {\r\n if (str) {\r\n var len = str.toString().length;\r\n if (len > limit) {\r\n return str.substring(0, limit) + '...';\r\n }\r\n else {\r\n return str;\r\n }\r\n }\r\n },\r\n /**\r\n * Format amount as default numberFormat, ex. 1234,5567 -> 1 234,56\r\n * @param number - {int, float, string}, source number value\r\n */\r\n amountFormat: function (number) {\r\n return this.numberformat(number, 2, 3, ' ', ',');\r\n },\r\n /**\r\n * Format number with decimal places and separators\r\n * @param number - {int, float, string}, source number\r\n * @param decimalPlaces - int, length of desired decimal places\r\n * @param numbersCountBetweenSeps - int, length of thousand group, default 3\r\n * @param sepThousands - string, thousand separator, in polish is space ' ', default is comma ','\r\n * @param sepTens - string, decimal separator\r\n */\r\n numberformat: function (number, decimalPlaces, numbersCountBetweenSeps, sepThousands, sepTens) {\r\n if (number != null && number != undefined) {\r\n number = parseFloat(number);\r\n\r\n var re = '\\\\d(?=(\\\\d{' + (numbersCountBetweenSeps || 3) + '})+' + (decimalPlaces > 0 ? '\\\\D' : '$') + ')';\r\n var num = number.toFixed(Math.max(0, ~~decimalPlaces));\r\n var a = (sepTens ? num.replace('.', sepTens.toString()) : num);\r\n var b = a.replace(new RegExp(re, 'g'), '$&' + (sepThousands || ','));\r\n return b;\r\n }\r\n else {\r\n return '';\r\n };\r\n },\r\n /**\r\n * Format string date to output date in given format\r\n * @param str - string, source date string\r\n * @param fmt - string, target date format, default 'yyyy-MM-DD'\r\n */\r\n formatAsDateFromProc(str, fmt) {\r\n if (Helpers.isNullOrEmpty(fmt)) fmt = 'yyyy-MM-DD';\r\n if (Helpers.isNullOrEmpty(str)) return '';\r\n\r\n var isDateType = str instanceof Date;\r\n if (isDateType) {\r\n return moment(str).format(fmt);\r\n };\r\n\r\n if (typeof str.indexOf !== 'function') {\r\n console.error('formatAsDateFromProc str.indexOf !== function'); //todo:prod\r\n return '';\r\n }\r\n\r\n var date = str;\r\n\r\n var isJsonDane = str.indexOf('/Date') >= 0;\r\n if (isJsonDane) {\r\n\r\n console.error('isJsonDane!'); //todo:prd\r\n\r\n var dateTmp2 = parseInt(str.replace('/Date(', '').replace(')/', ''));\r\n //var dateTmp = new Date(dateTmp2);\r\n //dateTmp = new Date(dateTmp.getFullYear(), dateTmp.getMonth(), dateTmp.getDate(), dateTmp.getUTCHours(), dateTmp.getMinutes(), dateTmp.getSeconds());\r\n date = dateTmp2;\r\n //date = dateTmp;\r\n\r\n //date = moment.utc(dateTmp2); //jeśli rozwiązanie wyżej nie zabezpieczy strefy i przesunie godziny\r\n };\r\n\r\n if (str.indexOf('Z') >= 0) {\r\n date = moment.utc(str);\r\n };\r\n\r\n return moment(date).format(fmt);\r\n },\r\n /**\r\n * TO EXTEND\r\n * Format date difference as string in second\r\n * @param start - date, source start date object\r\n * @param end - date, source end date object\r\n */\r\n diffTime: function (start, end) {\r\n //wyliczenie różnicy pomiędzy podanymi datami i przedstawienie w formacie 12 sek.\r\n\r\n if (!end)\r\n return ''; //todo\r\n\r\n var diff = (new Date(end) - new Date(start)) / 1000;\r\n\r\n var diffDec = parseFloat(diff).toFixed(2);\r\n\r\n //console.log(start, end, diffDec);\r\n\r\n return diffDec.toString() + ' s.';\r\n },\r\n\r\n // *************************************************************************************************************************************************\r\n // EPS \r\n // *************************************************************************************************************************************************\r\n\r\n mediumNames: function (mediums) {\r\n if (Helpers.isNullOrEmpty(mediums))\r\n return '';\r\n\r\n var result = [];\r\n var tab = mediums.split(',');\r\n for (var i in tab) {\r\n switch (tab[i]) {\r\n case \"Energia\":\r\n case \"Energy\":\r\n case \"EE\":\r\n result.push(t('menu.energy'));\r\n break;\r\n case \"Gaz\":\r\n case \"Gas\":\r\n case \"GAS\":\r\n case \"G\":\r\n result.push(t('menu.gas'));\r\n break;\r\n case \"Prawa majątkowe\":\r\n case \"Property Rights\":\r\n case \"PM\":\r\n case \"PR\":\r\n result.push(t('menu.pm'));\r\n break;\r\n };\r\n };\r\n\r\n return result.join(', ');\r\n },\r\n\r\n /**\r\n * MOCK\r\n * Format medium as icon\r\n * @param medium - string, medium value\r\n */\r\n mediumIcon: function (medium) {\r\n switch (medium) {\r\n case \"EE\":\r\n return 'flash';\r\n case \"GAS\":\r\n return 'fire';\r\n case \"PR\":\r\n return 'file-document-edit-outline';\r\n };\r\n },\r\n\r\n mediumName: function (medium) {\r\n switch (medium) {\r\n case \"EE\":\r\n return t('menu.energy');\r\n case \"GAS\":\r\n return t('menu.gas');\r\n case \"PR\":\r\n return t('menu.pm');\r\n };\r\n },\r\n\r\n /**\r\n * Format \r\n * @param firstName - string\r\n * @param lastName - string\r\n */\r\n personFullName: function (firstName, lastName) {\r\n if (!firstName || !lastName)\r\n return \"\";\r\n return firstName + \" \" + lastName;\r\n },\r\n\r\n /**\r\n * Get color by percent\r\n * @param percent - number\r\n */\r\n percentColor: function (percent) {\r\n if (percent < 20.00)\r\n return 'var(--enea-color-darkred)';\r\n else if (percent < 40.00)\r\n return '#ff5900';\r\n else if (percent < 60.00)\r\n return 'var(--el-color-warning)';\r\n else if (percent < 80.00)\r\n return '#ffe003';\r\n else if (percent < 100.00)\r\n return '#aee400';\r\n else\r\n return 'var(--el-color-success)';\r\n },\r\n\r\n declarationKindNames: function (declarationKinds) {\r\n if (declarationKinds.length == 0)\r\n return '';\r\n\r\n var result = [];\r\n for (var kind of declarationKinds) {\r\n switch (kind) {\r\n case \"T\":\r\n result.push(t('productKind.Tranche'));\r\n break;\r\n case \"M\":\r\n result.push(t('productKind.Mandate'));\r\n break;\r\n case \"O\":\r\n result.push(t('productKind.ENEAOffer'));\r\n break;\r\n case \"P\":\r\n result.push(t('productKind.PPA'));\r\n break;\r\n };\r\n };\r\n\r\n result = Array.from(new Set(result));\r\n\r\n return result.join(', ');\r\n },\r\n\r\n sliceString: function (text, sliceNr, appendText) {\r\n\r\n var result = '';\r\n\r\n if (text)\r\n result = text;\r\n\r\n if (!sliceNr)\r\n sliceNr = 5;\r\n\r\n if (result.length > sliceNr)\r\n result = result.slice(0, sliceNr);\r\n\r\n if (appendText)\r\n result = result + ' ' + appendText;\r\n\r\n return result;\r\n },\r\n\r\n textWithFootnote: function (text, footnote) {\r\n let result = text ? text : \"\";\r\n if (footnote) {\r\n if (result)\r\n result += \"
\";\r\n result = `${result}
${footnote}
`;\r\n }\r\n return result;\r\n },\r\n\r\n /*\r\n Return responsive size for el-dialog\r\n @params - string, percent size for resolution graterThen pixels (gtXXX) or lower than pixels (lt), ex. '45%'\r\n */\r\n dialogSize: function (gt1920, gt1200, gt992, gt768, gt500, lt500, elseValue) {\r\n if (window.innerWidth < 500)\r\n return lt500 ?? '95%';\r\n else if (window.innerWidth >= 1920)\r\n return gt1920 ?? '30%';\r\n else if (window.innerWidth >= 1200)\r\n return gt1200 ?? '40%';\r\n else if (window.innerWidth >= 992)\r\n return gt992 ?? '60%';\r\n else if (window.innerWidth >= 768)\r\n return gt768 ?? '70%';\r\n else if (window.innerWidth >= 500)\r\n return gt500 ?? '80%';\r\n else\r\n return elseValue ?? '70%';\r\n },\r\n /*\r\n Return responsive size with px\r\n @params - string, pixel size for resolution graterThen pixels (gtXXX) or lower than pixels (lt), ex. '450px'\r\n */\r\n pixelSize: function (gt1920, gt1200, gt992, gt768, gt500, lt500, elseValue) {\r\n var result = this.numberSize(gt1920, gt1200, gt992, gt768, gt500, lt500, elseValue);\r\n result = result + 'px';\r\n return result;\r\n },\r\n /*\r\n Return responsive size - only number\r\n @params - string, pixel size for resolution graterThen pixels (gtXXX) or lower than pixels (lt), ex. '450'\r\n */\r\n numberSize: function (gt1920, gt1200, gt992, gt768, gt500, lt500, elseValue) {\r\n var result = 400;\r\n\r\n if (window.innerWidth < 500)\r\n result = lt500 ?? 500;\r\n else if (window.innerWidth >= 1920)\r\n result = gt1920 ?? 500;\r\n else if (window.innerWidth >= 1200)\r\n result = gt1200 ?? 500;\r\n else if (window.innerWidth >= 992)\r\n result = gt992 ?? 500;\r\n else if (window.innerWidth >= 768)\r\n result = gt768 ?? 500;\r\n else if (window.innerWidth >= 500)\r\n result = gt500 ?? 500;\r\n else\r\n result = elseValue ?? 500;\r\n\r\n return result;\r\n },\r\n}\r\n","import $ from 'jquery'\r\nimport * as api from '@/api/BaseApi'\r\nimport { Notifications } from '@/scripts/notifications'\r\nimport { Logger } from '@/scripts/logger'\r\nimport { Helpers } from '@/scripts/helpers'\r\nimport { fileUploadSettings } from '@/scripts/const'\r\nimport { t } from \"../setup/i18n-setup\"\r\n\r\nexport const Validators = {\r\n isNumber: function (rule, value, callback) {\r\n if (!value)\r\n callback();\r\n\r\n if (!isNaN(value)) {\r\n callback();\r\n } else {\r\n callback(new Error(t('rules.validNumber')));\r\n }\r\n },\r\n\r\n isAmount: function (rule, value, callback) {\r\n if (!value)\r\n callback();\r\n\r\n var isValidAmount = /^\\d*([\\.,])?(\\d{0,2})?$/.test(value);\r\n if (isValidAmount) {\r\n callback();\r\n } else {\r\n callback(new Error(t('rules.validAmount')));\r\n }\r\n },\r\n\r\n //todo: regex do ewentualnego rozwinięcia\r\n isIBAN: function (rule, value, callback) {\r\n if (!value)\r\n callback();\r\n\r\n var isIBANNumber = /^[A-Z]{2}[0-9]{26}$/.test(value);\r\n if (isIBANNumber) {\r\n callback();\r\n } else {\r\n callback(new Error(t('rules.validIBAN')));\r\n }\r\n },\r\n\r\n //https://www.modestprogrammer.pl/walidacja-nip-w-javascript\r\n isNIP: function (rule, value, callback) {\r\n if (!value)\r\n callback();\r\n\r\n var isNIPNumber = false;\r\n\r\n if (typeof value !== 'string')\r\n return false;\r\n\r\n value = value.replace(/[\\ \\-]/gi, '');\r\n\r\n let weight = [6, 5, 7, 2, 3, 4, 5, 6, 7];\r\n let sum = 0;\r\n let controlNumber = parseInt(value.substring(9, 10));\r\n let weightCount = weight.length;\r\n for (let i = 0; i < weightCount; i++) {\r\n sum += (parseInt(value.substr(i, 1)) * weight[i]);\r\n }\r\n\r\n isNIPNumber = sum % 11 === controlNumber;\r\n\r\n if (isNIPNumber) {\r\n callback();\r\n } else {\r\n callback(new Error(t('rules.validNIP')));\r\n }\r\n },\r\n\r\n isNullOrEmpty: function (rule, value, callback) {\r\n if (!Helpers.isNullOrEmpty(value?.trim())) {\r\n callback();\r\n } else {\r\n callback(new Error(t('rules.required')));\r\n }\r\n },\r\n\r\n //dla comba\r\n isNullOrEmptyCombo: function (rule, value, callback) {\r\n if (!Helpers.isNullOrEmpty(value)) {\r\n callback();\r\n } else {\r\n callback(new Error(t('rules.pickValue')));\r\n }\r\n },\r\n\r\n isMobilePhone: function (rule, value, callback) {\r\n if (!value)\r\n callback();\r\n\r\n var isValidFirstPattern = /^[0-9]{9}$/.test(value);\r\n\r\n var isValidSecondPattern = /\\+[0-9]{10,15}$/.test(value);\r\n\r\n if (isValidFirstPattern || isValidSecondPattern) {\r\n callback();\r\n } else {\r\n callback(new Error(t('rules.validMobilePhone')));\r\n }\r\n },\r\n\t//czy telefon w formacie +xxyyyyyyyyy lub yyyyyyyyy\r\n isMobilePhonePL: function (rule, value, callback) {\r\n if (!value)\r\n callback();\r\n\r\n var isValidFirstPattern = /^[+][0-9]{11}$/.test(value);\r\n\r\n var isValidSecondPattern = /^[0-9]{9}$/.test(value);\r\n if (isValidFirstPattern || isValidSecondPattern) {\r\n callback();\r\n } else {\r\n callback(new Error(t('rules.validMobilePhonePL')));\r\n }\r\n },\r\n\r\n isPasswordsEqual: function (rule, value, callback, source, options, model) {\r\n if (!value)\r\n callback();\r\n\r\n if (model.password === model.confirmPassword) {\r\n callback();\r\n } else {\r\n callback(new Error(t('rules.diffPasswords')));\r\n }\r\n },\r\n\r\n isPasswordAndConfirmationEqual: function (rule, value, callback, source, options, password, passwordConfirmation) {\r\n if (!value)\r\n callback();\r\n if (password === passwordConfirmation) {\r\n callback();\r\n } else {\r\n callback(new Error(t('rules.diffPasswords')));\r\n }\r\n },\r\n\r\n isTrue: function (rule, value, callback, source, options, val) {\r\n if (val)\r\n callback();\r\n else {\r\n callback(new Error());\r\n }\r\n },\r\n\r\n isCorrectFile: function (rule, value, callback, source, options) {\r\n if (!value || value.length == 0) {\r\n callback();\r\n }\r\n else {\r\n var errMsg = '';\r\n\r\n var fileSizeSum = 0;\r\n for (var f = 0; f < value.length; f++) {\r\n if (value[f].size > fileUploadSettings.maxFileSize) {\r\n errMsg += t('rules.fileTooBig', { fileName: value[f].name }) + ' ';\r\n };\r\n fileSizeSum += value[f].size;\r\n };\r\n\r\n if (fileSizeSum > (fileUploadSettings.maxFilesSizeSum * 1024 * 1024)) {\r\n errMsg += t('rules.attachmentsTooBig', { max: fileUploadSettings.maxFilesSizeSum }) + ' ';\r\n };\r\n\r\n var uniqeNames = Array.from(new Set(value?.map((item) => item.name)));\r\n if (value?.length != uniqeNames?.length) {\r\n errMsg += t('rules.fileUniqueNames') + ' ';\r\n };\r\n\r\n for (var fil = 0; fil < value.length; fil++) {\r\n if (value[fil].name.indexOf('.') < 0) {\r\n errMsg += t('rules.fileWithoutExt', { fileName: value[fil].name }) + ' ';\r\n };\r\n };\r\n\r\n if (errMsg != '') {\r\n callback(new Error(errMsg));\r\n }\r\n else {\r\n callback();\r\n };\r\n }\r\n },\r\n\r\n //czy email\r\n isEmail: function (rule, value, callback) {\r\n\r\n //http://emailregex.com/\r\n const emailPattern = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+\\.)+[a-zA-Z\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]{2,}))$/;\r\n\r\n let isValid = (\r\n typeof value === 'string' &&\r\n value.length <= 320 &&\r\n !!value.match(emailPattern)\r\n );\r\n\r\n if (isValid)\r\n callback();\r\n else {\r\n callback(new Error(t('rules.validEmail')));\r\n }\r\n },\r\n\r\n}","import { createI18n } from 'vue-i18n'\nimport en from '@/lang/en-GB.json'\nimport pl from '@/lang/pl-PL.json'\nimport { useCookies } from \"vue3-cookies\"\nimport axios from 'axios'\nimport localeEN from 'element-plus/es/locale/lang/en'\nimport localePL from 'element-plus/es/locale/lang/pl'\nimport * as api from '@/api/AccountApi';\nimport { Helpers } from \"@/scripts/helpers\";\n\nconst { cookies } = useCookies();\n\nconst supportedLanguages = ['en-GB', 'pl-PL'];\n\nconst messages = {\n \"en-GB\": en,\n \"pl-PL\": pl,\n}\n\nexport const elementLocales = {\n \"en-GB\": localeEN,\n \"pl-PL\": localePL\n}\n\nexport const elementLocale = function () {\n return elementLocales[defaultLanguage()];\n}\n\nexport const defaultLanguage = function () {\n const langCookie = cookies.get(\"lang\");\n\n // there is proper langauge cookie\n if (langCookie !== null\n && supportedLanguages.includes(langCookie)) {\n return langCookie;\n }\n //ep: komentuję bo zgodnie z wymaganiem defaultowy ma być język polski\n // // language from browser\n //else if (navigator.language && supportedLanguages.includes(navigator.language)) {\n // return navigator.language\n //} \n \n // default lang\n return 'pl-PL';\n}\n\nexport const i18n = createI18n({\n locale: defaultLanguage(),\n globalInjection: true,\n messages,\n pluralizationRules: {\n 'pl-PL': function (choice, choicesLength) {\n if (choice === 0) {\n return 0;\n }\n\n const teen = choice > 10 && choice < 20;\n const endsWithOne = choice % 10 === 1;\n\n if (choicesLength < 4) {\n return (!teen && endsWithOne) ? 1 : 2;\n }\n if (!teen && endsWithOne) {\n return 1;\n }\n if (!teen && choice % 10 >= 2 && choice % 10 <= 4) {\n return 2;\n }\n\n return (choicesLength < 4) ? 2 : 3;\n }\n }\n})\n\nexport const { t } = i18n.global;\n\nexport const changeLanguage = function (lang) {\n i18n.global.locale = lang;\n cookies.set(\"lang\", lang);\n axios.defaults.headers.common['accept-language'] = lang;\n api.changeLanguage(() => {}, () => {});\n}\n\nexport const setUserLanguageCookie = function () {\n return new Promise((resolve) => {\n const langCookie = cookies.get(\"lang\");\r\n\r\n api.getLanguage(\n (response) => {\n var lang = response?.data?.Model?.SettingValue\n if (!Helpers.isNullOrEmpty(lang) && supportedLanguages.includes(lang) && langCookie != lang) {\n cookies.set(\"lang\", lang);\n axios.defaults.headers.common['accept-language'] = lang;\n i18n.global.locale = lang;\n\n resolve(lang);\n }\n else\n resolve(defaultLanguage());\n },\n (error) => { resolve(defaultLanguage()) }\n );\r\n });\n}\n","import * as api from '@/api/AccountApi';\r\nimport { defineStore } from 'pinia'\r\nimport { ref, computed } from 'vue'\r\nimport axios from 'axios';\r\nimport CryptoJS from 'crypto-js'\r\nimport { Notifications } from '@/scripts/notifications'\r\nimport moment from 'moment'\r\n\r\n/**\r\n * User account definition\r\n*/\r\nexport const useAccountStore = defineStore('AccountStore', () => {\r\n\r\n // encryption key\r\n const encryptionKey = computed(() => process.env.VUE_APP_ENCRYPTION_KEY);\r\n\r\n // storage key\r\n const storageKey = computed(() => process.env.VUE_APP_STORAGE_AUTH_KEY);\r\n\r\n // user account\r\n const user = computed(() => {\r\n return getUser();\r\n });\r\n\r\n // refresh token - stored in memory\r\n let refreshToken = ref(null);\r\n\r\n // user initials\r\n const initials = computed(() => {\r\n return getUser().name\r\n ?.match(/(^\\S\\S?|\\s\\S)?/g)\r\n ?.map(v => v.trim())\r\n ?.join(\"\")\r\n ?.match(/(^\\S|\\S$)?/g)\r\n ?.join(\"\")\r\n ?.toLocaleUpperCase()\r\n })\r\n\r\n // Check if token is still valid\r\n const isTokenValid = computed(() => {\r\n var user = getUser();\r\n if(!user.isAuthenticated)\r\n {\r\n return false;\r\n }\r\n \r\n var now = moment();\r\n var token = moment(getUser().refreshExpirationDate);\r\n if(token.diff(now) > 0)\r\n {\r\n return true;\r\n }\r\n \r\n return false;\r\n });\r\n\r\n // get encoded data from storage\r\n function getFromStorage() {\r\n return localStorage.getItem(storageKey.value);\r\n }\r\n\r\n // set encoded data to storage\r\n function setToStorage(value) {\r\n localStorage.setItem(storageKey.value, value);\r\n }\r\n\r\n // delete data from storage\r\n function deleteFromStorage() {\r\n localStorage.removeItem(storageKey.value);\r\n }\r\n\r\n // encrypt json\r\n function encrypt(value) {\r\n return CryptoJS.AES.encrypt(value, encryptionKey.value).toString();\r\n }\r\n\r\n // decrypt to json\r\n function decrypt(value) {\r\n if (value == null)\r\n return null;\r\n\r\n try {\r\n var result = CryptoJS.AES.decrypt(value, encryptionKey.value).toString(CryptoJS.enc.Utf8);\r\n return result;\r\n } catch (exception) { }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Get user from storage\r\n */\r\n function getUser() {\r\n var encryptedValue = getFromStorage();\r\n var value = decrypt(encryptedValue);\r\n if (value == null)\r\n return {\r\n isAuthenticated: false\r\n };\r\n\r\n return JSON.parse(value);\r\n }\r\n\r\n /**\r\n * Save user in storage\r\n * @param {any} value\r\n */\r\n function saveUser(value) {\r\n var encryptedValue = encrypt(JSON.stringify(value));\r\n setToStorage(encryptedValue);\r\n }\r\n\r\n /**\r\n * Save refresh token from in-memory to storage\r\n * */\r\n function beforeUnload() {\r\n var savedUser = getUser();\r\n savedUser.refreshToken = refreshToken.value;\r\n saveUser(savedUser);\r\n }\r\n\r\n /**\r\n * Refresh user token using storage temporary token\r\n * @param {any} success\r\n * @param {any} fail\r\n */\r\n function afterPageLoad() {\r\n var currentUser = getUser();\r\n if (currentUser) {\r\n refreshToken.value = currentUser.refreshToken;\r\n currentUser.refreshToken = null;\r\n saveUser(currentUser);\r\n }\r\n }\r\n\r\n /**\r\n * Login user\r\n * @param {any} username - username\r\n * @param {any} password - password\r\n * @param {any} success - success func\r\n * @param {any} fail - fail func\r\n */\r\n function login(username, password, success, fail) {\r\n api.login(\r\n username,\r\n password,\r\n (response) => {\r\n\r\n var value = {\r\n isAuthenticated: true,\r\n name: response.data.fullName,\r\n login: response.data.userName,\r\n token: response.data.access_token,\r\n refreshToken: response.data.refresh_token,\r\n refreshExpirationDate: moment().add(response.data.refresh_expires_in, 'minutes')\r\n };\r\n \r\n\r\n refreshToken.value = response.data.refresh_token;\r\n saveUser(value);\r\n success && success(response);\r\n },\r\n (response) => {\r\n fail && fail(response);\r\n }\r\n );\r\n };\r\n\r\n /**\r\n * Logout user\r\n */\r\n function logout() {\r\n deleteFromStorage();\r\n }\r\n\r\n /**\r\n * Login user\r\n * @param {any} success - success func\r\n * @param {any} fail - fail func\r\n */\r\n function finishSession(success, fail) {\r\n api.finishSession(\r\n (response) => {\r\n success && success(response);\r\n },\r\n (response) => {\r\n fail && fail(response);\r\n }\r\n );\r\n };\r\n\r\n /**\r\n * Refresh user token using refresh token\r\n * @param {any} currentRefreshToken\r\n * @param {any} success\r\n * @param {any} fail\r\n */\r\n function refreshUserToken(currentRefreshToken, success, fail) {\r\n return api.refreshToken(currentRefreshToken,\r\n getUser().login,\r\n (response) => {\r\n var value = {\r\n isAuthenticated: true,\r\n name: response.data.fullName,\r\n login: response.data.userName,\r\n token: response.data.access_token,\r\n refreshExpirationDate: moment().add(response.data.refresh_expires_in, 'minutes')\r\n };\r\n\r\n refreshToken.value = response.data.refresh_token;\r\n saveUser(value);\r\n success && success(response);\r\n },\r\n (response) => { fail && fail(response); })\r\n }\r\n\r\n let isRefreshing = false;\r\n let failedQueue = [];\r\n\r\n const processQueue = (error, token = null) => {\r\n failedQueue.forEach(prom => {\r\n if (error)\r\n prom.reject(error);\r\n else\r\n prom.resolve(token);\r\n });\r\n\r\n failedQueue = [];\r\n };\r\n\r\n /**\r\n * Create AXIOS authorization header\r\n * and refresh token after expired\r\n * */\r\n function setAxiosAuthorization() {\r\n\r\n // set authrization header\r\n axios.interceptors.request.use(\r\n config => {\r\n config.headers[\"Authorization\"] = \"Bearer \" + getUser().token;\r\n return config;\r\n });\r\n\r\n // we want to handle error status on interceptor response\r\n axios.interceptors.response.use(function (response) {\r\n return response;\r\n }, function (error) {\r\n\r\n const originalRequest = error.config;\r\n\r\n // if 440 - session expired - timeout \r\n if(error.response.status == 440) {\r\n logout();\r\n window.location = \"/login?url=\" + window.location.pathname + window.location.search;\r\n return Promise.reject(err);\r\n }\r\n\r\n // Reject promise if usual error\r\n if (error.response.status === 401 && !originalRequest._retry) {\r\n if (isRefreshing) {\r\n return new Promise(function (resolve, reject) {\r\n failedQueue.push({ resolve, reject })\r\n }).then(token => {\r\n originalRequest.headers['Authorization'] = 'Bearer ' + token;\r\n return axios(originalRequest);\r\n }).catch(err => {\r\n logout();\r\n window.location = \"/login?url=\" + window.location.pathname + window.location.search;\r\n return Promise.reject(err);\r\n })\r\n }\r\n\r\n originalRequest._retry = true;\r\n isRefreshing = true;\r\n\r\n return new Promise(function (resolve, reject) {\r\n refreshUserToken(refreshToken.value, getUser().login,\r\n (response) => {\r\n var token = getUser().token;\r\n axios.defaults.headers.common['Authorization'] = 'Bearer ' + token;\r\n originalRequest.headers['Authorization'] = 'Bearer ' + token;\r\n processQueue(null, token);\r\n resolve(axios(originalRequest));\r\n\r\n },\r\n (err) => {\r\n processQueue(err, null);\r\n reject(err);\r\n logout();\r\n window.location = \"/login?url=\" + window.location.pathname + window.location.search;\r\n }).finally(() => { isRefreshing = false; setAxiosAuthorization(); });\r\n })\r\n }\r\n\r\n \t\t\tif (error?.response?.status === 403) {\r\n Notifications.showForbiddenMessage();\r\n };\r\n\r\n return Promise.reject(error);\r\n });\r\n }\r\n\r\n /**\r\n * Send ForgotPassword to server \r\n * @param {model} model \r\n * @param {function} success \r\n * @param {function} fail \r\n */\r\n function forgotPassword(model, success, fail) {\r\n api.forgotPassword(model,\r\n (response) => { success && success(response); },\r\n (response) => { fail && fail(response); })\r\n }\r\n\r\n /**\r\n * Send ForgotPassword to server \r\n * @param {model} model \r\n * @param {function} success \r\n * @param {function} fail \r\n */\r\n function sendSMSCode(model, success, fail) {\r\n api.sendSMSCode(model,\r\n (response) => { success && success(response); },\r\n (response) => { fail && fail(response); })\r\n }\r\n\r\n /**\r\n * Send Reset password to server\r\n * @param {model} model \r\n * @param {function} success \r\n * @param {function} fail \r\n */\r\n function resetPassword(model, success, fail) {\r\n api.resetPassword(model,\r\n (response) => { success && success(response); },\r\n (response) => { fail && fail(response); })\r\n }\r\n\r\n /**\r\n * Change password on the server\r\n * @param {model} model \r\n * @param {function} success \r\n * @param {function} fail \r\n */\r\n function changePassword(model, success, fail) {\r\n api.changePassword(model,\r\n (response) => { success && success(response); },\r\n (response) => { fail && fail(response); })\r\n }\r\n\r\n /**\r\n * Get user permissions\r\n * @param {any} success - success func\r\n * @param {any} fail - fail func\r\n */\r\n function getPermissions(success, fail) {\r\n api.getPermissions(\r\n (response) => {\r\n success && success(response);\r\n },\r\n (response) => {\r\n fail && fail(response);\r\n }\r\n );\r\n };\r\n\r\n return {\r\n\r\n // computed\r\n user, initials, isTokenValid,\r\n\r\n // methods\r\n login, logout,\r\n beforeUnload, afterPageLoad,\r\n setAxiosAuthorization, getPermissions,\r\n\r\n // api\r\n forgotPassword, resetPassword, changePassword,\r\n sendSMSCode, finishSession\r\n };\r\n});"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","class","style","gutter","lg","md","sm","to","$t","$root","mandateCounter","offerCounter","messageCounter","contractsLoading","description","ref","total","contractsTotal","contracts","parent","this","transactionsLoading","transactionsTotal","transactions","mediumTypeRadioTGE","tgequotesMediumTypeRadio","contractsCounterLoading","interval","type","onContractChange","trigger","c","key","Id","header","ComputedName","length","content","placement","Renderers","ellipsis","Symbol","formatAsDateFromProc","FromDate","ToDate","mediumNames","Medium","Helpers","isNullOrEmpty","AvgPrice","amountFormat","percentage","RealizationPercent","width","color","percentColor","declarationKinds","includes","CanApplyTranche","some","x","MediumName","DeclarationType","medium","searchModel","JSON","stringify","button","CanApplyMandate","name","props","mixins","setup","data","mounted","created","computed","methods","newIndex","watch","components","__exports__","href","property","label","default","row","ObjectTypeName","Object_Type","numberformat","Price","ExpectedPrice","RateInfo","effect","reference","align","StatusId","StatusColor","StatusName","quotesMediumTypeRadio","onMediumTypeRadioChange","selectedContractMedium","indexOf","quotationListProps","listConfiguration","quotationsList","showQuotations","showIndexChart","chartTGEProps","labels","datasets","mediumTypeRadio","aspectRatio","chartTGEPeriod","size","onChartTGEPeriodChange","chartPeriods","TwoWeeks","OneMonth","ThreeMonths","SixMonths","Max","title","dateRangeCalendarButtonType","searchModelForProduct","QuoteDateRange","shortcuts","datePickerRangeShortcuts","onChangeChartTGEDateRange","indexListProps","indexesList","chartTGEIndexProps","chartTGEIndexPeriod","onChartTGEIndexPeriodChange","searchModelForIndex","IndexDateRange","onChangeChartTGEIndexDateRange","tgeQuotesLoading","quotations","border","height","setHeight","handleSelectionChange","productCurrentChange","expanded","handleExpandChange","sortChange","auto","tableRowClassName","changecolumnwidth","dragend","headerChangeLayout","expandKeys","ProductSymbol","getColumnVisibility","prop","indexorder","orderColumns","widthColumns","QuoteDate","PriceColor","DailySettlementPrice","Lots","loadingQuotationTable","Validators","parse","localStorage","getItem","columnListVisibility","column","value","pageName","pageObjectName","apiUrl","pageSize","pageSizes","setFromProps","$refs","quotationTable","doLayout","configuration","currentRow","oldCurrentRow","selectedProduct","IsIndex","fetchChartTGETradingIndex","fetchChartTGEQuotationsForProduct","indexes","sortable","IndexType","IndexDate","Volume","loadingIndexTable","tradingindexTable","refresh","searchModelIndex","$props","MediumType","setQuotationListProps","self","showSearch","showSearchPanel","showExpandColumn","showSelectionColumn","showQuickSearch","showBreadcrumb","showBaseSearchPanel","givenSearchModel","setIndexListProps","fetchQuotationListAndSetProps","additionalIndex","searchModelAddIndex","ContractId","selectedContractId","pageIndex","response","isCorrectResult","additionalIndexes","Model","error","push","fetchIndexListAndSetProps","firstContractMedium","ChartTGE","QuotationDashboardListCmp","TradingIndexDashboardListCmp","ChartTGEIndex","DashboardContractListCmp","DashboardTransactionsListCmp","DashboardTGECmp","fetchFirstContractsCarousel","fetchContractsCarousel","fetchTGEQuotes","fetchTransactionList","transactionSearchModel","dashboardTGE","contractMediums","split","fetchDeclarationKids","dashboardContract","render","routes","path","component","Dashboard","router","history","maxHeight","zoomRangeValue","range","min","max","changeSlider","formatSliderTooltip","tgeChart","xMin","xMax","yMin","yMax","chartData","chartLabels","chartConfig","options","responsive","maintainAspectRatio","legend","position","display","text","parsing","xAxisKey","yAxisKey","layout","padding","top","left","right","bottom","scales","stacked","ticks","minRotation","maxRotation","y","t","callback","index","y1","grid","drawOnChartArea","onHover","drawLineWithLabels","canvas","getContext","plugins","tooltip","enabled","displayColors","callbacks","beforeTitle","context","dataItem","dataIndex","datalabels","formatter","animation","beforeDraw","chart","ctx","save","globalCompositeOperation","fillStyle","fillRect","restore","loadChart","colorVolume","backgroundColor","borderColor","colorMinRate","colorDKR","colorMaxRate","updateChart","update","document","addEventListener","onMouseMove","getElementById","destroy","start","end","cat0","slice","cat1","cat2","cat3","cat4","val","mouseX","pageX","mouseY","pageY","clear","draw","changeView","viewName","datasets1D","labelsDatasets1D","currentDataset","datasets2M","labelsDatasets2M","canvasPosition","dataY","getValueForPixel","dataY1","chartArea","strokeStyle","beginPath","moveTo","lineTo","stroke","textAlign","textBaseline","sideLabelSize","closePath","fill","fillText","Math","round","tgeChartIndex","changeSliderIndex","target","Date","getFullYear","src","xl","xs","closable","has_minChars","has_maxChars","replace","minChars","maxChars","has_uppercase","has_lowercase","has_number","has_special","message","String","Number","validationStatus","validationResults","immediate","deep","handler","oldVal","password_check","password","test","$emit","login","username","success","fail","params","encodeURIComponent","headers","then","catch","refreshToken","forgotPassword","model","sendSMSCode","resetPassword","changePassword","getPermissions","getLanguage","changeLanguage","finishSession","async","getRecords","url","getRecord","get","loadDictionaries","fetchDictionary","term","maxSize","add","runOperation","operationUrl","getPage","exportList","getCustomerContracts","contractId","changeName","getContractParameters","getContractActiveOffers","ValidOnly","getMenuInformation","getContractMediums","getContractMediumProductTypes","mediumIds","MediumIds","getContractManager","getOffersContracts","contractIds","ArrayOf_Id","offerAccept","offerAcceptAuthorise","offerAcceptAuthoriseCancel","offerReject","chartList","getLatestByProduct","getLatest","ChartTGEJs","quotationsForProduct","TGEFilterDate","productSymbol","loading","setChartTGEPeriodDates","setChartTGEListProps","labelsChart","datasetsChart","kind","order","yAxisID","borderWidth","pointBorderWidth","pointStyle","above","below","hidden","i","q","substring","dataLots","filter","f","dataMinRate","MinimumPrice","dataDKR","dataMaxRate","MaximumPrice","dataIndexPrice","IndexPrice","QuoteDateFrom","QuoteDateTo","referenceDate","result","From","To","subtract","startOf","html","from","format","onChartTGEFilterDateChange","newDate","ChartTGEIndexJs","forIndex","TGEIndexFilterDate","indexType","setChartTGEIndexPeriodDates","setChartTGEIndexListProps","IndexDateFrom","IndexDateTo","onChartTGEIndexFilterDateChange","Common","smallScreen","window","innerWidth","screenSize","checkScreenSize","handleTabClick","tab","event","location","hash","loadFormBase","ex","loadTabFromHash","activeTabName","onHashChange","registerComponent","cmpName","cmp","clearPasteValue","clipboardData","stopPropagation","preventDefault","pastedData","getData","newData","dispatchEvent","Event","dateIsFuture","date","parsedDate","Configurations","pickerOptions","datePickerShortcuts","setTime","getTime","datePickerRangeYearShortcuts","getMonth","datePickerRangeShortcutsFuture","showMainSearch","disableFarDates","operationResult","freeze","OK","Warning","Invalid","tgeColors","MinRate","DKR","MaxRate","Filler","operationExecutionType","TradingYear","DeliveryYear","SYNC","ASYNC","fileUploadSettings","maxFilesSizeSum","maxFileSize","maxFileNumber","fileTypes","ContractCreate","ContractReadOwn","ContractReadAll","ContractWriteOwn","ContractWriteAll","ContractFinish","TrancheReadOwn","TrancheReadAll","TrancheWriteOwn","TrancheWriteAll","TrancheAddOwn","TrancheAddAll","MandateReadOwn","MandateReadAll","MandateWriteOwn","MandateWriteAll","MandateAddOwn","MandateAddAll","MandateCancel","PPAAdd","PPARead","TransactionReadOwn","TransactionReadAll","TransactionWriteOwn","TransactionWriteAll","UserReadAll","UserWriteAll","ApplicantContractModify","QuotationReadOwn","QuotationReadAll","QuotationWriteOwn","QuotationWriteAll","TradingIndexReadOwn","TradingIndexReadAll","TradingIndexWriteOwn","TradingIndexWriteAll","AlertReadOwn","AlertReadAll","AlertWriteOwn","AlertWriteAll","CalendarsReadOwn","CalendarsReadAll","CalendarsWriteOwn","CalendarsWriteAll","ProductReadOwn","ProductReadAll","ProductWriteOwn","ProductWriteAll","MessageReadOwn","MessageReadAll","MessageWriteOwn","MessageWriteAll","MessageMarkRead","MessageDelete","RunJobRead","RunJobStateRead","VReportPriceReadAll","VReportTrancheDetailReadAll","ParameterWriteOwn","ParameterWriteAll","OfferWriteOwn","OfferWriteAll","OfferAddAll","OfferWriteInRealization","OfferWriteToVerify","DeclarationLimitWriteOwn","DeclarationLimitWriteAll","DeclarationKindWriteOwn","DeclarationKindWriteAll","PowerLimitWriteOwn","PowerLimitWriteAll","UserActivityAll","MigrateData","RolePermissionRead","ProductAccept","MediumWrite","MediumProductWriteOwn","MediumProductWriteAll","MediumProductTypeWriteOwn","MediumProductTypeWriteAll","TradingSessionPlanWriteOwn","TradingSessionPlanWriteAll","Dictionaries","dictModel","afterLoadDictionaries","checkAndLoadDictModel","constructor","searchTerm","forceRefresh","searchParams","getDictionaryValues","fieldId","visible","isNullOrEmptyCombo","rule","zeroIsBad","undefined","isIntNumber","isOperationKey","isDecimalNumber","isMinusOK","keyCode","which","acceptableChars","ctrlKey","getRootCssValue","propertyType","removeSuffix","propertyValue","RawValue","getComputedStyle","documentElement","getPropertyValue","ReplacedValue","ParsedValue","parseInt","parseFloat","List","listOperations","currentPage","loadingList","selectedRows","isSelectedAnyRow","tableData","ghostRowDropVisible","rowDropMoveReturn","setViewSelected","searchModelCopy","searchModelInfo","showFilters","tableHeight","minTableHeight","settingsSaveAvailable","copyColumnListVisibility","isUserSettingsLoaded","loadingRow","renderRow","setTableHeight","topElement","buffer","bufferHeight","relativeElement","windowHeight","innerHeight","rel","jrel","positionOfTableHeader","offset","offsetTop","tableHeightToSet","tableId","heightPx","find","css","selectElementContents","el","removeClass","addClass","hide","sel","body","createRange","getSelection","removeAllRanges","selectNodeContents","addRange","selectNode","createTextRange","moveToElementText","select","execCommand","$message","duration","show","rows","handleCommand","command","prepareCurrentOperation","tableRef","propertyName","singleExpand","setCurrentRow","arr","fetchData","shift","sortProps","Sort","fetchList","sort","pageIndexChange","sizeChange","toggleFilters","getSearchFormValues","clearAdditionalFilters","clearFilters","resetFields","QuickSearchTerm","setDraggableTh","ths","j","draggable","onRowDrop","evt","rowDrop","tbody","querySelector","ghostClass","onMove","originalEvent","expandedRow","onEnd","onChange","initializeDragAndDropFunctionality","table","tableColumn","$el","dragReorderColumn","swap","draggableSelector","movedElement","oldIndex","parentNode","cells","insertBefore","nextSibling","tmpStorage","item","tableColumn2","querySelectorAll","children","tableColGroup","tableColGroupTr","tableHeader","h","item2","hasClass","attr","a","b","aName","bName","setItem","newwidth","oldWidth","showListConfiguration","loadSettingsMenu","menuSettings","cc","obj","jQuery","extend","makeSortableSettings","changeColumnVisibility","saveColumnVisibility","getFromCopy","removeItem","saveColumnOrder","columnVisibilityFiltered","columnVisibilityFilteredDisplayName","getColumnVisibilityClass","getColumnwidth","setToo","itemWidth","getColumnOrder","searchDeep","hay","needle","accumulator","accumulator2","RegExp","handleSelectionChangeMock","r","Operations","operation","handleSizeChangeMock","handleCurrentChangeMock","newValue","oldValue","fadeIn","updated","reduceOperationColumn","columnVisibility","destroyed","removeEventListener","log","useClientLogStore","actions","clientLog","lastError","Logger","logError","errorMessage","stackTrace","withoutUserNotification","isDebug","isAlert","console","Message","StackTrace","LogType","showErrorCode","logException","exception","status","stack","clientLogResult","uniqueCode","ErrorId","toUpperCase","Notifications","showMsg","subtitle","getErrorInfo","isList","dangerouslyUseHTMLString","action","showOperationMessage","showCorrect","allowNullModel","customMessage","Status","getOperationStatusLabel","showForbiddenMessage","operationResultStatus","prepareErrorMessage","msg","Short","CompleteHtml","MessagesString","Messages","messageForUser","defaultMessage","ExceptionMessage","currentOperationSymbol","operations","operationModel","startedOperations","opPercentage","opCounter","opExecution","showDlgOperation","showProgress","showOnlyNotifyResult","enableExtendOperationWindow","showExtendOperationWindow","allOperationFinished","isOperationRun","selectedRowsCounter","orderedOperations","operationsForList","filtered","entries","ForList","operationList","fromEntries","closeExecution","opSymbol","doAfterOperationExecution","afterOperationExecuted","fetchAfterSave","operationDone","allOperationsDone","handleProgressOpenedSync","processData","done","loop","Operation","handleProgressOpenedAsync","forEach","op","isStartedSyncOperation","isAnySYNC","Operacja","ExecutionType","handleProgressOpened","run","formName","formOperation","validate","valid","fields","runIfValid","runForItem","Entity_id","operationCopy","started","Title","OperationName","Nazwa","Percentage","Row","d","isDate","prototype","toString","call","isNaN","formatAsDate","httpApiUrl","ApiUrl","errorMsg","ExtendedMessage","showClose","Komunikat","LinkUrl","LinkName","prepareOperations","Operacje","Kolor","ButtonCls","Ikona","Icon","TypOperacji","IsConfirmed","IsExtended","Run","handleMenuCommand","setOperationResultsDialogModel","operationResultsDialogModel","operationsController","operationConfirmDialogVisible","operationConfirmDialogExtendedVisible","operationConfirmDialogModel","caller","operationResultsDialogVisible","isAnyInProgress","yesNo","str","limit","len","number","decimalPlaces","numbersCountBetweenSeps","sepThousands","sepTens","re","num","toFixed","fmt","isDateType","isJsonDane","dateTmp2","diffTime","diff","diffDec","mediums","join","mediumIcon","mediumName","personFullName","firstName","lastName","percent","declarationKindNames","Array","Set","sliceString","sliceNr","appendText","textWithFootnote","footnote","dialogSize","gt1920","gt1200","gt992","gt768","gt500","lt500","elseValue","pixelSize","numberSize","isNumber","isAmount","isValidAmount","isIBAN","isIBANNumber","isNIP","isNIPNumber","weight","sum","controlNumber","weightCount","substr","trim","isMobilePhone","isValidFirstPattern","isValidSecondPattern","isMobilePhonePL","isPasswordsEqual","source","confirmPassword","isPasswordAndConfirmationEqual","passwordConfirmation","isTrue","isCorrectFile","errMsg","fileSizeSum","fileName","uniqeNames","fil","isEmail","emailPattern","isValid","match","cookies","supportedLanguages","messages","elementLocales","elementLocale","defaultLanguage","langCookie","i18n","locale","globalInjection","pluralizationRules","choice","choicesLength","teen","endsWithOne","global","lang","set","setUserLanguageCookie","Promise","SettingValue","useAccountStore","encryptionKey","storageKey","user","getUser","initials","v","toLocaleUpperCase","isTokenValid","isAuthenticated","now","token","refreshExpirationDate","getFromStorage","setToStorage","deleteFromStorage","encrypt","decrypt","encryptedValue","saveUser","beforeUnload","savedUser","afterPageLoad","currentUser","fullName","userName","access_token","refresh_token","refresh_expires_in","logout","refreshUserToken","currentRefreshToken","isRefreshing","failedQueue","processQueue","prom","reject","setAxiosAuthorization","config","originalRequest","pathname","search","err","_retry","finally"],"sourceRoot":""}