@yesilyazilim/web.spa.gis 1.0.9 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"mappings":"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EAAE,OAAO,EAAE,YAAY;IAKzE,IAAI,CAAC,aAAa,OAAO;IACzB,IAAI,CAAC,UAAU,OAAO;IACtB,IAAI,QAAQ,IAAI,KAAK;IACrB,OAAO,YAAY,YAAY,MAAM,MAAM,YAAY;AAC3D;AAEM,SAAU,0CAAkB,IAAmB,EAAE,eAAe,EAAE,UAAU;IAC9E,MAAM,OAAO,KAAK,QAAQ;IAC1B,IAAI,MACA,OAAO,KAAK,OAAO,CAAC,KAAK;IAE7B,OAAO;AACX;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I;ANFO,IAAM,4CAAN,MAAM,0BAA0B,CAAA,GAAA,0CAAA;IAWnC,YAAY,KAAkC,CAA9C;QACI,KAAK;QACL,IAAI,CAAC,QAAQ,GAAG,MAAM,OAAO;QAC7B,IAAI,CAAC,QAAQ,GAAG,MAAM,OAAO;QAE7B,IAAI,CAAC,OAAO,CAAC;QACb,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC;QACjB;IACJ;IAWS,cAAc,KAAc,EAA5B;QACL,QAAQ,GAAG,CAAC,mCAAmC;QAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAA,GAAA,6BAAA,EAAI,wBAAwB,CAAC,IAAI,EAAE,OAAO,QAAQ;IACtD;IAEc,cAAA;Q,O,gC,I,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K;IACnC;IAEA,OAAO,sBAAsB,EAAoC,EAAjE;QACI,OAAO,CAAA,GAAA,wCAAA,EAAgB;IAC3B;IAEA,OAAO,YAA2C,OAAY,EAA9D;QACI,MAAM,MAAM,IAAI,CAAA,GAAA,gDAAA;QAChB,OAAO,IAAI,YAAY,CAAC;IAC5B;IAEA,OAAO,mBAAkD,OAAY,EAArE;QACI,MAAM,MAAM,IAAI,CAAA,GAAA,gDAAA;QAChB,OAAO,IAAI,WAAW,CAAC;IAC3B;IAEA,OAAO,oBAAmD,OAAY,EAAtE;QACI,MAAM,MAAM,IAAI,CAAA,GAAA,gDAAA;QAChB,OAAO,IAAI,YAAY,CAAC;IAC5B;IAEA,OAAO,aAA4C,EAAoC,EAAvF;QACI,MAAM,UAAU,CAAA,GAAA,wCAAA,EAAgB;QAChC,OAAO,0CAAa,WAAW,CAAC;IACpC;A;AAjGgB,0CAAA,KAAK,GAAe,IAAI,CAAA,GAAA,wBAAA,EAAW;IAAE,MAAM;AAAW;AACtD,0CAAA,OAAO,GAAe,IAAI,CAAA,GAAA,wBAAA,EAAW;IAAE,MAAM;AAAW;;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I,0B;AVK5E,MAAe,iDAAkE,CAAA,GAAA,yCAAA;IAa7E,YAAY,UAAyC,EAAE,OAA6B,EAAE,KAAQ,CAA9F;QACI,KAAK,CAAC;QATV,IAAA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I,UAAU;YACV,IAAI,CAAC,WAAW,CAAC,CAAA,GAAA,6BAAA,EAAI,KAAK,CAAC,KAAK,KAAK,EAAE;YACvC,IAAI,CAAC,QAAQ,GAAG;QACpB,OAAO;YACH,IAAI,CAAC,gBAAgB,CAAC,cAAc;gBAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI;YAAE;YAC7E,IAAI,CAAC,gBAAgB,CAAC,cAAc;gBAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI;YAAE;YAC7E,IAAI,CAAC,gBAAgB,CAAC,SAAS;gBAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI;YAAE;YAExE,IAAI,KAAK,SAAS,EAAE;gBAChB,MAAM,UAAU,CAAA,GAAA,6BAAA,EAAI,IAAI,CAAC,aAAa,KAAK,SAAS;gBACpD,IAAI,CAAC,WAAW,CAAC;YACrB;YAEA,IAAI,CAAC,WAAW,CAAC,CAAA,GAAA,6BAAA,EAAI,KAAK,CAAC,KAAK,KAAK,EAAE;QAC3C;IACJ;AACH;AApBK,iDAAA,iCAAA;IADL,CAAA,GAAA,mCAAA,EAAU;QAAE,aAAa;IAAkB;IAEd,iCAAA,qBAAA;QAAA;QAAA;QAAA;KAAA;CADxB,EAAA;;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I,0B;ANpFN,MAAM,qCAAe;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,MAAK,QAAA,OAAA,KAAA,KAAA,GAAE,SAAS,CAAC,KAAK;IAC/B;IAEA,YAAY,GAAW,EAAE,KAAc,EAAvC;Q,I;QACI,CAAA,KAAA,IAAI,CAAC,KAAK,AAAL,MAAK,QAAA,OAAA,KAAA,KAAA,GAAE,WAAW,CAAC,KAAK;IACjC;IAEA,UAAA;Q,I;QACI,OAAO,AAAC,CAAA,AAAA,CAAA,KAAA,IAAI,CAAC,KAAK,AAAL,MAAK,QAAA,OAAA,KAAA,IAAA,KAAA,IAAA,GAAE,OAAO,EAAA,KAAO;IACtC;AACH;;;;;;;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I;AQleK,MAAO;IAQT,YAA6B,SAAkC,CAA/D;QAA6B,IAAA,CAAA,SAAS,GAAT;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,UAAU,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,WAAW,EAAE,QAAQ,KAAK;QAE7F,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA,GAAA,wBAAA,EAAS;YACvB,KAAK,UAAU,GAAG;YAClB,QAAQ;gBACJ,QAAQ,UAAU,MAAM;gBACxB,QAAQ,UAAU,SAAS;gBAC3B,aAAa;gBACb,YAAY;YACf;YACD,aAAa;YACb,YAAY;YACZ,mBAAmB,CAAO,IAAI,MAA9B,gCAAA,IAAA,EAAA,KAAA,GAAA,K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AA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,sCAAA,MAAY,eAAZ,CAAA,GAAA,sCAAA,CAAA,MAAA,aAAA,2BAAA;CAAa,EAAA,0CAAA,SAAA,EAAA,gBAAA,KAAA;;;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I,0B,0B,0B;AVInC,MAAgB,kDAAqB,CAAA,GAAA,yCAAA;IAUvC,YAAY,EAAsB,CAAlC;QACI,KAAK,CAAC;QALH,IAAA,CAAA,YAAY,GAAa;QAO5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA,GAAA,yCAAA,EAAiB,GAAG,KAAK;QAC7C,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC;YAAoC,OAAO,IAAI,CAAC,eAAe,CAAC;QAAS;QAC1G,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA,GAAA,6CAAA,EAAW;YACzB,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC5B,SAAS,GAAG,OAAO;YACnB,SAAS,GAAG,OAAO;YACnB,SAAS,GAAG,OAAO;QACtB;QAED,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAAE,UAAU,IAAI;YAAE,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG;YAAE,SAAS;YAAO,UAAU;YAAM,WAAW;QAAI;IAC3H;IAEA,iBAAA;QACI,OAAO,EAAE;IACb;AAKH;AA9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AC,EAAE,IAAI;YAC3C,IAAI,gBAAgB;YACpB,IAAI,SAAS;YACb,IAAI,MAAM,SAAS,CAAC,EAAE;YAEtB,IAAK,IAAI,IAAI,GAAG,IAAI,IAAI,MAAM,EAAE,IAC5B,MAAM,IAAI,OAAO,CAAC,KAAK;YAG3B,IAAK,IAAI,IAAI,GAAG,IAAI,aAAa,IAC7B,UAAU;YAGd,OAAO,OAAO,SAAS;QAC3B,OACI,OAAO;IAEf;AACH;AAjGa,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAsB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,qCAAA,MAAW,eAAX,CAAA,GAAA,qCAAA,CAAA,MAAA,aAAA,2BAAA;CAAY,EAAA,0CAAA,SAAA,EAAA,eAAA,KAAA;;;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;AF9CjC,MAAO;IAAb,aAAA;QACI,IAAA,CAAA,IAAI,GAAG,CAAA,GAAA,yCAAA,EAAqB,GAAG;IASnC;IAPU,YAAY,EAAsB,EAAlC;Q,O,gC,I,E,K,G,K,G;YACF,MAAM,QAA4B;gBAC9B,SAAS;gBACT,MAAM,IAAI,CAAA,GAAA,yCAAA,EAAS;YACtB;YACD,OAAO,QAAQ,OAAO,CAAC;QAC3B;IAAC;AACJ;;;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;AlBVK,MAAO;IAET,YAAY,oBAAqC,CAAjD;QACI,IAAI,CAAC,I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A,GAAA,gCAAA;IAAqB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,yCAAA,MAAU,eAAV,CAAA,GAAA,yCAAA,CAAA,MAAA,aAAA,2BAAA;CAAW,EAAA,0CAAA,SAAA,EAAA,cAAA,KAAA;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I;AxC5B9B,IAAM,4CAAN,MAAM;IAQT,aAAA;QACI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA,GAAA,qCAAA;QACrB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA,GAAA,yCAAA,EAAU,aAAa,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI;QAC1F,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA,GAAA,yCAAA,EAAU,WAAW,EAAE,CAAC,MAAgB,IAAI,CAAC,WAAW,CAAC;IACtF;IAEa,KAAK,QAA4B,EAAjC;Q,O,gC,I,E,K,G,K,G;YACT,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,OAAO;YACnE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY;YAEpC,IAAI,CAAC,SAAS,WAAW,EAAE;YAE3B,MAAM,SAAS,MAAM,SAAS,WAAW;YACzC,IAAI,CAAC,OAAO,OAAO,EAAE;gBACjB,QAAQ,KAAK,CAAC,wBAAwB,OAAO,OAAO;gBACpD;YACJ;YAEA,MAAM,MAAM,OAAO,IAAI;YACvB,IAAI,CAAC,KAAK;YAEV,MAAM,iBAAkC,EAAE;YAC1C,IAAI,SAAS,kBAAkB,EAAE,eAAe,IAAI,CAAC,SAAS,kBAAkB;YAEhF,MAAM,UAAU,IAAI,CAAA,GAAA,wCAAA,EAAa;YACjC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAM,EAAE,KAAK,GAAG,EAAE,KAAK;YACpC,KAAK,MAAM,MAAM,IAAK;gBAClB,MAAM,MAAM,MAAM,QAAQ,WAAW,CAAC;gBACtC,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,EACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI;YAE9B;YACA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAA,GAAA,yCAAA;QACtB;IAAC;IAEM,UAAU,GAAW,EAArB;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAO,GAAG,EAAE,IAAI;IAChD;IAEO,gBAAgB,GAAqB,EAArC;QACH,IAAI,CAAC,QAAQ,GAAG;QAChB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAO,GAAG,mBAAmB,CAAC;IAC1D;IAEO,sBAAA;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAAM,IAAA;YAAC,OAAA,CAAC,CAAE,CAAA,AAAA,CAAA,KAAA,GAAG,QAAQ,CAAC,aAAa,EAAA,MAAE,QAAA,OAAA,KAAA,IAAA,KAAA,IAAA,GAAE,SAAS,AAAT;QAAU;IACnF;IAEO,SAAS,GAAc,EAAvB;QACH,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;QACvB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;QACnB,IAAI,mBAAmB,CAAC,IAAI,CAAC,QAAQ;QACrC,IAAI,KAAK;IACb;IAEO,YAAY,GAAW,EAAvB;QACH,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAO,GAAG,EAAE,IAAI;QAClD,IAAI,KAAK,GAAG;YACR,MAAM,QAAQ,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YAC1B,MAAM,QAAQ;QAClB;IACJ;IAEc,oBAAoB,IAAkB,EAAtC;Q,O,gC,I,E,K,G,K,G;YACV,OAAO,MAAM,AAAC,IAAI,CAAA,GAAA,yCAAA,IAAuB,kBAAkB,CAAC;QAChE;IAAC;IAEa,0BAA0B,IAAkB,EAA5C;Q,O,gC,I,E,K,G,K,G;YACV,MAAM,QAAQ,MAAM,IAAI,CAAC,mBAAmB,CAAC;YAC7C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG;YAC1B,IAAI,CAAC,YAAY,GAAG;QACxB;IAAC;AACJ;AA3Ea,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAuB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,sCAAA,MAAY,eAAZ,CAAA,GAAA,sCAAA,CAAA,MAAA,aAAA,2BAAA;CAAa,EAAA,0CAAA,SAAA,EAAA,gBAAA,KAAA;AAN5B,4CAAA,iCAAA;IADZ,CAAA,GAAA,iCAAA;I,iC,qB,E;CACY,EAAA;;;;;;;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I,0B,0B,0B,0B;AFmBN,IAAM,4CAAN,MAAM;IAkBT,aAAA;QAgDA,IAAA,CAAA,iBAAiB,GAAG,CAAO,MAA3B,gCAAA,IAAA,EAAA,KAAA,GAAA,KAAA,GAAA;gB,I,I;gBACI,IAAI,c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,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I,0B,0B,0B,0B;AFIN,IAAM,2CAAN,MAAM;IAIT,aAAA;QAkBA,IAAA,CAAA,iBAAiB,GAAG,CAAO,MAA3B,gCAAA,IAAA,EAAA,KAAA,GAAA,KAAA,GAAA;gBACI,IAAI,cAAc;gBAClB,MAAM,KAA8B;oBAChC,OAAO,IAAI,UAAU;oBACrB,OAAO,IAAI,KAAK;gBACnB;gBACD,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,oBAAoB,MAAM;YAC/D;QAxBI,IAAI,CAAC,OAAO,GAAG;IACnB;IAEA,SAAA;QACI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,eAAe,IAAI,CAAC,iBAAiB;QAC5D,IAAI,CAAC,MAAM,GAAG;QACd,OAAO;IACX;IAEA,MAAM,QAAiB,EAAvB;QACI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,eAAe,IAAI,CAAC,iBAAiB;QAC5D,IAAI,CAAC,MAAM,GAAG;IAClB;AAaH;AA7Ba,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAqB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,yCAAA,MAAU,eAAV,CAAA,GAAA,yCAAA,CAAA,MAAA,aAAA,2BAAA;CAAW,EAAA,yCAAA,SAAA,EAAA,cAAA,KAAA;AACvB,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAyB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,wCAAA,MAAc,eAAd,CAAA,GAAA,wCAAA,CAAA,MAAA,aAAA,2BAAA;CAAe,EAAA,y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AK;IACzE;AAGH;AAVa,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAqB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,wCAAA,MAAc,eAAd,CAAA,GAAA,wCAAA,CAAA,MAAA,aAAA,2BAAA;CAAe,EAAA,0CAAA,SAAA,EAAA,cAAA,KAAA;AAF5B,4CAAA,iCAAA;IADZ,CAAA,GAAA,iCAAA,EAAQ;I,iC,qB,E;CACI,EAAA;;;;AzDvXb,4BAAiB;IACf,sBAAsB;IACtB,mBAAmB;IACnB,0BAA0B;IAC1B,mBAAmB;IACnB,uBAAuB;IACvB,mBAAmB;IACnB,eAAe;AACjB;;;;;;;;;;;;;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I;A6DRO,IAAM,4CAAN,MAAM,qBAAqB,CAAA,GAAA,qCAAA;IAI9B,aAAA;QACI,KAAK;QACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA,GAAA,kCAAA,EAAS,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;YACnD,WAAW;gBACP,MAAM;YACT;QACJ;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK;IAC/B;AACH;AAZa,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAuB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,yCAAA,MAAY,eAAZ,CAAA,GAAA,yCAAA,CAAA,MAAA,aAAA,2BAAA;CAAa,EAAA,0CAAA,SAAA,EAAA,gBAAA,KAAA;AAD5B,4CAAA,iCAAA;IADZ,CAAA,GAAA,mCAAA,EAAU;QAAE,aAAa;IAAS;I,iC,qB,E;CACtB,EAAA;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I;AFMN,IAAM,4CAAN,MAAM;IAMT,aAAA;QACI,IAAI,CAAC,OAAO,GAAG;QACf,IAAI,CAAC,MAAM,GAAG;IAClB;IAEA,MAAM,QAAiB,EAAvB;QACI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,kBAC7B,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;aAEjC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YACvB,UAAU;YACV,MAAM;YACN,QAAQ;YACR,SAAS,IAAI,CAAA,GAAA,yCAAA;YACb,WAAW;QACd,GAAE,CAAA,GAAA,kCAAA,EAAS,IAAI;QAEpB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM;IAC9B;AACH;AArBa,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAsB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,qCAAA,MAAW,eAAX,CAAA,GAAA,qCAAA,CAAA,MAAA,aAAA,2BAAA;CAAY,EAAA,0CAAA,SAAA,EAAA,eAAA,KAAA;AAJ1B,4CAAA,iCAAA;IATZ,CAAA,GAAA,iCAAA,EAAQ;QACL,MAAM,CAAA,GAAA,sCAAA,EAAa,OAAO;QAC1B,WAAW,CAAA,GAAA,yCAAA,EAAqB,MAAM;QACtC,KAAK;QACL,OAAO;QACP,OAAO;QACP,OAAO;QACP,WAAW;IACd;I,iC,qB,E;CACY,EAAA;;;;;;;;;;;;;;;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,0B,0B;AMHN,IAA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,GAAA,mCAAA,EAAU;QAAE,aAAa;IAAuB;I,iC,qB;Q;Q;K;CACpC,EAAA;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I;AF/CN,IAAM,4CAAN,MAAM;IAMT,aAAA;QACI,IAAI,CAAC,OAAO,GAAG;QACf,IAAI,CAAC,MAAM,GAAG;IAClB;IAEA,MAAM,QAAiB,EAAvB;QACI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,qBAC7B,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;aAEjC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YACvB,UAAU;YACV,MAAM;YACN,QAAQ;YACR,SAAS,IAAI,CAAA,GAAA,yCAAA,EAAgB;YAC7B,WAAW;QACd,GAAE,CAAA,GAAA,kCAAA,EAAS,IAAI;QAEpB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM;IAC9B;AACH;AArBa,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAsB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,qCAAA,MAAW,eAAX,CAAA,GAAA,qCAAA,CAAA,MAAA,aAAA,2BAAA;CAAY,EAAA,0CAAA,SAAA,EAAA,eAAA,KAAA;AAJ1B,4CAAA,iCAAA;IATZ,CAAA,GAAA,iCAAA,EAAQ;QACL,MAAM,CAAA,GAAA,sCAAA,EAAa,OAAO;QAC1B,WAAW,CAAA,GAAA,yCAAA,EAAqB,MAAM;QACtC,KAAK;QACL,OAAO;QACP,OAAO;QACP,OAAO;QACP,WAAW;IACd;I,iC,qB,E;CACY,EAAA;;;A/DXb,4BAAiB;IACf,2BAA2B;IAC3B,wBAAwB;AAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,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,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,sCAAA,MAAY,eAAZ,CAAA,GAAA,sCAAA,CAAA,MAAA,aAAA,2BAAA;CAAa,EAAA,0CAAA,SAAA,EAAA,gBAAA,KAAA;AAV5B,4CAAA,iCAAA;IADZ,CAAA,GAAA,mCAAA,EAAU;QAAE,aAAa;IAAY;I,iC,qB;Q;K;CACzB,EAAA;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I,0B,0B;ANQb,MAAM,mCAAa;AAMZ,IAAM,4CAAN,MAAM,qBAAqB,CAAA,GAAA,qCAAA;IAA3B,aAAA;Q,K,I;QAEK,IAAA,CAAA,QAAQ,GAAW;QAmFV,IAAA,CAAA,UAAU,GAAG;YAC1B,MAAM,MAAwB;gBAC1B,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS;gBAC3B,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;gBAClC,QAAQ,IAAI,CAAC,IAAI,CAAC,eAAe;YACpC;YACD,aAAa,OAAO,CAAC,kCAAY,KAAK,SAAS,CAAC;YAChD,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;QACtC;IAsBJ;IArGiB,UAAU,QAA4B,EAAtC;Q,O,gC,I,E,K,G,K,G;YAET,MAAM,SAAS,CAAA,GAAA,6BAAA,EAAI,GAAG,CAAC;YACvB,OAAO,gBAAgB,CAAC,eA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ACvB,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAuB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,yCAAA,MAAY,eAAZ,CAAA,GAAA,yCAAA,CAAA,MAAA,aAAA,2BAAA;CAAa,EAAA,0CAAA,SAAA,EAAA,gBAAA,KAAA;AAC3B,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAuB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,sCAAA,MAAY,eAAZ,CAAA,GAAA,sCAAA,CAAA,MAAA,aAAA,2BAAA;CAAa,EAAA,0CAAA,SAAA,EAAA,gBAAA,KAAA;AAN5B,4CAAA,iCAAA;IAJZ,CAAA,GAAA,mCAAA,EAAU;QACP,aAAa;QACb,QAAQ;YAAE,OAAO;YAAQ,QAAQ;YAAQ,UAAU;YAAY,UAAU;YAAU,YAAY;QAAO;IACzG;CACY,EAAA;;;;;;;;;;;;;;;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I,0B,0B;AOdP,MAAgB;IAQL,mBAAmB,QAA4B,EAA/C;Q,O,gC,I,E,K,G,K,G;YACT,CAAA,GAAA,2BAAA;YACA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA,GAAA,yCAAA,EAAU,QAAQ,EAAE,IAA7C,gCAAA,IAAA,EAAA,KAAA,GAAA,KAAA,GAAA;oBACI,IAAI,CAAC,cAAc,CAAC,YAAY;gBACpC;YAEA,MAAM,SAAS,IAAI,CAAC,iBAAiB;YACrC,KAAK,MAAM,OAAO,OACd,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,IAAI,GAAG;YAG/C,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;QACtC;IAAC;IAEO,oBAAA;QACJ,OAAO;YACH;gBACI,KAAK;oBACD,UAAU;oBACV,MAAM;oBACN,QAAQ;oBACR,SAAS,IAAI,CAAC,eAAe;gBAChC;gBACD,KAAK,CAAA,GAAA,kCAAA,EAAS,MAAM;YACvB;SACJ;IACL;IAEQ,kBAAA;QAEJ,MAAM,MAAM,IAAI,CAAA,GAAA,sCAAA,EAAa;QAC7B,IAAI,MAAM,CAAC;YAAE,UAAU;YAAO,SAAS,IAAI,CAAA,GAAA,yCAAA,EAAgB;YAAO,QAAQ;YAAU,MAAM;QAAY;QACtG,IAAI,MAAM,CAAC;YAAE,UAAU;YAAO,SAAS,IAAI,CAAA,GAAA,yCAAA;YAAgB,QAAQ;YAAa,MAAM;QAAY;QAGlG,MAAM,MAAM,CAAA,GAAA,6BAAA,EAAI,GAAG,CAAC,iBAAiB;QAErC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA,GAAA,yCAAA;QACxB,MAAM,MAAM,IAAI,CAAA,GAAA,yCAAA,EAAgB;YAC5B,MAAM,IAAI,CAAC,YAAY;YACvB,MAAM;gBAAE,SAAS;gBAAK,OAAO;gBAAuB,UAAU;YAAI;QACrE;QACD,IAAI,SAAS,CAAC,GAAG,CAAC;QAClB,OAAO;IACX;AACH;AAjDa,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAsB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,qCAAA,MAAW,eAAX,CAAA,GAAA,qCAAA,CAAA,MAAA,aAAA,2BAAA;CAAY,EAAA,0CAAA,SAAA,EAAA,eAAA,KAAA;AACzB,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAuB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,sCAAA,MAAY,eAAZ,CAAA,GAAA,sCAAA,CAAA,MAAA,aAAA,2BAAA;CAAa,EAAA,0CAAA,SAAA,EAAA,gBAAA,KAAA;AAC3B,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAyB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,wCAAA,MAAc,eAAd,CAAA,GAAA,wCAAA,CAAA,MAAA,aAAA,2BAAA;CAAe,EAAA,0CAAA,SAAA,EAAA,kBAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I;AOwBvC,MAAgB,kDAAwE,CAAA,GAAA,yCAAA;IAa1F,YAAY,EAAK,CAAjB;QACI,KAAK,CAAC;QAZV,IAAA,CAAA,YAAY,GAAU;QAOd,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,OAAO;IAMrC;IAEa,eAAA;Q,M,S,O,M,C,M;Y,c;gB,K,I,K,C;Y;Q;Q,O,gC,I,E,K,G,K,G;YACT,MAAM,OAAM,YAAY,CAAA,IAAA,CAAA,IAAA;YACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY;YAE/B,OAAO;QACX;IAAC;IAEM,QAAQ,QAAiB,KAAK,EAA9B;QACH,IAAI,OAAO;YACP,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,OAAO;YAClC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS;QAChD;QACA,IAAI,CAAC,MAAM,CAAC,OAAO;IACvB;IAEO,MAAM,OAAuB,EAA7B;QA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","sources":["src/index.ts","src/*.js","src/tools/ribbon-general/basemap.command.ts","../../src/tools/ribbon-general/basemap.command.ts","src/gis.enums.ts","src/tools/ribbon-general/default.tool.ts","../../src/tools/ribbon-general/default.tool.ts","src/managers/layer.manager.ts","../src/managers/layer.manager.ts","src/layers/factory/tilexyz.layerfactory.ts","../../src/layers/factory/tilexyz.layerfactory.ts","src/layers/tilexyz.layer.ts","../src/layers/tilexyz.layer.ts","src/layers/maplayer.base.ts","../src/layers/maplayer.base.ts","src/layers/factory/layer-creator.ts","../../src/layers/factory/layer-creator.ts","src/layers/factory/ags.mapservice.layerfactory.ts","../../src/layers/factory/ags.mapservice.layerfactory.ts","src/layers/ags.mapservice.layer.ts","../src/layers/ags.mapservice.layer.ts","src/components/ags.attributetable.component.ts","../src/components/ags.attributetable.component.ts","../../../src/data/protocols/ags/apitypes.ags.service.ts","src/data/protocols/ags/apitypes.ags.service.ts","../../../src/data/protocols/ags/apitypes.ags.geometry.ts","src/data/protocols/ags/apitypes.ags.geometry.ts","src/helpers/tabulator.helper.ts","../src/helpers/tabulator.helper.ts","src/helpers/ol.geom.helper.ts","../src/helpers/ol.geom.helper.ts","src/data/channels/ags.mapservice.channel.ts","../../src/data/channels/ags.mapservice.channel.ts","src/layers/factory/wms.layerfactory.ts","../../src/layers/factory/wms.layerfactory.ts","src/layers/wms.layer.base.ts","../src/layers/wms.layer.base.ts","src/managers/map.manager.ts","../src/managers/map.manager.ts","src/layers/factory/symbology.factory.ts","../../src/layers/factory/symbology.factory.ts","src/helpers/ol.extensions.ts","../src/helpers/ol.extensions.ts","src/components/feature.contextmenu.component.ts","../src/components/feature.contextmenu.component.ts","src/data/channels/geoserver.channel.ts","../../src/data/channels/geoserver.channel.ts","src/layers/flash.layer.ts","../src/layers/flash.layer.ts","src/tools/ribbon-general/full-screen.command.ts","../../src/tools/ribbon-general/full-screen.command.ts","src/tools/ribbon-general/goto.command.ts","../../src/tools/ribbon-general/goto.command.ts","src/tools/ribbon-general/identify.command.ts","../../src/tools/ribbon-general/identify.command.ts","src/components/identify-results.component.ts","../src/components/identify-results.component.ts","src/tools/ribbon-general/measure.tool.ts","../../src/tools/ribbon-general/measure.tool.ts","src/tools/ribbon-view/sh-layerlist.command.ts","../../src/tools/ribbon-view/sh-layerlist.command.ts","src/components/toc.components.ts","../src/components/toc.components.ts","src/tools/ribbon-view/sh-legend.command.ts","../../src/tools/ribbon-view/sh-legend.command.ts","src/components/legend.component.ts","../src/components/legend.component.ts","src/components/map.component.ts","../src/components/map.component.ts","src/components/map-bar.component.ts","../src/components/map-bar.component.ts","src/components/minimap.component.ts","../src/components/minimap.component.ts","src/components/map-search.component.ts","../src/components/map-search.component.ts","src/gisapp.service.ts","src/style.types.ts","../src/layers/layers.definitions.ts","src/layers/layers.definitions.ts","../src/layers/layers.types.ts","src/layers/layers.types.ts","src/layers/mvt.layer.base.ts","../src/layers/mvt.layer.base.ts","src/layers/group.layer.base.ts","../src/layers/group.layer.base.ts","src/helpers/ol.style.helper.ts","../src/helpers/ol.style.helper.ts","src/search.types.ts","src/types.ts"],"sourcesContent":["import './tools/ribbon-general/*'\nimport './tools/ribbon-view/*'\n\nexport * from './components/map.component';\nexport * from './components/legend.component';\nexport * from './components/toc.components';\n\nexport * from './managers/map.manager';\nexport * from './managers/layer.manager';\n\nexport * from './gisapp.service';\n\nexport * from './layers/factory/symbology.factory';\nexport * from './layers/ags.mapservice.layer';\nexport * from './layers/flash.layer';\nexport * from './style.types';\nexport * from './layers/layers.definitions';\nexport * from './layers/layers.types';\nexport * from './layers/maplayer.base';\nexport * from './layers/mvt.layer.base';\nexport * from './layers/tilexyz.layer';\nexport * from './layers/wms.layer.base';\nexport * from './layers/group.layer.base';\n\nexport * from './data/channels/ags.mapservice.channel';\nexport * from './data/channels/geoserver.channel';\n\nexport * from './helpers/ol.extensions';\nexport * from './helpers/ol.geom.helper';\nexport * from './helpers/ol.style.helper';\n\nexport * from './gis.enums';\nexport * from './search.types';\nexport * from './types';","const _temp0 = require(\"./tools/ribbon-view/sh-layerlist.command.ts\");\nconst _temp1 = require(\"./tools/ribbon-view/sh-legend.command.ts\");\nmodule.exports = {\n \"sh-layerlist.command.ts\": _temp0,\n \"sh-legend.command.ts\": _temp1\n}","import { BaseMapTypes, GisCommandContainers, GisEvents } from \"../../gis.enums\";\nimport { Command, CommandTypes, EventService, ICommand, ILookup, Inject } from \"@yesilyazilim/web.spa\";\n\nconst basemaps: ILookup[] = [\n { key: BaseMapTypes.GoogleSatellite, title: 'Google Uydu' },\n { key: BaseMapTypes.GoogleRoad, title: 'Google Yol' },\n { key: BaseMapTypes.EsriGrayDark, title: 'Esri Koyu' },\n { key: BaseMapTypes.EsriGrayLight, title: 'Esri Açık' },\n { key: BaseMapTypes.EsriTopo, title: 'Esri Topo' },\n { key: BaseMapTypes.Solid, title: 'Gri' },\n]\n\n@Command({\n type: CommandTypes.Select,\n key: 'basemaps',\n group: 'mg-general-map',\n title: 'Altlık Harita',\n order: 2,\n container: GisCommandContainers.ribbon,\n selectItems: basemaps\n})\nexport class BaseMapCommand implements ICommand {\n @Inject() eventService: EventService;\n\n constructor() {\n this.enabled = true;\n }\n start(childKey?: string): void {\n this.eventService.raise(GisEvents.BasemapChange, childKey);\n }\n enabled: boolean;\n active: boolean;\n}\n",null,"export enum BaseMapTypes {\n GoogleRoad = 'GoogleRoad',\n GoogleSatellite = 'GoogleSatellite',\n EsriGrayLight = 'EsriGrayLight',\n EsriGrayDark = 'EsriGrayDark',\n EsriTopo = 'EsriTopo',\n Osm = 'Osm',\n Solid = 'Solid'\n}\n\nexport enum GisEvents {\n BasemapChange = \"BasemapChange\",\n MapReady = \"MapReady\",\n MapGotoExtentRequest = 'MapGotoExtentRequest',\n MapFlashGeomRequest = 'MapFlashGeomRequest',\n MapIdentifyRequest = 'MapIdentifyRequest',\n MapSelectionChanged = 'MapSelectionChanged',\n MapInteractionContextChanged = 'MapInteractionContextChanged',\n MapSelectionContextChanged = 'MapSelectionContextChanged',\n DisableAnimations = 'DisableAnimations',\n RemoveLayer = 'RemoveLayer',\n MapTimeChanged = 'MapTimeChanged',\n}\n\nexport enum LayerDefinitionTypes {\n EsriMapService = 'EsriMapService',\n WMS = 'WMS',\n TileXyz = 'TileXyz',\n Custom = 'Custom',\n Group = 'Group',\n}\n\nexport enum GisCommandContainers {\n ribbon = 'ribbon',\n mapCtx = 'map-ctx'\n}\n","import './styles.less';\n\nimport { Application, Command, CommandService, CommandTypes, EventService, ITool, Inject } from \"@yesilyazilim/web.spa\";\n\nimport MapBrowserEvent from \"ol/MapBrowserEvent\";\nimport { Coordinate } from \"ol/coordinate\";\nimport { GisCommandContainers, GisEvents } from \"../../gis.enums\";\nimport { LayerManager } from \"../../managers/layer.manager\";\nimport { MapManager } from \"../../managers/map.manager\";\nimport { IFeatureLayer, IImageLayer, IMapLayer, IMvtLayer } from \"../../layers/layers.types\";\nimport Feature, { FeatureLike } from \"ol/Feature\";\nimport { Layer } from \"ol/layer\";\nimport { getLayerProps } from \"../../helpers/ol.extensions\";\nimport { IFeatureCmItem, IMapInteractionContext, IMapSelectionContext, MapContextMenuCommandProperties, MapContextMenuStartArgs, SelectedMapItem } from \"../../types\";\nimport VectorSource from \"ol/source/Vector\";\nimport VectorLayer from \"ol/layer/Vector\";\nimport { Draw } from \"ol/interaction\";\nimport { shiftKeyOnly } from \"ol/events/condition\";\nimport { Geometry } from 'ol/geom';\n\n@Command({\n type: CommandTypes.Tool,\n container: GisCommandContainers.ribbon,\n key: 'pan',\n group: 'mg-general-map',\n title: 'Kaydır',\n iconClass: 'bi bi-cursor-fill',\n order: 1\n})\nexport class DefaultTool implements ITool {\n enabled: boolean;\n active: boolean;\n\n @Inject() mapManager: MapManager;\n @Inject() application: Application;\n @Inject() layerManager: LayerManager;\n @Inject() commandService: CommandService;\n @Inject() eventService: EventService;\n\n private _InteractionContext: IMapInteractionContext;\n private _SelectionContext?: IMapSelectionContext;\n\n private readonly _drawSource: VectorSource;\n private readonly _drawLayer: VectorLayer;\n private _drawInteraction: Draw;\n private _lastClickCoord: Coordinate;\n\n constructor() {\n this.enabled = true;\n this.active = false;\n\n this._drawSource = new VectorSource({ wrapX: false });\n this._drawLayer = new VectorLayer({\n source: this._drawSource,\n zIndex: 99999\n });\n }\n\n cancel(): boolean {\n this.eventService.forgot(GisEvents.MapInteractionContextChanged, this._onIntContextChanged);\n\n this.mapManager.map.getViewport().removeEventListener('contextmenu', this._onMapRightClick);\n this.mapManager.map.un('click', this._onMapSingleClick);\n this.active = false;\n return true;\n }\n\n start(childKey?: string, context?: IMapSelectionContext): void {\n\n this._SelectionContext = context || this._getDefaultSelectionContext();\n\n if (this._SelectionContext.mode == 'single') {\n this.eventService.listen(GisEvents.MapInteractionContextChanged, this._onIntContextChanged);\n\n this.mapManager.map.on('click', this._onMapSingleClick);\n this.mapManager.map.getViewport().addEventListener('contextmenu', this._onMapRightClick);\n } else {\n if (!this._drawLayer.getMapInternal()) {\n this.mapManager.map.addLayer(this._drawLayer);\n }\n this._drawInteraction = new Draw({\n type: 'Polygon',\n freehand: true,\n freehandCondition: shiftKeyOnly,\n source: this._drawSource\n });\n\n this._drawInteraction.once('drawend', (ev) => {\n\n });\n }\n\n this.active = true;\n }\n\n _onMapSingleClick = async (evt: MapBrowserEvent<PointerEvent>) => {\n evt.preventDefault();\n\n this._lastClickCoord = evt.coordinate;\n this.mapManager.showPopup(null, null);\n\n if (this._SelectionContext.makeSelected) {\n this.mapManager.setSelectedFeatures(null);\n }\n\n const item = await this.mapManager.getOneFeatureAt(evt.pixel, {\n menux: evt.originalEvent.pageX, menuy: evt.originalEvent.pageY,\n hitTolerance: 4,\n layerFilter: this._SelectionContext?.layerFilter,\n featureFilter: this._SelectionContext?.featureFilter\n });\n\n if (item && this._SelectionContext.makeSelected) {\n const dict = new Map<IMapLayer, (FeatureLike | Feature<Geometry>)[]>();\n dict.set(item.mapLayer, [item.feature]);\n this.mapManager.setSelectedFeatures(dict);\n }\n this._SelectionContext.completeWork(item ? [item] : []);\n }\n\n _onMapRightClick = async (ev: MouseEvent) => {\n ev.preventDefault();\n if (!this._SelectionContext.contextMenuContainer) return;\n\n this.mapManager.showPopup(null, null);\n\n const layerFilter = (lyr: Layer) => {\n const lm = getLayerProps(lyr)?.mapLayer;\n return lm && lyr.getVisible();\n };\n const pixel = this.mapManager.map.getEventPixel(ev);\n const coord = this.mapManager.map.getEventCoordinate(ev);\n const item = await this.mapManager.getOneFeatureAt(pixel, {\n menux: ev.pageX, menuy: ev.pageY,\n hitTolerance: 4,\n layerFilter\n });\n\n const sa: MapContextMenuStartArgs = {\n coord,\n pixel,\n ci: item,\n context: this._InteractionContext\n };\n\n const commandInfos: IFeatureCmItem[] = [];\n const cmdProps = this.commandService.getCommandsFor(this._SelectionContext.contextMenuContainer, this.mapManager.commandDisplayer) as MapContextMenuCommandProperties[];\n for (const cmdProp of cmdProps) {\n if (cmdProp.canExecuteFor?.(sa)) {\n commandInfos.push(cmdProp);\n }\n }\n\n if (commandInfos.length == 0) return;\n\n this.mapManager.showContextMenuAt(ev.pageX, ev.pageY, commandInfos, (action: 'click' | 'enter' | 'leave', mcp: MapContextMenuCommandProperties) => {\n if (action === 'click') {\n this.commandService.startCommand(mcp.key, null, sa);\n }\n }, false);\n }\n\n private async _displayFeaturePopup(item: SelectedMapItem, coords: Coordinate) {\n\n const remLayer = item.mapLayer as IFeatureLayer | IMvtLayer | IImageLayer;\n\n if (remLayer && remLayer.generatePopupItemsAsync) {\n if (!['remote', 'feature', 'mvt'].includes(item.mapLayer.identifyType)) return;\n const items = await remLayer.generatePopupItemsAsync(item.feature);\n if (!(items && items.length > 0)) return\n const content = items[0];\n if (content.panelPos) {\n this.application.openPanel({\n header: content.title,\n closable: true,\n name: remLayer.id + '-' + item.feature.getId(),\n content: content.element,\n draggable: true\n }, content.panelPos);\n } else {\n this.mapManager.showPopup(coords, content.element);\n }\n }\n }\n\n private readonly _onIntContextChanged = (context: IMapInteractionContext) => {\n this._InteractionContext = context;\n }\n\n private _getDefaultSelectionContext(): IMapSelectionContext {\n return {\n mode: 'single',\n contextMenuContainer: GisCommandContainers.mapCtx,\n makeSelected: true,\n layerFilter: (lyr: Layer) => {\n const lm = getLayerProps(lyr)?.mapLayer;\n return lm && lyr.getVisible()\n },\n completeWork: (items: SelectedMapItem[]) => {\n if (items?.length > 0) {\n const item = items[0];\n this._displayFeaturePopup(item, this._lastClickCoord);\n }\n }\n }\n }\n}\n",null,"import { EventService, IndexedList, Inject, Service } from \"@yesilyazilim/web.spa\";\nimport { BaseMapTypes, GisEvents } from \"../gis.enums\";\n\nimport { TileXyzLayerFactory } from \"../layers/factory/tilexyz.layerfactory\";\nimport { ILayerFactory, IMapLayer } from \"../layers/layers.types\";\nimport { LayerCreator } from \"../layers/factory/layer-creator\";\nimport { FlashLayer } from \"../layers/flash.layer\";\nimport { ILayerManager, LastViewLocation, MapStartupSettings } from \"../types\";\n\n@Service()\nexport class LayerManager implements ILayerManager {\n public basemapLayer: IMapLayer;\n public layerList: IndexedList<IMapLayer>;\n\n private _lastLoc: LastViewLocation;\n\n @Inject() eventService: EventService;\n\n constructor() {\n this.layerList = new IndexedList<IMapLayer>();\n this.eventService.listen(GisEvents.BasemapChange, this._onBasemapChangeRequested.bind(this));\n this.eventService.listen(GisEvents.RemoveLayer, (key: string) => this.removeLayer(key));\n }\n\n public async init(settings: MapStartupSettings) {\n this.basemapLayer = await this._createBaseMapLayer(settings.baseMap);\n this.layerList.add(this.basemapLayer);\n\n if (!settings.layerLoader) return;\n\n const lyrRes = await settings.layerLoader();\n if (!lyrRes.success) {\n console.error('Layer load error > ' + lyrRes.message);\n return;\n }\n\n const lds = lyrRes.data;\n if (!lds) return;\n\n const layerFactories: ILayerFactory[] = [];\n if (settings.customLayerFactory) layerFactories.push(settings.customLayerFactory);\n\n const creator = new LayerCreator(layerFactories);\n lds.sort((a, b) => a.order - b.order);\n for (const ld of lds) {\n const res = await creator.createAsync(ld);\n if (res.success && res.data) {\n this.addLayer(res.data);\n }\n }\n this.addLayer(new FlashLayer());\n }\n\n public findLayer(key: string): IMapLayer {\n return this.layerList.find((ml) => ml.id == key);\n }\n\n public onExtentChanged(loc: LastViewLocation) {\n this._lastLoc = loc;\n this.layerList.forEach((ml) => ml.onViewExtentChanged(loc));\n }\n\n public getSelectableLayers(): IMapLayer[] {\n return this.layerList.filter((ml) => !!(ml.layerObj.getProperties()?.canSelect));\n }\n\n public addLayer(lyr: IMapLayer) {\n this.removeLayer(lyr.id);\n this.layerList.add(lyr);\n lyr.onViewExtentChanged(this._lastLoc);\n lyr.onAdd();\n }\n\n public removeLayer(key: string) {\n const id = this.layerList.findId((ml) => ml.id == key);\n if (id > 0) {\n const layer = this.layerList.getValueById(id);\n this.layerList.removeById(id);\n layer.onRemove();\n }\n }\n\n private async _createBaseMapLayer(type: BaseMapTypes): Promise<IMapLayer> {\n return await (new TileXyzLayerFactory()).createBaseMapAsync(type);\n }\n\n private async _onBasemapChangeRequested(type: BaseMapTypes): Promise<void> {\n const layer = await this._createBaseMapLayer(type);\n this.layerList.setById(1, layer);\n this.basemapLayer = layer;\n }\n}\n",null,"import type { LayerDefinitionTileXyz } from \"../layers.definitions\";\nimport type { ILayerFactory, LayerLegendSymbolInfo } from \"../layers.types\";\n\nimport { AsyncOpResult, OpResult } from \"@yesilyazilim/web.spa\";\nimport TileLayer from \"ol/layer/Tile\";\nimport { XYZ } from \"ol/source\";\nimport { BaseMapTypes, LayerDefinitionTypes } from \"../../gis.enums\";\nimport { TileXyzLayer } from \"../tilexyz.layer\";\nimport ImageTileSource from \"ol/source/ImageTile\";\n\nexport class TileXyzLayerFactory implements ILayerFactory {\n\n type = LayerDefinitionTypes.TileXyz;\n\n async createAsync(ld: LayerDefinitionTileXyz): AsyncOpResult<TileXyzLayer> {\n const opres: OpResult<TileXyzLayer> = {\n success: false\n };\n try {\n opres.data = this._createFromLayerDef(ld);\n opres.success = true;\n } catch (err) {\n opres.message = err;\n }\n return opres;\n }\n\n private _createFromLayerDef(ld: LayerDefinitionTileXyz): TileXyzLayer {\n const layerObj = new TileLayer<XYZ>({\n visible: ld.visible,\n // maxZoom: ld.maxZoom || 22,\n // minZoom: ld.minZoom || 0,\n opacity: 0.6,\n source: new XYZ({\n tilePixelRatio: 1,\n interpolate: false,\n url: ld.props.urlScheme,\n crossOrigin: 'anonymous',\n maxZoom: ld.maxZoom || 22,\n minZoom: ld.minZoom || 0\n })\n });\n\n if (ld.order) {\n layerObj.setZIndex(ld.order);\n }\n\n const lt = ld.props.legendTiles || [0, 0, 0];\n\n let legUrl = ld.props.urlScheme.replace('{x}', lt[0].toString()).replace('{y}', lt[1].toString()).replace('{z}', lt[2].toString());\n const img = document.createElement('img');\n img.src = legUrl;\n img.crossOrigin = 'anonymous';\n\n const leg: LayerLegendSymbolInfo = {\n layerId: ld.key,\n title: ld.title,\n rows: [{ elm: img }]\n };\n\n return new TileXyzLayer(ld, [leg], layerObj);\n }\n\n private _createFromSolidColor(color: string, title: string) {\n\n const ld: LayerDefinitionTileXyz = {\n key: 'basemap',\n order: 0,\n title: title,\n type: LayerDefinitionTypes.TileXyz,\n visible: true,\n props: null\n }\n\n const canvas = this._createCanvas(color, 256);\n const layerObj = new TileLayer<ImageTileSource>({\n visible: ld.visible,\n opacity: 0.6,\n source: new ImageTileSource({\n loader: function () {\n return canvas;\n }\n })\n });\n\n layerObj.setZIndex(0);\n\n const leg: LayerLegendSymbolInfo = {\n layerId: ld.key,\n title: ld.title,\n rows: [{ elm: this._createCanvas(color, 32) }]\n };\n\n return new TileXyzLayer(ld, [leg], layerObj);\n }\n\n async createBaseMapAsync(type: BaseMapTypes): Promise<TileXyzLayer> {\n let layer: TileXyzLayer = null;\n switch (type) {\n case BaseMapTypes.GoogleRoad:\n layer = this._createFromLayerDef({\n key: 'basemap',\n order: 0,\n title: 'Google Yol',\n visible: true,\n type: LayerDefinitionTypes.TileXyz,\n maxZoom: 22,\n minZoom: 0,\n props: {\n urlScheme: 'https://mt1.google.com/vt/lyrs=m@113&hl=en&&x={x}&y={y}&z={z}',\n legendTiles: [0, 0, 0],\n useProxy: false,\n reverseY: false\n }\n });\n break;\n case BaseMapTypes.GoogleSatellite:\n layer = this._createFromLayerDef({\n key: 'basemap',\n order: 0,\n title: 'Google Uydu',\n visible: true,\n type: LayerDefinitionTypes.TileXyz,\n maxZoom: 22,\n minZoom: 0,\n props: {\n urlScheme: 'https://mt0.google.com/vt/lyrs=y&hl=en&x={x}&y={y}&z={z}&s=Ga',\n legendTiles: [0, 0, 0],\n useProxy: false,\n reverseY: false\n }\n });\n break;\n case BaseMapTypes.EsriGrayDark:\n layer = this._createFromLayerDef({\n key: 'basemap',\n order: 0,\n title: 'Esri Koyu',\n visible: true,\n type: LayerDefinitionTypes.TileXyz,\n maxZoom: 16,\n minZoom: 0,\n props: {\n urlScheme: 'https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Dark_Gray_Base/MapServer/tile/{z}/{y}/{x}',\n legendTiles: [0, 0, 0],\n useProxy: false,\n reverseY: false\n }\n });\n break;\n case BaseMapTypes.EsriGrayLight:\n layer = this._createFromLayerDef({\n key: 'basemap',\n order: 0,\n title: 'Esri Açık',\n visible: true,\n type: LayerDefinitionTypes.TileXyz,\n maxZoom: 16,\n minZoom: 0,\n props: {\n urlScheme: 'https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer/tile/{z}/{y}/{x}',\n legendTiles: [0, 0, 0],\n useProxy: false,\n reverseY: false\n }\n });\n break;\n case BaseMapTypes.EsriTopo:\n layer = this._createFromLayerDef({\n key: 'basemap',\n order: 0,\n title: 'Esri Açık',\n visible: true,\n type: LayerDefinitionTypes.TileXyz,\n maxZoom: 19,\n minZoom: 0,\n props: {\n urlScheme: 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/{z}/{y}/{x}',\n legendTiles: [0, 0, 0],\n useProxy: false,\n reverseY: false\n }\n });\n break;\n case BaseMapTypes.Solid:\n layer = this._createFromSolidColor('rgb(106, 114, 130)', 'Gri');\n break;\n default:\n throw Error(\"Invalid basemap type : \" + type);\n }\n layer.layerObj.setZIndex(0);\n\n await layer.prepareAsync();\n return layer;\n }\n\n _createCanvas(color: string, size: number) {\n const canvas = document.createElement('canvas');\n canvas.width = size;\n canvas.height = size;\n const ctx = canvas.getContext(\"2d\");\n ctx.fillStyle = color;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n return canvas;\n }\n}\n",null,"import ImageTileSource from \"ol/source/ImageTile\";\nimport { LayerDefinitionTileXyz } from \"./layers.definitions\";\nimport { LayerLegendSymbolInfo, IdentifyType } from \"./layers.types\";\nimport { MapLayerBase } from \"./maplayer.base\";\nimport TileLayer from \"ol/layer/Tile\";\nimport XYZ from \"ol/source/XYZ\";\n\nexport class TileXyzLayer extends MapLayerBase<TileLayer<XYZ | ImageTileSource>, LayerDefinitionTileXyz> {\n\n identifyType: 'none' = 'none';\n\n constructor(ld: LayerDefinitionTileXyz, private readonly _legendInfos: LayerLegendSymbolInfo[], layer: TileLayer<XYZ | ImageTileSource>) {\n super(ld);\n this._layer = layer;\n layer.setProperties({ mapLayer: this, name: this._definition.key, canEdit: false, canFlash: false, canSelect: false });\n }\n\n getLegendInfos(): LayerLegendSymbolInfo[] {\n return this._legendInfos;\n }\n}",null,"import { DisplayClasses, ELF, Eventer, EventService, IconClass, IKeyedButtonInfo, Inject, ISimpleArray, TreeItemActionInfo } from \"@yesilyazilim/web.spa\";\nimport { ILayer, IMapLayer, LayerLegendSymbolInfo, IdentifyType, MainLayerType } from \"./layers.types\";\nimport { LayerDefinitionBase } from \"./layers.definitions\";\nimport { LastViewLocation } from \"../types\";\nimport { GisEvents } from \"../gis.enums\";\n\nexport abstract class MapLayerBase<T extends MainLayerType = MainLayerType, P extends LayerDefinitionBase = LayerDefinitionBase> implements IMapLayer<T> {\n\n private _passive: boolean = false;\n private _displayClass: DisplayClasses = null;\n private _disposeController: AbortController | null = null;\n\n protected _canIdentify: boolean = false;\n protected _layer: T | null = null;\n protected _actions: TreeItemActionInfo[];\n protected _lastViewLocation: LastViewLocation;\n protected _currentTime: number = 0;\n\n identifyType: IdentifyType;\n factoryType: string;\n hasError: boolean;\n hidden?: boolean;\n icon?: HTMLElement;\n children?: ISimpleArray<ILayer>;\n propsChanged?: Eventer<{ key: string; value: any; }, void> = new Eventer();\n actionPropChanged?: Eventer<{ action: TreeItemActionInfo; key: string; value: any; }, void> = new Eventer();\n\n @Inject() eventService: EventService;\n\n public get id(): string { return this._definition.key; }\n public get title(): string { return this._definition.title; }\n public get checked(): boolean { return this.layerObj?.getVisible(); }\n public get order(): number { return this._layer?.getZIndex(); }\n public get actions(): TreeItemActionInfo[] { return this._actions; }\n public get layerObj(): T { return this._layer; }\n public get definition(): P { return this._definition; }\n public get displayClass(): DisplayClasses { return this._displayClass; }\n public get passive(): boolean { return this._passive; }\n public get hasMapLayer(): boolean { return true };\n\n public set checked(value: boolean) { this.layerObj?.setVisible(value); }\n public set order(value: number) { this._layer?.setZIndex(value); }\n public set actions(value: TreeItemActionInfo[]) { this._actions = value; }\n\n\n constructor(protected _definition: P) {\n this._actions = [];\n this.factoryType = _definition.type;\n if (_definition.historyEnabled) {\n this.eventService.listen(GisEvents.MapTimeChanged, (time: number) => {\n if (time != this._currentTime) {\n this._currentTime = time;\n this.onTimeChanged();\n }\n }, this.disposeSignal);\n }\n }\n\n onViewExtentChanged(loc: LastViewLocation) {\n this._lastViewLocation = loc;\n const minZoom = this._definition.minZoom || 0;\n const maxZoom = this._definition.maxZoom || 30;\n this.passive = !(loc.zoom > minZoom && loc.zoom < maxZoom);\n }\n\n\n onAction?(id: string) {\n if (id == 'delete') {\n this.eventService.raise(GisEvents.RemoveLayer, this._definition.key);\n }\n }\n\n abstract getLegendInfos(): LayerLegendSymbolInfo[];\n\n public async prepareAsync(): Promise<boolean> {\n if (this._definition.canRemove) { this._actions.push(this._createRemoveAction()) }\n this._actions.push(this._createOpacitySliderAction());\n return Promise.resolve(true);\n }\n\n public onAdd(): void {\n\n }\n\n public onRemove(): void {\n if (this._disposeController) {\n this._disposeController.abort();\n this._disposeController = null;\n }\n }\n\n public setError(message: string) {\n this.hasError = true;\n this.displayClass = 'danger';\n const errBtn: IKeyedButtonInfo = {\n key: 'error',\n iconClass: 'bi bi-exclamation-circle-fill danger',\n tootip: message,\n };\n this._actions = [errBtn];\n }\n\n public set displayClass(value: DisplayClasses) {\n if (value != this._displayClass) {\n this._displayClass = value;\n this.propsChanged.raise({ key: 'displayClass', value });\n }\n }\n\n public set passive(value: boolean) {\n if (value != this._passive) {\n this._passive = value;\n this.propsChanged.raise({ key: 'passive', value });\n }\n }\n\n public get disposeSignal(): AbortSignal {\n if (this._disposeController) return this._disposeController.signal;\n this._disposeController = new AbortController();\n return this._disposeController.signal;\n }\n\n protected onTimeChanged() { }\n\n private _createOpacitySliderAction() {\n\n let value = \"100\";\n if (this._layer) {\n value = (this._layer.getOpacity() * 100).toString();\n }\n\n const opacityInput = ELF.build({\n tag: \"input\",\n attrs: { type: \"range\", min: \"20\", max: \"100\", value: value, step: \"20\", title: \"Opaklık\" },\n styles: { width: \"70px\" }\n }) as HTMLInputElement;\n opacityInput.addEventListener(\"input\", (ev: Event) => {\n const inp = ev.target as HTMLInputElement;\n const num = parseFloat(inp.value) / 100;\n this.layerObj.setOpacity(num);\n });\n\n return opacityInput;\n }\n\n private _createRemoveAction(): IKeyedButtonInfo {\n return {\n key: 'delete',\n iconClass: IconClass.delete,\n tootip: 'Sil'\n }\n }\n\n\n}",null,"import { AsyncOpResult } from \"@yesilyazilim/web.spa\";\nimport { LayerDefinition } from \"../layers.definitions\";\nimport { ILayerFactory, IMapLayer } from \"../layers.types\";\nimport { AgsMapServiceLayerFactory } from \"./ags.mapservice.layerfactory\";\nimport { WmsLayerFactory } from \"./wms.layerfactory\";\n\nexport class LayerCreator {\n private readonly _map: Map<string, ILayerFactory>;\n constructor(customLayerFactories: ILayerFactory[]) {\n this._map = new Map();\n this._register(new AgsMapServiceLayerFactory());\n this._register(new WmsLayerFactory());\n for (const lf of customLayerFactories) {\n this._register(lf);\n }\n }\n\n async createAsync(ld: LayerDefinition): AsyncOpResult<IMapLayer> {\n const lf = this._map.get(ld.type);\n if (!lf) return Promise.resolve({\n success: false,\n message: 'LayerFactory type not registered > ' + ld.type\n });\n\n const res = await lf.createAsync(ld);\n\n if (res.success && res.data) {\n if (await res.data.prepareAsync()) return res;\n return {\n success: false,\n message: 'Layer Prepare error > ' + ld.key\n }\n }\n\n return res;\n }\n\n private _register(lf: ILayerFactory) {\n this._map.set(lf.type, lf);\n }\n}",null,"import { ImageArcGISRest, TileArcGISRest } from \"ol/source\";\nimport { AgsMapServiceImageLayer, AgsMapServiceSubLayer, AgsMapServiceTileLayer, SubLayerCapabilities } from \"../ags.mapservice.layer\";\nimport { LayerDefinitionEsriMapService } from \"../layers.definitions\";\nimport type { ILayerFactory } from \"../layers.types\";\n\nimport { AsyncOpResult, List, OpResult } from \"@yesilyazilim/web.spa\";\nimport type { ImageTile, ImageWrapper } from \"ol\";\nimport ImageLayer from \"ol/layer/Image\";\nimport TileLayer from \"ol/layer/Tile\";\nimport { LayerDefinitionTypes } from \"../../gis.enums\";\nimport { OlGeomHelper } from \"../../helpers/ol.geom.helper\";\nimport { AgsMapServiceChannel } from \"../../data/channels/ags.mapservice.channel\";\n\ntype AgsMapServiceLayerOptions = {\n maxZoom?: number,\n maxResolution?: number,\n minZoom?: number,\n minResolution?: number,\n zIndex?: number,\n properties?: { [x: string]: any; },\n extent?: number[], //[minx, miny, maxx, maxy]\n visible?: boolean,\n}\n\ntype AgsMapServiceImageLayerOptions = AgsMapServiceLayerOptions & {\n source: ImageArcGISRest,\n}\n\ntype AgsMapServiceTileLayerOptions = AgsMapServiceLayerOptions & {\n source: TileArcGISRest,\n}\n\ntype AgsServiceLayer = AgsMapServiceImageLayer | AgsMapServiceTileLayer;\n\nexport class AgsMapServiceLayerFactory implements ILayerFactory {\n type = LayerDefinitionTypes.EsriMapService;\n\n async createAsync(ld: LayerDefinitionEsriMapService): AsyncOpResult<AgsServiceLayer> {\n const opres: OpResult<AgsServiceLayer> = {\n success: false\n };\n try {\n let errMessage: string = null;\n\n const opt: AgsMapServiceLayerOptions = {\n //minResolution: srvInfo.minScale,\n //maxResolution: srvInfo.maxScale,\n visible: !!(ld.visible),\n properties: {},\n }\n\n const channel = new AgsMapServiceChannel(ld.props);\n const r1 = await channel.connectAsync();\n if (!r1.success) {\n errMessage = r1.message;\n } else {\n const fullExtent = channel.serviceInfo.fullExtent;\n if (fullExtent) {\n const ext = OlGeomHelper.esriExtentAsWGS84(fullExtent);\n if (ext) {\n opt.extent = ext;\n }\n }\n }\n\n let layer: AgsServiceLayer;\n const layerUrl = channel.getUrlClean();\n\n if (ld.props.tiled) {\n const loadFunction = async (tile: ImageTile, url: string) => {\n //(tile.getImage() as HTMLImageElement).src = '/proxy?' + url;\n const obj = await channel.getImageData(url);\n if (obj) (tile.getImage() as HTMLImageElement).src = obj;\n }\n const source = new TileArcGISRest({ url: layerUrl, tileLoadFunction: ld.props.useProxy ? loadFunction : null });\n const opt1: AgsMapServiceTileLayerOptions = Object.assign(opt, { source });\n const lyrObj = channel.ok ? new TileLayer<TileArcGISRest>(opt1) : null;\n layer = new AgsMapServiceTileLayer(ld, channel, lyrObj);\n } else {\n const loadFunction = async (img: ImageWrapper, url: string) => {\n //(img.getImage() as HTMLImageElement).src = '/proxy?' + url;\n const obj = await channel.getImageData(url);\n if (obj) (img.getImage() as HTMLImageElement).src = obj;\n }\n const source = new ImageArcGISRest({ url: layerUrl, imageLoadFunction: ld.props.useProxy ? loadFunction : null });\n const opt2: AgsMapServiceImageLayerOptions = Object.assign(opt, { source });\n const lyrObj = channel.ok ? new ImageLayer<ImageArcGISRest>(opt2) : null;\n layer = new AgsMapServiceImageLayer(ld, channel, lyrObj);\n } \n\n if (errMessage) {\n layer.setError(errMessage);\n } else {\n this._buildSubLayers(channel.serviceInfo, layer);\n layer.initialize();\n }\n\n opres.data = layer;\n opres.success = true;\n } catch (err) {\n opres.message = err;\n }\n return opres;\n }\n\n private _buildSubLayers(srvInfo: Esri.ServerTypes.MapServiceInfo, layer: AgsServiceLayer) {\n const slMap: Map<number, AgsMapServiceSubLayer> = new Map();\n const capas = srvInfo.capabilities.split(',');\n const canQuery = capas.includes('Query');\n const maxRecords = srvInfo.maxRecordCount;\n\n for (const slInfo of srvInfo.layers) {\n const slCaps: SubLayerCapabilities = {\n hasAttributeTable: canQuery && !(slInfo.subLayerIds),\n maxRecords,\n }\n const sl = new AgsMapServiceSubLayer(layer, slInfo, slCaps);\n slMap.set(slInfo.id, sl);\n if (slInfo.parentLayerId >= 0) {\n const pl = slMap.get(slInfo.parentLayerId);\n if (pl) {\n if (!pl.children) pl.children = new List<AgsMapServiceSubLayer>();\n pl.children.add(sl);\n }\n } else {\n layer.children.add(sl);\n }\n }\n }\n}\n\n",null,"import { Application, AsyncOpResult, Eventer, EventService, IKeyedButtonInfo, Inject, List, OpResult, PanelPos, TreeItemActionInfo } from \"@yesilyazilim/web.spa\";\nimport type { ImageArcGISRest, TileArcGISRest } from \"ol/source\";\nimport type { MapGotoExtentRequestData, MapIdentifyData } from \"../types\";\nimport type { IdentifyResultItem, ILayer, LayerIdentifyResultAsync, LayerLegendSymbolInfo, IdentifyType, ILayerPopupItem } from \"./layers.types\";\n\nimport ImageLayer from \"ol/layer/Image\";\nimport TileLayer from \"ol/layer/Tile\";\nimport { AgsAttributeTable } from \"../components/ags.attributetable.component\";\nimport { GisEvents } from \"../gis.enums\";\nimport { OlGeomHelper } from \"../helpers/ol.geom.helper\";\nimport { AgsMapServiceChannel } from \"../data/channels/ags.mapservice.channel\";\nimport { LayerDefinitionEsriMapService } from \"./layers.definitions\";\nimport { MapLayerBase } from \"./maplayer.base\";\nimport { FeatureLike } from \"ol/Feature\";\n\ntype AgsLayerType = ImageLayer<ImageArcGISRest> | TileLayer<TileArcGISRest>;\n\nexport type SubLayerCapabilities = {\n hasAttributeTable: boolean;\n maxRecords: number;\n}\n\nabstract class AgsMapServiceLayer<T extends AgsLayerType = AgsLayerType> extends MapLayerBase<AgsLayerType, LayerDefinitionEsriMapService> {\n\n @Inject() application: Application;\n @Inject() eventService: EventService;\n\n identifyType: 'remote' = 'remote';\n\n public children: List<AgsMapServiceSubLayer>;\n protected _visibleSubLayerIds: number[];\n protected _allSubLayers: AgsMapServiceSubLayer[];\n private readonly _channel: AgsMapServiceChannel;\n private readonly _legendInfos: LayerLegendSymbolInfo[];\n\n constructor(definition: LayerDefinitionEsriMapService, channel: AgsMapServiceChannel, layer: T) {\n super(definition);\n this._layer = layer;\n this._channel = channel;\n this.children = new List();\n this._legendInfos = this._createLegendInfos();\n this._canIdentify = true;\n this._createActions();\n this.eventService.listen(GisEvents.MapIdentifyRequest, this.onIdentifyRequested);\n layer.setProperties({ mapLayer: this, name: this._definition.key, canEdit: false, canFlash: true, canSelect: true });\n }\n\n initialize() {\n this._allSubLayers = this._getAllSubLayers();\n this._calcVisSubLayerIds();\n }\n\n getLegendInfos(): LayerLegendSymbolInfo[] {\n return this._legendInfos;\n }\n\n getServiceInfo(): Esri.ServerTypes.MapServiceInfo {\n return this._channel.serviceInfo;\n }\n\n get channel(): AgsMapServiceChannel { return this._channel; }\n\n onSubLayerVisibleChanged() {\n this._calcVisSubLayerIds();\n this._updateLayerProps();\n this.layerObj.getSource().refresh();\n }\n\n onAction = (id: string) => {\n super.onAction(id);\n if (id === 'zoom-to-layer') {\n const ea: MapGotoExtentRequestData = { extent: this._layer.getExtent() };\n this.eventService.raise(GisEvents.MapGotoExtentRequest, ea);\n }\n }\n\n onIdentifyRequested = (prm: MapIdentifyData): LayerIdentifyResultAsync => {\n const res: LayerIdentifyResultAsync = {\n type: 'async', status: false, sourceLayer: this, result: null\n }\n\n if (!this.isAnyVisible) return res;\n\n res.result = this._doIdentifyAsync(prm);\n res.status = true;\n return res;\n }\n\n private async _doIdentifyAsync(prm: MapIdentifyData): AsyncOpResult<IdentifyResultItem[]> {\n const opRes: OpResult<IdentifyResultItem[]> = {\n success: false\n }\n\n try {\n const idfRes = await this._channel.identify({\n coords: prm.coords,\n imageDisplay: prm.imageDisplay,\n mapExtent: prm.mapExtent,\n layerIds: this._visibleSubLayerIds,\n tolerance: prm.tolerance,\n returnFieldName: true,\n returnUnformattedValues: false\n });\n\n if (idfRes.success && idfRes.data) {\n opRes.data = idfRes.data.map((r) => {\n const f: GeoJSON.Feature = {\n type: 'Feature',\n geometry: OlGeomHelper.fromEsriJsonToGeojson(r.geometry),\n properties: r.attributes\n };\n return {\n layerKey: r.layerId.toString(),\n layerTitle: this._allSubLayers.find((sl) => sl.id === r.layerId.toString())?.title || r.layerName,\n feature: OlGeomHelper.fromGeojsonFeature(f)\n }\n });\n opRes.success = true;\n } else {\n opRes.message = idfRes.message;\n }\n } catch (err) {\n console.warn('Error in identify', err);\n opRes.message = 'Identify işlemi sırasında hata !';\n }\n return opRes;\n }\n\n private _updateLayerProps() {\n var params = {};\n if (this._visibleSubLayerIds.length > 0) {\n params['LAYERS'] = 'show:' + this._visibleSubLayerIds.join(',');\n } else {\n params['LAYERS'] = 'show:-1';\n }\n this.layerObj.getSource().updateParams(params);\n }\n\n private _getAllSubLayers(): AgsMapServiceSubLayer[] {\n const getSls = (list: List<AgsMapServiceSubLayer>): AgsMapServiceSubLayer[] => {\n if (!(list && list.length > 0)) return null;\n const arr: AgsMapServiceSubLayer[] = [];\n for (const item of list) {\n arr.push(item);\n const subArr = getSls(item.children);\n if (subArr && subArr.length > 0) {\n arr.push(...subArr);\n }\n }\n return arr;\n }\n return getSls(this.children);\n }\n\n private _calcVisSubLayerIds() {\n const stack = [...this.children.toArray()];\n const arr: number[] = [];\n while (stack.length > 0) {\n var cur = stack.pop();\n if (cur.checked) {\n if (cur.children) {\n stack.push(...cur.children);\n } else {\n arr.push(cur.serviceId);\n }\n }\n }\n this._visibleSubLayerIds = arr;\n }\n\n private _createLegendInfos(): LayerLegendSymbolInfo[] {\n if (!this._channel.ok) return [];\n const arr: LayerLegendSymbolInfo[] = [];\n\n for (const lyr of this._channel.legendInfo.layers) {\n const li: LayerLegendSymbolInfo = {\n layerId: this._definition.key + '-' + lyr.layerId.toString(),\n title: lyr.layerName,\n rows: []\n };\n if (lyr.legend && lyr.legend.length > 0) {\n for (const lli of lyr.legend) {\n const img = document.createElement('img');\n img.src = 'data:' + lli.contentType + ';base64,' + lli.imageData;\n li.rows.push({\n elm: img, label: lli.label\n })\n }\n }\n arr.push(li);\n }\n return arr;\n }\n\n private _createActions() {\n const actions: TreeItemActionInfo[] = [];\n //const srvInfo = this._serviceLayer.getServiceInfo();\n\n if (this._layer.getExtent()) {\n const zoomToLayerAction: IKeyedButtonInfo = {\n key: 'zoom-to-layer',\n tootip: 'Tümüne Yaklaş',\n iconClass: 'bi bi-globe-europe-africa'\n }\n actions.push(zoomToLayerAction);\n }\n this._actions = actions;\n }\n\n private get isAnyVisible(): boolean {\n if (!this.checked) return false;\n for (const sl of this.children) {\n if (sl.isAnyVisible) return true;\n }\n return false;\n }\n\n async queryIdentifyAsync?(prm: MapIdentifyData): AsyncOpResult<IdentifyResultItem[]> {\n\n const idfRes = await this._channel.identify({\n coords: prm.coords,\n imageDisplay: prm.imageDisplay,\n mapExtent: prm.mapExtent,\n layerIds: this._visibleSubLayerIds,\n tolerance: prm.tolerance,\n returnFieldName: true,\n returnUnformattedValues: false\n });\n\n const opRes: OpResult<IdentifyResultItem[]> = {\n success: false\n }\n\n if (idfRes.success && idfRes.data) {\n opRes.data = idfRes.data.map((r) => {\n const f: GeoJSON.Feature = {\n type: 'Feature',\n geometry: OlGeomHelper.fromEsriJsonToGeojson(r.geometry),\n properties: r.attributes\n };\n return {\n layerKey: r.layerId.toString(),\n layerTitle: this._allSubLayers.find((sl) => sl.id === r.layerId.toString())?.title || r.layerName,\n feature: OlGeomHelper.fromGeojsonFeature(f)\n }\n });\n opRes.success = true;\n } else {\n opRes.message = idfRes.message;\n }\n return opRes;\n }\n\n async generatePopupItemsAsync?(feature: FeatureLike): Promise<ILayerPopupItem[]> {\n return [];\n }\n}\n\nexport class AgsMapServiceImageLayer extends AgsMapServiceLayer<ImageLayer<ImageArcGISRest>> {\n\n}\n\nexport class AgsMapServiceTileLayer extends AgsMapServiceLayer<TileLayer<TileArcGISRest>> {\n\n}\n\nexport class AgsMapServiceSubLayer implements ILayer {\n private _checked: boolean;\n\n get hasMapLayer(): boolean { return false };\n\n id: string;\n identifyType: 'none' = 'none';\n title: string;\n hidden?: boolean;\n passive?: boolean;\n actions?: TreeItemActionInfo[];\n children?: List<AgsMapServiceSubLayer>;\n propsChanged?: Eventer<{ key: string; value: any; }, void>;\n actionPropChanged?: Eventer<{ action: TreeItemActionInfo; key: string; value: any; }, void>;\n order?: number;\n serviceId: number;\n hasLegend: boolean = false;\n icon?: HTMLElement;\n getLegendInfos(): LayerLegendSymbolInfo[] { return null; }\n\n\n constructor(private readonly _serviceLayer: AgsMapServiceImageLayer | AgsMapServiceTileLayer\n , private readonly _layerInfo: Esri.ServerTypes.LayerInfo\n , private readonly _capabilities: SubLayerCapabilities) {\n this.title = _layerInfo.name;\n this.id = _serviceLayer.id + '-' + _layerInfo.id.toString();\n this.serviceId = _layerInfo.id;\n this._checked = _layerInfo.defaultVisibility;\n\n this._createActions();\n this._findTocIcon();\n }\n\n\n\n public get serviceLayer(): AgsMapServiceImageLayer | AgsMapServiceTileLayer { return this._serviceLayer; }\n public get capabilities(): SubLayerCapabilities { return this._capabilities; }\n public get checked(): boolean { return this._checked; }\n public set checked(value: boolean) {\n if (value !== this._checked) {\n this._checked = value;\n this._serviceLayer.onSubLayerVisibleChanged();\n }\n }\n\n onAction(id: string) {\n if (id === 'attr-table') {\n this.serviceLayer.application.openPanel({\n closable: true, draggable: true,\n header: 'Tablo - ' + (this._layerInfo.name || ''),\n name: 'at-' + this.id,\n content: new AgsAttributeTable({\n channel: this.serviceLayer.channel,\n layerId: this.serviceId\n })\n }, PanelPos.Bottom);\n }\n };\n\n get isAnyVisible(): boolean {\n if (this.children && this.children.length > 0) {\n for (const sl of this.children) {\n if (sl.isAnyVisible) return true;\n }\n }\n return this._checked;\n }\n\n private _createActions() {\n const actions: TreeItemActionInfo[] = [];\n if (this._capabilities.hasAttributeTable) {\n const attrTblAction: IKeyedButtonInfo = {\n key: 'attr-table',\n tootip: 'Öznitelik Tablosunu Aç',\n iconClass: 'bi bi-table'\n }\n actions.push(attrTblAction);\n }\n this.actions = actions;\n }\n\n private _findTocIcon() {\n const leg = this._serviceLayer.channel.legendInfo.layers.find((l) => l.layerId == this._layerInfo.id)?.legend;\n if (leg && leg.length == 1) {\n const lli = leg[0];\n const img = document.createElement('img');\n img.src = 'data:' + lli.contentType + ';base64,' + lli.imageData;\n this.icon = img;\n }\n }\n}",null,"import './styles/ags.attributetable.component.less';\n\nimport '../data/protocols/ags/apitypes.ags.service';\nimport '../data/protocols/ags/apitypes.ags.geometry';\n\nimport { AnObject, BasePanelElement, Component, ELF, EventService, Inject, System } from \"@yesilyazilim/web.spa\";\nimport { CellComponent, ColumnDefinition, Filter, TabulatorFull as Tabulator, Options as TabulatorOptions } from 'tabulator-tables';\nimport { AgsMapServiceChannel } from '../data/channels/ags.mapservice.channel';\nimport GeoJSON from 'ol/format/GeoJSON';\nimport { GisEvents } from '../gis.enums';\nimport type { MapFlashGeomRequestData } from '../types';\nimport { getDateAsNumberFormatter } from '../helpers/tabulator.helper';\n\ntype Sort = {\n dir: 'asc' | 'desc' | '',\n field: string\n}\n\ntype TabulatorRequestBodyParams = {\n page: number,\n size: number,\n filter?: Filter[],\n sort?: Sort[]\n}\n\ntype TabulatorPagedResponse = {\n last_page: number, //the total number of available pages (this value must be greater than 0)\n last_row: number,\n data: Array<AnObject>\n}\n\nexport type AgsAttributeTableProperties = {\n layerId: number,\n channel: AgsMapServiceChannel,\n}\n\n@Component({ elementName: \"ags-attr-table\" })\nexport class AgsAttributeTable extends BasePanelElement {\n private _table: Tabulator;\n private _totalRowCount: number;\n private _layerId: number;\n private _channel: AgsMapServiceChannel;\n private _tableInfo: Esri.ServerTypes.MapServiceLayerTableInfo;\n private _pagingEnabled: boolean;\n private _resizeListenHandle: number;\n\n @Inject() eventService: EventService;\n\n constructor(props: AgsAttributeTableProperties) {\n super();\n this._layerId = props.layerId;\n this._channel = props.channel;\n //this._pageSize = props.channel.serviceInfo.maxRecordCount;\n this.setBusy(true);\n this._buildAsync().then(() => {\n this.setBusy(false);\n });\n }\n\n // protected override onConnected(): void {\n // const ro = new ResizeObserver((entries) => {\n // if (!this._table) return;\n // this.resizeLazy();\n // });\n // ro.observe(this);\n // this.resizeLazy();\n // }\n\n override onPanelResize(start: boolean): void {\n console.log('AgsAttributeTable onPanelResize', start);\n this._table.element.showhide(!start);\n ELF.showHideMessageDisplayAt(this, start, 'info', 'Yeniden boyutlama bekleniyor...');\n }\n\n private async _buildAsync(): Promise<void> {\n const ok = await this._getInitData();\n if (!ok) return;\n\n const opt: TabulatorOptions = {\n // dependencies: {\n // DateTime: DateTime,\n // },\n height: 100 + '%',\n layout: \"fitDataFill\",\n rowHeight: 20,\n //progressiveLoad: 'scroll',\n filterMode: 'remote',\n sortMode: 'remote',\n ajaxRequestFunc: this._requestFuncAsync.bind(this),\n ajaxURL: 'ignore',\n columns: this._getColumns()\n };\n\n this._pagingEnabled = true; //this._pageSize < this._totalRowCount;\n\n opt.pagination = true;\n opt.paginationCounter = \"rows\";\n opt.paginationSize = 25;\n opt.paginationSizeSelector = [10, 25, 50, 100];\n opt.paginationMode = 'remote';\n //opt.paginationSize = this._pageSize;\n\n const div = ELF.div('ags-attr-table-element');\n this.appendChild(div);\n this._table = new Tabulator(div, opt);\n }\n\n private async _getInitData(): Promise<boolean> {\n const ttr = await this._channel.queryRecordCount(this._layerId);\n\n if (!ttr.success) {\n this.appendChild(ELF.div('errorMessageContainer', ELF.span('Hata : ' + ttr.message)));\n return false;\n }\n this._totalRowCount = ttr.data;\n\n this._tableInfo = await this._channel.getTableInfoAsync(this._layerId);\n if (!this._tableInfo) {\n this.appendChild(ELF.div('errorMessageContainer', ELF.span('Hata : Tablo bilgisi alınamadı !')));\n return false;\n }\n return true;\n }\n\n private _getColumns(optFieldDefs?: ColumnDefinition[], overrideCols?: ColumnDefinition[]): ColumnDefinition[] {\n const fieldDefs = this._tableInfo.fields;\n //const shapeField = fieldDefs.find((f) => f.type == 'esriFieldTypeGeometry');\n\n var targetCols: ColumnDefinition[] = [\n {\n title: \"\",\n headerSort: false,\n frozen: true,\n formatter: (cell: CellComponent) => {\n const rowData = cell.getRow().getData();\n if (rowData.shape) {\n return ELF.Buttons.mini(() => {\n const geom = new GeoJSON().readGeometry(rowData.shape);\n const ed: MapFlashGeomRequestData = { geom }\n this.eventService.raise(GisEvents.MapFlashGeomRequest, ed)\n }, 'bi bi-zoom-in', 'Haritada Göster');\n };\n }\n }\n ];\n\n if (optFieldDefs && optFieldDefs.length > 0) {\n targetCols.push(...optFieldDefs);\n }\n\n\n for (var i = 0; i < fieldDefs.length; i++) {\n const f = fieldDefs[i];\n\n //if (fldDef.attrVisible === false) continue;\n\n if (overrideCols && overrideCols.length > 0) {\n const ovcol = overrideCols.find((oc) => oc.field == f.name);\n if (ovcol) {\n targetCols.push(ovcol);\n continue;\n }\n }\n const sortableFields: Esri.ServerTypes.FieldType[] = ['esriFieldTypeOID', 'esriFieldTypeInteger', 'esriFieldTypeSingle', 'esriFieldTypeSmallInteger', 'esriFieldTypeDouble', 'esriFieldTypeString'];\n\n var col: ColumnDefinition = {\n title: f.alias || f.name,\n field: f.name,\n headerSort: sortableFields.includes(f.type),\n editable: false,\n headerFilterPlaceholder: \"filtre\"\n };\n\n if (f.domain && f.domain.codedValues && f.domain.codedValues.length > 0) {\n const cvals = f.domain.codedValues;\n col.formatter = \"lookup\";\n col.minWidth = 152;\n const fp: Record<string, string> = { \"\": \"\" };\n for (const lv of cvals) {\n fp[lv.code.toString()] = lv.name;\n }\n col.formatterParams = fp;\n } else if (f.type == 'esriFieldTypeDate') {\n col.formatter = getDateAsNumberFormatter\n } else if (f.type == 'esriFieldTypeGeometry') {\n col.visible = false;\n }\n targetCols.push(col);\n }\n\n return targetCols;\n }\n\n private async _requestFuncAsync(url, config, params: TabulatorRequestBodyParams): Promise<TabulatorPagedResponse | Array<any>> {\n //console.log('Attr Table Req', { url, config, params });\n const where = this._getWhereFilter(params);\n const orderBy = this._getOrderByFilter(params);\n const pageInfo = { num: params.page, size: params.size }\n const dr = await this._channel.queryFeatures(this._layerId, where, orderBy, pageInfo);\n if (dr.success) {\n const data = dr.data.features.map((f) => Object.assign(f.properties, { shape: f.geometry }));\n if (this._pagingEnabled) {\n const resp: TabulatorPagedResponse = {\n last_row: this._totalRowCount,\n last_page: Math.ceil(this._totalRowCount / params.size),\n data\n }\n return resp;\n } else {\n return data;\n }\n }\n }\n\n private _getWhereFilter(params: TabulatorRequestBodyParams): string {\n let where = '1=1';\n if (params.filter && params.filter.length > 0) {\n const flist: string[] = [];\n for (const filter of params.filter) {\n flist.push(this.getValForWhere(filter));\n }\n where = flist.join(' and ');\n }\n return where;\n }\n\n private _getOrderByFilter(params: TabulatorRequestBodyParams): string {\n if (params.sort && params.sort.length > 0) {\n const flist: string[] = [];\n for (const s of params.sort) {\n flist.push(s.field + ' ' + s.dir);\n }\n return flist.join(', ');\n }\n return null;\n }\n\n private getValForWhere(f: Filter): string {\n const nval = System.isString(f.value) ? \"'\" + f.value + \"'\" : f.value.toString();\n return f.field + f.type + nval;\n }\n\n private resizeLazy() {\n clearTimeout(this._resizeListenHandle);\n this._resizeListenHandle = setTimeout(() => {\n this._table.element.style.height = this.clientHeight + 'px';\n }, 300);\n }\n}\n",null,null,"namespace Esri.ServerTypes {\n\n /**\n * Field type.\n */\n export type FieldType =\n | \"esriFieldTypeBlob\"\n | \"esriFieldTypeDate\"\n | \"esriFieldTypeDouble\"\n | \"esriFieldTypeGeometry\"\n | \"esriFieldTypeGlobalID\"\n | \"esriFieldTypeGUID\"\n | \"esriFieldTypeInteger\"\n | \"esriFieldTypeOID\"\n | \"esriFieldTypeRaster\"\n | \"esriFieldTypeSingle\"\n | \"esriFieldTypeSmallInteger\"\n | \"esriFieldTypeString\"\n | \"esriFieldTypeXML\";\n\n /**\n * Domain types\n */\n export type DomainType = \"range\" | \"codedValue\" | \"inherited\";\n\n /**\n * CodedValue type\n */\n export type ICodedValue = {\n /** User-friendly name for what the code means. */\n name: string;\n /** The value stored in the feature attribute. */\n code: string | number;\n };\n\n /**\n * Information for a field with a domain\n */\n export type IDomain = {\n /** A string defining the domain type. */\n type: DomainType;\n /** A string defining the field name. */\n name?: string;\n /** A 2 element array defining the range of possible values. */\n range?: [number, number];\n /** An array of CodedValues for domains of type codedValue. */\n codedValues?: ICodedValue[];\n /** Description of the domain */\n description?: string;\n /** Merge policy */\n mergePolicy?: string;\n /** Split Policy */\n splitPolicy?: string;\n };\n\n /**\n * Contains information about an attribute field.\n *\n * `IField` can also be imported from the following packages:\n *\n * ```js\n * import { IField } from \"@esri/arcgis-rest-feature-service\";\n * ```\n */\n export interface IField {\n /** A string defining the field name. */\n name: string;\n /** A string defining the field type. */\n type: FieldType;\n /** A string defining the field alias. */\n alias?: string;\n /** The domain objects if applicable. */\n domain?: IDomain;\n /** A Boolean defining whether this field is editable. */\n editable?: boolean;\n /** A Boolean defining whether or not the field is an exact match. */\n exactMatch?: boolean;\n /** A number defining how many characters are allowed in a string. field. */\n length?: number;\n /** A Boolean defining whether this field can have a null value. */\n nullable?: boolean;\n /** The value written in for new records by default. */\n defaultValue?: any;\n }\n\n export interface IPagingParams {\n start?: number;\n num?: number;\n }\n\n export interface EsriErrorObj {\n code: number;\n message: string;\n details: any[];\n }\n\n export interface IEsriJsonResult {\n error?: EsriErrorObj;\n }\n\n export interface MapServiceLayerTableInfo extends IEsriJsonResult {\n id: number;\n fields: IField[];\n extent: Esri.GeometryTypes.IEnvelope\n }\n\n export interface MapServiceLayerTableInfos extends IEsriJsonResult {\n layers: MapServiceLayerTableInfo[]\n }\n\n export interface MapServiceInfo {\n error?: EsriErrorObj;\n layers?: LayerInfo[];\n tables?: TableInfo[];\n\n currentVersion: number;\n documentInfo: DocumentInfo;\n\n spatialReference: Esri.GeometryTypes.ISpatialReference;\n initialExtent: Esri.GeometryTypes.IEnvelope;\n fullExtent: Esri.GeometryTypes.IEnvelope;\n minScale: number;\n maxScale: number;\n referenceScale: number;\n\n maxRecordCount: number;\n maxImageHeight: number;\n maxImageWidth: number;\n supportedExtensions: string;\n capabilities: string;\n supportedQueryFormats: string;\n }\n\n export interface LayerInfo {\n id: number;\n name: string;\n parentLayerId: number;\n defaultVisibility: boolean;\n subLayerIds?: number[];\n minScale: number;\n maxScale: number;\n type: string;\n geometryType: Esri.GeometryTypes.GeometryType;\n supportsDynamicLegends: boolean;\n }\n\n export interface TableInfo {\n id: number;\n name: string;\n }\n\n export interface DocumentInfo {\n Title: string;\n Author: string;\n Comments: string;\n Subject: string;\n Category: string;\n AntialiasingMode: string;\n TextAntialiasingMode: string;\n Version: string;\n Keywords: string;\n }\n\n export interface IFeatureSet extends Esri.GeometryTypes.IHasZM {\n objectIdFieldName?: string; // optional\n globalIdFieldName?: string; // optional\n displayFieldName?: string; // optional\n geometryType?: Esri.GeometryTypes.GeometryType; // for feature layers only\n spatialReference?: Esri.GeometryTypes.ISpatialReference; // for feature layers only.\n fields?: IField[];\n features: IFeature[];\n fieldAliases?: {\n [key: string]: string;\n };\n }\n\n\n export interface IFeature {\n geometry?: Esri.GeometryTypes.IGeometry;\n attributes: { [key: string]: any };\n symbol?: ISymbol;\n }\n\n export interface IMapServiceCountQueryResponse extends IEsriJsonResult {\n count?: number;\n }\n\n export interface IMapServiceGeojsonQueryResponse extends IEsriJsonResult, GeoJSON.FeatureCollection {\n\n }\n\n export interface IMapServiceIdentifyRequest extends Record<string, string> {\n f: string\n geometry: string\n geometryType: Esri.GeometryTypes.GeometryType\n sr: string\n layers: string\n tolerance: string\n mapExtent: string\n imageDisplay: string\n returnZ?: string\n returnUnformattedValues?: string\n returnGeometry: string\n returnFieldName?: string\n }\n\n export interface IMapServiceIdentifyResponse extends IEsriJsonResult {\n results: IdentifyResult[]\n }\n\n export interface IdentifyResult {\n layerId: number\n layerName: string\n value: string\n displayFieldName: string\n attributes: any\n geometryType: Esri.GeometryTypes.GeometryType\n geometry: Esri.GeometryTypes.IEsriGeometry\n }\n\n export interface ISymbol {\n type: SymbolType;\n style?: string;\n }\n\n export type SymbolType =\n | \"esriSLS\"\n | \"esriSMS\"\n | \"esriSFS\"\n | \"esriPMS\"\n | \"esriPFS\"\n | \"esriTS\";\n\n export interface MapServiceLegendInfo {\n layers: LegendLayerInfo[];\n error?: EsriErrorObj;\n }\n\n export interface LegendLayerInfo {\n layerId: number;\n layerName: string;\n layerType: string;\n minScale: number;\n maxScale: number;\n legend?: LegendInfo[];\n }\n\n export interface LegendInfo {\n label: string;\n url: string;\n imageData: string;\n contentType: string;\n height: number;\n width: number;\n values?: (number | string)[];\n }\n\n export interface IFeatureServiceDefinition {\n currentVersion?: number;\n serviceDescription: string;\n hasVersionedData: boolean;\n supportsDisconnectedEditing: boolean;\n supportsReturnDeleteResults: boolean;\n /** Boolean value indicating whether data changes. True if it does not. */\n hasStaticData?: boolean;\n /** Numeric value indicating tbe maximum number of records that will be returned at once for a query. */\n maxRecordCount: number;\n /** String value indicating the output formats that are supported in a query. */\n supportedQueryFormats: string;\n supportsRelationshipsResource: boolean;\n /** A comma separated list of supported capabilities, e.g. Query,Editing. */\n capabilities: string;\n /** String value of the layer as defined in the map service. */\n description: string;\n /** String value for the copyright text information for the layer. */\n copyrightText: string;\n advancedEditingCapabilities: { [key: string]: boolean };\n /** An object containing the WKID or WKT identifying the spatial reference of the layer's geometry. */\n spatialReference: Esri.GeometryTypes.ISpatialReference;\n initialExtent: Esri.GeometryTypes.IEnvelope;\n fullExtent: Esri.GeometryTypes.IEnvelope;\n /** Boolean value indicating whether the geometry of the features in the layer can be edited. */\n allowGeometryUpdates: boolean;\n units: string;\n syncEnabled: boolean;\n returnServiceEditsHaveSR?: boolean;\n // validationSystemLayers: {\n // validationPointErrorlayerId: number;\n // validationLineErrorlayerId: number;\n // validationPolygonErrorlayerId: number;\n // validationObjectErrortableId: number;\n // };\n // extractChangesCapabilities: {\n // supportsReturnIdsOnly: boolean;\n // supportsReturnExtentOnly: boolean;\n // supportsReturnAttachments: boolean;\n // supportsLayerQueries: boolean;\n // supportsSpatialFilter: boolean;\n // supportsReturnFeature: boolean;\n // };\n // syncCapabilities: {\n // supportsASync: boolean;\n // supportsRegisteringExistingData: boolean;\n // supportsSyncDirectionControl: boolean;\n // supportsPerLayerSync: boolean;\n // supportsPerReplicaSync: boolean;\n // supportsRollbackOnFailure: boolean;\n // supportedSyncDataOptions: number;\n // };\n editorTrackingInfo: {\n enableEditorTracking: boolean;\n enableOwnershipAccessControl: boolean;\n allowOthersToUpdate: boolean;\n allowOthersToDelete: boolean;\n };\n documentInfo?: { [key: string]: string };\n // the feature layers published by this service\n layers: LayerInfo[];\n // the non-spatial tables published by this service\n tables: TableInfo[];\n relationships: [\n {\n id: number;\n name: string;\n backwardPathLabel: string;\n originLayerId: number;\n originPrimaryKey: string;\n forwardPathLabel: string;\n destinationLayerId: number;\n originForeignKey: string;\n relationshipTableId: number;\n destinationPrimaryKey: string;\n destinationForeignKey: string;\n rules: [\n {\n ruleID: number;\n originSubtypeCode: number;\n originMinimumCardinality: number;\n originMaximumCardinality: number;\n destinationSubtypeCode: number;\n destinationMinimumCardinality: number;\n destinationMaximumCardinality: number;\n }\n ];\n cardinality:\n | \"esriRelCardinalityOneToOne\"\n | \"esriRelCardinalityOneToMany\"\n | \"esriRelCardinalityManyToMany\";\n attributed: boolean;\n composite: boolean;\n }\n ];\n //enableZDefaults?: boolean;\n //isLocationTrackingService: boolean;\n //isLocationTrackingView: boolean;\n zDefault?: number;\n }\n\n export interface FeatureServiceEditResult {\n objectId: number;\n globalId?: string;\n success: boolean;\n error?: any;\n }\n\n export interface FeatureServiceEditResponse {\n addResults?: FeatureServiceEditResult[];\n updateResults?: FeatureServiceEditResult[];\n deleteResults?: FeatureServiceEditResult[];\n error?: any;\n }\n\n export interface IDefinitionParameter {\n /** The default value that is automatically given if nothing is provided. */\n defaultValue?: number | string;\n /** A string value representing the name of the field to query. */\n fieldName?: string;\n /** Number given to uniquely identify the specified parameter. */\n parameterId?: any;\n /** The field type for the specified field parameter. */\n type?:\n | \"esriFieldTypeBlob\"\n | \"esriFieldTypeDate\"\n | \"esriFieldTypeDouble\"\n | \"esriFieldTypeGeometry\"\n | \"esriFieldTypeGlobalID\"\n | \"esriFieldTypeGUID\"\n | \"esriFieldTypeInteger\"\n | \"esriFieldTypeOID\"\n | \"esriFieldTypeRaster\"\n | \"esriFieldTypeSingle\"\n | \"esriFieldTypeSmallInteger\"\n | \"esriFieldTypeString\"\n | \"esriFieldTypeXML\";\n\n /** An integer value representing exact UNIX time used when defaultValue is a date string. */\n utcValue?: number;\n }\n\n export interface IDefinitionInput {\n /** A string value representing a hint for the input. */\n hint?: string;\n /** An array of parameter objects. */\n parameters?: IDefinitionParameter[];\n /** A string value representing the prompt for the input. */\n prompt?: string;\n }\n\n /**\n * The definitionEditor stores interactive filters at the same level as layerDefinition.\n */\n export interface IDefinitionEditor {\n /** An array of input objects. */\n inputs?: IDefinitionInput[];\n /** A string value representing the where clause for the interactive filter. */\n parameterizedExpression?: string;\n }\n\n export type FeatureEditTool =\n | \"esriFeatureEditToolAutoCompletePolygon\"\n | \"esriFeatureEditToolPolygon\"\n | \"esriFeatureEditToolTriangle\"\n | \"esriFeatureEditToolRectangle\"\n | \"esriFeatureEditToolLeftArrow\"\n | \"esriFeatureEditToolRightArrow\"\n | \"esriFeatureEditToolEllipse\"\n | \"esriFeatureEditToolUpArrow\"\n | \"esriFeatureEditToolDownArrow\"\n | \"esriFeatureEditToolCircle\"\n | \"esriFeatureEditToolFreehand\"\n | \"esriFeatureEditToolLine\"\n | \"esriFeatureEditToolNone\"\n | \"esriFeatureEditToolText\"\n | \"esriFeatureEditToolPoint\";\n\n /**\n * Templates describe features that can be created in a layer. They are generally used with feature collections and editable web-based CSV layers.\n * Templates are not used with ArcGIS feature services as these already have templates defined in the service. They are also defined as properties\n * of the layer definition when there are no defined types. Otherwise, templates are defined as properties of the types.\n */\n export interface ITemplate {\n /** A string value containing a detailed description of the template. */\n description?: any;\n /**\n * An optional string that can define a client-side drawing tool to be used with this feature. For example, map notes used by the Online Map Viewer use this to represent the viewer's different drawing tools.\n */\n drawingTool?: FeatureEditTool;\n /** A string containing a user-friendly name for the template. */\n name?: string;\n /** A feature object representing a prototypical feature for the template. */\n prototype?: IFeature;\n }\n\n export interface IFeatureLayerDefinition extends Esri.GeometryTypes.IHasZM {\n /** Boolean value indicating whether the geometry of the features in the layer can be edited. */\n allowGeometryUpdates?: boolean;\n /** A comma separated list of supported capabilities, e.g. Query,Editing. */\n capabilities?: string;\n /** String value for the copyright text information for the layer. */\n copyrightText?: string;\n /** Numeric value indicating the server version of the layer. */\n currentVersion?: number;\n /** Boolean value indicating whether the layer's visibility is turned on. */\n defaultVisibility?: boolean;\n /** Stores interactive filters. */\n definitionEditor?: IDefinitionEditor;\n /** SQL-based definition expression string that narrows the data to be displayed in the layer. */\n definitionExpression?: string;\n /** String value of the layer as defined in the map service. */\n description?: string;\n /** A string value that summarizes the feature. */\n displayField?: string;\n /** Contains drawing, labeling, and transparency information. */\n drawingInfo?: any;\n /** An object defining the rectangular area. */\n extent?: Esri.GeometryTypes.IEnvelope | null;\n /** An object defining the editing info (last edit date). */\n editingInfo?: {\n /** date of last edit to the layer */\n lastEditDate?: number\n };\n /** Feature reductions declutter the screen by hiding features that would otherwise intersect with other features on screen. */\n featureReduction?: any;\n /** An array of field objects containing information about the attribute fields for the feature collection or layer. */\n fields?: IField[];\n /** A string defining the type of geometry. Possible geometry types are: esriGeometryPoint, esriGeometryMultipoint, esriGeometryPolyline, esriGeometryPolygon, and esriGeometryEnvelope. */\n geometryType?: Esri.GeometryTypes.GeometryType;\n /** The unique identifier for a feature or table row within a geodatabase. */\n globalIdField?: string;\n /** Indicates whether attachments should be loaded for the layer. */\n hasAttachments?: boolean;\n /** Boolean value indicating whether data changes. True if it does not. */\n hasStaticData?: boolean;\n /** String value indicating the HTML popup type. */\n htmlPopupType?:\n | \"esriServerHTMLPopupTypeNone\"\n | \"esriServerHTMLPopupTypeAsURL\"\n | \"esriServerHTMLPopupTypeAsHTMLText\";\n\n /** The identifier assigned to the layer. */\n id?: number;\n /** Boolean value indicating whether the data is versioned. */\n isDataVersioned?: boolean;\n /** Numeric value indicating tbe maximum number of records that will be returned at once for a query. */\n maxRecordCount?: number;\n /** Represents the maximum scale at which the layer definition will be applied. This does not apply to layers of type: ArcGISMapServiceLayer, ImageServiceVectorLayer or ImageServiceLayer. */\n maxScale?: number;\n /** Represents the minimum scale at which the layer definition will be applied. This does not apply to layers of type: ArcGISMapServiceLayer, ImageServiceVectorLayer or ImageServiceLayer. */\n minScale?: number;\n /** Contains a unique name for the layer that can be displayed in a legend. */\n name?: string;\n /** Indicates the name of the object ID field in the dataset. */\n objectIdField?: string;\n /** Dictates whether a client can support having an end user modify symbols on individual features. */\n overrideSymbols?: boolean;\n /** Indicates range information */\n rangeInfos?: any;\n /** An object indicating the layerDefinition's layer source. */\n source?: any;\n /** An object containing the WKID or WKT identifying the spatial reference of the layer's geometry. */\n spatialReference?: Esri.GeometryTypes.ISpatialReference;\n /** String value indicating the output formats that are supported in a query. */\n supportedQueryFormats?: string;\n /** Boolean value indicating whether the layer supports orderByFields in a query operation. */\n supportsAdvancedQueries?: boolean;\n /** Boolean value indicating whether the layer supports uploading attachments with the Uploads operation. This can then be used in the Add Attachment and Update Attachment operations. */\n supportsAttachmentsByUploadId?: boolean;\n /** Boolean value indicating whether the layer supports the Calculate REST operation when updating features. */\n supportsCalculate?: boolean;\n /** Boolean value indicating whether the layer supports rolling back edits made on a feature layer if some of the edits fail. */\n supportsRollbackOnFailureParameter?: boolean;\n /** Boolean value indicating whether feature layer query operations support statistical functions. */\n supportsStatistics?: boolean;\n /** Boolean value indicating whether the validateSQL operation is supported across a feature service layer. */\n supportsValidateSql?: boolean;\n /** A property of the layer definition when there are no types defined; otherwise, templates are defined as properties of the types. */\n templates?: ITemplate[];\n /** The time info metadata of the layer. May be set for feature layers inside a feature collection item. */\n timeInfo?: any;\n /** Indicates whether the layerDefinition applies to a Feature Layer or a Table. */\n type?: \"Feature Layer\" | \"Table\";\n /** Contains the name of the field holding the type ID for the features. */\n typeIdField?: string;\n /** Contains information about an attribute field. */\n types?: any;\n /** String value indicating the attribute field that is used to control the visibility of a feature.\n * If applicable, when rendering a feature the client should use this field to control visibility.\n * The field's values are 0 = do not display, 1 = display.\n */\n visibilityField?: string;\n relationships?: any[];\n editFieldsInfo?: {\n creationDateField?: string;\n creatorField?: string;\n editDateField?: string;\n editorField?: string;\n };\n parentLayerId?: number;\n ownershipBasedAccessControlForFeatures?: boolean;\n syncCanReturnChanges?: boolean;\n archivingInfo?: {\n supportsQueryWithHistoricMoment?: boolean;\n startArchivingMoment?: number;\n };\n supportsValidateSQL?: boolean;\n advancedQueryCapabilities?: {\n supportsPagination?: boolean;\n supportsTrueCurve?: boolean;\n supportsQueryWithDistance?: boolean;\n supportsReturningQueryExtent?: boolean;\n supportsStatistics?: boolean;\n supportsOrderBy?: boolean;\n supportsDistinct?: boolean;\n supportsSqlExpression?: boolean;\n supportsPercentileStatistics?: boolean;\n };\n allowTrueCurvesUpdates?: boolean;\n onlyAllowTrueCurveUpdatesByTrueCurveClients?: boolean;\n supportsApplyEditsWithGlobalIds?: boolean;\n subtypeField?: string;\n indexes?: any[];\n dateFieldsTimeReference?: {\n timeZone?: string;\n respectsDaylightSaving?: boolean;\n };\n useStandardizedQueries?: boolean;\n }\n\n\n}",null,"namespace Esri.GeometryTypes {\n export interface IHasZM {\n hasZ?: boolean;\n hasM?: boolean;\n }\n\n export interface ISpatialReference {\n wkid?: number;\n latestWkid?: number;\n wkt?: string;\n }\n\n export interface SpatialReferenceExt extends ISpatialReference {\n xyTolerance: number;\n zTolerance: number;\n mTolerance: number;\n falseX: number;\n falseY: number;\n xyUnits: number;\n falseZ: number;\n zUnits: number;\n falseM: number;\n mUnits: number;\n }\n\n export interface IGeometry {\n spatialReference?: ISpatialReference;\n }\n\n export interface IPoint extends IHasZM, IGeometry {\n x: number;\n y: number;\n z?: number;\n }\n\n export interface ILocation {\n latitude?: number;\n longitude?: number;\n lat?: number;\n long?: number;\n z?: number;\n }\n\n export interface IPolyline extends IHasZM, IGeometry {\n paths: Position[][];\n }\n\n export interface IPolylineWithCurves extends IHasZM, IGeometry {\n curvePaths: Array<Array<Position | JsonCurve>>;\n }\n\n export interface IPolygon extends IHasZM, IGeometry {\n rings: Position[][];\n }\n\n export interface IPolygonWithCurves extends IHasZM, IGeometry {\n curveRings: Array<Array<Position | JsonCurve>>;\n }\n\n\n export type Position =\n | Position2D\n | [number, number, number]\n | [number, number, number, number];\n\n export type Position2D = [number, number];\n\n export interface IArc {\n a: [\n Position, // End point: x, y, <z>, <m>\n Position2D, // Center point: center_x, center_y\n number, // minor\n number, // clockwise\n number, // rotation\n number, // axis\n number // ratio\n ];\n }\n\n export interface IBezierCurve {\n b: [Position, Position2D, Position2D];\n }\n\n export interface ICircularArc {\n c: [Position, Position2D];\n }\n\n export type ElipticArc = IArc;\n\n export type GeometryType =\n | \"esriGeometryPoint\"\n | \"esriGeometryMultipoint\"\n | \"esriGeometryPolyline\"\n | \"esriGeometryPolygon\"\n | \"esriGeometryEnvelope\"\n | \"esriGeometryMultiPatch\";\n\n export interface IEnvelope extends IGeometry {\n xmin: number;\n xmax: number;\n ymin: number;\n ymax: number;\n\n zmin?: number;\n zmax?: number;\n\n mmin?: number;\n mmax?: number;\n }\n\n export type JsonCurve = ICircularArc | IArc | IOldCircularArc | IBezierCurve;\n\n export interface IOldCircularArc {\n a: [\n Position, // End point: x, y, <z>, <m>\n Position2D, // Center point: center_x, center_y\n number, // minor\n number // clockwise\n ];\n }\n\n export interface IMultipoint extends IHasZM, IGeometry {\n points: Position[];\n }\n\n export type Units =\n | \"esriSRUnit_Meter\"\n | \"esriSRUnit_StatuteMile\"\n | \"esriSRUnit_Foot\"\n | \"esriSRUnit_Kilometer\"\n | \"esriSRUnit_NauticalMile\"\n | \"esriSRUnit_USNauticalMile\";\n\n export type IEsriGeometry = IPoint | IPolyline | IPolygon | IMultipoint;\n\n}","import { CellComponent, Editor, EmptyCallback, ValueBooleanCallback, ValueVoidCallback } from \"tabulator-tables\";\nimport { ELF, System } from \"@yesilyazilim/web.spa\";\n\nexport function getDateAsNumberFormatter(cell: CellComponent, formatterParams, onRendered) {\n const val = cell.getValue() as number;\n if (!val) return '';\n return new Date(val).toStr(true);\n}\n\ntype DateFilterEditorParams = {\n type: 'date' | 'datetime-local'\n}\n\nfunction getDateTimeFilterEditor(cell: CellComponent, onRendered: EmptyCallback, success: ValueBooleanCallback, cancel: ValueVoidCallback, editorParams: DateFilterEditorParams): HTMLElement {\n const ep: DateFilterEditorParams = editorParams || { type: 'date' };\n const editor = ELF.input(ep.type); //(<input type=\"text\" class=\" \" data-role=\"calendarpicker\" data-format=\"%d.%m.%Y\" data-cls-calendar=\"compact\" data-clear-button=\"true\" data-locale=\"tr-TR\"></input>) as HTMLInputElement;\n editor.addEventListener(\"change\", function () {\n success(editor.valueAsDate);\n });\n return ELF.div('tabulator-filter-date-container', editor);\n};\n\nfunction fncDateTimeFilter(headerValue: Date, rowValue, rowData, filterParams) {\n //headerValue - the value of the header filter element\n //rowValue - the value of the column in this row\n //rowData - the data for the row being filtered\n //filterParams - params object passed to the headerFilterFuncParams property\n if (!headerValue) return true;\n if (!rowValue) return false;\n var rowDt = new Date(rowValue);\n return headerValue.toDateString() == rowDt.toDateString();\n}\n\nexport function dateTimeFormatter(cell: CellComponent, formatterParams, onRendered) {\n const data = cell.getValue();\n if (data) {\n return data.replace('T', ' ');\n }\n return '';\n}",null,"import { Geometry, LineString, MultiLineString, MultiPoint, MultiPolygon, Point, Polygon } from \"ol/geom\";\nimport { Projection, ProjectionLike, fromLonLat, toLonLat, transform } from \"ol/proj\";\n//import { IEsriGeometry, IExtent } from \"../protocols/ags/apitypes.ags.geometry\";\n\nimport { arcgisToGeoJSON } from \"@terraformer/arcgis\";\nimport { Feature } from \"ol\";\nimport { Coordinate } from \"ol/coordinate\";\nimport GeoJSON from \"ol/format/GeoJSON\";\nimport VectorSource from \"ol/source/Vector\";\nimport proj4 from 'proj4';\nimport { BasicGeometryTypes } from \"../types\";\nimport { Extent } from \"ol/extent\";\n\n\nexport class OlGeomHelper {\n\n static readonly WGS84: Projection = new Projection({ code: 'EPSG:4326' });\n static readonly WebMerc: Projection = new Projection({ code: 'EPSG:3857' });\n\n static getBasicTypeOfVectorSource<T extends Geometry>(source: VectorSource<Feature<T>>): BasicGeometryTypes | null {\n if (source.isEmpty()) return null;\n const fcoll = source.getFeaturesCollection();\n let geom: Geometry = null;\n const size = fcoll.getLength();\n let i = 0;\n\n do {\n const feature = fcoll.item(i++);\n geom = feature.getGeometry();\n } while (!geom || i < size);\n\n if (!geom) return null;\n\n if (geom instanceof Point || geom instanceof MultiPoint) {\n return 'Point';\n } else if (geom instanceof LineString || geom instanceof MultiLineString) {\n return 'LineString';\n } else if (geom instanceof Polygon || geom instanceof MultiPolygon) {\n return 'Polygon';\n }\n return null;\n }\n\n static formatCoordWgs(coord: Coordinate) {\n return coord[0].toFixed(6) + 'D ' + coord[1].toFixed(6) + 'K';\n }\n\n static toWGSCoords(coords: Coordinate): Coordinate {\n return toLonLat(coords);\n }\n static fromWGSCoords(coords: Coordinate): Coordinate {\n return fromLonLat(coords);\n }\n static toWGSExtent(coords: Extent): Coordinate {\n return [...toLonLat([coords[0], coords[1]]), ...toLonLat([coords[2], coords[3]])];\n }\n\n static toGeojsonStr(geom: Geometry): string {\n if (!geom) return null;\n const gjs = new GeoJSON();\n return gjs.writeGeometry(geom);\n }\n\n static fromGeojsonStr<T extends Geometry>(geojsonStr: string): T {\n if (!geojsonStr) return null;\n const gjs = new GeoJSON();\n return gjs.readGeometry(geojsonStr) as T;\n }\n\n static projectToWgs84(coords: Coordinate, wkid: number): Coordinate {\n const p2: ProjectionLike = 'EPSG:' + wkid.toString();\n return transform(coords, p2, this.WGS84.getCode());\n }\n\n static esriExtentAsWGS84(srcEnv: Esri.GeometryTypes.IEnvelope): number[] {\n if (!srcEnv) return null;\n const sr = srcEnv.spatialReference;\n let from = '';\n if (sr.wkid) {\n let wkid = sr.wkid;\n if (wkid == 102100) wkid = 3857;\n from = 'EPSG:' + wkid.toString();\n } else {\n from = sr.wkt;\n }\n const to = proj4.WGS84;\n const [xmin, ymin] = proj4(from, to, [srcEnv.xmin, srcEnv.ymin]);\n const [xmax, ymax] = proj4(from, to, [srcEnv.xmax, srcEnv.ymax]);\n return [xmin, ymin, xmax, ymax];\n }\n\n static fromEsriJsonToGeojson(ej: Esri.GeometryTypes.IEsriGeometry): GeoJSON.Geometry {\n return arcgisToGeoJSON(ej);\n }\n\n static fromGeojson<T extends Geometry = Geometry>(geojson: any): T {\n const gjs = new GeoJSON();\n return gjs.readGeometry(geojson) as T;\n }\n\n static fromGeojsonFeature<T extends Geometry = Geometry>(geojson: any): Feature<T> {\n const gjs = new GeoJSON();\n return gjs.readFeature(geojson) as Feature<T>;\n }\n\n static fromGeojsonFeatures<T extends Geometry = Geometry>(geojson: any): Feature<T>[] {\n const gjs = new GeoJSON();\n return gjs.readFeatures(geojson) as Feature<T>[];\n }\n\n static fromEsriJson<T extends Geometry = Geometry>(ej: Esri.GeometryTypes.IEsriGeometry): T {\n const geojson = arcgisToGeoJSON(ej);\n return OlGeomHelper.fromGeojson(geojson);\n }\n\n}\n",null,"import { AsyncOpResult, Inject, OpResult, StoreService, TokenManager } from \"@yesilyazilim/web.spa\";\nimport type { LayerDefinitionProp_EsriMapService } from \"../../layers/layers.definitions\";\n\nexport type IdentifyParams = {\n layerIds: number[],\n coords: number[],\n tolerance: number,\n mapExtent: number[],\n imageDisplay: { w: number, h: number, dpi: number },\n returnUnformattedValues: boolean,\n returnFieldName: boolean\n}\n\nexport class AgsMapServiceChannel {\n\n private readonly _serviceUrl: string;\n private readonly _proxyUrl: string;\n private _serviceInfo: Esri.ServerTypes.MapServiceInfo;\n private _legendInfo: Esri.ServerTypes.MapServiceLegendInfo;\n private _tableInfos: Map<number, Esri.ServerTypes.MapServiceLayerTableInfo>;\n private _connected: boolean;\n\n @Inject() storeService: StoreService;\n\n constructor(private readonly _prop: LayerDefinitionProp_EsriMapService) {\n this._serviceUrl = _prop.url.endsWith('/') ? _prop.url : _prop.url + '/';\n this._connected = false;\n\n this._proxyUrl = new URL('/proxy', this.storeService.appProperties.apiEndPoint).toString() + '?';\n }\n\n public get ok(): boolean { return this._connected; }\n public get serviceInfo(): Esri.ServerTypes.MapServiceInfo { return this._serviceInfo; }\n public get legendInfo(): Esri.ServerTypes.MapServiceLegendInfo { return this._legendInfo; }\n\n public async connectAsync(): AsyncOpResult {\n const res: OpResult = {\n success: false\n };\n this._serviceInfo = await this._fetchServiceInfo();\n if (this._serviceInfo) {\n this._legendInfo = await this._fetchLegendInfo();\n if (this._legendInfo) {\n res.success = true;\n this._connected = true;\n } else {\n res.message = 'Lejant bilgileri alınamadi';\n }\n } else {\n res.message = 'Servis bilgileri alınamadı !';\n }\n return res;\n }\n\n public async getTableInfoAsync(layerId: number): Promise<Esri.ServerTypes.MapServiceLayerTableInfo> {\n if (!this._tableInfos) {\n const tires = await this._fetchTableInfos();\n if (tires?.layers && tires.layers.length > 0) {\n const map: Map<number, Esri.ServerTypes.MapServiceLayerTableInfo> = new Map();\n for (const li of tires.layers) {\n map.set(li.id, li);\n }\n this._tableInfos = map;\n } else return null;\n }\n\n return Promise.resolve(this._tableInfos.get(layerId));\n }\n\n public async queryRecordCount(layerId: number, filter: string = '1=1'): AsyncOpResult<number> {\n const p: OpResult<number> = { success: false }\n const prms = new URLSearchParams({ where: filter, returnCountOnly: 'true', f: 'pjson' });\n const url = this.getUrl(layerId.toString() + '/query?' + prms.toString());\n try {\n const res = await fetch(url);\n if (res.ok) {\n const data: Esri.ServerTypes.IMapServiceCountQueryResponse = await res.json();\n if (!data.error) {\n p.data = data.count;\n p.success = true;\n }\n }\n } catch (err) {\n console.warn('Error in getRecordCount', { layerId, err, filter })\n p.message = err;\n }\n return p;\n }\n\n public async queryFeatures(layerId: number, filter: string = '1=1', orderBy: string = null, page: { num: number, size: number } = null): AsyncOpResult<GeoJSON.FeatureCollection> {\n const p: OpResult<GeoJSON.FeatureCollection> = { success: false };\n\n const tblInfo = await this.getTableInfoAsync(layerId);\n const oidfield = tblInfo.fields.find((f) => f.type == 'esriFieldTypeOID');\n const po: Record<string, string> = {\n f: 'geojson',\n outFields: '*',\n where: filter,\n outSR: '4326',\n returnGeometry: 'true',\n }\n\n if (page?.num && page.size) {\n po.resultRecordCount = page.size.toString();\n po.resultOffset = (page.size * (page.num - 1)).toString()\n }\n\n if (orderBy || oidfield) {\n po.orderByFields = orderBy || oidfield.name;\n }\n\n const prms = (new URLSearchParams(po)).toString();\n const url = this.getUrl(layerId.toString() + '/query?' + prms);\n try {\n const res = await fetch(url);\n if (res.ok) {\n const data: Esri.ServerTypes.IMapServiceGeojsonQueryResponse = await res.json();\n if (!data.error) {\n p.data = data;\n p.success = true;\n }\n }\n } catch (err) {\n console.warn('Error in queryFeatures', { layerId, err, filter })\n p.message = err;\n }\n return p;\n }\n\n public async identify(params: IdentifyParams): AsyncOpResult<Esri.ServerTypes.IdentifyResult[]> {\n const spo: Esri.ServerTypes.IMapServiceIdentifyRequest = {\n f: 'json',\n geometryType: params.coords.length == 4 ? 'esriGeometryEnvelope' : 'esriGeometryPoint',\n geometry: params.coords.join(', '),\n layers: 'all:' + params.layerIds.join(','),\n sr: '4326',\n tolerance: params.tolerance.toString(),\n imageDisplay: [params.imageDisplay.w, params.imageDisplay.h, params.imageDisplay.dpi].join(','),\n mapExtent: params.mapExtent.join(','),\n returnGeometry: 'true',\n returnFieldName: (params.returnFieldName || false).toString(),\n returnUnformattedValues: (params.returnUnformattedValues || false).toString()\n };\n const sp = new URLSearchParams(spo);\n const url = this.getUrl('identify?') + sp.toString();\n const opres: OpResult<Esri.ServerTypes.IdentifyResult[]> = {\n success: false\n }\n try {\n let res = await fetch(url);\n if (!res.ok) {\n console.warn('Error response returned while getting Identify');\n opres.message = 'Servis mesaji hatası!';\n } else {\n const srvData = (await res.json()) as Esri.ServerTypes.IMapServiceIdentifyResponse;\n if (srvData.error) {\n console.warn('Error response for Identify', srvData.error);\n opres.message = 'Servis sonucu hata alındı!';\n } else {\n opres.data = srvData.results;\n opres.success = true;\n }\n }\n } catch (err) {\n console.warn('Error while getting Identify', err);\n opres.message = 'Konum bilgisi alinirken hata oluştu!';\n }\n return opres;\n }\n\n public async getImageData(url: string): Promise<string> {\n return new Promise<string>((resolve, reject) => {\n const client = new XMLHttpRequest();\n client.responseType = 'blob';\n const purl = this._proxyUrl + encodeURIComponent(url);\n client.open('GET', purl);\n client.setRequestHeader(\"Authorization\", TokenManager.headerValue);\n client.onload = function () {\n const ct = client.getResponseHeader('content-type') || '';\n if (ct.toLocaleLowerCase().startsWith('image')) {\n resolve(URL.createObjectURL(client.response));\n } else {\n resolve(null);\n }\n };\n client.send();\n });\n }\n\n public getUrl(suffix: string = ''): string {\n const url = this._serviceUrl + (suffix.startsWith('/') ? suffix.substring(1) : suffix);\n if (this._prop.useProxy) {\n const u = this._proxyUrl + encodeURIComponent(url);\n return u.toString();\n }\n return url;\n }\n\n public getUrlClean(suffix: string = ''): string {\n const url = this._serviceUrl + (suffix.startsWith('/') ? suffix.substring(1) : suffix);\n return url;\n }\n\n private async _fetchServiceInfo(): Promise<Esri.ServerTypes.MapServiceInfo> {\n try {\n const url = this.getUrl('?f=pjson');\n return await this._fetchCached(url);\n } catch (err) {\n console.warn('Error while getting MapService Info', err);\n return null;\n }\n }\n\n private async _fetchLegendInfo(): Promise<Esri.ServerTypes.MapServiceLegendInfo> {\n try {\n const url = this.getUrl('legend?f=pjson');\n return await this._fetchCached(url);\n } catch (err) {\n console.warn('Error while getting MapService Legend Info', err);\n }\n return null;\n }\n\n private async _fetchTableInfos(): Promise<Esri.ServerTypes.MapServiceLayerTableInfos> {\n try {\n const url = this.getUrl('layers?f=pjson');\n return await this._fetchCached(url);\n } catch (err) {\n console.warn('Error while getting MapService Table Info', err);\n return null;\n }\n }\n\n private async _fetchCached<T extends Esri.ServerTypes.IEsriJsonResult>(url: string): Promise<T> {\n const cachekey = 'lyr_' + encodeURIComponent(url);\n const cached = localStorage.getItem(cachekey);\n if (cached) {\n return Promise.resolve(JSON.parse(cached));\n }\n let res = await fetch(url, { cache: 'no-cache' });\n if (!res.ok) return null;\n const obj = await res.json() as T;\n if (obj.error) return null;\n localStorage.setItem(cachekey, JSON.stringify(obj));\n return obj;\n }\n}",null,"import { AsyncOpResult, OpResult } from \"@yesilyazilim/web.spa\";\nimport { LayerDefinitionTypes } from \"../../gis.enums\";\nimport { LayerDefinitionWms } from \"../layers.definitions\";\nimport { ILayerFactory } from \"../layers.types\";\nimport { WmsLayer } from \"../wms.layer.base\";\n\nexport class WmsLayerFactory implements ILayerFactory {\n type = LayerDefinitionTypes.WMS;\n\n async createAsync(ld: LayerDefinitionWms): AsyncOpResult<WmsLayer> {\n const opres: OpResult<WmsLayer> = {\n success: true,\n data: new WmsLayer(ld)\n };\n return Promise.resolve(opres);\n }\n}",null,"import ImageLayer from 'ol/layer/Image';\nimport { MapLayerBase } from \"./maplayer.base\";\nimport ImageSource from 'ol/source/ImageWMS';\nimport { LayerDefinitionWms } from \"./layers.definitions\";\nimport { AsyncOpResult, AuthService, EventService, Inject, StoreService } from \"@yesilyazilim/web.spa\";\nimport { MapManager } from \"../managers/map.manager\";\nimport { GeoserverChannel } from '../data/channels/geoserver.channel';\nimport type { LayerLegendSymbolInfo, IImageLayer, IdentifyResultItem, ILayerPopupItem } from './layers.types';\nimport { MapIdentifyData } from '../types';\nimport { FeatureLike } from 'ol/Feature';\nimport { OlGeomHelper } from '../helpers/ol.geom.helper';\nimport { getPointResolution } from 'ol/proj';\n\n\ntype OLayerType = ImageLayer<ImageSource>;\n\nexport abstract class WmsLayerBase extends MapLayerBase<OLayerType, LayerDefinitionWms> implements IImageLayer {\n\n @Inject() mapManager: MapManager;\n @Inject() storeService: StoreService;\n @Inject() eventService: EventService;\n\n public identifyType: 'remote' = 'remote';\n\n protected _channel: GeoserverChannel;\n\n constructor(ld: LayerDefinitionWms) {\n super(ld);\n\n this._channel = new GeoserverChannel(ld.props);\n this._channel.customParamsFnc = (action: 'getmap' | 'identify') => { return this.getCustomParams(action); }\n this._layer = new ImageLayer({\n source: this._channel.source,\n visible: ld.visible,\n minZoom: ld.minZoom,\n maxZoom: ld.maxZoom,\n });\n\n this._layer.setProperties({ mapLayer: this, name: this._definition.key, canEdit: false, canFlash: true, canSelect: true });\n }\n\n getLegendInfos(): LayerLegendSymbolInfo[] {\n return [];\n }\n\n abstract queryIdentifyAsync?(data: MapIdentifyData): AsyncOpResult<IdentifyResultItem[]>;\n abstract generatePopupItemsAsync?(feature: FeatureLike): Promise<ILayerPopupItem[]>;\n abstract getCustomParams(action: 'getmap' | 'identify'): { [key: string]: any; };\n}\n\nexport class WmsLayer extends WmsLayerBase {\n\n @Inject() authService: AuthService;\n\n constructor(ld: LayerDefinitionWms) {\n super(ld);\n }\n\n getCustomParams(action: 'getmap' | 'identify'): { [key: string]: any; } {\n console.log('WMS GetCustomParams called for action:', action);\n\n\n const map = this._layer.getMapInternal();\n const view = map.getView();\n let extArr = view.calculateExtent(map.getSize());\n\n var center = view.getCenter();\n var resolution = view.getResolution();\n var projection = view.getProjection();\n var resolutionAtCoords = getPointResolution(projection, resolution, center);\n var resolutionAtCoords2 = getPointResolution(OlGeomHelper.WGS84, resolution, center, 'degrees');\n var sampleSize = document.body.clientWidth * 0.1 * resolutionAtCoords;\n\n let defaultParams = `scale:${this.calculateEpsForScreenDistance(map)};xmin:${extArr[0]};ymin:${extArr[1]};xmax:${extArr[2]};ymax:${extArr[3]};`;\n const user = this.authService.currentUser;\n if (user) {\n defaultParams = defaultParams + `uid:${user.id};sid:${user.id}`;\n }\n const obj: Record<string, any> = {\n \"TIME\": this._currentTime,\n \"viewParams\": defaultParams\n };\n console.log('WMS Custom Params:', obj, projection.getCode(), 'ResAtCoords:', resolutionAtCoords, 'sampleSize:', sampleSize, 'resolutionAtCoords2', resolutionAtCoords2);\n return obj;\n }\n\n async queryIdentifyAsync?(data: MapIdentifyData): AsyncOpResult<IdentifyResultItem[]> {\n var res = await this._channel.IdentifyAsync(data);\n if (res && res.length > 0) {\n const items: IdentifyResultItem[] = res.map(f => ({\n layerTitle: this.definition.title,\n layerKey: this.definition.key,\n feature: f\n }));\n return { success: true, data: items };\n } else {\n return { success: true, data: [] };\n }\n }\n\n async generatePopupItemsAsync?(feature: FeatureLike): Promise<ILayerPopupItem[]> {\n return [];\n }\n\n // Calculate eps based on screen pixels to meters\n private calculateEpsForScreenDistance(map) {\n const view = map.getView();\n const resolution = view.getResolution(); // degrees per pixel\n const center = view.getCenter(); // [lon, lat] in EPSG:4326\n const lat = center[1];\n const zoom = view.getZoom();\n let pixelMeters = 15;\n\n if (zoom <= 6) {\n pixelMeters = 7.5;\n } else if (zoom <= 7) {\n pixelMeters = 10;\n }\n\n const metersDistance = pixelMeters * resolution;\n const metersPerDegree = 111320 * Math.cos(lat * Math.PI / 180);\n const eps = metersDistance / metersPerDegree;\n \n return this.exponentToDecimals(eps);\n }\n\n private exponentToDecimals(num) {\n if (num < 0.000001) {\n let numChunks = [];\n numChunks = num.toString().split('e');\n\n let numOfZeroes = Math.abs(numChunks[1]) - 1;\n let decimalNumber = '';\n let zeroes = '';\n let int = numChunks[0];\n\n for (let i = 0; i < int.length; i++) {\n int = int.replace('.', '');\n }\n\n for (let i = 0; i < numOfZeroes; i++) {\n zeroes += '0';\n }\n\n return '0.' + zeroes + int;\n } else {\n return num;\n }\n }\n}\n\n\n",null,"import { AsyncOpResult, CommandService, EventService, ICommandDisplayer, Inject, OpResult, Service } from \"@yesilyazilim/web.spa\";\nimport { Feature, Overlay } from 'ol';\nimport { Geometry, Point } from 'ol/geom';\nimport { Style } from 'ol/style';\nimport type { FeatureContextMenuItemAction, GetOneFeatureOptions, IClickItem, IFeatureCmItem, ILayerManager, MapFlashGeomRequestData, MapGotoExtentRequestData, MapIdentifyData } from '../types';\n\nimport { Coordinate } from 'ol/coordinate';\nimport { Draw } from 'ol/interaction';\nimport VectorLayer from 'ol/layer/Vector';\nimport OMap from 'ol/Map';\nimport VectorSource from 'ol/source/Vector';\nimport View from 'ol/View';\nimport { GisEvents } from '../gis.enums';\nimport { Layer } from \"ol/layer\";\nimport { SymbologyFactory } from \"../layers/factory/symbology.factory\";\nimport { IdentifyResultItem, IFeatureLayer, IImageLayer, IMapLayer, IMvtLayer } from \"../layers/layers.types\";\nimport { FeatureLike } from \"ol/Feature\";\nimport { Pixel } from \"ol/pixel\";\nimport { getLayerProps } from \"../helpers/ol.extensions\";\nimport { FeatureContextMenuComponent } from \"../components/feature.contextmenu.component\";\nimport { OlGeomHelper } from \"../helpers/ol.geom.helper\";\n\nconst LO_SELECTION = 10000;\nconst LO_FLASH = 10020;\n\nexport type LayerAnimation = {\n layer: IMapLayer,\n animateFunction: () => void,\n minZoom: number\n}\n\n\n@Service()\nexport class MapManager {\n\n @Inject() eventService: EventService;\n @Inject() commandService: CommandService;\n\n private _layerManager: ILayerManager;\n private _map: OMap;\n private _view: View;\n private _activeDraw: Draw | null = null;\n private _popupDiv: HTMLElement;\n private _popup: Overlay;\n private _selectionLayer: VectorLayer;\n private readonly _selectionDict: Map<IMapLayer, FeatureLike[]> = new Map();\n private _flashLayer: VectorLayer;\n private readonly _animations: Map<string, LayerAnimation> = new Map();\n private _animationHandler: number = 0;\n\n public commandDisplayer: CmxCommandDisplayer = new CmxCommandDisplayer();\n\n public init(map: OMap, view: View, popupDiv: HTMLElement, layerManager: ILayerManager) {\n if (this._map) return;\n this._layerManager = layerManager;\n this._map = map;\n this._view = view;\n this._popupDiv = popupDiv;\n this._initPopup();\n\n this._selectionLayer = new VectorLayer({\n source: new VectorSource(),\n style: SymbologyFactory.getSelectionSymbol(),\n zIndex: LO_SELECTION,\n map: this._map\n });\n\n this._flashLayer = new VectorLayer({\n source: new VectorSource(),\n style: this._getFlashSymbol(),\n zIndex: LO_FLASH,\n map: this._map\n });\n\n this.eventService.listen(GisEvents.MapGotoExtentRequest, this._onGotoExtendRequested);\n this.eventService.listen(GisEvents.MapFlashGeomRequest, this._onFlashGeomRequested);\n }\n\n public get map(): OMap {\n return this._map;\n }\n\n public get view(): View {\n return this._view;\n }\n\n public get zoom(): number {\n return Math.trunc(this._view.getZoom());\n }\n\n public startDraw(draw: Draw) {\n this.cancelDraw();\n this._activeDraw = draw;\n this._map.addInteraction(this._activeDraw);\n }\n\n public cancelDraw() {\n if (this._activeDraw) {\n if (this._activeDraw.getActive()) {\n this._activeDraw.abortDrawing();\n }\n this._map.removeInteraction(this._activeDraw);\n }\n this._activeDraw = null;\n }\n\n public setSelectedFeatures(dict?: Map<IMapLayer, FeatureLike[]>) {\n this._selectionLayer.getSource().clear();\n for (const layer of this._selectionDict.keys()) {\n if (layer.identifyType == 'mvt' && (layer as IMvtLayer).setFeaturesSelected) {\n (layer as IMvtLayer).setFeaturesSelected([]);\n }\n }\n this._selectionDict.clear();\n\n if (!(dict && dict.size > 0)) return;\n\n const cloneFeat = (layer: IMapLayer, feat: Feature): Feature => {\n const copy = new Feature(feat.getGeometry());\n return copy;\n }\n\n const selLayerFeats: Feature[] = [];\n for (const layer of dict.keys()) {\n const features = dict.get(layer);\n if (layer.identifyType == 'mvt' && (layer as IMvtLayer).setFeaturesSelected) {\n (layer as IMvtLayer).setFeaturesSelected(features);\n } else {\n const feats = features.map(_ => cloneFeat(layer, _ as Feature));\n selLayerFeats.push(...feats);\n }\n this._selectionDict.set(layer, features);\n }\n this._selectionLayer.getSource().addFeatures(selLayerFeats);\n }\n\n public showPopup(at: Coordinate, content: HTMLElement) {\n if (!(at && content)) {\n this._popup.setPosition(undefined);\n return;\n }\n const contentDiv = this._popupDiv.querySelector('.popup-content');\n if (contentDiv) {\n contentDiv.innerHTML = '';\n contentDiv.appendChild(content);\n }\n this._popup.setPosition(at);\n }\n\n public startAnimate(key: string, animation: LayerAnimation) {\n this._animations.set(key, animation);\n this._beginAnimate();\n }\n\n public endAnimate(key: string) {\n if (this._animations.delete(key) && this._animations.size == 0) {\n this._endAnimate();\n }\n }\n\n public hasAnimate(key: string): boolean {\n return this._animations.has(key);\n }\n\n public stopAnimations(): Promise<void> {\n this._endAnimate();\n this.eventService.raise(GisEvents.DisableAnimations, null);\n return new Promise<void>((resolve) => {\n setTimeout(() => {\n requestAnimationFrame(() => {\n resolve();\n });\n }, 50);\n });\n }\n\n public resumeAnimation() {\n this._beginAnimate();\n }\n\n public changeCursor(cursor: string = '') {\n this.map.getTargetElement().style.cursor = cursor;\n }\n\n public getCurrentIdentifyDataFor(pixel: Pixel): MapIdentifyData {\n const vse = this._view.getViewStateAndExtent();\n const rect = this._map.getTargetElement().getBoundingClientRect();\n const inp: MapIdentifyData = {\n coords: this._map.getCoordinateFromPixel(pixel),\n imageDisplay: { w: rect.width, h: rect.height, dpi: 96 },\n mapExtent: vse.extent,\n screenPoint: pixel,\n tolerance: 3,\n resolution: this._view.getResolution(),\n };\n return inp;\n }\n\n public async getOneFeatureAt(pixel: Pixel, opt: GetOneFeatureOptions): Promise<IClickItem> {\n const contents: IClickItem[] = [];\n\n const forEachFeatureCallback = (feature: FeatureLike, layer: Layer) => {\n if (!layer) return;\n if (opt.featureFilter) {\n if (!opt.featureFilter(feature)) return;\n }\n const mapLayer = getLayerProps(layer)?.mapLayer as IFeatureLayer | IMvtLayer;\n if (!!!(mapLayer?.getFeatureTitle)) return;\n\n const title = mapLayer.getFeatureTitle(feature)\n if (title && contents.findIndex((old) => old.layer === layer && (old.feature as FeatureLike).getId() === feature.getId()) < 0) {\n contents.push({\n feature, layer, mapLayer, title,\n iconClass: 'bi bi-caret-right-fill'\n })\n }\n };\n\n this.map.forEachFeatureAtPixel(pixel, forEachFeatureCallback, opt);\n\n let imageLayers = this._layerManager.layerList.filter((ml) => ml.identifyType == 'remote');\n if (opt.layerFilter) {\n imageLayers = imageLayers.filter((ml) => opt.layerFilter(ml.layerObj as any));\n }\n const arr: Promise<{ lyr: IImageLayer, result: OpResult<IdentifyResultItem[]> }>[] = [];\n for (const iml of imageLayers) {\n const imgLyr = iml as IImageLayer;\n var inp = this.getCurrentIdentifyDataFor(pixel);\n const prms = new Promise<{ lyr: IImageLayer, result: OpResult<IdentifyResultItem[]> }>((resolve) => {\n imgLyr.queryIdentifyAsync(inp).then((r) => {\n resolve({ lyr: imgLyr, result: r });\n });\n });\n arr.push(prms);\n }\n\n const prmsResults = await Promise.all(arr);\n for (const prmRes of prmsResults) {\n const res = prmRes.result;\n if (!res.success) continue;\n for (const item of res.data) {\n contents.push({\n feature: item.feature,\n layer: prmRes.lyr.layerObj as Layer,\n mapLayer: prmRes.lyr,\n title: item.layerTitle,\n iconClass: 'bi bi-caret-right-fill'\n });\n }\n }\n\n if (contents && contents.length > 0) {\n if (contents.length === 1) {\n return Promise.resolve(contents[0]);\n } else {\n return new Promise<IClickItem>((resolve) => {\n var self = this;\n const cmdAction = function (action: 'click' | 'enter' | 'leave', item: IClickItem) {\n if (action == 'enter') {\n\n const maplayer = getLayerProps(item.layer)?.mapLayer;\n console.log('enter', item, maplayer);\n\n if (maplayer.identifyType == 'feature') {\n (maplayer as IFeatureLayer).flashFeatures(item.feature as FeatureLike);\n } else if (maplayer.identifyType == 'mvt') {\n (maplayer as IMvtLayer).flashFeatures(item.feature as FeatureLike);\n } else if (maplayer.identifyType == 'remote') {\n const ft = item.feature as Feature<Geometry>;\n //var ft = OlGeomHelper.fromGeojsonFeature<Geometry>(item.feature);\n self.flashGeom(ft.getGeometry());\n }\n } else if (action == 'leave') {\n const maplayer = getLayerProps(item.layer)?.mapLayer;\n if (maplayer.identifyType == 'feature') {\n (maplayer as IFeatureLayer).flashFeatures(null);\n } else if (maplayer.identifyType == 'mvt') {\n (maplayer as IMvtLayer).flashFeatures(null);\n } else if (maplayer.identifyType == 'remote') {\n self.flashGeom(null);\n }\n } else if (action == 'click') {\n resolve(item);\n }\n }\n\n this.showContextMenuAt(opt.menux, opt.menuy, contents, cmdAction, true);\n })\n }\n }\n return Promise.resolve(null);\n }\n\n public async showContextMenuAt(pageX: number, pageY: number, items: IFeatureCmItem[], itemAction: FeatureContextMenuItemAction, isGlass: boolean) {\n const te = this.map.getTargetElement();\n const rect = te.getBoundingClientRect();\n const loc = { x: pageX - rect.x, y: pageY - rect.y };\n const cm = new FeatureContextMenuComponent(loc, items, itemAction, isGlass);\n this.commandDisplayer.setCmx(cm);\n te.appendChild(cm);\n }\n\n\n public goto(coordinate: Coordinate) {\n this._view.fit(new Point(coordinate), { maxZoom: 20, duration: 300, });\n }\n\n public gotoFly(location: Coordinate): Promise<void> {\n const view = this._view;\n const duration = 2000;\n const zoom = view.getZoom();\n let parts = 2;\n let called = false;\n return new Promise<void>((resolve) => {\n function callback(complete) {\n --parts;\n if (called) {\n return;\n }\n if (parts === 0 || !complete) {\n called = true;\n resolve(complete);\n }\n }\n view.animate(\n {\n center: location,\n duration: duration,\n },\n callback\n );\n view.animate(\n {\n zoom: zoom - 1,\n duration: duration / 2,\n },\n {\n zoom: zoom,\n duration: duration / 2,\n },\n callback\n );\n });\n }\n\n public flash(ed: MapFlashGeomRequestData): Promise<boolean> {\n return new Promise((resolve, reject) => {\n const src = this._flashLayer.getSource();\n if (!ed.keepExist) {\n src.clear();\n }\n if (ed.geom) {\n const feat = new Feature(ed.geom);\n src.addFeature(feat);\n if (!ed.skipZoom) { this._view.fit(ed.geom.getExtent(), { maxZoom: 25, duration: 200 }) }\n let cnt = 0;\n const timerKey = setInterval(() => {\n if (cnt > 1) {\n clearInterval(timerKey);\n src.removeFeature(feat);\n return;\n }\n\n if (cnt % 2 == 0) {\n src.removeFeature(feat);\n } else {\n src.addFeature(feat);\n }\n cnt++;\n }, 200);\n }\n });\n }\n\n public flashGeom(geom: Geometry) {\n this.flash({ geom, skipZoom: true });\n }\n\n public flashGeojson(gjs: any) {\n if (!gjs) return;\n const geom = OlGeomHelper.fromGeojson(gjs);\n if (!geom) return;\n this.flash({ geom });\n }\n\n private readonly _onGotoExtendRequested = (ed: MapGotoExtentRequestData): Promise<boolean> => {\n return new Promise((resolve, reject) => {\n this._view.fit(ed.extent, {\n maxZoom: 20, duration: 300, callback: (isOk) => {\n resolve(isOk);\n }\n });\n });\n }\n\n private readonly _onFlashGeomRequested = (ed: MapFlashGeomRequestData): Promise<boolean> => {\n return this.flash(ed);\n }\n\n private _initPopup() {\n this._popup = new Overlay({\n element: this._popupDiv,\n autoPan: {\n animation: {\n duration: 250\n }\n }\n });\n this._map.addOverlay(this._popup);\n const closer: HTMLAnchorElement = this._popupDiv.querySelector('.ol-popup-closer');\n closer?.addEventListener('click', () => {\n this._popup.setPosition(undefined);\n closer.blur();\n return false;\n });\n }\n\n private _getFlashSymbol() {\n\n const fs = SymbologyFactory.createFlashedStyles();\n const arr: Style[] = [];\n const cnt = fs.get('Point').length;\n\n const ps = fs.get('Point');\n const ls = fs.get('LineString');\n const gs = fs.get('Polygon');\n for (let i = 0; i < cnt; i++) {\n\n const ts = new Style({\n stroke: ls[i].getStroke(),\n fill: gs[i].getFill(),\n image: ps[i].getImage()\n });\n\n arr.push(ts);\n }\n return arr;\n }\n\n private _beginAnimate() {\n if (this._animationHandler > 0 || this._animations.size == 0) return;\n this._animationHandler = setInterval(this._animator, 30);\n }\n\n private _endAnimate() {\n if (this._animationHandler > 0) {\n clearInterval(this._animationHandler);\n }\n this._animationHandler = 0;\n }\n\n\n\n private _completed: boolean = true;\n\n\n private readonly _animator = () => {\n if (this._animationHandler == 0) return;\n if (!this._completed) return;\n this._completed = false;\n const zoom = this.zoom;\n\n for (const animation of this._animations.values()) {\n if (zoom >= animation.minZoom && animation.layer.checked && !animation.layer.passive) {\n animation.animateFunction();\n animation.layer.layerObj.changed();\n }\n }\n this._completed = true;\n }\n}\n\nclass CmxCommandDisplayer implements ICommandDisplayer {\n\n private _comp: FeatureContextMenuComponent;\n\n setCmx(comp: FeatureContextMenuComponent) {\n this._comp = comp;\n }\n\n setActive(key: string, value: boolean) {\n this._comp?.setActive(key, value);\n }\n\n setDisabled(key: string, value: boolean) {\n this._comp?.setDisabled(key, value);\n }\n\n isExist(): boolean {\n return (this._comp?.isExist()) || false;\n }\n}\n",null,"import { Fill, Stroke, Style, Circle, Text, RegularShape, Icon } from \"ol/style\";\nimport { Color, fromString } from 'ol/color';\nimport * as olExtent from 'ol/extent';\nimport { fromExtent as polygonfromExtent } from \"ol/geom/Polygon\";\nimport { ColorLike } from \"ol/colorlike\";\nimport type { BasicGeometryTypes, LayerSymbology, LayerSymbologyLabelDef, SimpleLayerSymbology, UniqueValuesLayerSymbology } from \"../../types\";\nimport { toContext } from \"ol/render\";\nimport Point from \"ol/geom/Point\";\nimport LineString from \"ol/geom/LineString\";\nimport { Feature } from \"ol\";\n\nconst setAlpha = function (color: Color, alpha: number): Color {\n if (color.length == 4) return [color[0], color[1], color[2], alpha];\n else return color.concat(alpha);\n}\n\nexport class SymbologyFactory {\n static readonly DefaultSymbolNum = -9999;\n static readonly SelectionColor = 'rgb(83, 234, 253)';\n static readonly FlashColor = 'rgb(83, 234, 253)'; //'rgb(173, 70, 255)';//rgb(255, 223, 32)';\n\n static createSimplePoint(color: ColorLike, radius: number = 5): Style {\n return new Style({\n image: new Circle({\n radius,\n fill: new Fill({ color })\n })\n });\n }\n\n static createSimpleLine(color: ColorLike, width: number = 2): Style {\n return new Style({\n stroke: new Stroke({ color, width })\n });\n }\n\n static createSimplePolygon(color: string, strokeWidth: number = 2, fillOpacity: number = 0.1): Style {\n if (fillOpacity == 0) {\n return new Style({\n stroke: new Stroke({\n width: strokeWidth,\n color: color,\n })\n })\n }\n\n const fc = fromString(color);\n if (fc.length === 3) {\n fc.push(fillOpacity);\n } else {\n fc[3] = fillOpacity;\n }\n\n return new Style({\n stroke: new Stroke({\n width: strokeWidth,\n color: color,\n lineJoin: 'miter'\n }),\n fill: new Fill({\n color: fc // color + ((fillOpacity * 256) % 256).toString(16).padStart(2, '0')\n })\n })\n }\n\n static createStyleFromDef(def: LayerSymbology): Style | Map<number, Style> {\n if (def.type == 'simple') {\n switch (def.geomType) {\n case 'Point': return createSimplePointStyle(def);\n case 'LineString': return createSimpleLineStyle(def);\n case 'Polygon': return createSimplePolygonStyle(def);\n default:\n break;\n }\n } else if (def.type == 'unique') {\n switch (def.geomType) {\n case 'Point': return createUVPointStyle(def);\n case 'LineString': return createUVLineStyle(def);\n case 'Polygon': return createUVPolygonStyle(def);\n default:\n break;\n }\n }\n }\n\n static createFlashedStyles(): Map<BasicGeometryTypes, Style[]> {\n const color = SymbologyFactory.FlashColor; // 'rgb(255, 223, 32)'; //'rgb(173, 70, 255)';\n const map = new Map<BasicGeometryTypes, Style[]>();\n map.set('Point', SymbologyFactory.createGlowedPoint(color));\n map.set('LineString', SymbologyFactory.createGlowedLine(color),);\n map.set('Polygon', SymbologyFactory.createGlowedPolygon(color));\n return map;\n }\n\n static createHoverStyles(): Map<BasicGeometryTypes, Style> {\n const circleSize = 6;\n const lineSize = 4;\n const color = 'rgb(124, 207, 0)';\n const map = new Map<BasicGeometryTypes, Style>();\n map.set('Point', SymbologyFactory.createSimplePoint(color, circleSize));\n map.set('LineString', SymbologyFactory.createSimpleLine(color, lineSize),);\n map.set('Polygon', SymbologyFactory.createSimplePolygon(color, lineSize, 0.2));\n return map;\n }\n\n static createSelectionStyles(): Map<BasicGeometryTypes, Style> {\n const circleSize = 6;\n const lineSize = 4;\n const map = new Map<BasicGeometryTypes, Style>();\n map.set('Point', SymbologyFactory.createSimplePoint(SymbologyFactory.SelectionColor, circleSize));\n map.set('LineString', SymbologyFactory.createSimpleLine(SymbologyFactory.SelectionColor, lineSize),);\n map.set('Polygon', SymbologyFactory.createSimplePolygon(SymbologyFactory.SelectionColor, lineSize, 0.2));\n return map;\n }\n\n static getSelectionSymbol(): Style {\n const fc = fromString(SymbologyFactory.SelectionColor);\n if (fc.length === 3) {\n fc.push(0.5);\n } else {\n fc[3] = 0.5;\n }\n return new Style({\n stroke: new Stroke({\n color: SymbologyFactory.SelectionColor,\n width: 8\n }),\n fill: new Fill({\n color: fc\n }),\n image: new Circle({\n radius: 12,\n fill: new Fill({\n color: SymbologyFactory.SelectionColor\n })\n })\n });\n }\n\n static createCanvas(style: Style, type: BasicGeometryTypes): HTMLCanvasElement {\n const canvas = document.createElement('canvas');\n switch (type) {\n case 'Point': {\n const width: number = 30;\n const height: number = 30;\n const vectorContext = toContext(canvas.getContext('2d'), { size: [width, height] });\n vectorContext.setStyle(style);\n vectorContext.drawGeometry(new Point([width / 2, height / 2]));\n }\n break;\n case 'LineString': {\n const width: number = 30;\n const height: number = 30;\n const vectorContext = toContext(canvas.getContext('2d'), { size: [width, height] });\n vectorContext.setStyle(style);\n vectorContext.drawGeometry(new LineString([[0, height / 2], [width, height / 2]]));\n }\n break;\n case 'Polygon': {\n const width: number = 30;\n const height: number = 30;\n const vectorContext = toContext(canvas.getContext('2d'), { size: [width, height] });\n vectorContext.setStyle(style);\n const ext = olExtent.boundingExtent([[3, 3], [width - 3, height - 3]]);\n vectorContext.drawGeometry(polygonfromExtent(ext));\n }\n break;\n default:\n break;\n }\n return canvas;\n }\n\n static createCanvasFromFeature(style: Style, feature: Feature, width: number = 100, height: number = 100): HTMLCanvasElement {\n const canvas = document.createElement('canvas');\n const vectorContext = toContext(canvas.getContext('2d'), { size: [width, height] });\n vectorContext.setStyle(style);\n vectorContext.drawFeature(feature, style);\n return canvas;\n }\n\n static createGlowedLine(color: string, steps: number = 7): Style[] {\n const styles = [];\n let c = fromString(color);\n if (c.length > 3) {\n c = [c[0], c[1], c[2]];\n }\n for (let i = 0; i < steps; i++) {\n styles.push(\n new Style({\n stroke: new Stroke({\n color: c.concat([1 / (steps - i)]),\n width: (steps - i) * 2 - 1\n })\n })\n );\n }\n return styles;\n }\n\n static createGlowedPoint(color: string, steps: number = 7): Style[] {\n const styles = [];\n let c = fromString(color);\n if (c.length > 3) {\n c = [c[0], c[1], c[2]];\n }\n for (let i = 0; i < steps; i++) {\n styles.push(\n new Style({\n image: new Circle({\n radius: (steps - i) * 2 - 1,\n fill: new Fill({ color: c.concat([1 / (steps - i)]) })\n })\n })\n );\n }\n return styles;\n }\n\n static createGlowedPolygon(color: string, steps: number = 7): Style[] {\n const styles = [];\n let c = fromString(color);\n if (c.length > 3) {\n c = [c[0], c[1], c[2]];\n }\n styles.push(new Style({\n fill: new Fill({\n color: c.concat([0.2]),\n })\n }));\n for (let i = 1; i < steps; i++) {\n styles.push(\n new Style({\n stroke: new Stroke({\n color: c.concat([1 / (steps - i)]),\n width: (steps - i) * 2 - 1\n })\n })\n );\n }\n return styles;\n }\n}\n\n\nfunction createText(li: LayerSymbologyLabelDef): Text {\n const color = fromString(li.textColor);\n const textStyle = new Text({\n font: `${li.textSize}px Roboto,sans-serif`,\n overflow: !!li.overflow,\n offsetY: li.offsetY | 0,\n offsetX: li.offsetX | 0,\n fill: new Fill({ color }),\n stroke: new Stroke({\n color: '#fff',\n width: 4,\n })\n });\n\n return textStyle;\n}\n\nfunction createSimplePointStyle(def: SimpleLayerSymbology): Style {\n const stroke = def.stroke ? new Stroke({ color: def.stroke.color, width: def.stroke.size }) : null\n const s = new Style({ stroke });\n if (def.pointProps) {\n const fill = new Fill({ color: def.color });\n switch (def.pointProps.shape) {\n case 'circle': s.setImage(new Circle({ radius: def.size, fill, stroke: stroke })); break;\n case 'triangle': s.setImage(new RegularShape({ points: 3, radius: def.size, fill, stroke: stroke })); break;\n case 'square': s.setImage(new RegularShape({ points: 4, radius: def.size, fill, angle: Math.PI / 4, stroke: stroke })); break;\n case 'pentagon': s.setImage(new RegularShape({ points: 5, radius: def.size, fill, stroke: stroke })); break;\n case 'star': s.setImage(new RegularShape({ points: 5, radius: def.size, radius2: def.size / 2, fill, stroke: stroke })); break;\n case 'image': s.setImage(new Icon({\n anchor: def.pointProps.anchor,\n anchorXUnits: 'fraction',\n anchorYUnits: 'fraction',\n src: def.pointProps.src,\n height: def.pointProps.height,\n width: def.pointProps.width,\n offset: def.pointProps.offset,\n }));\n break;\n default:\n break;\n }\n }\n if (def.labelDef) s.setText(createText(def.labelDef));\n return s;\n}\n\nfunction createSimpleLineStyle(def: SimpleLayerSymbology): Style {\n return new Style({\n stroke: new Stroke({\n width: def.size,\n color: def.color,\n })\n })\n}\n\nfunction createSimplePolygonStyle(def: SimpleLayerSymbology): Style {\n let strokeColor = fromString(def.color);\n let fillColor = fromString(def.color);\n let strokeSize = 3;\n if (def.stroke) {\n strokeColor = fromString(def.stroke.color);\n strokeSize = def.stroke.size;\n } else {\n fillColor = setAlpha(fillColor, 0.1);\n }\n const s = new Style({\n stroke: new Stroke({\n width: strokeSize,\n color: strokeColor,\n }),\n fill: new Fill({\n color: fillColor\n })\n })\n if (def.labelDef) s.setText(createText(def.labelDef));\n return s;\n}\n\nfunction createUVPointStyle(def: UniqueValuesLayerSymbology): Map<number, Style> {\n const map: Map<number, Style> = new Map();\n // if (def.default) {\n // map.set(StyleFactory.DefaultSymbolNum, createSimplePointStyle(def.default.sym))\n // }\n\n for (const uv of def.values) {\n map.set(uv.st, createSimplePointStyle(uv.symbol));\n }\n return map;\n}\n\nfunction createUVLineStyle(def: UniqueValuesLayerSymbology): Map<number, Style> {\n const map: Map<number, Style> = new Map();\n for (const uv of def.values) {\n map.set(uv.st, createSimpleLineStyle(uv.symbol));\n }\n return map;\n}\n\nfunction createUVPolygonStyle(def: UniqueValuesLayerSymbology): Map<number, Style> {\n const map: Map<number, Style> = new Map();\n for (const uv of def.values) {\n map.set(uv.st, createSimplePolygonStyle(uv.symbol));\n }\n return map;\n}",null,"import { Layer } from \"ol/layer\"\nimport { LayerProperties } from \"../layers/layers.types\"\n\nexport function getLayerProps(layer: Layer): LayerProperties {\n return layer.getProperties() as LayerProperties;\n}",null,"import { BaseElement, Component, ELF, ICommandDisplayer } from '@yesilyazilim/web.spa';\nimport './styles/feature.contextmenu.component.less';\nimport type { FeatureContextMenuItemAction, IFeatureCmItem } from '../types';\n\n@Component({ elementName: 'map-feat-cm' })\nexport class FeatureContextMenuComponent extends BaseElement implements ICommandDisplayer {\n\n _closeHandler: number = 0;\n\n constructor(private _loc: { x: number, y: number }, items: IFeatureCmItem[], public action: FeatureContextMenuItemAction, private isGlass: boolean) {\n super();\n\n const arr = this._groupItems(items);\n for (let i = 0; i < arr.length; i++) {\n const kvp = arr[i];\n this.appendChild(ELF.span(kvp.title, 'GroupTitle'));\n let count = 0;\n const limit = 10;\n for (const item of kvp.items) {\n if (++count > limit) {\n item.title = \"++ Diğer \" + (kvp.items.length - limit).toString();\n this.appendChild(new ContextMenuItemComponent(this, item, true));\n break;\n } else {\n this.appendChild(new ContextMenuItemComponent(this, item));\n }\n }\n if (i < arr.length - 1) {\n this.appendChild(ELF.div('Seperator'));\n }\n }\n\n if (isGlass) {\n this.classList.add(\"glass\");\n }\n }\n\n setActive(key: string, value: boolean) {\n //throw new Error('Method not implemented.');\n }\n\n setDisabled(key: string, value: boolean) {\n //throw new Error('Method not implemented.');\n }\n\n onConnected() {\n this.style.top = this._loc.y + 'px';\n this.style.left = this._loc.x + 'px';\n\n this.addEventListener('mouseleave', () => {\n this._closeHandler = setTimeout(() => {\n this._closeHandler = 0;\n this.remove();\n }, 200);\n }, { once: true });\n\n this.addEventListener('mouseenter', () => {\n if (this._closeHandler) {\n clearTimeout(this._closeHandler);\n this._closeHandler = 0;\n }\n });\n\n document.body.addEventListener('mouseenter', () => {\n this._closeHandler = setTimeout(() => {\n this._closeHandler = 0;\n this.remove();\n }, 200);\n }, { once: true });\n }\n\n onItemMouseEnter(child: ContextMenuItemComponent) {\n this.action('enter', child.item);\n }\n\n onItemMouseLeave(child: ContextMenuItemComponent) {\n this.action('leave', child.item);\n }\n\n onItemMouseClick(child: ContextMenuItemComponent) {\n this.action('leave', child.item);\n this.action('click', child.item);\n this.remove();\n }\n\n _groupItems(items: IFeatureCmItem[]): Array<{ title: string, items: IFeatureCmItem[] }> {\n const map: Map<string, IFeatureCmItem[]> = new Map();\n for (const item of items) {\n const gkey = item.group || '';\n let garr: IFeatureCmItem[] = map.get(gkey);\n if (!garr) {\n garr = [];\n map.set(gkey, garr);\n }\n garr.push(item);\n }\n const arr: Array<{ title: string, items: IFeatureCmItem[] }> = [];\n map.forEach((v, k) => {\n arr.push({ title: k, items: v });\n });\n return arr;\n }\n}\n\n\n@Component({ elementName: 'map-feat-cm-item' })\nclass ContextMenuItemComponent extends BaseElement {\n constructor(private menu: FeatureContextMenuComponent, public item: IFeatureCmItem, disabled: boolean = false) {\n super();\n\n if (disabled) {\n this.appendChild(ELF.label(item.title, \"cm-title\"));\n this.disabled = true;\n } else {\n this.addEventListener('mouseenter', () => { this.menu.onItemMouseEnter(this) });\n this.addEventListener('mouseleave', () => { this.menu.onItemMouseLeave(this) });\n this.addEventListener('click', () => { this.menu.onItemMouseClick(this) });\n\n if (item.iconClass) {\n const iconElm = ELF.icon(\"cm-icon \" + item.iconClass);\n this.appendChild(iconElm)\n }\n\n this.appendChild(ELF.label(item.title, \"cm-title\"));\n }\n }\n}\n",null,"import { Inject, StoreService, TokenManager } from \"@yesilyazilim/web.spa\";\nimport { ImageWMS } from \"ol/source\";\nimport { LayerDefinitionProp_Wms } from \"../../layers/layers.definitions\";\nimport { MapIdentifyData } from \"../../types\";\nimport { GeoJSONFeatureCollection } from \"ol/format/GeoJSON\";\nimport { OlGeomHelper } from \"../../helpers/ol.geom.helper\";\nimport Geometry from \"ol/geom/Geometry\";\nimport { Feature } from \"ol\";\n\nexport class GeoserverChannel {\n private readonly _proxyUrl: string;\n\n @Inject() storeService: StoreService;\n\n public source: ImageWMS;\n public customParamsFnc: (action: 'getmap' | 'identify') => { [key: string]: any; };\n\n constructor(private readonly _wmsProps: LayerDefinitionProp_Wms) {\n this._proxyUrl = new URL('/proxy', this.storeService.appProperties.apiEndPoint).toString() + '?';\n\n this.source = new ImageWMS({\n url: _wmsProps.url,\n params: {\n LAYERS: _wmsProps.layers,\n format: _wmsProps.imagetype,\n transparent: true,\n serverType: 'geoserver'\n },\n crossOrigin: 'anonymous',\n serverType: 'geoserver',\n imageLoadFunction: async (iw, url) => {\n const urlWithParams = this._getWithCustomParams('getmap', url);\n const obj = await this._getImageData(urlWithParams);\n if (obj) (iw.getImage() as HTMLImageElement).src = obj;\n }\n });\n }\n\n public async IdentifyAsync(inp: MapIdentifyData): Promise<Feature<Geometry>[]> {\n const up = new URLSearchParams();\n up.append('SERVICE', 'WMS');\n up.append('VERSION', '1.3');\n up.append('REQUEST', 'GetFeatureInfo');\n up.append('INFO_FORMAT', 'application/json');\n up.append('LAYERS', this._wmsProps.layers);\n up.append('QUERY_LAYERS', this._wmsProps.layers);\n up.append('STYLES', '');\n up.append('BBOX', inp.mapExtent.join(','));\n up.append('FEATURE_COUNT', '10');\n up.append('HEIGHT', inp.imageDisplay.h.toFixed(0).toString());\n up.append('WIDTH', inp.imageDisplay.w.toFixed(0).toString());\n up.append('SRS', 'EPSG:4326');\n up.append('X', Math.round(inp.screenPoint[0]).toString());\n up.append('Y', Math.round(inp.screenPoint[1]).toString());\n //up.append('viewparams', this.source.getParams().viewparams as string);\n\n this._fillCustomParams('identify', up);\n\n var url = this._wmsProps.url + '?' + up.toString();\n if (!url) return null;\n const headers = {};\n let purl = url;\n if (this._wmsProps.useProxy) {\n headers[\"Authorization\"] = TokenManager.headerValue;\n purl = this._proxyUrl + encodeURIComponent(url)\n }\n\n const res = await fetch(purl, {\n headers: headers,\n method: 'GET'\n });\n if (res.ok) {\n const json = await res.json();\n var ft = OlGeomHelper.fromGeojsonFeatures<Geometry>(json);\n return ft;\n }\n return null;\n }\n\n private async _getImageData(url: string): Promise<string> {\n return new Promise<string>((resolve, reject) => {\n const client = new XMLHttpRequest();\n client.responseType = 'blob';\n\n let purl = url;\n if (this._wmsProps.useProxy) {\n purl = this._proxyUrl + encodeURIComponent(url)\n }\n\n client.open('GET', purl);\n if (this._wmsProps.useProxy)\n client.setRequestHeader(\"Authorization\", TokenManager.headerValue);\n client.onload = function () {\n const ct = client.getResponseHeader('content-type') || '';\n if (ct.toLocaleLowerCase().startsWith('image')) {\n resolve(URL.createObjectURL(client.response));\n } else {\n resolve(null);\n }\n };\n client.send();\n });\n }\n\n private _getWithCustomParams(action: 'getmap' | 'identify', url: string): string {\n const uri = URL.parse(url);\n const sp = uri.searchParams;\n this._fillCustomParams(action, sp);\n return uri.toString();\n }\n\n private _fillCustomParams(action: 'getmap' | 'identify', sp: URLSearchParams) {\n if (this.customParamsFnc) {\n const cparams = this.customParamsFnc(action);\n if (cparams) {\n for (const key of Object.keys(cparams)) {\n let obj = cparams[key]?.toString() ?? \"\";\n sp.append(key, obj);\n }\n }\n }\n }\n}\n",null,"import VectorLayer from \"ol/layer/Vector\";\nimport { MapLayerBase } from \"./maplayer.base\";\nimport { LayerDefinitionCustom } from \"./layers.definitions\";\nimport { Vector as VectorSource } from \"ol/source\";\nimport Point from \"ol/geom/Point\";\nimport { Feature } from \"ol\";\nimport { IdentifyType, LayerLegendSymbolInfo } from \"./layers.types\";\nimport { Inject } from \"@yesilyazilim/web.spa\";\nimport { Icon, Stroke, Style } from \"ol/style\";\nimport { LayerDefinitionTypes } from \"../gis.enums\";\nimport Circle from \"ol/style/Circle\";\nimport { unByKey } from \"ol/Observable\";\nimport { getVectorContext } from \"ol/render\";\nimport { easeOut } from 'ol/easing';\nimport { MapManager } from \"../managers/map.manager\";\n\ntype OLayerType = VectorLayer<VectorSource<Feature<Point>>>;\n\nconst MapIconData = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFNUlEQVR4nNWZW2wUVRjHj5cYozExJuqLRt80MfFJY2Ji9MFHhOzMnEUFhEAEJFFIDAQM2qReQrxA0M6cGUqhLJfaQoUEFWgad3fOdAulthRautpCKbS0Xcr2st1u5/qZMw0kptJ06k5n95ec9/nlXL7v+w9Ceaa9Bj+kEv62KvHwv5fI16GgiBE+3FixwjQmemC85zCMdO70vK5rn0Nc5B1N5l8JTESTcXSwvdoGZwogfQQgfdDzaqtZZ2gE1wYmESVLno9LvGPlBgByl+clke74nh0rO6pwLwYmoopcacfJz3RgjJ2ch0gEmg+t0qkk7AlMoqYGP0BlYTBzsxHATM1rN4ZavwGV8Hp0d+iZwERUiV9E5aU22DmAbKNnCWc4Amf3L9epxO1AQUJlfLKvpdICxwQY+dmzSP+5UqBEmEiU4ycCk6gvf+dpVeIsc6IXYKrLs4SVqoTE3vd0VeS2oCCJS9zW1tpNOoADMH7Ks0gv3Q5UwbealUWPBCYBgO7TCO4dux4FsEY8SxgDFaDtCRtqGf8hChJK+LcowY5jZQCy5z2LdNdvcaiCe6Ilbz4YtEjVtbPEBLABRmo8Sej95UAJttSykBCoRHTXksdVidf1sb8B9B7Pu5E8tcmiMm5jxzNQEVUMfdx0eL3h7kam3pPEZC9hxc+mEvc2Chqq4MvpK6cB7AxA+pAnkfYTG0xNDseCdkAxMfSqKgrgmKMAkxc8SYx3/+i26WoZ/1rQHkglfHl37AfTrR2jtZ5E2o6uDbZNv8OZ75Y/qhIhm0tfAjD65tOmgyqGNrD7MZfV7FehpBK/+uyBVYbbV2ViHkQi0FK12tO4G5d4xRcJV0TB51Odxx23000f9vzszqXan6tcoVOCz/hWKNnkxi6qracAcu15l7BvVcKfVWt0Vl/YEUZ+EZe4ncm6L6enwNETeZVwbkfcZ5kquI911L5JsKiHEjyaTTUDmIN5342uuk9tKgtjmoRfQH4SF7mliYplJjg6wISWV4lebbvDxty4yL+O/EaTw9GBi1U2OAbASFXeJFIXdrjtSkzkuQWMevoBppJ5kxhN7nI74JjIbUQLFfUk9i2zx/soDLTshhsNX8y+EiXgZJtnjYUmrorQoIRNKgk7F0SCoRKuUtuzVJvLUgmfuZYg9vSMcvSes0jjvvd1TRJqoaTkflRoqLvxk5QIppG5cs8ZxRraD+cPrdI1GTdG9698GBUicZHb1lKz0ZgOIk7PrBXDEbh4bL1BFdwdaPQzG+yIUFnoZ/cIrPR/7EYEkr9vsijBw+zxQIWKejdtnATInpshcjW2zVGJMFUQc8hsaBKu62+NWNN15t9p40DzV27KHpNCi1Eh01DGPcc+1JqcWWfcGYTwtipxH6FCJy5xOzp+2z7jl0Km+yfQZGyqhCtFhU47ayZlPJIdYs3k0F2J3HUFEhXvGpokVAce+cyFOBGWNVasNN27MUFdCXOwApoOfKBrCqZMFBUDlOCmocu1DjhsYjwC9vABaK1eY2gy/ouFeKgYoGX8S9MT4zBA7pJbKzp//cSkMk7FxSXPomKBEl7p+uPb6Uo+ehy66zezWpFVRf5lVCxoexc/phJ+cirdAWDcgJtNpcB++BREDOoFlk01HVxrgGPB+LVjd2rFClRsUAUnWfZr5W4ClcMWlfBWVGzEJP6NOBEc9t+w6eA6XZXxXlSMqLJQnaz/2mr7ZbPha5DmJw1S6Ck2PGlyGKiMW30N0vwenlgu63uQ5vvwpOC+BQnSkI+w4SkucZMLEqR54B93ht9yYcxvPgAAAABJRU5ErkJggg==\"\n\nconst Ld: LayerDefinitionCustom = {\n key: 'flashLayer',\n order: 500,\n props: { factoryKey: 'flashLayer' },\n title: 'FlashLayer',\n type: LayerDefinitionTypes.Custom,\n visible: true,\n canRemove: false\n}\n\nexport class FlashLayer extends MapLayerBase<OLayerType, LayerDefinitionCustom> {\n\n identifyType: 'none' = 'none';\n \n private readonly _source: VectorSource<Feature<Point>>;\n private _images: { free: HTMLImageElement, busy: HTMLImageElement };\n private readonly _visMap: Map<string, boolean> = new Map();\n\n @Inject() mapManager: MapManager;\n\n onAdd(): void {\n }\n\n constructor() {\n super(Ld);\n\n this._source = new VectorSource<Feature<Point>>({\n wrapX: false,\n });\n this._layer = new VectorLayer<VectorSource<Feature<Point>>>({\n properties: { mapLayer: this, name: this._definition.key, canEdit: false, canFlash: true, canSelect: false },\n source: this._source,\n style: new Style({\n image: new Icon({\n src: MapIconData,\n height: 30,\n width: 30,\n })\n })\n });\n\n }\n\n getLegendInfos(): LayerLegendSymbolInfo[] {\n return [];\n }\n\n flash(feature) {\n const map = this.mapManager.map;\n const source = this._source;\n const start = Date.now();\n const flashGeom = feature.getGeometry().clone();\n const listenerKey = map.getAllLayers()[0].on('postrender', animate);\n\n function animate(event) {\n const frameState = event.frameState;\n const elapsed = frameState.time - start;\n if (elapsed >= 3000) {\n unByKey(listenerKey);\n source.removeFeature(feature);\n return;\n }\n const vectorContext = getVectorContext(event);\n const elapsedRatio = elapsed / 3000;\n // radius will be 5 at start and 30 at end.\n const radius = easeOut(elapsedRatio) * 25 + 5;\n const opacity = easeOut(1 - elapsedRatio);\n\n const style = new Style({\n image: new Circle({\n radius: radius,\n stroke: new Stroke({\n color: 'rgba(255, 185, 0, ' + opacity + ')',\n width: 0.25 + opacity,\n }),\n }),\n });\n\n vectorContext.setStyle(style);\n vectorContext.drawGeometry(flashGeom);\n // tell OpenLayers to continue postrender animation\n map.render();\n }\n }\n\n}",null,"import { Command, CommandTypes, ICommand } from \"@yesilyazilim/web.spa\";\nimport { GisCommandContainers } from \"../../gis.enums\";\n\n@Command({\n type: CommandTypes.Command,\n container: GisCommandContainers.ribbon,\n key: 'view-fullscreen',\n group: 'mg-general-map',\n order: 3,\n title: 'Tam Ekran',\n iconClass: 'bi bi-arrows-fullscreen'\n})\nexport class FullscreenCommand implements ICommand {\n enabled: boolean;\n active: boolean;\n\n constructor() {\n this.enabled = true;\n this.active = false;\n }\n\n start(childKey?: string): void {\n if (((window as any).fullScreen) ||\n (window.innerWidth == screen.width && window.innerHeight == screen.height)) {\n this._closeFullscreen();\n this.active = false;\n } else {\n this._openFullscreen();\n this.active = true;\n }\n }\n\n private _openFullscreen(): void {\n const elem = document.documentElement as any;\n if (elem.requestFullscreen) {\n elem.requestFullscreen();\n } else if (elem.mozRequestFullScreen) { /* Firefox */\n elem.mozRequestFullScreen();\n } else if (elem.webkitRequestFullscreen) { /* Chrome, Safari and Opera */\n elem.webkitRequestFullscreen();\n } else if (elem.msRequestFullscreen) { /* IE/Edge */\n elem.msRequestFullscreen();\n }\n }\n\n _closeFullscreen(): void {\n let elem = document as any;\n if (elem.exitFullscreen) {\n elem.exitFullscreen();\n } else if (elem.mozCancelFullScreen) { /* Firefox */\n elem.mozCancelFullScreen();\n } else if (elem.webkitExitFullscreen) { /* Chrome, Safari and Opera */\n elem.webkitExitFullscreen();\n } else if (elem.msExitFullscreen) { /* IE/Edge */\n elem.msExitFullscreen();\n }\n }\n}",null,"import { BaseElement, Command, CommandTypes, Component, DialogWindow, ELF, EventService, ICommand, Inject } from \"@yesilyazilim/web.spa\";\n\nimport CoordinateParser from \"coordinate-parser\";\nimport { GisCommandContainers, GisEvents } from \"../../gis.enums\";\nimport { MapFlashGeomRequestData } from \"../../types\";\nimport { MapManager } from \"../../managers/map.manager\";\nimport { Point } from \"ol/geom\";\n\n@Command({\n type: CommandTypes.Command,\n key: 'goto-cmd',\n container: GisCommandContainers.ribbon,\n group: 'mg-general-map',\n title: 'Git',\n order: 3,\n iconClass: 'bi bi-geo-alt'\n})\nexport class GotoCommand implements ICommand {\n constructor() {\n this.enabled = true;\n this.active = false;\n }\n start(childKey?: string): void {\n if (!this.active) {\n DialogWindow.ShowAsync(\"Git\", new GoToComponent()).then(() => {\n this.active = false;\n });\n this.active = true;\n }\n }\n enabled: boolean;\n active: boolean;\n}\n\n@Component({\n elementName: 'map-goto-comp'\n})\nclass GoToComponent extends BaseElement {\n\n @Inject() mapManager: MapManager;\n @Inject() eventService: EventService;\n\n constructor() {\n super();\n }\n\n protected onConnected(): void {\n const inp = ELF.input(\"text\");\n const lx = ELF.label('Koordinat - Enlem (Y), Boylam (X)');\n const btn = ELF.button('Git', 'Koordinata Git', null, null, () => {\n const txt = inp.value;\n if (txt) {\n try {\n const cp = new CoordinateParser(txt);\n const coords = [cp.getLongitude(), cp.getLatitude()];\n //this.mapManager.goto(coords);\n const dur = 1000;\n this.mapManager.view.animate({\n center: coords,\n duration: dur,\n });\n setTimeout(() => {\n const ea: MapFlashGeomRequestData = {\n geom: new Point(coords)\n };\n this.eventService.raise(GisEvents.MapFlashGeomRequest, ea);\n }, dur);\n\n } catch (error) {\n }\n }\n })\n btn.ariaPlaceholder = 'Enlem (Y) Boylam (X)';\n\n const divWgs = ELF.div(\"flex-v gap-1\", lx, inp, btn);\n this.appendChild(divWgs);\n\n }\n}",null,"import { Application, Command, CommandService, CommandTypes, EventService, ICommand, Inject, ITool, PanelPos } from \"@yesilyazilim/web.spa\";\nimport { MapBrowserEvent } from \"ol\";\nimport { Coordinate } from \"ol/coordinate\";\nimport { IdentifyResultsComponent } from \"../../components/identify-results.component\";\nimport { GisCommandContainers, GisEvents } from \"../../gis.enums\";\nimport { MapContextMenuCommandProperties, MapContextMenuStartArgs, MapIdentifyData } from \"../../types\";\nimport { LayerIdentifyResultAsync } from \"../../layers/layers.types\";\nimport { MapManager } from \"../../managers/map.manager\";\n\n@Command({\n type: CommandTypes.Tool,\n container: GisCommandContainers.ribbon,\n key: 'map-identify',\n group: 'mg-general-query',\n order: 1,\n title: 'Bilgi Al',\n iconClass: 'icon--identify fg-info'\n})\nexport class IdentifyTool implements ITool {\n @Inject() mapManager: MapManager;\n @Inject() commandService: CommandService;\n\n constructor() {\n this.enabled = true;\n }\n\n cancel(): boolean {\n this.mapManager.map.un('singleclick', this._onMapSingleClick);\n this.active = false;\n return true;\n }\n\n start(childKey?: string): void {\n this.mapManager.map.on('singleclick', this._onMapSingleClick);\n this.active = true;\n }\n\n enabled: boolean;\n active: boolean;\n\n _onMapSingleClick = async (evt: MapBrowserEvent<PointerEvent>) => {\n evt.preventDefault();\n const sa: MapContextMenuStartArgs = {\n coord: evt.coordinate,\n pixel: evt.pixel\n }\n this.commandService.startCommand('map-identify-ctx', null, sa);\n }\n}\n\nconst cmxProps: MapContextMenuCommandProperties = {\n type: CommandTypes.Command,\n container: GisCommandContainers.mapCtx,\n key: 'map-identify-ctx',\n group: '',\n order: 1,\n title: 'Bilgi Al',\n iconClass: 'icon--identify fg-info',\n canExecuteFor: (sa: MapContextMenuStartArgs) => {\n return !(sa.ci);\n }\n};\n\n@Command(cmxProps)\nexport class IdentifyToolCtx implements ICommand {\n\n @Inject() mapManager: MapManager;\n @Inject() eventService: EventService;\n @Inject() application: Application;\n\n enabled: boolean;\n active: boolean;\n\n constructor() {\n this.enabled = true;\n }\n\n start(childKey?: string, sa?: MapContextMenuStartArgs): void {\n const vse = this.mapManager.view.getViewStateAndExtent();\n const rect = this.mapManager.map.getTargetElement().getBoundingClientRect();\n //const px = this.mapManager.map.getPixelFromCoordinate(coord);\n const inp: MapIdentifyData = {\n coords: sa.coord,\n imageDisplay: { w: rect.width, h: rect.height, dpi: 96 },\n mapExtent: vse.extent,\n screenPoint: sa.pixel,\n tolerance: 5\n };\n\n this.eventService.raise<MapIdentifyData, LayerIdentifyResultAsync>(GisEvents.MapIdentifyRequest, inp).then((results) => {\n this._displayResultsAsync(inp, results);\n });\n }\n\n private async _displayResultsAsync(inp: MapIdentifyData, results: LayerIdentifyResultAsync[]): Promise<void> {\n const comp = new IdentifyResultsComponent({\n coord: inp.coords\n });\n this.application.openPanel({\n closable: true,\n header: 'Bilgi Al',\n name: 'identify-results',\n draggable: true,\n content: comp\n }, PanelPos.Right);\n\n for (const result of results) {\n comp.addIdentifyResult(result);\n }\n }\n\n}",null,"import { Accordion, BaseElement, Component, ELF, EventService, FormService, Inject } from \"@yesilyazilim/web.spa\";\nimport { Coordinate } from 'ol/coordinate';\nimport { Point } from \"ol/geom\";\nimport { GisEvents } from \"../gis.enums\";\nimport { MapFlashGeomRequestData } from \"../types\";\nimport { OlGeomHelper } from \"../helpers/ol.geom.helper\";\nimport { IdentifyResultItem, LayerIdentifyResult } from \"../layers/layers.types\";\nimport './styles/identify-results.component.less';\n\nexport type IdentifyResultProperties = {\n coord: Coordinate;\n}\n\n@Component({ elementName: 'map-identify-results' })\nexport class IdentifyResultsComponent extends BaseElement {\n private _header: HTMLDivElement;\n private _body: HTMLDivElement;\n\n @Inject() eventService: EventService;\n @Inject() formService: FormService;\n\n constructor(private props: IdentifyResultProperties) {\n super();\n\n this._header = this._createHeader();\n this._body = ELF.div('body');\n this.appendChildren(this._header, this._body);\n }\n\n public addIdentifyResult(idRes: LayerIdentifyResult) {\n if (idRes.status) {\n const factoryKey = idRes.sourceLayer.factoryType;\n const serviceKey = idRes.sourceLayer.id;\n Promise.resolve(idRes.result).then((opRes) => {\n if (!(opRes.success && opRes.data)) {\n\n } else {\n for (const item of opRes.data) {\n const elm = this._getAccordContentFor(factoryKey, serviceKey, item);\n const acc = new Accordion({\n header: item.layerTitle,\n content: elm\n });\n this._body.appendChild(acc);\n }\n }\n });\n }\n }\n\n private _createHeader(): HTMLDivElement {\n const btn = ELF.Buttons.mini(this._onHeaderZoomClicked, 'bi bi-zoom-in', 'Haritada Göster');\n const coordSp = ELF.span(OlGeomHelper.formatCoordWgs(this.props.coord));\n return ELF.div('header', btn, coordSp);\n }\n\n private _onHeaderZoomClicked = () => {\n var ed: MapFlashGeomRequestData = {\n geom: new Point(this.props.coord)\n }\n this.eventService.raise(GisEvents.MapFlashGeomRequest, ed);\n }\n\n private _getAccordContentFor(factoryType: string, serviceKey: string, item: IdentifyResultItem): HTMLDivElement {\n const div = ELF.div('IdentifyContent');\n ELF.showHideSpinnerAt(div, true, 'Form Hazırlanıyor...');\n this.formService.createFormAsync(item.feature, factoryType, serviceKey, item.layerKey, 'identify').then((opres) => {\n ELF.showHideSpinnerAt(div, false);\n if (opres.success) {\n div.appendChild(opres.data);\n } else {\n ELF.showHideMessageDisplayAt(div, true, 'error', opres.message);\n }\n });\n return div;\n }\n}",null,"import { Command, CommandService, CommandTypes, ICommand, ITool, Inject } from \"@yesilyazilim/web.spa\";\nimport { Geometry, LineString, Point } from 'ol/geom';\nimport { Draw, Modify } from 'ol/interaction';\nimport { getArea, getLength } from 'ol/sphere';\nimport {\n Circle as CircleStyle,\n Fill,\n RegularShape,\n Stroke,\n Style,\n Text,\n} from 'ol/style';\n\nimport { Coordinate } from 'ol/coordinate';\nimport { Vector as VectorLayer } from 'ol/layer';\nimport { Vector as VectorSource } from 'ol/source';\nimport { GisCommandContainers } from '../../gis.enums';\nimport { MapManager } from '../../managers/map.manager';\nimport { MapContextMenuCommandProperties, MapContextMenuStartArgs } from \"../../types\";\n\nclass MeasureDrawer {\n\n isActive: boolean;\n\n style: Style;\n labelStyle: Style;\n tipStyle: Style;\n modifyStyle: Style;\n segmentStyle: Style;\n segmentStyles: Style[];\n modify: Modify;\n source: VectorSource;\n tipPoint: any;\n vector: VectorLayer;\n draw: Draw;\n\n\n @Inject() mapManager: MapManager;\n\n private _initStyles() {\n this.style = new Style({\n fill: new Fill({\n color: 'rgba(255, 255, 0, 0.2)',\n }),\n stroke: new Stroke({\n color: 'rgba(255, 255, 0, 0.9)',\n lineDash: [10, 10],\n width: 2,\n }),\n image: new CircleStyle({\n radius: 5,\n stroke: new Stroke({\n color: 'rgba(255, 255, 0, 0.7)',\n }),\n fill: new Fill({\n color: 'rgba(255, 255, 0, 0.2)',\n }),\n }),\n });\n\n this.labelStyle = new Style({\n text: new Text({\n font: '14px sans-serif',\n fill: new Fill({\n color: 'rgba(255, 255, 255, 1)',\n }),\n backgroundFill: new Fill({\n color: 'rgba(0, 0, 0, 0.7)',\n }),\n padding: [3, 3, 3, 3],\n textBaseline: 'bottom',\n offsetY: -15,\n }),\n image: new RegularShape({\n radius: 8,\n points: 3,\n angle: Math.PI,\n displacement: [0, 10],\n fill: new Fill({\n color: 'rgba(0, 0, 0, 0.7)',\n }),\n }),\n });\n\n this.tipStyle = new Style({\n text: new Text({\n font: '12px sans-serif',\n fill: new Fill({\n color: 'rgba(255, 255, 255, 1)',\n }),\n backgroundFill: new Fill({\n color: 'rgba(0, 0, 0, 0.4)',\n }),\n padding: [2, 2, 2, 2],\n textAlign: 'left',\n offsetX: 15,\n }),\n });\n\n this.modifyStyle = new Style({\n image: new CircleStyle({\n radius: 5,\n stroke: new Stroke({\n color: 'rgba(0, 0, 0, 0.7)',\n }),\n fill: new Fill({\n color: 'rgba(0, 0, 0, 0.4)',\n }),\n }),\n text: new Text({\n text: 'Düzenlemek için sürükleyin',\n font: '12px sans-serif',\n fill: new Fill({\n color: 'rgba(255, 255, 255, 1)',\n }),\n backgroundFill: new Fill({\n color: 'rgba(0, 0, 0, 0.7)',\n }),\n padding: [2, 2, 2, 2],\n textAlign: 'left',\n offsetX: 15,\n }),\n });\n\n this.segmentStyle = new Style({\n text: new Text({\n font: '12px sans-serif',\n fill: new Fill({\n color: 'rgba(255, 255, 255, 1)',\n }),\n backgroundFill: new Fill({\n color: 'rgba(0, 0, 0, 0.4)',\n }),\n padding: [2, 2, 2, 2],\n textBaseline: 'bottom',\n offsetY: -12,\n }),\n image: new RegularShape({\n radius: 6,\n points: 3,\n angle: Math.PI,\n displacement: [0, 8],\n fill: new Fill({\n color: 'rgba(0, 0, 0, 0.4)',\n }),\n }),\n });\n\n this.segmentStyles = [this.segmentStyle];\n }\n\n start(isArea: boolean, initCoord?: Coordinate) {\n if (this.isActive) {\n this.stop();\n }\n this._initStyles();\n this.source = new VectorSource();\n this.modify = new Modify({ source: this.source, style: this.modifyStyle });\n const styleFunc = function (feature) {\n return this.styleFunction(feature, true);\n };\n this.vector = new VectorLayer({\n source: this.source,\n style: styleFunc.bind(this),\n zIndex: 500\n });\n this.mapManager.map.addLayer(this.vector);\n this.mapManager.map.addInteraction(this.modify);\n\n const drawType = isArea ? 'Polygon' : 'LineString';\n const activeTip = 'Devam etmek için tıklayınız ';\n //(drawType === 'Polygon' ? 'polygon' : 'line');\n const idleTip = 'Ölçüme başlamak için tıklayınız';\n let tip = idleTip;\n const styleFunc2 = function (feature) {\n return this.styleFunction(feature, true, drawType, tip);\n };\n\n this.draw = new Draw({\n source: this.source,\n type: drawType,\n style: styleFunc2.bind(this),\n });\n this.draw.on('drawstart', () => {\n this.source.clear();\n this.modify.setActive(false);\n tip = activeTip;\n });\n this.draw.on('drawend', () => {\n this.modifyStyle.setGeometry(this.tipPoint);\n this.modify.setActive(true);\n this.mapManager.map.once('pointermove', () => {\n this.modifyStyle.setGeometry(null);\n });\n tip = idleTip;\n });\n this.modify.setActive(true);\n this.mapManager.map.addInteraction(this.draw);\n\n if (initCoord) {\n this.draw.appendCoordinates([initCoord]);\n }\n\n this.isActive = true;\n }\n\n stop() {\n if (this.isActive) {\n this.mapManager.map.removeInteraction(this.draw);\n this.mapManager.map.removeInteraction(this.modify);\n this.mapManager.map.removeLayer(this.vector);\n this.isActive = false;\n }\n }\n\n formatLength(line: Geometry) {\n const length = getLength(line, { projection: 'EPSG:4326' });\n let output;\n if (length > 1000) {\n output = Math.round((length / 1000) * 100) / 100 + ' km';\n } else {\n output = Math.round(length * 100) / 100 + ' m';\n }\n return output;\n };\n\n formatArea(polygon) {\n const area = getArea(polygon, { projection: 'EPSG:4326' });\n let output;\n if (area > 1000000) {\n output = Math.round((area / 1000000) * 100) / 100 + ' km\\xB2';\n } else {\n output = Math.round(area * 100) / 100 + ' m\\xB2';\n }\n return output;\n };\n\n styleFunction(feature, segments, drawType, tip) {\n const styles = [this.style];\n const geometry = feature.getGeometry();\n const type = geometry.getType();\n let point, label, line;\n if (!drawType || drawType === type) {\n if (type === 'Polygon') {\n point = geometry.getInteriorPoint();\n label = this.formatArea(geometry);\n line = new LineString(geometry.getCoordinates()[0]);\n } else if (type === 'LineString') {\n point = new Point(geometry.getLastCoordinate());\n label = this.formatLength(geometry);\n line = geometry;\n }\n }\n if (segments && line) {\n let count = 0;\n line.forEachSegment((a, b) => {\n const segment = new LineString([a, b]);\n const label = this.formatLength(segment);\n if (this.segmentStyles.length - 1 < count) {\n this.segmentStyles.push(this.segmentStyle.clone());\n }\n const segmentPoint = new Point(segment.getCoordinateAt(0.5));\n this.segmentStyles[count].setGeometry(segmentPoint);\n this.segmentStyles[count].getText().setText(label);\n styles.push(this.segmentStyles[count]);\n count++;\n });\n }\n if (label) {\n this.labelStyle.setGeometry(point);\n this.labelStyle.getText().setText(label);\n styles.push(this.labelStyle);\n }\n if (\n tip &&\n type === 'Point' &&\n !this.modify.getOverlay().getSource().getFeatures().length\n ) {\n this.tipPoint = geometry;\n this.tipStyle.getText().setText(tip);\n styles.push(this.tipStyle);\n }\n return styles;\n }\n}\n\nconst mdrawer = new MeasureDrawer();\n\n@Command({\n type: CommandTypes.Tool,\n container: GisCommandContainers.ribbon,\n key: 'measure-line-tool',\n group: 'mg-general-measure',\n order: 1,\n title: 'Mesafe',\n iconClass: 'icon--measure-line fg-warning'\n})\nexport class MeasureLineTool implements ITool {\n constructor() {\n this.enabled = true;\n }\n cancel(): boolean {\n mdrawer.stop();\n this.active = false;\n return true;\n }\n start(childKey?: string, coord?: Coordinate): void {\n mdrawer.start(false, coord);\n this.active = true;\n }\n enabled: boolean;\n active: boolean;\n}\n\n@Command({\n type: CommandTypes.Tool,\n container: GisCommandContainers.ribbon,\n key: 'measure-area-tool',\n group: 'mg-general-measure',\n order: 2,\n title: 'Alan',\n iconClass: 'icon--measure-area fg-warning'\n})\nexport class MeasureAreaTool implements ITool {\n constructor() {\n this.enabled = true;\n }\n cancel(): boolean {\n mdrawer.stop();\n this.active = false;\n return true;\n }\n start(childKey?: string, coord?: Coordinate): void {\n mdrawer.start(true, coord);\n this.active = true;\n }\n enabled: boolean;\n active: boolean;\n}\n\nconst cmxPropsLine: MapContextMenuCommandProperties = {\n type: CommandTypes.Command,\n container: GisCommandContainers.mapCtx,\n key: 'ctx-measure-line-tool',\n group: '',\n order: 1,\n title: 'Mesafe Ölç',\n iconClass: 'icon--measure-line fg-warning',\n canExecuteFor: (sa: MapContextMenuStartArgs): boolean => {\n return !(sa.ci);\n }\n};\n\n@Command(cmxPropsLine)\nexport class MeasureLineToolCtx implements ICommand {\n\n @Inject() cmdService: CommandService;\n\n constructor() {\n this.enabled = true;\n }\n start(childKey?: string, sa?: MapContextMenuStartArgs): void {\n this.cmdService.startCommand('measure-line-tool', childKey, sa?.coord);\n }\n enabled: boolean;\n active: boolean;\n}\n\nconst cmxPropsArea: MapContextMenuCommandProperties = {\n type: CommandTypes.Command,\n container: GisCommandContainers.mapCtx,\n key: 'ctx-measure-area-tool',\n group: '',\n order: 2,\n title: 'Alan Ölç',\n iconClass: 'icon--measure-area fg-warning',\n canExecuteFor: (sa: MapContextMenuStartArgs): boolean => {\n return !(sa.ci);\n }\n};\n\n@Command(cmxPropsArea)\nexport class MeasureAreaToolCtx implements ICommand {\n\n @Inject() cmdService: CommandService;\n\n constructor() {\n this.enabled = true;\n }\n start(childKey?: string, sa?: MapContextMenuStartArgs): void {\n this.cmdService.startCommand('measure-area-tool', childKey, sa?.coord);\n }\n enabled: boolean;\n active: boolean;\n}\n\n",null,"import { Application, Command, CommandTypes, ICommand, Inject, PanelPos } from \"@yesilyazilim/web.spa\";\nimport { GisCommandContainers } from \"../../gis.enums\";\nimport { TocComponent } from \"../../components/toc.components\";\n\n@Command({\n type: CommandTypes.Command,\n container: GisCommandContainers.ribbon,\n key: 'view-sh-layerlist',\n group: 'mg-view-panels',\n order: 1,\n title: 'Katmanlar',\n iconClass: 'bi bi-layers'\n})\nexport class ShLayerListCommand implements ICommand {\n enabled: boolean;\n active: boolean;\n\n @Inject() application: Application;\n\n constructor() {\n this.enabled = true;\n this.active = true;\n }\n\n start(childKey?: string): void {\n if (this.application.isPanelOpen('panel-map-toc')) {\n this.application.closePanelAsync('panel-map-toc');\n } else {\n this.application.openPanel({\n closable: false,\n name: 'panel-map-toc',\n header: 'Katmanlar',\n content: new TocComponent(),\n draggable: true\n }, PanelPos.Left);\n }\n this.active = !this.active;\n }\n}",null,"import './styles/toc-component.less';\n\nimport { BaseElement, Component, Inject, TreeView } from \"@yesilyazilim/web.spa\";\n\nimport { LayerManager } from '../managers/layer.manager';\n\n@Component({ elementName: \"app-toc\" })\nexport class TocComponent extends BaseElement {\n @Inject() layerManager: LayerManager;\n\n private _tree: TreeView;\n constructor() {\n super();\n this._tree = new TreeView(this.layerManager.layerList, {\n selection: {\n mode: 'multi',\n }\n });\n this.appendChild(this._tree);\n }\n}",null,"import { Application, Command, CommandTypes, ICommand, Inject, PanelPos } from \"@yesilyazilim/web.spa\";\nimport { GisCommandContainers } from \"../../gis.enums\";\nimport { LegendComponent } from \"../../components/legend.component\";\n\n@Command({\n type: CommandTypes.Command,\n container: GisCommandContainers.ribbon,\n key: 'view-sh-legend',\n group: 'mg-view-panels',\n order: 2,\n title: 'Lejant',\n iconClass: 'bi bi-layers'\n})\nexport class ShLegendCommand implements ICommand {\n enabled: boolean;\n active: boolean;\n\n @Inject() application: Application;\n\n constructor() {\n this.enabled = true;\n this.active = true;\n }\n\n start(childKey?: string): void {\n if (this.application.isPanelOpen('panel-map-legend')) {\n this.application.closePanelAsync('panel-map-legend');\n } else {\n this.application.openPanel({\n closable: false,\n name: 'panel-map-legend',\n header: 'Lejant',\n content: new LegendComponent(true),\n draggable: true\n }, PanelPos.Left);\n }\n this.active = !this.active;\n }\n}",null,"import './styles/legend.less';\n\nimport { BaseElement, Component, ELF, EventService, Inject, ListComponent } from \"@yesilyazilim/web.spa\";\nimport type { ILayer, IMapLayer, LayerLegendSymbolInfo } from '../layers/layers.types';\n\nimport { GisEvents } from '../gis.enums';\nimport { LayerManager } from '../managers/layer.manager';\nimport { MapManager } from '../managers/map.manager';\n\n@Component({ elementName: \"app-map-legend\" })\nexport class LegendComponent extends BaseElement {\n @Inject() layerManager: LayerManager;\n @Inject() mapManager: MapManager;\n @Inject() eventService: EventService;\n\n listComp: ListComponent<IMapLayer>;\n\n constructor(lazy?: boolean) {\n super();\n if (lazy) {\n this._attach();\n } else {\n this.eventService.listen(GisEvents.MapReady, () => {\n this._attach();\n }, this.getDisposedSignal());\n }\n }\n\n _attach() {\n this.listComp = new ListComponent({\n source: this.layerManager.layerList,\n itemFactory: this._createListItem.bind(this)\n });\n this.appendChild(this.listComp);\n }\n\n _createListItem(layer: ILayer): HTMLElement {\n const div = ELF.div('main-legend-item');\n var mainHeader = ELF.h(3, layer.title);\n div.appendChild(mainHeader);\n if (layer.hasMapLayer) {\n const ml = layer as IMapLayer;\n const infos = ml.getLegendInfos();\n if (infos && infos.length > 0) {\n let skipTitle = false;\n if (infos.length == 1 && infos[0].title == layer.title) {\n skipTitle = true;\n }\n\n for (const info of infos) {\n const subItem = new LayerLegentItem(info, skipTitle);\n div.appendChild(subItem);\n }\n }\n }\n return div;\n }\n}\n\n@Component({ elementName: 'app-layer-legend-item' })\nexport class LayerLegentItem extends BaseElement {\n\n public get layerId(): string {\n return this.info.layerId;\n }\n\n constructor(private info: LayerLegendSymbolInfo, skipTitle: boolean) {\n super();\n if (!skipTitle) {\n this.appendChild(ELF.label(info.title, 'legend-title'));\n if (info.subtitle) {\n this.appendChild(ELF.label(info.subtitle, 'legend-subtitle'));\n }\n }\n this.appendChild(this._getRowsTable());\n }\n\n private _getRowsTable() {\n const table = document.createElement('table');\n table.setClasses('legend-table');\n if (this.info.rows && this.info.rows.length > 0) {\n for (const ls of this.info.rows) {\n const row = document.createElement('tr');\n const c1 = document.createElement('td');\n c1.setClasses('leg-image-col');\n const c2 = document.createElement('td');\n if (ls.elm) c1.appendChildren(ls.elm);\n if (ls.label) c2.innerText = ls.label;\n row.appendChildren(c1, c2);\n table.appendChild(row);\n }\n }\n return table;\n }\n\n\n\n}",null,"import 'ol/ol.css';\nimport './styles/map-component.less';\n\nimport { BaseElement, Component, ELF, EventService, IndexedListChangeInfo, Inject } from \"@yesilyazilim/web.spa\";\n\nimport OMap from 'ol/Map';\nimport View from 'ol/View';\nimport { defaults as defaultControls } from 'ol/control';\nimport type { MapStartupSettings } from '../types';\nimport { GisEvents } from '../gis.enums';\nimport { IMapLayer } from '../layers/layers.types';\nimport { LayerManager } from '../managers/layer.manager';\nimport { MapManager } from '../managers/map.manager';\nimport { MapBarComponent } from './map-bar.component';\nimport { LastViewLocation } from '../types';\nimport { MapSearchComponent } from './map-search.component';\n\nconst LastLocKey = \"LastMapExtent\";\n\n@Component({\n elementName: 'app-map',\n styles: { width: \"100%\", height: \"100%\", position: \"relative\", overflow: \"hidden\", background: 'white' }\n})\nexport class MapComponent extends BaseElement {\n\n private _mapTime: number = 0;\n\n @Inject() mapManager: MapManager;\n @Inject() layerManager: LayerManager;\n @Inject() eventService: EventService;\n\n public map: OMap;\n public view: View;\n public mapBar: MapBarComponent;\n public mapSearch: MapSearchComponent;\n public popupElm: HTMLDivElement;\n\n public async initAsync(settings: MapStartupSettings): Promise<void> {\n\n const mapDiv = ELF.div(\"wh-100\");\n mapDiv.addEventListener('contextmenu', (ev) => ev.preventDefault());\n this.appendChild(mapDiv);\n\n let lo: LastViewLocation = settings.defaultLocation;\n const lljson = localStorage.getItem(LastLocKey);\n if (lljson) {\n lo = JSON.parse(lljson);\n }\n\n this.layerManager.onExtentChanged(lo);\n\n this.view = new View({\n center: lo.center,\n zoom: lo.zoom,\n constrainResolution: true\n });\n this.map = new OMap({\n target: mapDiv,\n layers: [],\n view: this.view,\n controls: []\n });\n\n this.map.once('rendercomplete', (ev) => {\n this.mapManager.init(this.map, this.view, this.popupElm, this.layerManager);\n const ctrls = defaultControls().extend(this.mapBar.controls);\n ctrls.forEach((c) => this.map.addControl(c));\n this.eventService.raise(GisEvents.MapReady, null);\n });\n\n this.layerManager.layerList.changeEvent.register(this._onLayerListChanged.bind(this));\n\n this.mapBar = new MapBarComponent(this.map);\n this.mapSearch = new MapSearchComponent({\n sources: settings.searchSources\n });\n\n const popupCloser = ELF.closeButton().setClasses('ol-popup-closer');\n const popupContent = ELF.div('popup-content');\n this.popupElm = ELF.div('ol-popup', popupCloser, popupContent);\n\n this.appendChildren(this.mapSearch, this.mapBar, this.popupElm);\n\n this.map.on('moveend', this._onMoveEnd);\n\n await this.layerManager.init(settings);\n\n this.eventService.listen(GisEvents.MapTimeChanged, (time: number) => {\n this.time = time;\n });\n }\n\n public get time(): number {\n return this._mapTime;\n }\n\n public set time(value: number) {\n if (this._mapTime === value) return;\n\n this._mapTime = value;\n const enabled = value > 0;\n this.classList.toggle('historic', enabled);\n }\n\n onConnected(): void {\n\n }\n\n private readonly _onMoveEnd = () => {\n const loc: LastViewLocation = {\n center: this.view.getCenter(),\n zoom: Math.trunc(this.view.getZoom()),\n extent: this.view.calculateExtent()\n }\n localStorage.setItem(LastLocKey, JSON.stringify(loc));\n this.layerManager.onExtentChanged(loc);\n }\n\n private _onLayerListChanged(change: IndexedListChangeInfo<IMapLayer>) {\n if (change.added) {\n for (const ml of change.added) {\n const lyr = ml.value;\n if (!lyr.order) {\n lyr.order = 20;\n }\n this.map.addLayer(lyr.layerObj);\n }\n } else if (change.removed) {\n for (const ml of change.removed) {\n this.map.removeLayer(ml.value.layerObj);\n }\n } else if (change.replaced) {\n this.map.removeLayer(change.replaced.old.value.layerObj);\n this.map.addLayer(change.replaced.new.value.layerObj);\n } else if (change.sorted) {\n //TODO: \n }\n }\n}",null,"import './styles/map-bar.less';\n\nimport { BaseElement, Component, DevLogger, ELF } from \"@yesilyazilim/web.spa\";\n\nimport Control from \"ol/control/Control\";\nimport MousePosition from 'ol/control/MousePosition';\nimport ScaleLine from 'ol/control/ScaleLine';\nimport OMap from 'ol/Map';\nimport { METERS_PER_UNIT } from 'ol/proj/Units';\nimport { OlGeomHelper } from '../helpers/ol.geom.helper';\nimport { MinimapComponent } from './minimap.component';\n\nconst INCHES_PER_METRE = 39.37;\n\nconst numFormatter = new Intl.NumberFormat();\n\n\n@Component({\n elementName: 'app-map-bar'\n})\nexport class MapBarComponent extends BaseElement {\n\n private _controls: Control[] = [];\n\n private _mousePosDiv: HTMLDivElement;\n private _mousePosCtl: MousePosition;\n\n private _zoomDiv: HTMLLabelElement;\n\n private _overviewDiv: HTMLDivElement;\n private _overviewBtn: HTMLButtonElement;\n\n private _scaleDiv: HTMLDivElement;\n private _scaleLineCtl: ScaleLine;\n\n\n constructor(private _map: OMap) {\n super();\n this._scaleDiv = ELF.div('scale-div');\n this.appendChild(this._scaleDiv);\n\n this._mousePosDiv = ELF.div('mouse-position');\n this.appendChild(this._mousePosDiv);\n\n this._zoomDiv = ELF.label('0');\n this._mousePosDiv.appendChild(this._zoomDiv.setClasses('zoom-label'));\n\n this._overviewBtn = ELF.button(null, 'Mini Map', 'overview-btn', 'bi bi-arrow-down-right-square-fill', () => {\n this._overviewDiv.classList.toggle('show');\n });\n this._overviewDiv = ELF.div('overview-div', new MinimapComponent(this._map));\n this.appendChild(this._overviewBtn);\n this.appendChild(this._overviewDiv);\n\n let dpi = 0;\n\n var calcDpi = function () {\n if (window.matchMedia(\"(min-resolution: 10dpi)\").matches) {\n for (var i = 650; i >= 1; i = (i - 1)) {\n if (window.matchMedia(\"(min-resolution: \" + i + \"dpi)\").matches) {\n dpi = i;\n break;\n }\n }\n }\n }\n\n this._map.on('moveend', () => {\n const view = this._map.getView();\n const resolution = view.getResolution();\n const unit = view.getProjection().getUnits();\n\n calcDpi();\n\n DevLogger.log('MapExt ', { resolution, cent: view.getCenter(), ext: view.calculateExtent() });\n\n let scale = Math.round(resolution * METERS_PER_UNIT[unit] * INCHES_PER_METRE * dpi);\n this._zoomDiv.innerText = 'Zoom: ' + view.getZoom().toFixed(0) + ' Ölçek: 1/' + numFormatter.format(scale);\n });\n\n this._createControls();\n }\n\n get controls(): Control[] {\n return this._controls;\n }\n\n private _createControls() {\n // const fnc2 = function (coord: Coordinate) {\n // return coord[0].toFixed(6) + 'D ' + coord[1].toFixed(6) + 'K';\n // }\n this._mousePosCtl = new MousePosition({\n coordinateFormat: OlGeomHelper.formatCoordWgs, //createStringXY(5),\n projection: 'EPSG:4326',\n target: this._mousePosDiv\n });\n this._controls.push(this._mousePosCtl);\n\n this._scaleLineCtl = new ScaleLine({\n target: this\n });\n this._controls.push(this._scaleLineCtl);\n }\n}",null,"import { BaseElement, Component, ELF } from \"@yesilyazilim/web.spa\";\nimport { Circle, Fill, Stroke, Style } from \"ol/style\";\n\nimport { Feature } from \"ol\";\nimport OMap from \"ol/Map\";\nimport OSM from \"ol/source/OSM\";\nimport TileLayer from \"ol/layer/Tile\";\nimport { Vector } from \"ol/source\";\nimport VectorLayer from \"ol/layer/Vector\";\nimport View from \"ol/View\";\nimport { fromExtent } from 'ol/geom/Polygon';\n\n@Component({\n elementName: 'app-minimap', styles: {\n width: '250px',\n height: '150px'\n }\n})\nexport class MinimapComponent extends BaseElement {\n\n private _map: OMap;\n private _areaFeature: Feature;\n private _maxZoom: number = 15;\n\n constructor(private _srcMap: OMap) {\n super();\n this._buildUI();\n }\n\n private _buildUI() {\n const mapDiv = ELF.div(\"wh-100\");\n this.appendChild(mapDiv);\n const baseLayer = new TileLayer({\n source: new OSM(),\n });\n\n this._areaFeature = new Feature();\n\n const vlayer = new VectorLayer({\n source: new Vector({ features: [this._areaFeature] }),\n style: new Style({\n stroke: new Stroke({\n color: \"#3f51b5\",\n width: 2\n }),\n image: new Circle({ radius: 5, fill: new Fill({ color: \"#3f51b5\" }) })\n })\n });\n this._map = new OMap({\n target: mapDiv,\n layers: [baseLayer, vlayer],\n view: new View({\n center: [0, 0],\n zoom: 0,\n maxZoom: this._maxZoom\n }),\n controls: []\n });\n\n this._srcMap.on('moveend', () => {\n this._refreshView();\n });\n }\n\n private _refreshView() {\n const view = this._srcMap.getView();\n const vse = view.getViewStateAndExtent();\n const zoom = Math.max(Math.min(Math.trunc(view.getZoom()) - 4, this._maxZoom), 0);\n const newPolygon = fromExtent(vse.extent);\n const newGeom = (view.getZoom() - this._maxZoom > 6) ? newPolygon.getInteriorPoint() : newPolygon;\n\n this._areaFeature.setGeometry(newGeom);\n const tview = this._map.getView();\n tview.setCenter(view.getCenter());\n tview.setZoom(zoom);\n }\n}",null,"import { BaseElement, Component, Dropdown, DropdownButton, ELF, EventService, IconClass, IKeyedButtonInfo, IndexedList, Inject, ListComponent, Notify, OpResult } from \"@yesilyazilim/web.spa\";\nimport type { SearchResult, SearchSource } from \"../search.types\";\nimport { MapFlashGeomRequestData } from \"../types\";\nimport { GisEvents } from \"../gis.enums\";\n\nimport './styles/map-search.component.less';\nimport { GoogleGeocodingSearchSource } from \"../search-sources/google-geocode\";\n\n@Component({ elementName: 'map-search' })\nexport class MapSearchComponent extends BaseElement {\n\n private readonly _sources: SearchSource[];\n private readonly _results: IndexedList<SearchResult>;\n\n private _textBox: HTMLInputElement;\n private _dropDownResults: Dropdown;\n private _activeSource: SearchSource;\n private _searchTimeout: number | null = null;\n\n @Inject() eventService: EventService;\n\n constructor(settings: { sources?: SearchSource[] }) {\n super();\n this._sources = settings.sources || [];\n this._results = new IndexedList<SearchResult>();\n }\n\n protected onConnected(isFirst?: boolean): void {\n if (!isFirst) return;\n const icon = ELF.icon(IconClass.search + ' search-logo');\n const cmb = ELF.selectWithLookup(...this._sources);\n this._textBox = ELF.input('text');\n\n this._textBox.addEventListener('input', () => {\n if (this._searchTimeout) {\n clearTimeout(this._searchTimeout);\n }\n this._searchTimeout = setTimeout(() => {\n this._onSearchClicked();\n }, 300);\n });\n this._textBox.addEventListener('keyup', (e) => {\n if (e.key === 'Enter') {\n if (this._searchTimeout) {\n clearTimeout(this._searchTimeout);\n }\n this._onSearchClicked();\n }\n });\n\n const btn = ELF.Buttons.search(this._onSearchClicked, '');\n\n const items = ELF.div('search-items', ELF.div('select-holder', cmb), this._textBox, btn);\n const topRow = ELF.div('search-top', icon, items);\n const resultList = new ListComponent({\n source: this._results,\n itemFactory: this._createResultItem\n });\n this._dropDownResults = new Dropdown(resultList, 'parent');\n this.appendChildren(topRow, this._dropDownResults);\n\n cmb.addEventListener('change', () => {\n const key = cmb.value;\n this._activeSource = this._sources.find(_ => _.key == key);\n this._textBox.placeholder = this._activeSource?.placeholder || '';\n });\n\n this._activeSource = this._sources[0];\n this._textBox.placeholder = this._activeSource?.placeholder || '';\n }\n\n private readonly _onSearchClicked = () => {\n if (!this._activeSource) return;\n\n this._results.clear();\n\n const st = this._textBox.value.trim();\n if (!st) return;\n\n const vr = this._activeSource.validate(st);\n if (!vr.success) {\n Notify.Warning('Arama yapılamaz !', vr.message);\n return;\n }\n\n const displayResults = (res: OpResult<SearchResult[]>) => {\n if (!res.success) {\n Notify.Error('Arama yapılamadı !', res.message);\n } else if (res.data?.length > 0) {\n this._results.addMany(...res.data);\n this._dropDownResults.visible = true;\n } else {\n Notify.Warning('Kayıt bulunamadı !');\n }\n }\n\n if (this._activeSource.type == 'local') {\n const res = this._activeSource.run(st);\n displayResults(res);\n } else {\n ELF.showHideWorkingAt(this, true, 'bottom');\n this._activeSource.runAsync(st).then((res) => {\n ELF.showHideWorkingAt(this, false);\n displayResults(res);\n }).catch(() => {\n ELF.showHideWorkingAt(this, false);\n Notify.Error('Arama hatasi !');\n });\n }\n }\n\n private readonly _createResultItem = (item: SearchResult): HTMLElement => {\n if (!this._activeSource) return null;\n const searchText = this._textBox.value.trim();\n const actions = this._createResultActions(item);\n const title = this._createMarkedText('item-title', item.text, searchText);\n\n const detailParts = item.detail\n ? item.detail.split(' - ').map(p => p.trim())\n : [];\n const detail = detailParts.length > 0\n ? ELF.div('item-detail',\n ...detailParts.map(part =>\n this._createMarkedText('detail-line', part, searchText)\n )\n )\n : null;\n const body = ELF.div('text-body', title, detail);\n\n if (item.location) {\n body.addEventListener('click', () => {\n const data: MapFlashGeomRequestData = {\n geom: item.location\n };\n this.eventService.raise(GisEvents.MapFlashGeomRequest, data);\n });\n }\n\n return ELF.div('search-result-item', body, actions);\n }\n\n private _createResultActions(item: SearchResult) {\n\n const btns = this._activeSource.actions?.map((kbi) => {\n if (kbi.key === 'open-dropdown') {\n const menuItems: IKeyedButtonInfo[] = [\n { key: 'create-wo-o', text: 'Kesintili İş Emri Oluştur', iconClass: '' },\n { key: 'create-wo', text: 'Kesintisiz İş Emri Oluştur', iconClass: '' },\n { key: 'create-light', text: 'Aydınlatma İş Emri Oluştur', iconClass: '' }\n ];\n const dropdown = new DropdownButton({\n main: kbi,\n children: menuItems,\n clickAction: (selected) => {\n this._activeSource.onAction?.(selected.key, item);\n }\n });\n\n return dropdown;\n }\n return ELF.button(null, kbi.tootip, null, kbi.iconClass, () => {\n this._activeSource.onAction?.(kbi.key, item);\n });\n }) || [];\n\n return ELF.div('actions', ...btns);\n }\n\n private _createMarkedText(elmClass: string, text: string, searchText: string): HTMLElement {\n const i = text.toLowerCase().indexOf(searchText.toLowerCase());\n if (i == 0) {\n const a = ELF.span(text.substring(0, searchText.length), 'marked');\n const b = ELF.span(text.substring(i + searchText.length));\n return ELF.div('marked-sentence ' + elmClass, a, b);\n } else if (i > 0) {\n const z = ELF.span(text.substring(0, i));\n const a = ELF.span(text.substring(i, i + searchText.length), 'marked');\n const b = ELF.span(text.substring(i + searchText.length));\n return ELF.div('marked-sentence ' + elmClass, z, a, b);\n }\n return ELF.span(text, elmClass);\n }\n}",null,"import './tools/ribbon-general/*';\n\nimport { Application, CommandService, DrawerContainer, ELF, EventService, Inject, PanelPos, TabContainer, TabItem } from \"@yesilyazilim/web.spa\";\nimport { MapComponent } from \"./components/map.component\";\nimport { useGeographic } from 'ol/proj';\nimport { MapStartupSettings } from \"./types\";\nimport { LegendComponent } from \"./components/legend.component\";\nimport { TocComponent } from \"./components/toc.components\";\nimport { GisEvents } from \"./gis.enums\";\nexport abstract class GisAppService {\n\n public mapComponent: MapComponent;\n\n @Inject() application: Application;\n @Inject() eventService: EventService;\n @Inject() commandService: CommandService;\n\n public async startMapComponents(settings: MapStartupSettings): Promise<void> {\n useGeographic();\n this.eventService.listen(GisEvents.MapReady, async () => {\n this.commandService.startDefault();\n });\n\n const panels = this._getStartupPanels();\n for (const pnl of panels) {\n this.application.openPanel(pnl.tab, pnl.pos);\n }\n\n await this.mapComponent.initAsync(settings);\n }\n\n private _getStartupPanels(): Array<{ tab: TabItem, pos: PanelPos }> {\n return [\n {\n tab: {\n closable: false,\n name: 'panel-map-main',\n header: 'Harita',\n content: this._createMapPanel()\n },\n pos: PanelPos.Center\n }\n ];\n }\n\n private _createMapPanel() {\n\n const tab = new TabContainer(false);\n tab.addTab({ closable: false, content: new LegendComponent(true), header: 'Lejant', name: 'tab-legent' });\n tab.addTab({ closable: false, content: new TocComponent(), header: 'Katmanlar', name: 'tab-layers' });\n //tab.classList.add('bottom');\n\n const div = ELF.div('leftInnerPane', tab);\n\n this.mapComponent = new MapComponent();\n const drw = new DrawerContainer({\n main: this.mapComponent,\n left: { content: div, title: 'Lejant ve Katmanlar', pinnable: true }\n });\n drw.classList.add('mapdrawer-container');\n return drw;\n }\n}","export type ColorInfo = string | Array<number>;\nexport type StrokeInfo = {\n width: number,\n color: ColorInfo,\n dash?: number[]\n}\n\nexport type FillInfo = {\n color: ColorInfo\n}\n\nexport type SimpleLineSymbolDef = { type: 'sls' } & StrokeInfo;\n\nexport type SimpleFillSymbolDef = {\n type: 'sfs',\n stroke: StrokeInfo\n} & FillInfo;\n\nexport type SimplePointSymbolDef = {\n type: 'sps',\n radius: number,\n stroke?: StrokeInfo\n} & FillInfo;\n\nexport type IconPointSymbolDef = {\n type: 'ips',\n src: string,\n anchorOrigin?: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right',\n color?: ColorInfo, //tint color\n displacement?: number[], // shift [dx,dy]\n opacity?: number, // 0 - 1\n width?: number, // dont use with scale\n height?: number, // dont use with scale\n scale?: number,\n rotateWithView?: boolean,\n rotation?: number, //Rotation in radians (positive rotation clockwise).\n declutterMode?: 'declutter' | 'obstacle' | 'none',\n};\n\nexport type SimpleSymbolDef = SimpleFillSymbolDef | SimpleLineSymbolDef | SimplePointSymbolDef | IconPointSymbolDef;\n\nexport type SimpleRendererDef = {\n type: 'sr',\n symbol: SimpleSymbolDef\n}\n\ntype UValData = number | string;\n\nexport type UValInfo = {\n value: UValData\n title: string\n symbol: SimpleSymbolDef\n}\n\nexport type UVRendererDef = {\n type: 'uvr',\n uvals: UValInfo[],\n defaultSymbol?: SimpleSymbolDef\n}\n\nexport type RendererDef = SimpleRendererDef | UVRendererDef;\n\n/*\nconst l: SimpleLineSymbolDef = {\n type: \"sls\",\n color: 'blue',\n width: 2,\n dash: [1, 4]\n}\n\nconst xsps: UVRendererDef = {\n type: 'uvr',\n defaultSymbol: null,\n uvals: [\n {\n value: 1,\n title: 'AG Hat',\n symbol: {\n type: \"sls\",\n color: 'blue',\n width: 2\n }\n },\n {\n value: 2,\n title: 'AG Kablo',\n symbol: {\n type: \"sls\",\n color: 'blue',\n width: 2,\n dash: [1, 4]\n }\n }\n ]\n}*/",null,"import type { LayerDefinitionTypes } from \"../gis.enums\"\n\nexport type LayerDefinitionBase = {\n type: LayerDefinitionTypes,\n key: string,\n order: number,\n title: string,\n visible: boolean,\n maxZoom?: number,\n minZoom?: number,\n canRemove?: boolean,\n historyEnabled?: boolean\n}\n\nexport interface LayerDefinitionEsriMapService extends LayerDefinitionBase {\n type: LayerDefinitionTypes.EsriMapService,\n props: LayerDefinitionProp_EsriMapService\n}\n\nexport interface LayerDefinitionTileXyz extends LayerDefinitionBase {\n type: LayerDefinitionTypes.TileXyz,\n props: LayerDefinitionProp_TileXyz\n}\n\nexport interface LayerDefinitionWms extends LayerDefinitionBase {\n type: LayerDefinitionTypes.WMS,\n props: LayerDefinitionProp_Wms\n}\n\nexport interface GroupLayerDefinition extends LayerDefinitionBase {\n type: LayerDefinitionTypes.Group,\n children: LayerDefinitionBase[]\n}\n\nexport interface LayerDefinitionCustom extends LayerDefinitionBase {\n type: LayerDefinitionTypes.Custom,\n props: LayerDefinitionProp_Custom\n}\n\nexport type LayerDefinition = LayerDefinitionEsriMapService | LayerDefinitionTileXyz | LayerDefinitionWms | LayerDefinitionCustom;\n\n\nexport type LayerDefinitionProp_EsriMapService = {\n url: string,\n tiled: boolean,\n useProxy: boolean\n}\n\nexport type LayerDefinitionProp_TileXyz = {\n urlScheme: string,\n reverseY: boolean,\n useProxy: boolean,\n legendTiles?: number[]\n}\n\nexport type LayerDefinitionProp_Wms = {\n title?: string, \n url: string,\n tiled: boolean,\n useProxy: boolean,\n wfsEnabled: boolean,\n layers: string,\n imagetype: 'image/png8'| 'image/png' | 'image/jpeg'\n}\n\nexport type LayerDefinitionProp_Custom = {\n factoryKey: string,\n customProps?: any\n}",null,"import { AsyncOpResult, ISimpleArray, ITreeItem, OpResult, PanelPos } from \"@yesilyazilim/web.spa\";\nimport { LayerDefinition } from \"./layers.definitions\";\n\nimport { Group as GroupLayer, Layer } from \"ol/layer\";\nimport VectorTileLayer from \"ol/layer/VectorTile\";\nimport type { LayerDefinitionTypes } from \"../gis.enums\";\nimport type { LastViewLocation, MapIdentifyData } from \"../types\";\nimport { Feature } from \"ol\";\nimport VectorSource from \"ol/source/Vector\";\nimport { Geometry, LineString, Point, Polygon } from \"ol/geom\";\nimport VectorLayer from \"ol/layer/Vector\";\nimport { FeatureLike } from \"ol/Feature\";\n\nexport type IdentifyType = 'remote' | 'feature' | 'mvt' | 'none';\n\nexport interface ILayer extends ITreeItem {\n hasMapLayer: boolean;\n children?: ISimpleArray<ILayer>;\n identifyType: IdentifyType;\n}\n\nexport type MainLayerType = Layer | GroupLayer;\n\nexport type LayerProperties = {\n mapLayer: IMapLayer,\n name: string,\n canSelect: boolean,\n}\n\nexport interface IMapLayer<T extends MainLayerType = MainLayerType> extends ILayer {\n getLegendInfos(): LayerLegendSymbolInfo[];\n prepareAsync(): Promise<boolean>;\n onAdd(): void;\n onRemove(): void;\n layerObj: T;\n hasError: boolean;\n factoryType: string;\n onViewExtentChanged(loc: LastViewLocation);\n //selectFeaturesAtPixel?(px: Pixel): Promise<Feature[]>;\n}\n\nexport interface IFeatureLayer extends IMapLayer<VectorLayer> {\n identifyType: 'feature';\n setFeaturesSelected?(features: FeatureLike[]): void;\n getFeatureTitle?(f: FeatureLike): string;\n flashFeatures?(f: FeatureLike);\n generatePopupItemsAsync?(feature: FeatureLike): Promise<ILayerPopupItem[]>;\n}\n\nexport interface IMvtLayer extends IMapLayer<VectorTileLayer> {\n identifyType: 'mvt';\n setFeaturesSelected?(features: FeatureLike[]): void;\n getFeatureTitle?(f: FeatureLike): string;\n flashFeatures?(f: FeatureLike);\n generatePopupItemsAsync?(feature: FeatureLike): Promise<ILayerPopupItem[]>;\n}\n\nexport interface IImageLayer<T extends MainLayerType = MainLayerType> extends IMapLayer<T> {\n identifyType: 'remote';\n queryIdentifyAsync?(data: MapIdentifyData): AsyncOpResult<IdentifyResultItem[]>;\n generatePopupItemsAsync?(feature: FeatureLike): Promise<ILayerPopupItem[]>;\n}\n\nexport interface ILayerFactory {\n type: LayerDefinitionTypes;\n createAsync(ld: LayerDefinition): AsyncOpResult<IMapLayer>\n}\n\nexport type LayerLegendSymbolRow = {\n elm: HTMLElement;\n label?: string;\n}\n\nexport type LayerLegendSymbolInfo = {\n layerId: string;\n title: string;\n subtitle?: string;\n rows: LayerLegendSymbolRow[];\n}\n\nexport type LayerIdentifyResultSync = {\n type: 'sync';\n sourceLayer: IMapLayer;\n status: boolean;\n result: OpResult<IdentifyResultItem[]>;\n}\n\nexport type LayerIdentifyResultAsync = {\n type: 'async';\n sourceLayer: IMapLayer;\n status: boolean;\n result: AsyncOpResult<IdentifyResultItem[]>;\n}\n\nexport type LayerIdentifyResult = LayerIdentifyResultSync | LayerIdentifyResultAsync;\n\nexport type IdentifyResultItem = {\n layerTitle: string;\n layerKey: string;\n feature: Feature<Geometry>;\n}\n\nexport interface ILayerPopupItem {\n title: string;\n layer: IMapLayer,\n panelPos?: PanelPos;\n element: HTMLElement\n}\n\nexport type PointVectorSource = VectorSource<Feature<Point>>;\nexport type LineVectorSource = VectorSource<Feature<LineString>>;\nexport type PolygonVectorSource = VectorSource<Feature<Polygon>>;\n\nexport type LineLayer = VectorLayer<LineVectorSource>;\nexport type PointLayer = VectorLayer<PointVectorSource>;\nexport type PolygonLayer = VectorLayer<PolygonVectorSource>;\n","import VectorTileLayer from \"ol/layer/VectorTile\";\nimport { MapLayerBase } from \"./maplayer.base\";\nimport { LayerDefinitionCustom } from \"./layers.definitions\";\nimport { ILayer, ILayerPopupItem, IMvtLayer, LayerLegendSymbolInfo, LayerProperties, IdentifyType } from \"./layers.types\";\nimport { Style } from 'ol/style';\nimport MVTFormat from 'ol/format/MVT';\nimport { TileCoord } from 'ol/tilecoord';\nimport VectorTileSource from \"ol/source/VectorTile\";\nimport { createXYZ } from \"ol/tilegrid\";\nimport { DisplayClasses, ELF, Eventer, Inject, ISimpleArray, StoreService, TreeItemActionInfo } from \"@yesilyazilim/web.spa\";\nimport { StyleLike } from \"ol/style/Style\";\nimport { FlatStyleLike } from \"ol/style/flat\";\nimport { FeatureLike } from \"ol/Feature\";\nimport { SymbologyFactory } from \"./factory/symbology.factory\";\nimport RenderFeature from \"ol/render/Feature\";\nimport { SimpleLayerSymbology, LayerSymbology } from \"../types\";\n\nexport type MvtSubLayerInfo = {\n lyr: string,\n title: string,\n symbol: LayerSymbology\n}\n\nexport type MvtLayerProperties = LayerDefinitionCustom & {\n subLayerInfos: MvtSubLayerInfo[];\n}\n\nexport type MvtFeatureInfo = { lyr: string, id: number };\n\ntype StyleRef = {\n flashStyle: Style[],\n selectionStyle: Style,\n hoverStyle: Style,\n styles: Map<number, Style>,\n symbolDef: Map<number, SimpleLayerSymbology>\n}\n\n//mvt featurelarda olmasi gereken attributelar : id, lyr, st, lbl \n\nexport abstract class MvtLayerBase<T extends MvtLayerProperties = MvtLayerProperties> extends MapLayerBase<VectorTileLayer, T> implements IMvtLayer {\n\n identifyType: 'mvt' = 'mvt';\n\n protected _flashFeature: MvtFeatureInfo;\n protected _selectedFeatures: MvtFeatureInfo[];\n protected _hoverFeatures: MvtFeatureInfo[];\n protected _styleMap: Map<string, StyleRef>;\n\n private _tileVer = new Date().getTime();\n\n @Inject() protected storeService: StoreService;\n\n constructor(ld: T) {\n super(ld);\n }\n\n public async prepareAsync(): Promise<boolean> {\n await super.prepareAsync();\n this._layer = this._createLayer();\n\n return true;\n }\n\n public refresh(clear: boolean = false) {\n if (clear) {\n this._tileVer = new Date().getTime();\n this._clearTileCache(this.layerObj.getSource());\n }\n this._layer.changed();\n }\n\n public flash(feature?: RenderFeature) {\n if (feature) {\n this._flashFeature = { lyr: feature.get(''), id: feature.get('id') };\n this.refresh();\n } else {\n if (this._flashFeature) {\n this._flashFeature = null;\n this.refresh();\n }\n }\n }\n\n\n public getLegendInfos(): LayerLegendSymbolInfo[] {\n const res: LayerLegendSymbolInfo[] = [];\n for (const sli of this._definition.subLayerInfos) {\n const stl = this._styleMap.get(sli.lyr);\n const llsi: LayerLegendSymbolInfo = {\n layerId: sli.lyr,\n rows: [],\n title: sli.title\n }\n\n if (!stl) continue;\n if (sli.symbol.type == 'simple') {\n const style = stl.styles.get(0);\n const cnv = SymbologyFactory.createCanvas(style, sli.symbol.geomType);\n llsi.rows.push({\n label: '',\n elm: cnv\n })\n } else {\n for (const sv of sli.symbol.values) {\n const style = stl.styles.get(sv.st);\n const cnv = SymbologyFactory.createCanvas(style, sv.symbol.geomType);\n llsi.rows.push({\n label: sv.title,\n elm: cnv\n })\n }\n }\n res.push(llsi);\n }\n return res;\n }\n\n\n public setFeaturesSelected?(features: FeatureLike[]): void {\n this._selectedFeatures = features?.map(_ => { return { id: _.getId(), lyr: _.get('lyr') } as MvtFeatureInfo }) || [];\n this.refresh();\n }\n\n public getFeatureTitle(f: FeatureLike): string {\n const id = f.getId();\n const lyr = f.get('lyr');\n const sli = this.definition.subLayerInfos?.find(_ => _.lyr == lyr);\n if (sli) {\n return sli.title + ' - ' + id.toString();\n }\n return this._definition.title + ' - ' + id.toString();\n }\n\n public flashFeatures(f: FeatureLike) {\n this._flashFeature = null;\n if (f) {\n this._flashFeature = { id: f.getId() as number, lyr: f.get('lyr') }\n }\n this.refresh();\n }\n\n public generatePopupItemsAsync(feature: FeatureLike): Promise<ILayerPopupItem[]> {\n if (feature) {\n const div = ELF.div('popup-feature-properties').setStyles({ display: 'grid', gridTemplateColumns: 'auto 1fr' });\n const id = feature.getId();\n if (id) {\n div.appendChild(ELF.label('ID'));\n div.appendChild(ELF.span(id.toString()))\n }\n const props = feature.getProperties();\n for (const key in props) {\n if (Object.prototype.hasOwnProperty.call(props, key)) {\n const value = props[key];\n div.appendChild(ELF.label(key));\n div.appendChild(ELF.span(value.toString()))\n }\n }\n const arr: ILayerPopupItem[] = [{ element: div, layer: this, title: this.title }];\n return Promise.resolve(arr);\n }\n Promise.resolve(null);\n }\n\n \n protected override onTimeChanged(): void {\n if (!this._definition.historyEnabled) return;\n\n const old = this.layerObj.getSource();\n this.layerObj.setSource(this._createSource());\n this._clearTileCache(old);\n this.layerObj.changed();\n }\n\n protected _createLayer(): VectorTileLayer {\n\n const props: LayerProperties = {\n mapLayer: this, name: this._definition.key, canSelect: true\n }\n\n const layer = new VectorTileLayer({\n properties: props,\n style: this.createRenderer(),\n source: this._createSource(),\n visible: false,\n minZoom: this._definition.minZoom\n });\n return layer;\n }\n\n protected createRenderer(): StyleLike | FlatStyleLike {\n\n this._createStyleMap();\n\n const styleMap = this._styleMap;\n const subLayers = this.children as Array<MvtSubLayer>;\n const self = this;\n\n const isFlashed = function (f: FeatureLike): boolean {\n if (self._flashFeature) {\n return f.get('lyr') === self._flashFeature.lyr && f.getId() === self._flashFeature.id;\n }\n return false;\n }\n\n const isSelected = function (f: FeatureLike): boolean {\n if (self._selectedFeatures && self._selectedFeatures.length > 0) {\n return !!(self._selectedFeatures.find(_ => { return _.lyr == f.get('lyr') && _.id == f.getId() }));\n }\n return false;\n }\n\n const isHovered = function (f: FeatureLike): boolean {\n if (self._hoverFeatures && self._hoverFeatures.length > 0) {\n return self._hoverFeatures.findIndex(_ => _.lyr == f.get('lyr') && _.id == f.getId()) >= 0;\n }\n return false;\n }\n\n const getZoom = () => {\n return this._lastViewLocation.zoom;\n }\n\n return function (feature: FeatureLike, resolution: number) {\n const lyr = feature.get('lyr') as string;\n const st = feature.get('p') ?? feature.get('st');\n const sref = styleMap.get(lyr);\n if (!sref) return null;\n const sl = subLayers?.find((v) => st == v.id);\n if (sl && !sl.checked) return null;\n\n let addStyle: Style | Style[];\n\n if (isFlashed(feature)) {\n addStyle = sref.flashStyle;\n } else if (isHovered(feature)) {\n addStyle = sref.hoverStyle;\n } else if (isSelected(feature)) {\n addStyle = sref.selectionStyle;\n }\n const stls = [];\n const stl = sref.styles.get(st);\n if (stl) {\n stls.push(stl);\n const txt = stl.getText();\n const lbl = feature.get('lbl');\n if (txt) {\n const sd = sref.symbolDef.get(st);\n if (lbl && (sd.labelDef?.minLevel || 0) <= getZoom()) {\n txt.setText(lbl);\n } else {\n txt.setText(null);\n }\n }\n }\n return addStyle ? stls.concat(addStyle) : stl;\n }\n }\n\n private _createStyleMap() {\n if (!this._definition.subLayerInfos) return;\n\n const styleMap: Map<string, StyleRef> = new Map();\n const flashStyles = SymbologyFactory.createFlashedStyles();\n const hoverStyles = SymbologyFactory.createHoverStyles();\n const selectionStyles = SymbologyFactory.createSelectionStyles();\n for (const sli of this._definition.subLayerInfos) {\n let fls = flashStyles.get(sli.symbol.geomType);\n let hvr = hoverStyles.get(sli.symbol.geomType);\n let sel = selectionStyles.get(sli.symbol.geomType);\n let styles: Map<number, Style>;\n let symboldefs: Map<number, SimpleLayerSymbology> = new Map();\n const ts = SymbologyFactory.createStyleFromDef(sli.symbol);\n if (sli.symbol.type == 'unique') {\n styles = ts as Map<number, Style>;\n sli.symbol.values.forEach(_ => symboldefs.set(_.st, _.symbol));\n } else {\n styles = new Map();\n styles.set(0, ts as Style);\n symboldefs.set(0, sli.symbol);\n }\n let sr: StyleRef = {\n styles,\n flashStyle: fls,\n hoverStyle: hvr,\n selectionStyle: sel,\n symbolDef: symboldefs\n };\n styleMap.set(sli.lyr, sr);\n }\n this._styleMap = styleMap;\n }\n\n private _createSource(): VectorTileSource {\n let apiroot = this.storeService.appProperties.apiEndPoint;\n if (!apiroot.endsWith('/')) apiroot = apiroot + '/';\n const lyr = this._definition.key.toLowerCase();\n let uriFunc;\n if (this._definition.historyEnabled && this._currentTime > 0) {\n const uriPrefix = `${apiroot}app/mvt/${lyr}_h`;\n uriFunc = (tc: TileCoord): string => {\n return `${uriPrefix}/${tc[0]}/${tc[1]}/${tc[2]}?time=${this._currentTime}`;\n };\n } else {\n const uriPrefix = `${apiroot}app/mvt/${lyr}`;\n uriFunc = (tc: TileCoord): string => {\n return `${uriPrefix}/${tc[0]}/${tc[1]}/${tc[2]}?ver=${this._tileVer}`;\n };\n }\n\n return new VectorTileSource({\n tileGrid: createXYZ({ maxZoom: 20, tileSize: 512 }),\n format: new MVTFormat({\n idProperty: 'id'\n }),\n tileUrlFunction: uriFunc\n });\n }\n\n private _clearTileCache(source: VectorTileSource) {\n const cache = this.layerObj.getRenderer().getTileCache();\n cache.forEach((tile) => {\n source.removeSourceTiles(tile);\n });\n cache.clear();\n source.clear();\n }\n\n}\n\ntype MvtSubLayerProperties = {\n parent: MvtLayerBase,\n lyr: string,\n title: string,\n}\n\nclass MvtSubLayer implements ILayer {\n private _checked: boolean;\n\n identifyType: 'mvt';\n hasMapLayer: boolean = false;\n children?: ISimpleArray<ILayer> = null;\n id: string;\n title: string;\n hidden?: boolean;\n passive?: boolean;\n actions?: TreeItemActionInfo[];\n onAction?: (id: string) => void;\n propsChanged?: Eventer<{ key: string; value: any; }, void>;\n actionPropChanged?: Eventer<{ action: TreeItemActionInfo; key: string; value: any; }, void>;\n displayClass?: DisplayClasses;\n icon?: HTMLElement;\n order?: number;\n\n constructor(private readonly _props: MvtSubLayerProperties) {\n this.id = _props.parent.id + '-' + _props.lyr;\n this.title = _props.title;\n this._checked = true;\n }\n\n public get checked(): boolean { return this._checked; }\n public set checked(value: boolean) {\n if (value !== this._checked) {\n this._checked = value;\n this._props.parent.layerObj.changed();\n }\n }\n}",null,"import { GroupLayerDefinition, LayerDefinitionBase } from \"./layers.definitions\";\nimport { IMapLayer, LayerLegendSymbolInfo } from \"./layers.types\";\nimport { MapLayerBase } from \"./maplayer.base\";\nimport GroupLayer from 'ol/layer/Group';\n\nexport abstract class GroupLayerBase extends MapLayerBase<GroupLayer, GroupLayerDefinition> {\n\n public layers: IMapLayer[] = [];\n\n constructor(ld: GroupLayerDefinition) {\n super(ld);\n\n for (const childDef of ld.children) {\n const wmsLayer = this.createLayerFor(childDef);\n this.layers.push(wmsLayer);\n }\n\n this._layer = new GroupLayer({\n visible: ld.visible,\n minZoom: ld.minZoom,\n maxZoom: ld.maxZoom,\n layers: this.layers.map(l => l.layerObj)\n });\n\n this._layer.setProperties({ mapLayer: this, name: this._definition.key, canEdit: false, canFlash: true, canSelect: true });\n }\n\n abstract createLayerFor(definition: LayerDefinitionBase): IMapLayer;\n\n getLegendInfos(): LayerLegendSymbolInfo[] {\n const arr: LayerLegendSymbolInfo[] = [];\n for (const layer of this.layers) {\n const legends = layer.getLegendInfos();\n if (legends && legends.length > 0) {\n arr.push(...legends);\n }\n }\n return arr;\n }\n}",null,"import * as olExtent from 'ol/extent';\n\nimport { Circle, Fill, Icon, Stroke, Style } from \"ol/style\";\nimport { LineString, Point } from \"ol/geom\";\nimport { IconPointSymbolDef, SimpleFillSymbolDef, SimpleLineSymbolDef, SimplePointSymbolDef, SimpleSymbolDef } from '../style.types';\n\nimport { BasicGeometryTypes } from \"../types\";\nimport { Feature } from \"ol\";\nimport { fromExtent as polygonfromExtent } from \"ol/geom/Polygon\";\nimport { toContext } from 'ol/render';\n\nexport class OlStyleHelper {\n\n\n\n static stylegeometry2canvas(style: Style, type: BasicGeometryTypes): HTMLCanvasElement {\n const canvas = document.createElement('canvas');\n switch (type) {\n case 'Point': {\n const width: number = 30;\n const height: number = 30;\n const vectorContext = toContext(canvas.getContext('2d'), { size: [width, height] });\n vectorContext.setStyle(style);\n vectorContext.drawGeometry(new Point([width / 2, height / 2]));\n }\n break;\n case 'LineString': {\n const width: number = 30;\n const height: number = 30;\n const vectorContext = toContext(canvas.getContext('2d'), { size: [width, height] });\n vectorContext.setStyle(style);\n vectorContext.drawGeometry(new LineString([[0, height / 2], [width, height / 2]]));\n }\n break;\n case 'Polygon': {\n const width: number = 30;\n const height: number = 30;\n const vectorContext = toContext(canvas.getContext('2d'), { size: [width, height] });\n vectorContext.setStyle(style);\n const ext = olExtent.boundingExtent([[3, 3], [width - 3, height - 3]]);\n vectorContext.drawGeometry(polygonfromExtent(ext));\n }\n break;\n default:\n break;\n }\n return canvas;\n }\n static stylefeature2canvas(style: Style, feature: Feature, width: number = 100, height: number = 100): HTMLCanvasElement {\n const canvas = document.createElement('canvas');\n const vectorContext = toContext(canvas.getContext('2d'), { size: [width, height] });\n vectorContext.setStyle(style);\n vectorContext.drawFeature(feature, style);\n return canvas;\n }\n\n static createStyleFromJson(sd: SimpleSymbolDef): Style | null {\n switch (sd.type) {\n case 'sfs':\n return OlStyleHelper.createSFS(sd);\n case 'sls':\n return OlStyleHelper.createSLS(sd);\n case 'sps':\n return OlStyleHelper.createSPS(sd);\n case 'ips':\n return OlStyleHelper.createIPS(sd);\n default:\n return null;\n }\n }\n\n static createSFS(sfs: SimpleFillSymbolDef): Style {\n const style = new Style({\n fill: new Fill({\n color: sfs.color\n }),\n stroke: sfs.stroke ? new Stroke({\n color: sfs.stroke.color,\n width: sfs.stroke.width,\n lineDash: sfs.stroke.dash\n }) : null\n });\n return style;\n }\n\n static createSLS(sls: SimpleLineSymbolDef): Style {\n const style = new Style({\n stroke: new Stroke({\n color: sls.color,\n width: sls.width,\n lineDash: sls.dash\n })\n });\n return style;\n }\n\n static createSPS(sps: SimplePointSymbolDef): Style {\n const style = new Style({\n image: new Circle({\n radius: sps.radius,\n fill: new Fill({\n color: sps.color\n }),\n stroke: sps.stroke ? new Stroke({ color: sps.stroke.color, width: sps.stroke.width, lineDash: sps.stroke.dash }) : null\n })\n });\n return style;\n }\n\n static createIPS(ips: IconPointSymbolDef): Style {\n const style = new Style({\n image: new Icon({\n src: ips.src,\n color: ips.color,\n anchorOrigin: ips.anchorOrigin,\n displacement: ips.displacement,\n opacity: ips.opacity,\n width: ips.width,\n height: ips.height,\n scale: ips.scale,\n rotateWithView: ips.rotateWithView,\n rotation: ips.rotation,\n declutterMode: ips.declutterMode || 'none'\n })\n });\n return style;\n }\n}",null,"import { AsyncOpResult, IKeyedButtonInfo, ILookup, OpResult } from \"@yesilyazilim/web.spa\";\nimport { GeoJSONGeometry } from \"ol/format/GeoJSON\";\nimport { Geometry } from \"ol/geom\";\n\nexport type SearchResult = {\n id: string | number;\n text: string;\n detail: string;\n location?: Geometry;\n}\n\nexport interface ISearchSource extends ILookup {\n type: 'local' | 'remote';\n placeholder: string;\n validate(text: string): OpResult;\n actions?: IKeyedButtonInfo[];\n onAction?: (actionKey: string, item: SearchResult) => void;\n}\n\nexport interface ILocalSearchSource extends ISearchSource {\n type: 'local';\n run(text: string): OpResult<SearchResult[]>;\n}\n\nexport interface IRemoteSearchSource extends ISearchSource {\n type: 'remote';\n runAsync(text: string): AsyncOpResult<SearchResult[]>;\n}\n\nexport type SearchSource = ILocalSearchSource | IRemoteSearchSource;\n\nexport type RemoteSearchInput = {\n type: string;\n text: string;\n}\n\nexport type RemoteSearchResult = {\n id: string | number;\n text: string;\n detail: string;\n geom?: GeoJSONGeometry;\n}","import type { ActionCommandProperties, AsyncOperation, IndexedList } from \"@yesilyazilim/web.spa\";\nimport type { FeatureLike } from \"ol/Feature\";\nimport type Geometry from \"ol/geom/Geometry\";\nimport type { Layer } from \"ol/layer\";\nimport type { ILayerFactory, IMapLayer } from \"./layers/layers.types\";\nimport { Coordinate } from \"ol/coordinate\";\nimport { Pixel } from \"ol/pixel\";\nimport { BaseMapTypes } from \"./gis.enums\";\nimport type { LayerDefinition } from \"./layers/layers.definitions\";\nimport type { SearchSource } from \"./search.types\";\nimport type Feature from \"ol/Feature\";\nimport { GeoJSONFeature } from \"ol/format/GeoJSON\";\n\nexport type MapStartupSettings = {\n baseMap: BaseMapTypes,\n defaultLocation: LastViewLocation,\n layerLoader: AsyncOperation<LayerDefinition[]>,\n customLayerFactory: ILayerFactory,\n searchSources: SearchSource[]\n}\n\nexport type BasicGeometryTypes = 'Point' | 'LineString' | 'Polygon';\nexport type GeometryTypes = BasicGeometryTypes | 'LinearRing' | 'MultiPoint' | 'MultiLineString' | 'MultiPolygon' | 'GeometryCollection' | 'Circle';\n\nexport type MapGotoExtentRequestData = { extent: number[] }\nexport type MapFlashGeomRequestData = {\n geom: Geometry,\n skipZoom?: boolean,\n keepExist?: boolean,\n}\n\nexport type MapIdentifyData = {\n coords: number[],\n screenPoint: number[],\n tolerance: number,\n mapExtent: number[],\n imageDisplay: { w: number, h: number, dpi: number },\n resolution: number,\n}\n\nexport type LastViewLocation = {\n center: number[],\n zoom: number,\n extent?: number[]\n}\n\n\nexport type LayerSymbologyLabelDef = {\n field: string,\n textColor: string,\n textSize: number,\n minLevel?: number,\n overflow?: boolean,\n offsetX: number,\n offsetY: number,\n}\n\nexport type SimpleLayerSymbology = {\n type: \"simple\",\n geomType: BasicGeometryTypes,\n size: number,\n color: string,\n labelDef?: LayerSymbologyLabelDef,\n pointProps?: {\n shape: 'circle' | 'square' | 'triangle' | 'star' | 'pentagon' | 'image'\n src?: string,\n anchor?: number[],\n height?: number,\n width?: number,\n offset?: number[],\n },\n stroke?: { size: number, color: string }\n}\n\nexport type UniqueValueInfo = {\n st: number,\n title: string,\n symbol: SimpleLayerSymbology\n}\n\nexport type UniqueValuesLayerSymbology = {\n type: \"unique\",\n geomType: BasicGeometryTypes,\n values: UniqueValueInfo[]\n}\n\nexport type LayerSymbology = SimpleLayerSymbology | UniqueValuesLayerSymbology;\n\nexport type GetOneFeatureOptions = {\n menux: number;\n menuy: number;\n hitTolerance?: number,\n layerFilter?: (lyr: Layer) => boolean;\n featureFilter?: (feature: FeatureLike) => boolean;\n}\n\nexport interface IFeatureCmItem {\n title: string;\n iconClass?: string;\n group?: string;\n}\n\nexport interface IClickItem extends IFeatureCmItem {\n feature: FeatureLike | Feature<Geometry>\n layer: Layer\n mapLayer: IMapLayer\n}\n\nexport type SelectedMapItem = {\n feature: FeatureLike | Feature<Geometry>\n mapLayer: IMapLayer\n}\n\nexport type MapContextMenuStartArgs = {\n ci?: IClickItem,\n coord: Coordinate\n pixel: Pixel,\n context?: IMapInteractionContext\n}\n\nexport type FeatureContextMenuItemAction = (action: 'click' | 'enter' | 'leave', item: IFeatureCmItem) => void;\n\nexport type MapContextMenuCommandProperties = ActionCommandProperties & {\n canExecuteFor(arg: MapContextMenuStartArgs): boolean;\n}\n\nexport interface IMapInteractionContext {\n activeWork: string,\n activeWorkProp?: any,\n completeWork: (res: boolean, data: any) => void\n}\n\nexport interface IMapSelectionContext {\n mode: 'single' | 'rectangle' | 'freehand';\n contextMenuContainer?: string;\n makeSelected?: boolean;\n layerFilter?: (lyr: Layer) => boolean;\n featureFilter?: (feature: FeatureLike) => boolean;\n completeWork: (items: SelectedMapItem[]) => void\n}\n\nexport interface ILayerManager {\n basemapLayer: IMapLayer;\n layerList: IndexedList<IMapLayer>;\n}\n"],"names":[],"version":3,"file":"index.js.map"}
1
+ {"mappings":"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EAAE,OAAO,EAAE,YAAY;IAKzE,IAAI,CAAC,aAAa,OAAO;IACzB,IAAI,CAAC,UAAU,OAAO;IACtB,IAAI,QAAQ,IAAI,KAAK;IACrB,OAAO,YAAY,YAAY,MAAM,MAAM,YAAY;AAC3D;AAEM,SAAU,0CAAkB,IAAmB,EAAE,eAAe,EAAE,UAAU;IAC9E,MAAM,OAAO,KAAK,QAAQ;IAC1B,IAAI,MACA,OAAO,KAAK,OAAO,CAAC,KAAK;IAE7B,OAAO;AACX;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I;ANFO,IAAM,4CAAN,MAAM,0BAA0B,CAAA,GAAA,0CAAA;IAWnC,YAAY,KAAkC,CAA9C;QACI,KAAK;QACL,IAAI,CAAC,QAAQ,GAAG,MAAM,OAAO;QAC7B,IAAI,CAAC,QAAQ,GAAG,MAAM,OAAO;QAE7B,IAAI,CAAC,OAAO,CAAC;QACb,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC;QACjB;IACJ;IAWS,cAAc,KAAc,EAA5B;QACL,QAAQ,GAAG,CAAC,mCAAmC;QAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAA,GAAA,6BAAA,EAAI,wBAAwB,CAAC,IAAI,EAAE,OAAO,QAAQ;IACtD;IAEc,cAAA;Q,O,gC,I,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K;IACnC;IAEA,OAAO,sBAAsB,EAAoC,EAAjE;QACI,OAAO,CAAA,GAAA,wCAAA,EAAgB;IAC3B;IAEA,OAAO,YAA2C,OAAY,EAA9D;QACI,MAAM,MAAM,IAAI,CAAA,GAAA,gDAAA;QAChB,OAAO,IAAI,YAAY,CAAC;IAC5B;IAEA,OAAO,mBAAkD,OAAY,EAArE;QACI,MAAM,MAAM,IAAI,CAAA,GAAA,gDAAA;QAChB,OAAO,IAAI,WAAW,CAAC;IAC3B;IAEA,OAAO,oBAAmD,OAAY,EAAtE;QACI,MAAM,MAAM,IAAI,CAAA,GAAA,gDAAA;QAChB,OAAO,IAAI,YAAY,CAAC;IAC5B;IAEA,OAAO,aAA4C,EAAoC,EAAvF;QACI,MAAM,UAAU,CAAA,GAAA,wCAAA,EAAgB;QAChC,OAAO,0CAAa,WAAW,CAAC;IACpC;A;AAjGgB,0CAAA,KAAK,GAAe,IAAI,CAAA,GAAA,wBAAA,EAAW;IAAE,MAAM;AAAW;AACtD,0CAAA,OAAO,GAAe,IAAI,CAAA,GAAA,wBAAA,EAAW;IAAE,MAAM;AAAW;;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I,0B;AVK5E,MAAe,iDAAkE,CAAA,GAAA,yCAAA;IAa7E,YAAY,UAAyC,EAAE,OAA6B,EAAE,KAAQ,CAA9F;QACI,KAAK,CAAC;QATV,IAAA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I,UAAU;YACV,IAAI,CAAC,WAAW,CAAC,CAAA,GAAA,6BAAA,EAAI,KAAK,CAAC,KAAK,KAAK,EAAE;YACvC,IAAI,CAAC,QAAQ,GAAG;QACpB,OAAO;YACH,IAAI,CAAC,gBAAgB,CAAC,cAAc;gBAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI;YAAE;YAC7E,IAAI,CAAC,gBAAgB,CAAC,cAAc;gBAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI;YAAE;YAC7E,IAAI,CAAC,gBAAgB,CAAC,SAAS;gBAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI;YAAE;YAExE,IAAI,KAAK,SAAS,EAAE;gBAChB,MAAM,UAAU,CAAA,GAAA,6BAAA,EAAI,IAAI,CAAC,aAAa,KAAK,SAAS;gBACpD,IAAI,CAAC,WAAW,CAAC;YACrB;YAEA,IAAI,CAAC,WAAW,CAAC,CAAA,GAAA,6BAAA,EAAI,KAAK,CAAC,KAAK,KAAK,EAAE;QAC3C;IACJ;AACH;AApBK,iDAAA,iCAAA;IADL,CAAA,GAAA,mCAAA,EAAU;QAAE,aAAa;IAAkB;IAEd,iCAAA,qBAAA;QAAA;QAAA;QAAA;KAAA;CADxB,EAAA;;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I,0B;ANpFN,MAAM,qCAAe;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Ad,CAAA,GAAA,wCAAA,CAAA,MAAA,aAAA,2BAAA;CAAe,EAAA,0CAAA,SAAA,EAAA,kBAAA,KAAA;AAHhC,4CAAA,iCAAA;IADZ,CAAA,GAAA,iCAAA;CACY,EAAA;AAscb,MAAM;IAIF,OAAO,IAAiC,EAAxC;QACI,IAAI,CAAC,KAAK,GAAG;IACjB;IAEA,UAAU,GAAW,EAAE,KAAc,EAArC;Q,I;QACI,CAAA,KAAA,IAAI,CAAC,KAAK,AAAL,MAAK,QAAA,OAAA,KAAA,KAAA,GAAE,SAAS,CAAC,KAAK;IAC/B;IAEA,YAAY,GAAW,EAAE,KAAc,EAAvC;Q,I;QACI,CAAA,KAAA,IAAI,CAAC,KAAK,AAAL,MAAK,QAAA,OAAA,KAAA,KAAA,GAAE,WAAW,CAAC,KAAK;IACjC;IAEA,UAAA;Q,I;QACI,OAAO,AAAC,CAAA,AAAA,CAAA,KAAA,IAAI,CAAC,KAAK,AAAL,MAAK,QAAA,OAAA,KAAA,IAAA,KAAA,IAAA,GAAE,OAAO,EAAA,KAAO;IACtC;AACH;;;;;;;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I;AQjfK,MAAO;IAQT,YAA6B,SAAkC,CAA/D;QAA6B,IAAA,CAAA,SAAS,GAAT;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,UAAU,IAAI,CAAC,YAAY,CAAC,a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O,IAAI,CAAC,SAAU;gBACpC,IAAI,MAAM,AAAA,CAAA,KAAA,AAAA,CAAA,KAAA,OAAO,CAAC,IAAI,AAAD,MAAC,QAAA,OAAA,KAAA,IAAA,KAAA,IAAA,GAAE,QAAQ,EAAA,MAAE,QAAA,OAAA,KAAA,IAAA,KAAI;gBACtC,GAAG,MAAM,CAAC,KAAK;YACnB;QAER;IACJ;AACH;AA9Ga,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAuB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,sCAAA,MAAY,eAAZ,CAAA,GAAA,sCAAA,CAAA,MAAA,aAAA,2BAAA;CAAa,EAAA,0CAAA,SAAA,EAAA,gBAAA,KAAA;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I,0B,0B,0B;AVInC,MAAgB,kDAAqB,CAAA,GAAA,yCAAA;IAUvC,YAAY,EAAsB,CAAlC;QACI,KAAK,CAAC;QALH,IAAA,CAAA,YAAY,GAAa;QAO5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA,GAAA,yCAAA,EAAiB,GAAG,KAAK;QAC7C,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC;YAAoC,OAAO,IAAI,CAAC,eAAe,CAAC;QAAS;QAC1G,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA,GAAA,6CAAA,EAAW;YACzB,QAAQ,IA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,CAAC,EAAE;YAEtB,IAAK,IAAI,IAAI,GAAG,IAAI,IAAI,MAAM,EAAE,IAC5B,MAAM,IAAI,OAAO,CAAC,KAAK;YAG3B,IAAK,IAAI,IAAI,GAAG,IAAI,aAAa,IAC7B,UAAU;YAGd,OAAO,OAAO,SAAS;QAC3B,OACI,OAAO;IAEf;AACH;AAtFa,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAsB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,qCAAA,MAAW,eAAX,CAAA,GAAA,qCAAA,CAAA,MAAA,aAAA,2BAAA;CAAY,EAAA,0CAAA,SAAA,EAAA,eAAA,KAAA;;;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;AFlDjC,MAAO;IAAb,aAAA;QACI,IAAA,CAAA,IAAI,GAAG,CAAA,GAAA,yCAAA,EAAqB,GAAG;IASnC;IAPU,YAAY,EAAsB,EAAlC;Q,O,gC,I,E,K,G,K,G;YACF,MAAM,QAA4B;gBAC9B,SAAS;gBACT,MAAM,IAAI,CAAA,GAAA,yCAAA,EAAS;YACtB;YACD,OAAO,QAAQ,OAAO,CAAC;QAC3B;IAAC;AACJ;;;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;AlBVK,MAAO;IAET,YAAY,oBAAqC,CAAjD;QACI,IAAI,CAAC,IAAI,GAAG,IAAI;QAChB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAA,GAAA,yCAAA;QACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAA,GAAA,yCAAA;QACnB,KAAK,MAAM,MAAM,qBACb,IAAI,CAAC,SAAS,CAAC;IAEvB;IAEM,YAAY,EAAmB,EAA/B;Q,O,gC,I,E,K,G,K,G;YACF,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI;YAChC,IAAI,CAAC,IAAI,OAAO,QAAQ,OAAO,CAAC;gBAC5B,SAAS;gBACT,SAAS,wCAAwC,GAAG,IAAI;YAC3D;YAED,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC;YAEjC,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,EAAE;gBACzB,IAAI,MAAM,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO;gBAC1C,OAAO;oBACH,SAAS;oBACT,SAAS,2BAA2B,GAAG,GAAG;gBAC7C;YACL;YAEA,OAAO;QACX;IAAC;IAEO,UAAU,EAAiB,EAA3B;QACJ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE;IAC3B;AACH;;;;;;;;;;;;;;;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I;AgCtBD,MAAM,oCAAc;AAEpB,MAAM,2BAA4B;IAC9B,KAAK;IACL,OAAO;IACP,OAAO;QAAE,YAAY;IAAY;IACjC,OAAO;IACP,MAAM,CAAA,GAAA,yCAAA,EAAqB,MAAM;IACjC,SAAS;IACT,WAAW;AACd;AAEK,MAAO,kDAAmB,CAAA,GAAA,yCAAA;IAU5B,QAAA,CACA;IAEA,aAAA;QACI,KAAK,CAAC;QAZV,IAAA,CAAA,YAAY,GAAW;QAIN,IAAA,CAAA,OAAO,GAAyB,IAAI;QAUjD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA,GAAA,sBAAA,EAA6B;YAC5C,OAAO;QACV;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA,GAAA,8CAAA,EAA0C;YACxD,YAAY;gBAAE,UAAU,IAAI;gBAAE,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG;gBAAE,SAAS;gBAAO,UAAU;gBAAM,WAAW;YAAK;YAC1G,QAAQ,IAAI,CAAC,OAAO;YACpB,OAAO,IAAI,CAAA,GAAA,oBAAA,EAAM;gBACb,OAAO,IAAI,CAAA,GAAA,mBAAA,EAAK;oBACZ,KAAK;oBACL,QAAQ;oBACR,OAAO;gBACV;YACJ;QACJ;IAEL;IAEA,iBAAA;QACI,OAAO,EAAE;IACb;IAEA,MAAM,OAAO,EAAb;QACI,MAAM,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG;QAC/B,MAAM,SAAS,IAAI,CAAC,OAAO;QAC3B,MAAM,QAAQ,KAAK,GAAG;QACtB,MAAM,YAAY,QAAQ,WAAW,GAAG,KAAK;QAC7C,MAAM,cAAc,IAAI,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,cAAc;QAE3D,SAAS,QAAQ,KAAK;YAClB,MAAM,aAAa,MAAM,UAAU;YACnC,MAAM,UAAU,WAAW,IAAI,GAAG;YAClC,IAAI,WAAW,MAAM;gBACjB,CAAA,GAAA,2BAAA,EAAQ;gBACR,OAAO,aAAa,CAAC;gBACrB;YACJ;YACA,MAAM,gBAAgB,CAAA,GAAA,gCAAA,EAAiB;YACvC,MAAM,eAAe,UAAU;YAE/B,MAAM,SAAS,CAAA,GAAA,uBAAA,EAAQ,gBAAgB,KAAK;YAC5C,MAAM,UAAU,CAAA,GAAA,uBAAA,EAAQ,IAAI;YAE5B,MAAM,QAAQ,IAAI,CAAA,GAAA,oBAAA,EAAM;gBACpB,OAAO,IAAI,CAAA,GAAA,8CAAA,EAAO;oBACd,QAAQ;oBACR,QAAQ,IAAI,CAAA,GAAA,qBAAA,EAAO;wBACf,OAAO,uBAAuB,UAAU;wBACxC,OAAO,OAAO;oBACjB;gBACJ;YACJ;YAED,cAAc,QAAQ,CAAC;YACvB,cAAc,YAAY,CAAC;YAE3B,IAAI,MAAM;QACd;IACJ;AAEH;AAnEa,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAqB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,yCAAA,MAAU,eAAV,CAAA,GAAA,yCAAA,CAAA,MAAA,aAAA,2BAAA;CAAW,EAAA,0CAAA,SAAA,EAAA,cAAA,KAAA;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I;AxC5B9B,IAAM,4CAAN,MAAM;IAQT,aAAA;QACI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA,GAAA,qCAAA;QACrB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA,GAAA,yCAAA,EAAU,aAAa,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI;QAC1F,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA,GAAA,yCAAA,EAAU,WAAW,EAAE,CAAC,MAAgB,IAAI,CAAC,WAAW,CAAC;IACtF;IAEa,KAAK,QAA4B,EAAjC;Q,O,gC,I,E,K,G,K,G;YACT,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,OAAO;YACnE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY;YAEpC,IAAI,CAAC,SAAS,WAAW,EAAE;YAE3B,MAAM,SAAS,MAAM,SAAS,WAAW;YACzC,IAAI,CAAC,OAAO,OAAO,EAAE;gBACjB,QAAQ,KAAK,CAAC,wBAAwB,OAAO,OAAO;gBACpD;YACJ;YAEA,MAAM,MAAM,OAAO,IAAI;YACvB,IAAI,CAAC,KAAK;YAEV,MAAM,iBAAkC,EAAE;YAC1C,IAAI,SAAS,kBAAkB,EAAE,eAAe,IAAI,CAAC,SAAS,kBAAkB;YAEhF,MAAM,UAAU,IAAI,CAAA,GAAA,wCAAA,EAAa;YACjC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAM,EAAE,KAAK,GAAG,EAAE,KAAK;YACpC,KAAK,MAAM,MAAM,IAAK;gBAClB,MAAM,MAAM,MAAM,QAAQ,WAAW,CAAC;gBACtC,IAAI,IAAI,OAAO,IAAI,IAAI,IAAI,EACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI;YAE9B;YACA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAA,GAAA,yCAAA;QACtB;IAAC;IAEM,UAAU,GAAW,EAArB;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAO,GAAG,EAAE,IAAI;IAChD;IAEO,gBAAgB,GAAqB,EAArC;QACH,IAAI,CAAC,QAAQ,GAAG;QAChB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAO,GAAG,mBAAmB,CAAC;IAC1D;IAEO,sBAAA;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAAM,IAAA;YAAC,OAAA,CAAC,CAAE,CAAA,AAAA,CAAA,KAAA,GAAG,QAAQ,CAAC,aAAa,EAAA,MAAE,QAAA,OAAA,KAAA,IAAA,KAAA,IAAA,GAAE,SAAS,AAAT;QAAU;IACnF;IAEO,SAAS,GAAc,EAAvB;QACH,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;QACvB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;QACnB,IAAI,mBAAmB,CAAC,IAAI,CAAC,QAAQ;QACrC,IAAI,KAAK;IACb;IAEO,YAAY,GAAW,EAAvB;QACH,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAO,GAAG,EAAE,IAAI;QAClD,IAAI,KAAK,GAAG;YACR,MAAM,QAAQ,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YAC1B,MAAM,QAAQ;QAClB;IACJ;IAEc,oBAAoB,IAAkB,EAAtC;Q,O,gC,I,E,K,G,K,G;YACV,OAAO,MAAM,AAAC,IAAI,CAAA,GAAA,yCAAA,IAAuB,kBAAkB,CAAC;QAChE;IAAC;IAEa,0BAA0B,IAAkB,EAA5C;Q,O,gC,I,E,K,G,K,G;YACV,MAAM,QAAQ,MAAM,IAAI,CAAC,mBAAmB,CAAC;YAC7C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG;YAC1B,IAAI,CAAC,YAAY,GAAG;QACxB;IAAC;AACJ;AA3Ea,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAuB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,sCAAA,MAAY,eAAZ,CAAA,GAAA,sCAAA,CAAA,MAAA,aAAA,2BAAA;CAAa,EAAA,0CAAA,SAAA,EAAA,gBAAA,KAAA;AAN5B,4CAAA,iCAAA;IADZ,CAAA,GAAA,iCAAA;I,iC,qB,E;CACY,EAAA;;;;;;;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I,0B,0B,0B,0B;AFmBN,IAAM,4CAAN,MAAM;IAkBT,aAAA;QAgDA,IAAA,CAAA,iBAAiB,GAAG,CAAO,MAA3B,gCAAA,IAAA,EAAA,KAAA,GAAA,KAAA,GAAA;gB,I,I;gBACI,IAAI,cAAc;gBAElB,IAAI,CAAC,eAAe,GAAG,IAAI,UAAU;gBACrC,IAAI,CAAC,UAAU,CAA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A,CAAA,2BAAA,OAAA,CAAA,GAAA,wCAAA,MAAc,eAAd,CAAA,GAAA,wCAAA,CAAA,MAAA,aAAA,2BAAA;CAAe,EAAA,0CAAA,SAAA,EAAA,cAAA,KAAA;AAF5B,4CAAA,iCAAA;IADZ,CAAA,GAAA,iCAAA,EAAQ;I,iC,qB,E;CACI,EAAA;;;;AzDvXb,4BAAiB;IACf,sBAAsB;IACtB,mBAAmB;IACnB,0BAA0B;IAC1B,mBAAmB;IACnB,uBAAuB;IACvB,mBAAmB;IACnB,eAAe;AACjB;;;;;;;;;;;;;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I;A6DRO,IAAM,4CAAN,MAAM,qBAAqB,CAAA,GAAA,qCAAA;IAI9B,aAAA;QACI,KAAK;QACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA,GAAA,kCAAA,EAAS,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;YACnD,WAAW;gBACP,MAAM;YACT;QACJ;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK;IAC/B;AACH;AAZa,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAuB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,yCAAA,MAAY,eAAZ,CAAA,GAAA,yCAAA,CAAA,MAAA,aAAA,2BAAA;CAAa,EAAA,0CAAA,SAAA,EAAA,gBAAA,KAAA;AAD5B,4CAAA,iCAAA;IADZ,CAAA,GAAA,mCAAA,EAAU;QAAE,aAAa;IAAS;I,iC,qB,E;CACtB,EAAA;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I;AFMN,IAAM,4CAAN,MAAM;IAMT,aAAA;QACI,IAAI,CAAC,OAAO,GAAG;QACf,IAAI,CAAC,MAAM,GAAG;IAClB;IAEA,MAAM,QAAiB,EAAvB;QACI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,kBAC7B,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;aAEjC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YACvB,UAAU;YACV,MAAM;YACN,QAAQ;YACR,SAAS,IAAI,CAAA,GAAA,yCAAA;YACb,WAAW;QACd,GAAE,CAAA,GAAA,kCAAA,EAAS,IAAI;QAEpB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM;IAC9B;AACH;AArBa,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAsB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,qCAAA,MAAW,eAAX,CAAA,GAAA,qCAAA,CAAA,MAAA,aAAA,2BAAA;CAAY,EAAA,0CAAA,SAAA,EAAA,eAAA,KAAA;AAJ1B,4CAAA,iCAAA;IATZ,CAAA,GAAA,iCAAA,EAAQ;QACL,MAAM,CAAA,GAAA,sCAAA,EAAa,OAAO;QAC1B,WAAW,CAAA,GAAA,yCAAA,EAAqB,MAAM;QACtC,KAAK;QACL,OAAO;QACP,OAAO;QACP,OAAO;QACP,WAAW;IACd;I,iC,qB,E;CACY,EAAA;;;;;;;;;;;;;;;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,0B,0B;AMHN,IAAM,4CAAN,MAAM,wBAAwB,CAAA,GAAA,qCAAA;IAOjC,YAAY,IAAc,CAA1B;QACI,KAA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,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I;AF/CN,IAAM,4CAAN,MAAM;IAMT,aAAA;QACI,IAAI,CAAC,OAAO,GAAG;QACf,IAAI,CAAC,MAAM,GAAG;IAClB;IAEA,MAAM,QAAiB,EAAvB;QACI,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,qBAC7B,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;aAEjC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;YACvB,UAAU;YACV,MAAM;YACN,QAAQ;YACR,SAAS,IAAI,CAAA,GAAA,yCAAA,EAAgB;YAC7B,WAAW;QACd,GAAE,CAAA,GAAA,kCAAA,EAAS,IAAI;QAEpB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM;IAC9B;AACH;AArBa,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAsB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,qCAAA,MAAW,eAAX,CAAA,GAAA,qCAAA,CAAA,MAAA,aAAA,2BAAA;CAAY,EAAA,0CAAA,SAAA,EAAA,eAAA,KAAA;AAJ1B,4CAAA,iCAAA;IATZ,CAAA,GAAA,iCAAA,EAAQ;QACL,MAAM,CAAA,GAAA,sCAAA,EAAa,OAAO;QAC1B,WAAW,CAAA,GAAA,yCAAA,EAAqB,MAAM;QACtC,KAAK;QACL,OAAO;QACP,OAAO;QACP,OAAO;QACP,WAAW;IACd;I,iC,qB,E;CACY,EAAA;;;A/DXb,4BAAiB;IACf,2BAA2B;IAC3B,wBAAwB;AAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M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AA,CAAA,MAAA,aAAA,2BAAA;CAAa,EAAA,0CAAA,SAAA,EAAA,gBAAA,KAAA;AAV5B,4CAAA,iCAAA;IADZ,CAAA,GAAA,mCAAA,EAAU;QAAE,aAAa;IAAY;I,iC,qB;Q;K;CACzB,EAAA;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I,0B,0B;ANQb,MAAM,mCAAa;AAMZ,IAAM,4CAAN,MAAM,qBAAqB,CAAA,GAAA,qCAAA;IAA3B,aAAA;Q,K,I;QAEK,IAAA,CAAA,QAAQ,GAAW;QAmFV,IAAA,CAAA,UAAU,GAAG;YAC1B,MAAM,MAAwB;gBAC1B,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS;gBAC3B,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;gBAClC,QAAQ,IAAI,CAAC,IAAI,CAAC,eAAe;YACpC;YACD,aAAa,OAAO,CAAC,kCAAY,KAAK,SAAS,CAAC;YAChD,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;QACtC;IAsBJ;IArGiB,UAAU,QAA4B,EAAtC;Q,O,gC,I,E,K,G,K,G;YAET,MAAM,SAAS,CAAA,GAAA,6BAAA,EAAI,GAAG,CAAC;YACvB,OAAO,gBAAgB,CAAC,eAAe,CAAC,KAAO,GAAG,cAAc;YAChE,IAAI,CAAC,WAAW,CAAC;YAEjB,IAAI,KAAuB,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AAA,CAAA,GAAA,yCAAA,MAAY,eAAZ,CAAA,GAAA,yCAAA,CAAA,MAAA,aAAA,2BAAA;CAAa,EAAA,0CAAA,SAAA,EAAA,gBAAA,KAAA;AAC3B,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAuB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,sCAAA,MAAY,eAAZ,CAAA,GAAA,sCAAA,CAAA,MAAA,aAAA,2BAAA;CAAa,EAAA,0CAAA,SAAA,EAAA,gBAAA,KAAA;AAN5B,4CAAA,iCAAA;IAJZ,CAAA,GAAA,mCAAA,EAAU;QACP,aAAa;QACb,QAAQ;YAAE,OAAO;YAAQ,QAAQ;YAAQ,UAAU;YAAY,UAAU;YAAU,YAAY;QAAO;IACzG;CACY,EAAA;;;;;;;;;;;;;;;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I,0B,0B;AOdP,MAAgB;IAQL,mBAAmB,QAA4B,EAA/C;Q,O,gC,I,E,K,G,K,G;YACT,CAAA,GAAA,2BAAA;YACA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA,GAAA,yCAAA,EAAU,QAAQ,EAAE,IAA7C,gCAAA,IAAA,EAAA,KAAA,GAAA,KAAA,GAAA;oBACI,IAAI,CAAC,cAAc,CAAC,YAAY;gBACpC;YAEA,MAAM,SAAS,IAAI,CAAC,iBAAiB;YACrC,KAAK,MAAM,OAAO,OACd,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,IAAI,GAAG;YAG/C,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;QACtC;IAAC;IAEO,oBAAA;QACJ,OAAO;YACH;gBACI,KAAK;oBACD,UAAU;oBACV,MAAM;oBACN,QAAQ;oBACR,SAAS,IAAI,CAAC,eAAe;gBAChC;gBACD,KAAK,CAAA,GAAA,kCAAA,EAAS,MAAM;YACvB;SACJ;IACL;IAEQ,kBAAA;QAEJ,MAAM,MAAM,IAAI,CAAA,GAAA,sCAAA,EAAa;QAC7B,IAAI,MAAM,CAAC;YAAE,UAAU;YAAO,SAAS,IAAI,CAAA,GAAA,yCAAA,EAAgB;YAAO,QAAQ;YAAU,MAAM;QAAY;QACtG,IAAI,MAAM,CAAC;YAAE,UAAU;YAAO,SAAS,IAAI,CAAA,GAAA,yCAAA;YAAgB,QAAQ;YAAa,MAAM;QAAY;QAGlG,MAAM,MAAM,CAAA,GAAA,6BAAA,EAAI,GAAG,CAAC,iBAAiB;QAErC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA,GAAA,yCAAA;QACxB,MAAM,MAAM,IAAI,CAAA,GAAA,yCAAA,EAAgB;YAC5B,MAAM,IAAI,CAAC,YAAY;YACvB,MAAM;gBAAE,SAAS;gBAAK,OAAO;gBAAuB,UAAU;YAAI;QACrE;QACD,IAAI,SAAS,CAAC,GAAG,CAAC;QAClB,OAAO;IACX;AACH;AAjDa,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAsB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,qCAAA,MAAW,eAAX,CAAA,GAAA,qCAAA,CAAA,MAAA,aAAA,2BAAA;CAAY,EAAA,0CAAA,SAAA,EAAA,eAAA,KAAA;AACzB,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAuB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,sCAAA,MAAY,eAAZ,CAAA,GAAA,sCAAA,CAAA,MAAA,aAAA,2BAAA;CAAa,EAAA,0CAAA,SAAA,EAAA,gBAAA,KAAA;AAC3B,iCAAA;IAAT,CAAA,GAAA,gCAAA;IAAyB,iCAAA,eAAA,OAAA,CAAA,2BAAA,OAAA,CAAA,GAAA,wCAAA,MAAc,eAAd,CAAA,GAAA,wCAAA,CAAA,MAAA,aAAA,2BAAA;CAAe,EAAA,0CAAA,SAAA,EAAA,kBAAA,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;A,I,mC,a,U,U,I,S,U,E,M,E,G,E,I;I,I,I,U,M,E,I,I,I,S,S,O,O,O,wB,C,Q,O,M;I,I,O,Y,Y,O,Q,Q,K,Y,I,Q,Q,C,Y,Q,K;S,I,I,I,W,M,G,G,K,G,I,I,I,U,C,E,E,I,A,C,I,I,E,K,I,I,E,Q,K,K,E,Q,I,K;I,O,I,K,K,O,c,C,Q,K,I;A;A,I,mC,a,U,U,I,S,C,E,C;I,I,O,Y,Y,O,Q,Q,K,Y,O,Q,Q,C,G;A;A,I,kC,a,U,S,I,S,O,E,U,E,C,E,S;I,S,M,K;Q,O,iB,I,Q,I,E,S,O;Y,Q;Q;I;I,O,I,C,K,C,I,O,C,E,S,O,E,M;Q,S,U,K;Y,I;gB,K,U,I,C;Y,E,O,G;gB,O;Y;Q;Q,S,S,K;Y,I;gB,K,S,C,Q,C;Y,E,O,G;gB,O;Y;Q;Q,S,K,M;Y,O,I,G,Q,O,K,I,M,O,K,E,I,C,W;Q;Q,K,A,C,Y,U,K,C,S,c,E,C,E,I;I;A;A,I;AOwBvC,MAAgB,kDAAwE,CAAA,GAAA,yCAAA;IAa1F,YAAY,EAAK,CAAjB;QACI,KAAK,CAAC;QAZV,IAAA,CAAA,YAAY,GAAU;QAOd,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,OAAO;IAMrC;IAIa,eAAA;Q,M,S,O,M,C,M;Y,c;gB,K,I,K,C;Y;Q;Q,O,gC,I,E,K,G,K,G;YACT,MAAM,OAAM,YAAY,CAAA,IAAA,CAAA,IAAA;YACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY;YAE/B,OAAO;QACX;IAAC;IAEM,QAAQ,QAAiB,KAAK,EAA9B;QACH,IAAI,OAAO;YACP,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,OAAO;YAClC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS;QAChD;QACA,IAAI,CAAC,MAAM,CAAC,OAAO;IACvB;IAEO,MAAM,OAAuB,EAA7B;QACH,IAAI,SAAS;YACT,IAAI,CAAC,aAAa,GAAG;gBAAE,KAAK,QAAQ,GAAG,CAAC;gB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","sources":["src/index.ts","src/*.js","src/tools/ribbon-general/basemap.command.ts","../../src/tools/ribbon-general/basemap.command.ts","src/gis.enums.ts","src/tools/ribbon-general/default.tool.ts","../../src/tools/ribbon-general/default.tool.ts","src/managers/layer.manager.ts","../src/managers/layer.manager.ts","src/layers/factory/tilexyz.layerfactory.ts","../../src/layers/factory/tilexyz.layerfactory.ts","src/layers/tilexyz.layer.ts","../src/layers/tilexyz.layer.ts","src/layers/maplayer.base.ts","../src/layers/maplayer.base.ts","src/layers/factory/layer-creator.ts","../../src/layers/factory/layer-creator.ts","src/layers/factory/ags.mapservice.layerfactory.ts","../../src/layers/factory/ags.mapservice.layerfactory.ts","src/layers/ags.mapservice.layer.ts","../src/layers/ags.mapservice.layer.ts","src/components/ags.attributetable.component.ts","../src/components/ags.attributetable.component.ts","../../../src/data/protocols/ags/apitypes.ags.service.ts","src/data/protocols/ags/apitypes.ags.service.ts","../../../src/data/protocols/ags/apitypes.ags.geometry.ts","src/data/protocols/ags/apitypes.ags.geometry.ts","src/helpers/tabulator.helper.ts","../src/helpers/tabulator.helper.ts","src/helpers/ol.geom.helper.ts","../src/helpers/ol.geom.helper.ts","src/data/channels/ags.mapservice.channel.ts","../../src/data/channels/ags.mapservice.channel.ts","src/layers/factory/wms.layerfactory.ts","../../src/layers/factory/wms.layerfactory.ts","src/layers/wms.layer.base.ts","../src/layers/wms.layer.base.ts","src/managers/map.manager.ts","../src/managers/map.manager.ts","src/layers/factory/symbology.factory.ts","../../src/layers/factory/symbology.factory.ts","src/helpers/ol.extensions.ts","../src/helpers/ol.extensions.ts","src/components/feature.contextmenu.component.ts","../src/components/feature.contextmenu.component.ts","src/data/channels/geoserver.channel.ts","../../src/data/channels/geoserver.channel.ts","src/layers/flash.layer.ts","../src/layers/flash.layer.ts","src/tools/ribbon-general/full-screen.command.ts","../../src/tools/ribbon-general/full-screen.command.ts","src/tools/ribbon-general/goto.command.ts","../../src/tools/ribbon-general/goto.command.ts","src/tools/ribbon-general/identify.command.ts","../../src/tools/ribbon-general/identify.command.ts","src/components/identify-results.component.ts","../src/components/identify-results.component.ts","src/tools/ribbon-general/measure.tool.ts","../../src/tools/ribbon-general/measure.tool.ts","src/tools/ribbon-view/sh-layerlist.command.ts","../../src/tools/ribbon-view/sh-layerlist.command.ts","src/components/toc.components.ts","../src/components/toc.components.ts","src/tools/ribbon-view/sh-legend.command.ts","../../src/tools/ribbon-view/sh-legend.command.ts","src/components/legend.component.ts","../src/components/legend.component.ts","src/components/map.component.ts","../src/components/map.component.ts","src/components/map-bar.component.ts","../src/components/map-bar.component.ts","src/components/minimap.component.ts","../src/components/minimap.component.ts","src/components/map-search.component.ts","../src/components/map-search.component.ts","src/gisapp.service.ts","src/style.types.ts","../src/layers/layers.definitions.ts","src/layers/layers.definitions.ts","../src/layers/layers.types.ts","src/layers/layers.types.ts","src/layers/mvt.layer.base.ts","../src/layers/mvt.layer.base.ts","src/layers/group.layer.base.ts","../src/layers/group.layer.base.ts","src/helpers/ol.style.helper.ts","../src/helpers/ol.style.helper.ts","src/search.types.ts","src/types.ts"],"sourcesContent":["import './tools/ribbon-general/*'\nimport './tools/ribbon-view/*'\n\nexport * from './components/map.component';\nexport * from './components/legend.component';\nexport * from './components/toc.components';\n\nexport * from './managers/map.manager';\nexport * from './managers/layer.manager';\n\nexport * from './gisapp.service';\n\nexport * from './layers/factory/symbology.factory';\nexport * from './layers/ags.mapservice.layer';\nexport * from './layers/flash.layer';\nexport * from './style.types';\nexport * from './layers/layers.definitions';\nexport * from './layers/layers.types';\nexport * from './layers/maplayer.base';\nexport * from './layers/mvt.layer.base';\nexport * from './layers/tilexyz.layer';\nexport * from './layers/wms.layer.base';\nexport * from './layers/group.layer.base';\n\nexport * from './data/channels/ags.mapservice.channel';\nexport * from './data/channels/geoserver.channel';\n\nexport * from './helpers/ol.extensions';\nexport * from './helpers/ol.geom.helper';\nexport * from './helpers/ol.style.helper';\n\nexport * from './gis.enums';\nexport * from './search.types';\nexport * from './types';","const _temp0 = require(\"./tools/ribbon-view/sh-layerlist.command.ts\");\nconst _temp1 = require(\"./tools/ribbon-view/sh-legend.command.ts\");\nmodule.exports = {\n \"sh-layerlist.command.ts\": _temp0,\n \"sh-legend.command.ts\": _temp1\n}","import { BaseMapTypes, GisCommandContainers, GisEvents } from \"../../gis.enums\";\nimport { Command, CommandTypes, EventService, ICommand, ILookup, Inject } from \"@yesilyazilim/web.spa\";\n\nconst basemaps: ILookup[] = [\n { key: BaseMapTypes.GoogleSatellite, title: 'Google Uydu' },\n { key: BaseMapTypes.GoogleRoad, title: 'Google Yol' },\n { key: BaseMapTypes.EsriGrayDark, title: 'Esri Koyu' },\n { key: BaseMapTypes.EsriGrayLight, title: 'Esri Açık' },\n { key: BaseMapTypes.EsriTopo, title: 'Esri Topo' },\n { key: BaseMapTypes.Solid, title: 'Gri' },\n]\n\n@Command({\n type: CommandTypes.Select,\n key: 'basemaps',\n group: 'mg-general-map',\n title: 'Altlık Harita',\n order: 2,\n container: GisCommandContainers.ribbon,\n selectItems: basemaps\n})\nexport class BaseMapCommand implements ICommand {\n @Inject() eventService: EventService;\n\n constructor() {\n this.enabled = true;\n }\n start(childKey?: string): void {\n this.eventService.raise(GisEvents.BasemapChange, childKey);\n }\n enabled: boolean;\n active: boolean;\n}\n",null,"export enum BaseMapTypes {\n GoogleRoad = 'GoogleRoad',\n GoogleSatellite = 'GoogleSatellite',\n EsriGrayLight = 'EsriGrayLight',\n EsriGrayDark = 'EsriGrayDark',\n EsriTopo = 'EsriTopo',\n Osm = 'Osm',\n Solid = 'Solid'\n}\n\nexport enum GisEvents {\n BasemapChange = \"BasemapChange\",\n MapReady = \"MapReady\",\n MapGotoExtentRequest = 'MapGotoExtentRequest',\n MapFlashGeomRequest = 'MapFlashGeomRequest',\n MapIdentifyRequest = 'MapIdentifyRequest',\n MapSelectionChanged = 'MapSelectionChanged',\n MapInteractionContextChanged = 'MapInteractionContextChanged',\n MapSelectionContextChanged = 'MapSelectionContextChanged',\n DisableAnimations = 'DisableAnimations',\n RemoveLayer = 'RemoveLayer',\n MapTimeChanged = 'MapTimeChanged',\n}\n\nexport enum LayerDefinitionTypes {\n EsriMapService = 'EsriMapService',\n WMS = 'WMS',\n TileXyz = 'TileXyz',\n Custom = 'Custom',\n Group = 'Group',\n}\n\nexport enum GisCommandContainers {\n ribbon = 'ribbon',\n mapCtx = 'map-ctx'\n}\n","import './styles.less';\n\nimport { Application, Command, CommandService, CommandTypes, EventService, ITool, Inject } from \"@yesilyazilim/web.spa\";\n\nimport MapBrowserEvent from \"ol/MapBrowserEvent\";\nimport { Coordinate } from \"ol/coordinate\";\nimport { GisCommandContainers, GisEvents } from \"../../gis.enums\";\nimport { LayerManager } from \"../../managers/layer.manager\";\nimport { MapManager } from \"../../managers/map.manager\";\nimport { IFeatureLayer, IImageLayer, IMapLayer, IMvtLayer } from \"../../layers/layers.types\";\nimport Feature, { FeatureLike } from \"ol/Feature\";\nimport { Layer } from \"ol/layer\";\nimport { getLayerProps } from \"../../helpers/ol.extensions\";\nimport { IFeatureCmItem, IMapInteractionContext, IMapSelectionContext, MapContextMenuCommandProperties, MapContextMenuStartArgs, SelectedMapItem } from \"../../types\";\nimport VectorSource from \"ol/source/Vector\";\nimport VectorLayer from \"ol/layer/Vector\";\nimport { Draw } from \"ol/interaction\";\nimport { shiftKeyOnly } from \"ol/events/condition\";\nimport { Geometry } from 'ol/geom';\n\n@Command({\n type: CommandTypes.Tool,\n container: GisCommandContainers.ribbon,\n key: 'pan',\n group: 'mg-general-map',\n title: 'Kaydır',\n iconClass: 'bi bi-cursor-fill',\n order: 1\n})\nexport class DefaultTool implements ITool {\n enabled: boolean;\n active: boolean;\n\n @Inject() mapManager: MapManager;\n @Inject() application: Application;\n @Inject() layerManager: LayerManager;\n @Inject() commandService: CommandService;\n @Inject() eventService: EventService;\n\n private _InteractionContext: IMapInteractionContext;\n private _SelectionContext?: IMapSelectionContext;\n\n private readonly _drawSource: VectorSource;\n private readonly _drawLayer: VectorLayer;\n private _drawInteraction: Draw;\n private _lastClickCoord: Coordinate;\n\n constructor() {\n this.enabled = true;\n this.active = false;\n\n this._drawSource = new VectorSource({ wrapX: false });\n this._drawLayer = new VectorLayer({\n source: this._drawSource,\n zIndex: 99999\n });\n }\n\n cancel(): boolean {\n this.eventService.forgot(GisEvents.MapInteractionContextChanged, this._onIntContextChanged);\n\n this.mapManager.map.getViewport().removeEventListener('contextmenu', this._onMapRightClick);\n this.mapManager.map.un('click', this._onMapSingleClick);\n this.active = false;\n return true;\n }\n\n start(childKey?: string, context?: IMapSelectionContext): void {\n\n this._SelectionContext = context || this._getDefaultSelectionContext();\n\n if (this._SelectionContext.mode == 'single') {\n this.eventService.listen(GisEvents.MapInteractionContextChanged, this._onIntContextChanged);\n\n this.mapManager.map.on('click', this._onMapSingleClick);\n this.mapManager.map.getViewport().addEventListener('contextmenu', this._onMapRightClick);\n } else {\n if (!this._drawLayer.getMapInternal()) {\n this.mapManager.map.addLayer(this._drawLayer);\n }\n this._drawInteraction = new Draw({\n type: 'Polygon',\n freehand: true,\n freehandCondition: shiftKeyOnly,\n source: this._drawSource\n });\n\n this._drawInteraction.once('drawend', (ev) => {\n\n });\n }\n\n this.active = true;\n }\n\n _onMapSingleClick = async (evt: MapBrowserEvent<PointerEvent>) => {\n evt.preventDefault();\n\n this._lastClickCoord = evt.coordinate;\n this.mapManager.showPopup(null, null);\n\n if (this._SelectionContext.makeSelected) {\n this.mapManager.setSelectedFeatures(null);\n }\n\n const item = await this.mapManager.getOneFeatureAt(evt.pixel, {\n menux: evt.originalEvent.pageX, menuy: evt.originalEvent.pageY,\n hitTolerance: 4,\n layerFilter: this._SelectionContext?.layerFilter,\n featureFilter: this._SelectionContext?.featureFilter\n });\n\n if (item && this._SelectionContext.makeSelected) {\n const dict = new Map<IMapLayer, (FeatureLike | Feature<Geometry>)[]>();\n dict.set(item.mapLayer, [item.feature]);\n this.mapManager.setSelectedFeatures(dict);\n }\n this._SelectionContext.completeWork(item ? [item] : []);\n }\n\n _onMapRightClick = async (ev: MouseEvent) => {\n ev.preventDefault();\n if (!this._SelectionContext.contextMenuContainer) return;\n\n this.mapManager.showPopup(null, null);\n\n const layerFilter = (lyr: Layer) => {\n const lm = getLayerProps(lyr)?.mapLayer;\n return lm && lyr.getVisible();\n };\n const pixel = this.mapManager.map.getEventPixel(ev);\n const coord = this.mapManager.map.getEventCoordinate(ev);\n const item = await this.mapManager.getOneFeatureAt(pixel, {\n menux: ev.pageX, menuy: ev.pageY,\n hitTolerance: 4,\n layerFilter\n });\n\n const sa: MapContextMenuStartArgs = {\n coord,\n pixel,\n ci: item,\n context: this._InteractionContext\n };\n\n const commandInfos: IFeatureCmItem[] = [];\n const cmdProps = this.commandService.getCommandsFor(this._SelectionContext.contextMenuContainer, this.mapManager.commandDisplayer) as MapContextMenuCommandProperties[];\n for (const cmdProp of cmdProps) {\n if (cmdProp.canExecuteFor?.(sa)) {\n commandInfos.push(cmdProp);\n }\n }\n\n if (commandInfos.length == 0) return;\n\n this.mapManager.showContextMenuAt(ev.pageX, ev.pageY, commandInfos, (action: 'click' | 'enter' | 'leave', mcp: MapContextMenuCommandProperties) => {\n if (action === 'click') {\n this.commandService.startCommand(mcp.key, null, sa);\n }\n }, false);\n }\n\n private async _displayFeaturePopup(item: SelectedMapItem, coords: Coordinate) {\n\n const remLayer = item.mapLayer as IFeatureLayer | IMvtLayer | IImageLayer;\n\n if (remLayer && remLayer.generatePopupItemsAsync) {\n if (!['remote', 'feature', 'mvt'].includes(item.mapLayer.identifyType)) return;\n const items = await remLayer.generatePopupItemsAsync(item.feature);\n if (!(items && items.length > 0)) return\n const content = items[0];\n if (content.panelPos) {\n this.application.openPanel({\n header: content.title,\n closable: true,\n name: remLayer.id + '-' + item.feature.getId(),\n content: content.element,\n draggable: true\n }, content.panelPos);\n } else {\n this.mapManager.showPopup(coords, content.element);\n }\n }\n }\n\n private readonly _onIntContextChanged = (context: IMapInteractionContext) => {\n this._InteractionContext = context;\n }\n\n private _getDefaultSelectionContext(): IMapSelectionContext {\n return {\n mode: 'single',\n contextMenuContainer: GisCommandContainers.mapCtx,\n makeSelected: true,\n layerFilter: (lyr: Layer) => {\n const lm = getLayerProps(lyr)?.mapLayer;\n return lm && lyr.getVisible()\n },\n completeWork: (items: SelectedMapItem[]) => {\n if (items?.length > 0) {\n const item = items[0];\n this._displayFeaturePopup(item, this._lastClickCoord);\n }\n }\n }\n }\n}\n",null,"import { EventService, IndexedList, Inject, Service } from \"@yesilyazilim/web.spa\";\nimport { BaseMapTypes, GisEvents } from \"../gis.enums\";\n\nimport { TileXyzLayerFactory } from \"../layers/factory/tilexyz.layerfactory\";\nimport { ILayerFactory, IMapLayer } from \"../layers/layers.types\";\nimport { LayerCreator } from \"../layers/factory/layer-creator\";\nimport { FlashLayer } from \"../layers/flash.layer\";\nimport { ILayerManager, LastViewLocation, MapStartupSettings } from \"../types\";\n\n@Service()\nexport class LayerManager implements ILayerManager {\n public basemapLayer: IMapLayer;\n public layerList: IndexedList<IMapLayer>;\n\n private _lastLoc: LastViewLocation;\n\n @Inject() eventService: EventService;\n\n constructor() {\n this.layerList = new IndexedList<IMapLayer>();\n this.eventService.listen(GisEvents.BasemapChange, this._onBasemapChangeRequested.bind(this));\n this.eventService.listen(GisEvents.RemoveLayer, (key: string) => this.removeLayer(key));\n }\n\n public async init(settings: MapStartupSettings) {\n this.basemapLayer = await this._createBaseMapLayer(settings.baseMap);\n this.layerList.add(this.basemapLayer);\n\n if (!settings.layerLoader) return;\n\n const lyrRes = await settings.layerLoader();\n if (!lyrRes.success) {\n console.error('Layer load error > ' + lyrRes.message);\n return;\n }\n\n const lds = lyrRes.data;\n if (!lds) return;\n\n const layerFactories: ILayerFactory[] = [];\n if (settings.customLayerFactory) layerFactories.push(settings.customLayerFactory);\n\n const creator = new LayerCreator(layerFactories);\n lds.sort((a, b) => a.order - b.order);\n for (const ld of lds) {\n const res = await creator.createAsync(ld);\n if (res.success && res.data) {\n this.addLayer(res.data);\n }\n }\n this.addLayer(new FlashLayer());\n }\n\n public findLayer(key: string): IMapLayer {\n return this.layerList.find((ml) => ml.id == key);\n }\n\n public onExtentChanged(loc: LastViewLocation) {\n this._lastLoc = loc;\n this.layerList.forEach((ml) => ml.onViewExtentChanged(loc));\n }\n\n public getSelectableLayers(): IMapLayer[] {\n return this.layerList.filter((ml) => !!(ml.layerObj.getProperties()?.canSelect));\n }\n\n public addLayer(lyr: IMapLayer) {\n this.removeLayer(lyr.id);\n this.layerList.add(lyr);\n lyr.onViewExtentChanged(this._lastLoc);\n lyr.onAdd();\n }\n\n public removeLayer(key: string) {\n const id = this.layerList.findId((ml) => ml.id == key);\n if (id > 0) {\n const layer = this.layerList.getValueById(id);\n this.layerList.removeById(id);\n layer.onRemove();\n }\n }\n\n private async _createBaseMapLayer(type: BaseMapTypes): Promise<IMapLayer> {\n return await (new TileXyzLayerFactory()).createBaseMapAsync(type);\n }\n\n private async _onBasemapChangeRequested(type: BaseMapTypes): Promise<void> {\n const layer = await this._createBaseMapLayer(type);\n this.layerList.setById(1, layer);\n this.basemapLayer = layer;\n }\n}\n",null,"import type { LayerDefinitionTileXyz } from \"../layers.definitions\";\nimport type { ILayerFactory, LayerLegendSymbolInfo } from \"../layers.types\";\n\nimport { AsyncOpResult, OpResult } from \"@yesilyazilim/web.spa\";\nimport TileLayer from \"ol/layer/Tile\";\nimport { XYZ } from \"ol/source\";\nimport { BaseMapTypes, LayerDefinitionTypes } from \"../../gis.enums\";\nimport { TileXyzLayer } from \"../tilexyz.layer\";\nimport ImageTileSource from \"ol/source/ImageTile\";\n\nexport class TileXyzLayerFactory implements ILayerFactory {\n\n type = LayerDefinitionTypes.TileXyz;\n\n async createAsync(ld: LayerDefinitionTileXyz): AsyncOpResult<TileXyzLayer> {\n const opres: OpResult<TileXyzLayer> = {\n success: false\n };\n try {\n opres.data = this._createFromLayerDef(ld);\n opres.success = true;\n } catch (err) {\n opres.message = err;\n }\n return opres;\n }\n\n private _createFromLayerDef(ld: LayerDefinitionTileXyz): TileXyzLayer {\n const layerObj = new TileLayer<XYZ>({\n visible: ld.visible,\n // maxZoom: ld.maxZoom || 22,\n // minZoom: ld.minZoom || 0,\n opacity: 0.6,\n source: new XYZ({\n tilePixelRatio: 1,\n interpolate: false,\n url: ld.props.urlScheme,\n crossOrigin: 'anonymous',\n maxZoom: ld.maxZoom || 22,\n minZoom: ld.minZoom || 0\n })\n });\n\n if (ld.order) {\n layerObj.setZIndex(ld.order);\n }\n\n const lt = ld.props.legendTiles || [0, 0, 0];\n\n let legUrl = ld.props.urlScheme.replace('{x}', lt[0].toString()).replace('{y}', lt[1].toString()).replace('{z}', lt[2].toString());\n const img = document.createElement('img');\n img.src = legUrl;\n img.crossOrigin = 'anonymous';\n\n const leg: LayerLegendSymbolInfo = {\n layerId: ld.key,\n title: ld.title,\n rows: [{ elm: img }]\n };\n\n return new TileXyzLayer(ld, [leg], layerObj);\n }\n\n private _createFromSolidColor(color: string, title: string) {\n\n const ld: LayerDefinitionTileXyz = {\n key: 'basemap',\n order: 0,\n title: title,\n type: LayerDefinitionTypes.TileXyz,\n visible: true,\n props: null\n }\n\n const canvas = this._createCanvas(color, 256);\n const layerObj = new TileLayer<ImageTileSource>({\n visible: ld.visible,\n opacity: 0.6,\n source: new ImageTileSource({\n loader: function () {\n return canvas;\n }\n })\n });\n\n layerObj.setZIndex(0);\n\n const leg: LayerLegendSymbolInfo = {\n layerId: ld.key,\n title: ld.title,\n rows: [{ elm: this._createCanvas(color, 32) }]\n };\n\n return new TileXyzLayer(ld, [leg], layerObj);\n }\n\n async createBaseMapAsync(type: BaseMapTypes): Promise<TileXyzLayer> {\n let layer: TileXyzLayer = null;\n switch (type) {\n case BaseMapTypes.GoogleRoad:\n layer = this._createFromLayerDef({\n key: 'basemap',\n order: 0,\n title: 'Google Yol',\n visible: true,\n type: LayerDefinitionTypes.TileXyz,\n maxZoom: 22,\n minZoom: 0,\n props: {\n urlScheme: 'https://mt1.google.com/vt/lyrs=m@113&hl=en&&x={x}&y={y}&z={z}',\n legendTiles: [0, 0, 0],\n useProxy: false,\n reverseY: false\n }\n });\n break;\n case BaseMapTypes.GoogleSatellite:\n layer = this._createFromLayerDef({\n key: 'basemap',\n order: 0,\n title: 'Google Uydu',\n visible: true,\n type: LayerDefinitionTypes.TileXyz,\n maxZoom: 22,\n minZoom: 0,\n props: {\n urlScheme: 'https://mt0.google.com/vt/lyrs=y&hl=en&x={x}&y={y}&z={z}&s=Ga',\n legendTiles: [0, 0, 0],\n useProxy: false,\n reverseY: false\n }\n });\n break;\n case BaseMapTypes.EsriGrayDark:\n layer = this._createFromLayerDef({\n key: 'basemap',\n order: 0,\n title: 'Esri Koyu',\n visible: true,\n type: LayerDefinitionTypes.TileXyz,\n maxZoom: 16,\n minZoom: 0,\n props: {\n urlScheme: 'https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Dark_Gray_Base/MapServer/tile/{z}/{y}/{x}',\n legendTiles: [0, 0, 0],\n useProxy: false,\n reverseY: false\n }\n });\n break;\n case BaseMapTypes.EsriGrayLight:\n layer = this._createFromLayerDef({\n key: 'basemap',\n order: 0,\n title: 'Esri Açık',\n visible: true,\n type: LayerDefinitionTypes.TileXyz,\n maxZoom: 16,\n minZoom: 0,\n props: {\n urlScheme: 'https://services.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer/tile/{z}/{y}/{x}',\n legendTiles: [0, 0, 0],\n useProxy: false,\n reverseY: false\n }\n });\n break;\n case BaseMapTypes.EsriTopo:\n layer = this._createFromLayerDef({\n key: 'basemap',\n order: 0,\n title: 'Esri Açık',\n visible: true,\n type: LayerDefinitionTypes.TileXyz,\n maxZoom: 19,\n minZoom: 0,\n props: {\n urlScheme: 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/{z}/{y}/{x}',\n legendTiles: [0, 0, 0],\n useProxy: false,\n reverseY: false\n }\n });\n break;\n case BaseMapTypes.Solid:\n layer = this._createFromSolidColor('rgb(106, 114, 130)', 'Gri');\n break;\n default:\n throw Error(\"Invalid basemap type : \" + type);\n }\n layer.layerObj.setZIndex(0);\n\n await layer.prepareAsync();\n return layer;\n }\n\n _createCanvas(color: string, size: number) {\n const canvas = document.createElement('canvas');\n canvas.width = size;\n canvas.height = size;\n const ctx = canvas.getContext(\"2d\");\n ctx.fillStyle = color;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n return canvas;\n }\n}\n",null,"import ImageTileSource from \"ol/source/ImageTile\";\nimport { LayerDefinitionTileXyz } from \"./layers.definitions\";\nimport { LayerLegendSymbolInfo, IdentifyType } from \"./layers.types\";\nimport { MapLayerBase } from \"./maplayer.base\";\nimport TileLayer from \"ol/layer/Tile\";\nimport XYZ from \"ol/source/XYZ\";\n\nexport class TileXyzLayer extends MapLayerBase<TileLayer<XYZ | ImageTileSource>, LayerDefinitionTileXyz> {\n\n identifyType: 'none' = 'none';\n\n constructor(ld: LayerDefinitionTileXyz, private readonly _legendInfos: LayerLegendSymbolInfo[], layer: TileLayer<XYZ | ImageTileSource>) {\n super(ld);\n this._layer = layer;\n layer.setProperties({ mapLayer: this, name: this._definition.key, canEdit: false, canFlash: false, canSelect: false });\n }\n\n getLegendInfos(): LayerLegendSymbolInfo[] {\n return this._legendInfos;\n }\n}",null,"import { DisplayClasses, ELF, Eventer, EventService, IconClass, IKeyedButtonInfo, Inject, ISimpleArray, TreeItemActionInfo } from \"@yesilyazilim/web.spa\";\nimport { ILayer, IMapLayer, LayerLegendSymbolInfo, IdentifyType, MainLayerType } from \"./layers.types\";\nimport { LayerDefinitionBase } from \"./layers.definitions\";\nimport { LastViewLocation } from \"../types\";\nimport { GisEvents } from \"../gis.enums\";\n\nexport abstract class MapLayerBase<T extends MainLayerType = MainLayerType, P extends LayerDefinitionBase = LayerDefinitionBase> implements IMapLayer<T> {\n\n private _passive: boolean = false;\n private _displayClass: DisplayClasses = null;\n private _disposeController: AbortController | null = null;\n\n protected _canIdentify: boolean = false;\n protected _layer: T | null = null;\n protected _actions: TreeItemActionInfo[];\n protected _lastViewLocation: LastViewLocation;\n protected _currentTime: number = 0;\n\n identifyType: IdentifyType;\n factoryType: string;\n hasError: boolean;\n hidden?: boolean;\n icon?: HTMLElement;\n children?: ISimpleArray<ILayer>;\n propsChanged?: Eventer<{ key: string; value: any; }, void> = new Eventer();\n actionPropChanged?: Eventer<{ action: TreeItemActionInfo; key: string; value: any; }, void> = new Eventer();\n\n @Inject() eventService: EventService;\n\n public get id(): string { return this._definition.key; }\n public get title(): string { return this._definition.title; }\n public get checked(): boolean { return this.layerObj?.getVisible(); }\n public get order(): number { return this._layer?.getZIndex(); }\n public get actions(): TreeItemActionInfo[] { return this._actions; }\n public get layerObj(): T { return this._layer; }\n public get definition(): P { return this._definition; }\n public get displayClass(): DisplayClasses { return this._displayClass; }\n public get passive(): boolean { return this._passive; }\n public get hasMapLayer(): boolean { return true };\n\n public set checked(value: boolean) { this.layerObj?.setVisible(value); }\n public set order(value: number) { this._layer?.setZIndex(value); }\n public set actions(value: TreeItemActionInfo[]) { this._actions = value; }\n\n\n constructor(protected _definition: P) {\n this._actions = [];\n this.factoryType = _definition.type;\n if (_definition.historyEnabled) {\n this.eventService.listen(GisEvents.MapTimeChanged, (time: number) => {\n if (time != this._currentTime) {\n this._currentTime = time;\n this.onTimeChanged();\n }\n }, this.disposeSignal);\n }\n }\n\n onViewExtentChanged(loc: LastViewLocation) {\n this._lastViewLocation = loc;\n const minZoom = this._definition.minZoom || 0;\n const maxZoom = this._definition.maxZoom || 30;\n this.passive = !(loc.zoom > minZoom && loc.zoom < maxZoom);\n }\n\n\n onAction?(id: string) {\n if (id == 'delete') {\n this.eventService.raise(GisEvents.RemoveLayer, this._definition.key);\n }\n }\n\n abstract getLegendInfos(): LayerLegendSymbolInfo[];\n\n public async prepareAsync(): Promise<boolean> {\n if (this._definition.canRemove) { this._actions.push(this._createRemoveAction()) }\n this._actions.push(this._createOpacitySliderAction());\n return Promise.resolve(true);\n }\n\n public onAdd(): void {\n\n }\n\n public onRemove(): void {\n if (this._disposeController) {\n this._disposeController.abort();\n this._disposeController = null;\n }\n }\n\n public setError(message: string) {\n this.hasError = true;\n this.displayClass = 'danger';\n const errBtn: IKeyedButtonInfo = {\n key: 'error',\n iconClass: 'bi bi-exclamation-circle-fill danger',\n tootip: message,\n };\n this._actions = [errBtn];\n }\n\n public set displayClass(value: DisplayClasses) {\n if (value != this._displayClass) {\n this._displayClass = value;\n this.propsChanged.raise({ key: 'displayClass', value });\n }\n }\n\n public set passive(value: boolean) {\n if (value != this._passive) {\n this._passive = value;\n this.propsChanged.raise({ key: 'passive', value });\n }\n }\n\n public get disposeSignal(): AbortSignal {\n if (this._disposeController) return this._disposeController.signal;\n this._disposeController = new AbortController();\n return this._disposeController.signal;\n }\n\n protected onTimeChanged() { }\n\n private _createOpacitySliderAction() {\n\n let value = \"100\";\n if (this._layer) {\n value = (this._layer.getOpacity() * 100).toString();\n }\n\n const opacityInput = ELF.build({\n tag: \"input\",\n attrs: { type: \"range\", min: \"20\", max: \"100\", value: value, step: \"20\", title: \"Opaklık\" },\n styles: { width: \"70px\" }\n }) as HTMLInputElement;\n opacityInput.addEventListener(\"input\", (ev: Event) => {\n const inp = ev.target as HTMLInputElement;\n const num = parseFloat(inp.value) / 100;\n this.layerObj.setOpacity(num);\n });\n\n return opacityInput;\n }\n\n private _createRemoveAction(): IKeyedButtonInfo {\n return {\n key: 'delete',\n iconClass: IconClass.delete,\n tootip: 'Sil'\n }\n }\n\n\n}",null,"import { AsyncOpResult } from \"@yesilyazilim/web.spa\";\nimport { LayerDefinition } from \"../layers.definitions\";\nimport { ILayerFactory, IMapLayer } from \"../layers.types\";\nimport { AgsMapServiceLayerFactory } from \"./ags.mapservice.layerfactory\";\nimport { WmsLayerFactory } from \"./wms.layerfactory\";\n\nexport class LayerCreator {\n private readonly _map: Map<string, ILayerFactory>;\n constructor(customLayerFactories: ILayerFactory[]) {\n this._map = new Map();\n this._register(new AgsMapServiceLayerFactory());\n this._register(new WmsLayerFactory());\n for (const lf of customLayerFactories) {\n this._register(lf);\n }\n }\n\n async createAsync(ld: LayerDefinition): AsyncOpResult<IMapLayer> {\n const lf = this._map.get(ld.type);\n if (!lf) return Promise.resolve({\n success: false,\n message: 'LayerFactory type not registered > ' + ld.type\n });\n\n const res = await lf.createAsync(ld);\n\n if (res.success && res.data) {\n if (await res.data.prepareAsync()) return res;\n return {\n success: false,\n message: 'Layer Prepare error > ' + ld.key\n }\n }\n\n return res;\n }\n\n private _register(lf: ILayerFactory) {\n this._map.set(lf.type, lf);\n }\n}",null,"import { ImageArcGISRest, TileArcGISRest } from \"ol/source\";\nimport { AgsMapServiceImageLayer, AgsMapServiceSubLayer, AgsMapServiceTileLayer, SubLayerCapabilities } from \"../ags.mapservice.layer\";\nimport { LayerDefinitionEsriMapService } from \"../layers.definitions\";\nimport type { ILayerFactory } from \"../layers.types\";\n\nimport { AsyncOpResult, List, OpResult } from \"@yesilyazilim/web.spa\";\nimport type { ImageTile, ImageWrapper } from \"ol\";\nimport ImageLayer from \"ol/layer/Image\";\nimport TileLayer from \"ol/layer/Tile\";\nimport { LayerDefinitionTypes } from \"../../gis.enums\";\nimport { OlGeomHelper } from \"../../helpers/ol.geom.helper\";\nimport { AgsMapServiceChannel } from \"../../data/channels/ags.mapservice.channel\";\n\ntype AgsMapServiceLayerOptions = {\n maxZoom?: number,\n maxResolution?: number,\n minZoom?: number,\n minResolution?: number,\n zIndex?: number,\n properties?: { [x: string]: any; },\n extent?: number[], //[minx, miny, maxx, maxy]\n visible?: boolean,\n}\n\ntype AgsMapServiceImageLayerOptions = AgsMapServiceLayerOptions & {\n source: ImageArcGISRest,\n}\n\ntype AgsMapServiceTileLayerOptions = AgsMapServiceLayerOptions & {\n source: TileArcGISRest,\n}\n\ntype AgsServiceLayer = AgsMapServiceImageLayer | AgsMapServiceTileLayer;\n\nexport class AgsMapServiceLayerFactory implements ILayerFactory {\n type = LayerDefinitionTypes.EsriMapService;\n\n async createAsync(ld: LayerDefinitionEsriMapService): AsyncOpResult<AgsServiceLayer> {\n const opres: OpResult<AgsServiceLayer> = {\n success: false\n };\n try {\n let errMessage: string = null;\n\n const opt: AgsMapServiceLayerOptions = {\n //minResolution: srvInfo.minScale,\n //maxResolution: srvInfo.maxScale,\n visible: !!(ld.visible),\n properties: {},\n }\n\n const channel = new AgsMapServiceChannel(ld.props);\n const r1 = await channel.connectAsync();\n if (!r1.success) {\n errMessage = r1.message;\n } else {\n const fullExtent = channel.serviceInfo.fullExtent;\n if (fullExtent) {\n const ext = OlGeomHelper.esriExtentAsWGS84(fullExtent);\n if (ext) {\n opt.extent = ext;\n }\n }\n }\n\n let layer: AgsServiceLayer;\n const layerUrl = channel.getUrlClean();\n\n if (ld.props.tiled) {\n const loadFunction = async (tile: ImageTile, url: string) => {\n //(tile.getImage() as HTMLImageElement).src = '/proxy?' + url;\n const obj = await channel.getImageData(url);\n if (obj) (tile.getImage() as HTMLImageElement).src = obj;\n }\n const source = new TileArcGISRest({ url: layerUrl, tileLoadFunction: ld.props.useProxy ? loadFunction : null });\n const opt1: AgsMapServiceTileLayerOptions = Object.assign(opt, { source });\n const lyrObj = channel.ok ? new TileLayer<TileArcGISRest>(opt1) : null;\n layer = new AgsMapServiceTileLayer(ld, channel, lyrObj);\n } else {\n const loadFunction = async (img: ImageWrapper, url: string) => {\n //(img.getImage() as HTMLImageElement).src = '/proxy?' + url;\n const obj = await channel.getImageData(url);\n if (obj) (img.getImage() as HTMLImageElement).src = obj;\n }\n const source = new ImageArcGISRest({ url: layerUrl, imageLoadFunction: ld.props.useProxy ? loadFunction : null });\n const opt2: AgsMapServiceImageLayerOptions = Object.assign(opt, { source });\n const lyrObj = channel.ok ? new ImageLayer<ImageArcGISRest>(opt2) : null;\n layer = new AgsMapServiceImageLayer(ld, channel, lyrObj);\n } \n\n if (errMessage) {\n layer.setError(errMessage);\n } else {\n this._buildSubLayers(channel.serviceInfo, layer);\n layer.initialize();\n }\n\n opres.data = layer;\n opres.success = true;\n } catch (err) {\n opres.message = err;\n }\n return opres;\n }\n\n private _buildSubLayers(srvInfo: Esri.ServerTypes.MapServiceInfo, layer: AgsServiceLayer) {\n const slMap: Map<number, AgsMapServiceSubLayer> = new Map();\n const capas = srvInfo.capabilities.split(',');\n const canQuery = capas.includes('Query');\n const maxRecords = srvInfo.maxRecordCount;\n\n for (const slInfo of srvInfo.layers) {\n const slCaps: SubLayerCapabilities = {\n hasAttributeTable: canQuery && !(slInfo.subLayerIds),\n maxRecords,\n }\n const sl = new AgsMapServiceSubLayer(layer, slInfo, slCaps);\n slMap.set(slInfo.id, sl);\n if (slInfo.parentLayerId >= 0) {\n const pl = slMap.get(slInfo.parentLayerId);\n if (pl) {\n if (!pl.children) pl.children = new List<AgsMapServiceSubLayer>();\n pl.children.add(sl);\n }\n } else {\n layer.children.add(sl);\n }\n }\n }\n}\n\n",null,"import { Application, AsyncOpResult, Eventer, EventService, IKeyedButtonInfo, Inject, List, OpResult, PanelPos, TreeItemActionInfo } from \"@yesilyazilim/web.spa\";\nimport type { ImageArcGISRest, TileArcGISRest } from \"ol/source\";\nimport type { MapGotoExtentRequestData, MapIdentifyData } from \"../types\";\nimport type { IdentifyResultItem, ILayer, LayerIdentifyResultAsync, LayerLegendSymbolInfo, IdentifyType, ILayerPopupItem } from \"./layers.types\";\n\nimport ImageLayer from \"ol/layer/Image\";\nimport TileLayer from \"ol/layer/Tile\";\nimport { AgsAttributeTable } from \"../components/ags.attributetable.component\";\nimport { GisEvents } from \"../gis.enums\";\nimport { OlGeomHelper } from \"../helpers/ol.geom.helper\";\nimport { AgsMapServiceChannel } from \"../data/channels/ags.mapservice.channel\";\nimport { LayerDefinitionEsriMapService } from \"./layers.definitions\";\nimport { MapLayerBase } from \"./maplayer.base\";\nimport { FeatureLike } from \"ol/Feature\";\n\ntype AgsLayerType = ImageLayer<ImageArcGISRest> | TileLayer<TileArcGISRest>;\n\nexport type SubLayerCapabilities = {\n hasAttributeTable: boolean;\n maxRecords: number;\n}\n\nabstract class AgsMapServiceLayer<T extends AgsLayerType = AgsLayerType> extends MapLayerBase<AgsLayerType, LayerDefinitionEsriMapService> {\n\n @Inject() application: Application;\n @Inject() eventService: EventService;\n\n identifyType: 'remote' = 'remote';\n\n public children: List<AgsMapServiceSubLayer>;\n protected _visibleSubLayerIds: number[];\n protected _allSubLayers: AgsMapServiceSubLayer[];\n private readonly _channel: AgsMapServiceChannel;\n private readonly _legendInfos: LayerLegendSymbolInfo[];\n\n constructor(definition: LayerDefinitionEsriMapService, channel: AgsMapServiceChannel, layer: T) {\n super(definition);\n this._layer = layer;\n this._channel = channel;\n this.children = new List();\n this._legendInfos = this._createLegendInfos();\n this._canIdentify = true;\n this._createActions();\n this.eventService.listen(GisEvents.MapIdentifyRequest, this.onIdentifyRequested);\n layer.setProperties({ mapLayer: this, name: this._definition.key, canEdit: false, canFlash: true, canSelect: true });\n }\n\n initialize() {\n this._allSubLayers = this._getAllSubLayers();\n this._calcVisSubLayerIds();\n }\n\n getLegendInfos(): LayerLegendSymbolInfo[] {\n return this._legendInfos;\n }\n\n getServiceInfo(): Esri.ServerTypes.MapServiceInfo {\n return this._channel.serviceInfo;\n }\n\n get channel(): AgsMapServiceChannel { return this._channel; }\n\n onSubLayerVisibleChanged() {\n this._calcVisSubLayerIds();\n this._updateLayerProps();\n this.layerObj.getSource().refresh();\n }\n\n onAction = (id: string) => {\n super.onAction(id);\n if (id === 'zoom-to-layer') {\n const ea: MapGotoExtentRequestData = { extent: this._layer.getExtent() };\n this.eventService.raise(GisEvents.MapGotoExtentRequest, ea);\n }\n }\n\n onIdentifyRequested = (prm: MapIdentifyData): LayerIdentifyResultAsync => {\n const res: LayerIdentifyResultAsync = {\n type: 'async', status: false, sourceLayer: this, result: null\n }\n\n if (!this.isAnyVisible) return res;\n\n res.result = this._doIdentifyAsync(prm);\n res.status = true;\n return res;\n }\n\n private async _doIdentifyAsync(prm: MapIdentifyData): AsyncOpResult<IdentifyResultItem[]> {\n const opRes: OpResult<IdentifyResultItem[]> = {\n success: false\n }\n\n try {\n const idfRes = await this._channel.identify({\n coords: prm.coords,\n imageDisplay: prm.imageDisplay,\n mapExtent: prm.mapExtent,\n layerIds: this._visibleSubLayerIds,\n tolerance: prm.tolerance,\n returnFieldName: true,\n returnUnformattedValues: false\n });\n\n if (idfRes.success && idfRes.data) {\n opRes.data = idfRes.data.map((r) => {\n const f: GeoJSON.Feature = {\n type: 'Feature',\n geometry: OlGeomHelper.fromEsriJsonToGeojson(r.geometry),\n properties: r.attributes\n };\n return {\n layerKey: r.layerId.toString(),\n layerTitle: this._allSubLayers.find((sl) => sl.id === r.layerId.toString())?.title || r.layerName,\n feature: OlGeomHelper.fromGeojsonFeature(f)\n }\n });\n opRes.success = true;\n } else {\n opRes.message = idfRes.message;\n }\n } catch (err) {\n console.warn('Error in identify', err);\n opRes.message = 'Identify işlemi sırasında hata !';\n }\n return opRes;\n }\n\n private _updateLayerProps() {\n var params = {};\n if (this._visibleSubLayerIds.length > 0) {\n params['LAYERS'] = 'show:' + this._visibleSubLayerIds.join(',');\n } else {\n params['LAYERS'] = 'show:-1';\n }\n this.layerObj.getSource().updateParams(params);\n }\n\n private _getAllSubLayers(): AgsMapServiceSubLayer[] {\n const getSls = (list: List<AgsMapServiceSubLayer>): AgsMapServiceSubLayer[] => {\n if (!(list && list.length > 0)) return null;\n const arr: AgsMapServiceSubLayer[] = [];\n for (const item of list) {\n arr.push(item);\n const subArr = getSls(item.children);\n if (subArr && subArr.length > 0) {\n arr.push(...subArr);\n }\n }\n return arr;\n }\n return getSls(this.children);\n }\n\n private _calcVisSubLayerIds() {\n const stack = [...this.children.toArray()];\n const arr: number[] = [];\n while (stack.length > 0) {\n var cur = stack.pop();\n if (cur.checked) {\n if (cur.children) {\n stack.push(...cur.children);\n } else {\n arr.push(cur.serviceId);\n }\n }\n }\n this._visibleSubLayerIds = arr;\n }\n\n private _createLegendInfos(): LayerLegendSymbolInfo[] {\n if (!this._channel.ok) return [];\n const arr: LayerLegendSymbolInfo[] = [];\n\n for (const lyr of this._channel.legendInfo.layers) {\n const li: LayerLegendSymbolInfo = {\n layerId: this._definition.key + '-' + lyr.layerId.toString(),\n title: lyr.layerName,\n rows: []\n };\n if (lyr.legend && lyr.legend.length > 0) {\n for (const lli of lyr.legend) {\n const img = document.createElement('img');\n img.src = 'data:' + lli.contentType + ';base64,' + lli.imageData;\n li.rows.push({\n elm: img, label: lli.label\n })\n }\n }\n arr.push(li);\n }\n return arr;\n }\n\n private _createActions() {\n const actions: TreeItemActionInfo[] = [];\n //const srvInfo = this._serviceLayer.getServiceInfo();\n\n if (this._layer.getExtent()) {\n const zoomToLayerAction: IKeyedButtonInfo = {\n key: 'zoom-to-layer',\n tootip: 'Tümüne Yaklaş',\n iconClass: 'bi bi-globe-europe-africa'\n }\n actions.push(zoomToLayerAction);\n }\n this._actions = actions;\n }\n\n private get isAnyVisible(): boolean {\n if (!this.checked) return false;\n for (const sl of this.children) {\n if (sl.isAnyVisible) return true;\n }\n return false;\n }\n\n async queryIdentifyAsync?(prm: MapIdentifyData): AsyncOpResult<IdentifyResultItem[]> {\n\n const idfRes = await this._channel.identify({\n coords: prm.coords,\n imageDisplay: prm.imageDisplay,\n mapExtent: prm.mapExtent,\n layerIds: this._visibleSubLayerIds,\n tolerance: prm.tolerance,\n returnFieldName: true,\n returnUnformattedValues: false\n });\n\n const opRes: OpResult<IdentifyResultItem[]> = {\n success: false\n }\n\n if (idfRes.success && idfRes.data) {\n opRes.data = idfRes.data.map((r) => {\n const f: GeoJSON.Feature = {\n type: 'Feature',\n geometry: OlGeomHelper.fromEsriJsonToGeojson(r.geometry),\n properties: r.attributes\n };\n return {\n layerKey: r.layerId.toString(),\n layerTitle: this._allSubLayers.find((sl) => sl.id === r.layerId.toString())?.title || r.layerName,\n feature: OlGeomHelper.fromGeojsonFeature(f)\n }\n });\n opRes.success = true;\n } else {\n opRes.message = idfRes.message;\n }\n return opRes;\n }\n\n async generatePopupItemsAsync?(feature: FeatureLike): Promise<ILayerPopupItem[]> {\n return [];\n }\n}\n\nexport class AgsMapServiceImageLayer extends AgsMapServiceLayer<ImageLayer<ImageArcGISRest>> {\n\n}\n\nexport class AgsMapServiceTileLayer extends AgsMapServiceLayer<TileLayer<TileArcGISRest>> {\n\n}\n\nexport class AgsMapServiceSubLayer implements ILayer {\n private _checked: boolean;\n\n get hasMapLayer(): boolean { return false };\n\n id: string;\n identifyType: 'none' = 'none';\n title: string;\n hidden?: boolean;\n passive?: boolean;\n actions?: TreeItemActionInfo[];\n children?: List<AgsMapServiceSubLayer>;\n propsChanged?: Eventer<{ key: string; value: any; }, void>;\n actionPropChanged?: Eventer<{ action: TreeItemActionInfo; key: string; value: any; }, void>;\n order?: number;\n serviceId: number;\n hasLegend: boolean = false;\n icon?: HTMLElement;\n getLegendInfos(): LayerLegendSymbolInfo[] { return null; }\n\n\n constructor(private readonly _serviceLayer: AgsMapServiceImageLayer | AgsMapServiceTileLayer\n , private readonly _layerInfo: Esri.ServerTypes.LayerInfo\n , private readonly _capabilities: SubLayerCapabilities) {\n this.title = _layerInfo.name;\n this.id = _serviceLayer.id + '-' + _layerInfo.id.toString();\n this.serviceId = _layerInfo.id;\n this._checked = _layerInfo.defaultVisibility;\n\n this._createActions();\n this._findTocIcon();\n }\n\n\n\n public get serviceLayer(): AgsMapServiceImageLayer | AgsMapServiceTileLayer { return this._serviceLayer; }\n public get capabilities(): SubLayerCapabilities { return this._capabilities; }\n public get checked(): boolean { return this._checked; }\n public set checked(value: boolean) {\n if (value !== this._checked) {\n this._checked = value;\n this._serviceLayer.onSubLayerVisibleChanged();\n }\n }\n\n onAction(id: string) {\n if (id === 'attr-table') {\n this.serviceLayer.application.openPanel({\n closable: true, draggable: true,\n header: 'Tablo - ' + (this._layerInfo.name || ''),\n name: 'at-' + this.id,\n content: new AgsAttributeTable({\n channel: this.serviceLayer.channel,\n layerId: this.serviceId\n })\n }, PanelPos.Bottom);\n }\n };\n\n get isAnyVisible(): boolean {\n if (this.children && this.children.length > 0) {\n for (const sl of this.children) {\n if (sl.isAnyVisible) return true;\n }\n }\n return this._checked;\n }\n\n private _createActions() {\n const actions: TreeItemActionInfo[] = [];\n if (this._capabilities.hasAttributeTable) {\n const attrTblAction: IKeyedButtonInfo = {\n key: 'attr-table',\n tootip: 'Öznitelik Tablosunu Aç',\n iconClass: 'bi bi-table'\n }\n actions.push(attrTblAction);\n }\n this.actions = actions;\n }\n\n private _findTocIcon() {\n const leg = this._serviceLayer.channel.legendInfo.layers.find((l) => l.layerId == this._layerInfo.id)?.legend;\n if (leg && leg.length == 1) {\n const lli = leg[0];\n const img = document.createElement('img');\n img.src = 'data:' + lli.contentType + ';base64,' + lli.imageData;\n this.icon = img;\n }\n }\n}",null,"import './styles/ags.attributetable.component.less';\n\nimport '../data/protocols/ags/apitypes.ags.service';\nimport '../data/protocols/ags/apitypes.ags.geometry';\n\nimport { AnObject, BasePanelElement, Component, ELF, EventService, Inject, System } from \"@yesilyazilim/web.spa\";\nimport { CellComponent, ColumnDefinition, Filter, TabulatorFull as Tabulator, Options as TabulatorOptions } from 'tabulator-tables';\nimport { AgsMapServiceChannel } from '../data/channels/ags.mapservice.channel';\nimport GeoJSON from 'ol/format/GeoJSON';\nimport { GisEvents } from '../gis.enums';\nimport type { MapFlashGeomRequestData } from '../types';\nimport { getDateAsNumberFormatter } from '../helpers/tabulator.helper';\n\ntype Sort = {\n dir: 'asc' | 'desc' | '',\n field: string\n}\n\ntype TabulatorRequestBodyParams = {\n page: number,\n size: number,\n filter?: Filter[],\n sort?: Sort[]\n}\n\ntype TabulatorPagedResponse = {\n last_page: number, //the total number of available pages (this value must be greater than 0)\n last_row: number,\n data: Array<AnObject>\n}\n\nexport type AgsAttributeTableProperties = {\n layerId: number,\n channel: AgsMapServiceChannel,\n}\n\n@Component({ elementName: \"ags-attr-table\" })\nexport class AgsAttributeTable extends BasePanelElement {\n private _table: Tabulator;\n private _totalRowCount: number;\n private _layerId: number;\n private _channel: AgsMapServiceChannel;\n private _tableInfo: Esri.ServerTypes.MapServiceLayerTableInfo;\n private _pagingEnabled: boolean;\n private _resizeListenHandle: number;\n\n @Inject() eventService: EventService;\n\n constructor(props: AgsAttributeTableProperties) {\n super();\n this._layerId = props.layerId;\n this._channel = props.channel;\n //this._pageSize = props.channel.serviceInfo.maxRecordCount;\n this.setBusy(true);\n this._buildAsync().then(() => {\n this.setBusy(false);\n });\n }\n\n // protected override onConnected(): void {\n // const ro = new ResizeObserver((entries) => {\n // if (!this._table) return;\n // this.resizeLazy();\n // });\n // ro.observe(this);\n // this.resizeLazy();\n // }\n\n override onPanelResize(start: boolean): void {\n console.log('AgsAttributeTable onPanelResize', start);\n this._table.element.showhide(!start);\n ELF.showHideMessageDisplayAt(this, start, 'info', 'Yeniden boyutlama bekleniyor...');\n }\n\n private async _buildAsync(): Promise<void> {\n const ok = await this._getInitData();\n if (!ok) return;\n\n const opt: TabulatorOptions = {\n // dependencies: {\n // DateTime: DateTime,\n // },\n height: 100 + '%',\n layout: \"fitDataFill\",\n rowHeight: 20,\n //progressiveLoad: 'scroll',\n filterMode: 'remote',\n sortMode: 'remote',\n ajaxRequestFunc: this._requestFuncAsync.bind(this),\n ajaxURL: 'ignore',\n columns: this._getColumns()\n };\n\n this._pagingEnabled = true; //this._pageSize < this._totalRowCount;\n\n opt.pagination = true;\n opt.paginationCounter = \"rows\";\n opt.paginationSize = 25;\n opt.paginationSizeSelector = [10, 25, 50, 100];\n opt.paginationMode = 'remote';\n //opt.paginationSize = this._pageSize;\n\n const div = ELF.div('ags-attr-table-element');\n this.appendChild(div);\n this._table = new Tabulator(div, opt);\n }\n\n private async _getInitData(): Promise<boolean> {\n const ttr = await this._channel.queryRecordCount(this._layerId);\n\n if (!ttr.success) {\n this.appendChild(ELF.div('errorMessageContainer', ELF.span('Hata : ' + ttr.message)));\n return false;\n }\n this._totalRowCount = ttr.data;\n\n this._tableInfo = await this._channel.getTableInfoAsync(this._layerId);\n if (!this._tableInfo) {\n this.appendChild(ELF.div('errorMessageContainer', ELF.span('Hata : Tablo bilgisi alınamadı !')));\n return false;\n }\n return true;\n }\n\n private _getColumns(optFieldDefs?: ColumnDefinition[], overrideCols?: ColumnDefinition[]): ColumnDefinition[] {\n const fieldDefs = this._tableInfo.fields;\n //const shapeField = fieldDefs.find((f) => f.type == 'esriFieldTypeGeometry');\n\n var targetCols: ColumnDefinition[] = [\n {\n title: \"\",\n headerSort: false,\n frozen: true,\n formatter: (cell: CellComponent) => {\n const rowData = cell.getRow().getData();\n if (rowData.shape) {\n return ELF.Buttons.mini(() => {\n const geom = new GeoJSON().readGeometry(rowData.shape);\n const ed: MapFlashGeomRequestData = { geom }\n this.eventService.raise(GisEvents.MapFlashGeomRequest, ed)\n }, 'bi bi-zoom-in', 'Haritada Göster');\n };\n }\n }\n ];\n\n if (optFieldDefs && optFieldDefs.length > 0) {\n targetCols.push(...optFieldDefs);\n }\n\n\n for (var i = 0; i < fieldDefs.length; i++) {\n const f = fieldDefs[i];\n\n //if (fldDef.attrVisible === false) continue;\n\n if (overrideCols && overrideCols.length > 0) {\n const ovcol = overrideCols.find((oc) => oc.field == f.name);\n if (ovcol) {\n targetCols.push(ovcol);\n continue;\n }\n }\n const sortableFields: Esri.ServerTypes.FieldType[] = ['esriFieldTypeOID', 'esriFieldTypeInteger', 'esriFieldTypeSingle', 'esriFieldTypeSmallInteger', 'esriFieldTypeDouble', 'esriFieldTypeString'];\n\n var col: ColumnDefinition = {\n title: f.alias || f.name,\n field: f.name,\n headerSort: sortableFields.includes(f.type),\n editable: false,\n headerFilterPlaceholder: \"filtre\"\n };\n\n if (f.domain && f.domain.codedValues && f.domain.codedValues.length > 0) {\n const cvals = f.domain.codedValues;\n col.formatter = \"lookup\";\n col.minWidth = 152;\n const fp: Record<string, string> = { \"\": \"\" };\n for (const lv of cvals) {\n fp[lv.code.toString()] = lv.name;\n }\n col.formatterParams = fp;\n } else if (f.type == 'esriFieldTypeDate') {\n col.formatter = getDateAsNumberFormatter\n } else if (f.type == 'esriFieldTypeGeometry') {\n col.visible = false;\n }\n targetCols.push(col);\n }\n\n return targetCols;\n }\n\n private async _requestFuncAsync(url, config, params: TabulatorRequestBodyParams): Promise<TabulatorPagedResponse | Array<any>> {\n //console.log('Attr Table Req', { url, config, params });\n const where = this._getWhereFilter(params);\n const orderBy = this._getOrderByFilter(params);\n const pageInfo = { num: params.page, size: params.size }\n const dr = await this._channel.queryFeatures(this._layerId, where, orderBy, pageInfo);\n if (dr.success) {\n const data = dr.data.features.map((f) => Object.assign(f.properties, { shape: f.geometry }));\n if (this._pagingEnabled) {\n const resp: TabulatorPagedResponse = {\n last_row: this._totalRowCount,\n last_page: Math.ceil(this._totalRowCount / params.size),\n data\n }\n return resp;\n } else {\n return data;\n }\n }\n }\n\n private _getWhereFilter(params: TabulatorRequestBodyParams): string {\n let where = '1=1';\n if (params.filter && params.filter.length > 0) {\n const flist: string[] = [];\n for (const filter of params.filter) {\n flist.push(this.getValForWhere(filter));\n }\n where = flist.join(' and ');\n }\n return where;\n }\n\n private _getOrderByFilter(params: TabulatorRequestBodyParams): string {\n if (params.sort && params.sort.length > 0) {\n const flist: string[] = [];\n for (const s of params.sort) {\n flist.push(s.field + ' ' + s.dir);\n }\n return flist.join(', ');\n }\n return null;\n }\n\n private getValForWhere(f: Filter): string {\n const nval = System.isString(f.value) ? \"'\" + f.value + \"'\" : f.value.toString();\n return f.field + f.type + nval;\n }\n\n private resizeLazy() {\n clearTimeout(this._resizeListenHandle);\n this._resizeListenHandle = setTimeout(() => {\n this._table.element.style.height = this.clientHeight + 'px';\n }, 300);\n }\n}\n",null,null,"namespace Esri.ServerTypes {\n\n /**\n * Field type.\n */\n export type FieldType =\n | \"esriFieldTypeBlob\"\n | \"esriFieldTypeDate\"\n | \"esriFieldTypeDouble\"\n | \"esriFieldTypeGeometry\"\n | \"esriFieldTypeGlobalID\"\n | \"esriFieldTypeGUID\"\n | \"esriFieldTypeInteger\"\n | \"esriFieldTypeOID\"\n | \"esriFieldTypeRaster\"\n | \"esriFieldTypeSingle\"\n | \"esriFieldTypeSmallInteger\"\n | \"esriFieldTypeString\"\n | \"esriFieldTypeXML\";\n\n /**\n * Domain types\n */\n export type DomainType = \"range\" | \"codedValue\" | \"inherited\";\n\n /**\n * CodedValue type\n */\n export type ICodedValue = {\n /** User-friendly name for what the code means. */\n name: string;\n /** The value stored in the feature attribute. */\n code: string | number;\n };\n\n /**\n * Information for a field with a domain\n */\n export type IDomain = {\n /** A string defining the domain type. */\n type: DomainType;\n /** A string defining the field name. */\n name?: string;\n /** A 2 element array defining the range of possible values. */\n range?: [number, number];\n /** An array of CodedValues for domains of type codedValue. */\n codedValues?: ICodedValue[];\n /** Description of the domain */\n description?: string;\n /** Merge policy */\n mergePolicy?: string;\n /** Split Policy */\n splitPolicy?: string;\n };\n\n /**\n * Contains information about an attribute field.\n *\n * `IField` can also be imported from the following packages:\n *\n * ```js\n * import { IField } from \"@esri/arcgis-rest-feature-service\";\n * ```\n */\n export interface IField {\n /** A string defining the field name. */\n name: string;\n /** A string defining the field type. */\n type: FieldType;\n /** A string defining the field alias. */\n alias?: string;\n /** The domain objects if applicable. */\n domain?: IDomain;\n /** A Boolean defining whether this field is editable. */\n editable?: boolean;\n /** A Boolean defining whether or not the field is an exact match. */\n exactMatch?: boolean;\n /** A number defining how many characters are allowed in a string. field. */\n length?: number;\n /** A Boolean defining whether this field can have a null value. */\n nullable?: boolean;\n /** The value written in for new records by default. */\n defaultValue?: any;\n }\n\n export interface IPagingParams {\n start?: number;\n num?: number;\n }\n\n export interface EsriErrorObj {\n code: number;\n message: string;\n details: any[];\n }\n\n export interface IEsriJsonResult {\n error?: EsriErrorObj;\n }\n\n export interface MapServiceLayerTableInfo extends IEsriJsonResult {\n id: number;\n fields: IField[];\n extent: Esri.GeometryTypes.IEnvelope\n }\n\n export interface MapServiceLayerTableInfos extends IEsriJsonResult {\n layers: MapServiceLayerTableInfo[]\n }\n\n export interface MapServiceInfo {\n error?: EsriErrorObj;\n layers?: LayerInfo[];\n tables?: TableInfo[];\n\n currentVersion: number;\n documentInfo: DocumentInfo;\n\n spatialReference: Esri.GeometryTypes.ISpatialReference;\n initialExtent: Esri.GeometryTypes.IEnvelope;\n fullExtent: Esri.GeometryTypes.IEnvelope;\n minScale: number;\n maxScale: number;\n referenceScale: number;\n\n maxRecordCount: number;\n maxImageHeight: number;\n maxImageWidth: number;\n supportedExtensions: string;\n capabilities: string;\n supportedQueryFormats: string;\n }\n\n export interface LayerInfo {\n id: number;\n name: string;\n parentLayerId: number;\n defaultVisibility: boolean;\n subLayerIds?: number[];\n minScale: number;\n maxScale: number;\n type: string;\n geometryType: Esri.GeometryTypes.GeometryType;\n supportsDynamicLegends: boolean;\n }\n\n export interface TableInfo {\n id: number;\n name: string;\n }\n\n export interface DocumentInfo {\n Title: string;\n Author: string;\n Comments: string;\n Subject: string;\n Category: string;\n AntialiasingMode: string;\n TextAntialiasingMode: string;\n Version: string;\n Keywords: string;\n }\n\n export interface IFeatureSet extends Esri.GeometryTypes.IHasZM {\n objectIdFieldName?: string; // optional\n globalIdFieldName?: string; // optional\n displayFieldName?: string; // optional\n geometryType?: Esri.GeometryTypes.GeometryType; // for feature layers only\n spatialReference?: Esri.GeometryTypes.ISpatialReference; // for feature layers only.\n fields?: IField[];\n features: IFeature[];\n fieldAliases?: {\n [key: string]: string;\n };\n }\n\n\n export interface IFeature {\n geometry?: Esri.GeometryTypes.IGeometry;\n attributes: { [key: string]: any };\n symbol?: ISymbol;\n }\n\n export interface IMapServiceCountQueryResponse extends IEsriJsonResult {\n count?: number;\n }\n\n export interface IMapServiceGeojsonQueryResponse extends IEsriJsonResult, GeoJSON.FeatureCollection {\n\n }\n\n export interface IMapServiceIdentifyRequest extends Record<string, string> {\n f: string\n geometry: string\n geometryType: Esri.GeometryTypes.GeometryType\n sr: string\n layers: string\n tolerance: string\n mapExtent: string\n imageDisplay: string\n returnZ?: string\n returnUnformattedValues?: string\n returnGeometry: string\n returnFieldName?: string\n }\n\n export interface IMapServiceIdentifyResponse extends IEsriJsonResult {\n results: IdentifyResult[]\n }\n\n export interface IdentifyResult {\n layerId: number\n layerName: string\n value: string\n displayFieldName: string\n attributes: any\n geometryType: Esri.GeometryTypes.GeometryType\n geometry: Esri.GeometryTypes.IEsriGeometry\n }\n\n export interface ISymbol {\n type: SymbolType;\n style?: string;\n }\n\n export type SymbolType =\n | \"esriSLS\"\n | \"esriSMS\"\n | \"esriSFS\"\n | \"esriPMS\"\n | \"esriPFS\"\n | \"esriTS\";\n\n export interface MapServiceLegendInfo {\n layers: LegendLayerInfo[];\n error?: EsriErrorObj;\n }\n\n export interface LegendLayerInfo {\n layerId: number;\n layerName: string;\n layerType: string;\n minScale: number;\n maxScale: number;\n legend?: LegendInfo[];\n }\n\n export interface LegendInfo {\n label: string;\n url: string;\n imageData: string;\n contentType: string;\n height: number;\n width: number;\n values?: (number | string)[];\n }\n\n export interface IFeatureServiceDefinition {\n currentVersion?: number;\n serviceDescription: string;\n hasVersionedData: boolean;\n supportsDisconnectedEditing: boolean;\n supportsReturnDeleteResults: boolean;\n /** Boolean value indicating whether data changes. True if it does not. */\n hasStaticData?: boolean;\n /** Numeric value indicating tbe maximum number of records that will be returned at once for a query. */\n maxRecordCount: number;\n /** String value indicating the output formats that are supported in a query. */\n supportedQueryFormats: string;\n supportsRelationshipsResource: boolean;\n /** A comma separated list of supported capabilities, e.g. Query,Editing. */\n capabilities: string;\n /** String value of the layer as defined in the map service. */\n description: string;\n /** String value for the copyright text information for the layer. */\n copyrightText: string;\n advancedEditingCapabilities: { [key: string]: boolean };\n /** An object containing the WKID or WKT identifying the spatial reference of the layer's geometry. */\n spatialReference: Esri.GeometryTypes.ISpatialReference;\n initialExtent: Esri.GeometryTypes.IEnvelope;\n fullExtent: Esri.GeometryTypes.IEnvelope;\n /** Boolean value indicating whether the geometry of the features in the layer can be edited. */\n allowGeometryUpdates: boolean;\n units: string;\n syncEnabled: boolean;\n returnServiceEditsHaveSR?: boolean;\n // validationSystemLayers: {\n // validationPointErrorlayerId: number;\n // validationLineErrorlayerId: number;\n // validationPolygonErrorlayerId: number;\n // validationObjectErrortableId: number;\n // };\n // extractChangesCapabilities: {\n // supportsReturnIdsOnly: boolean;\n // supportsReturnExtentOnly: boolean;\n // supportsReturnAttachments: boolean;\n // supportsLayerQueries: boolean;\n // supportsSpatialFilter: boolean;\n // supportsReturnFeature: boolean;\n // };\n // syncCapabilities: {\n // supportsASync: boolean;\n // supportsRegisteringExistingData: boolean;\n // supportsSyncDirectionControl: boolean;\n // supportsPerLayerSync: boolean;\n // supportsPerReplicaSync: boolean;\n // supportsRollbackOnFailure: boolean;\n // supportedSyncDataOptions: number;\n // };\n editorTrackingInfo: {\n enableEditorTracking: boolean;\n enableOwnershipAccessControl: boolean;\n allowOthersToUpdate: boolean;\n allowOthersToDelete: boolean;\n };\n documentInfo?: { [key: string]: string };\n // the feature layers published by this service\n layers: LayerInfo[];\n // the non-spatial tables published by this service\n tables: TableInfo[];\n relationships: [\n {\n id: number;\n name: string;\n backwardPathLabel: string;\n originLayerId: number;\n originPrimaryKey: string;\n forwardPathLabel: string;\n destinationLayerId: number;\n originForeignKey: string;\n relationshipTableId: number;\n destinationPrimaryKey: string;\n destinationForeignKey: string;\n rules: [\n {\n ruleID: number;\n originSubtypeCode: number;\n originMinimumCardinality: number;\n originMaximumCardinality: number;\n destinationSubtypeCode: number;\n destinationMinimumCardinality: number;\n destinationMaximumCardinality: number;\n }\n ];\n cardinality:\n | \"esriRelCardinalityOneToOne\"\n | \"esriRelCardinalityOneToMany\"\n | \"esriRelCardinalityManyToMany\";\n attributed: boolean;\n composite: boolean;\n }\n ];\n //enableZDefaults?: boolean;\n //isLocationTrackingService: boolean;\n //isLocationTrackingView: boolean;\n zDefault?: number;\n }\n\n export interface FeatureServiceEditResult {\n objectId: number;\n globalId?: string;\n success: boolean;\n error?: any;\n }\n\n export interface FeatureServiceEditResponse {\n addResults?: FeatureServiceEditResult[];\n updateResults?: FeatureServiceEditResult[];\n deleteResults?: FeatureServiceEditResult[];\n error?: any;\n }\n\n export interface IDefinitionParameter {\n /** The default value that is automatically given if nothing is provided. */\n defaultValue?: number | string;\n /** A string value representing the name of the field to query. */\n fieldName?: string;\n /** Number given to uniquely identify the specified parameter. */\n parameterId?: any;\n /** The field type for the specified field parameter. */\n type?:\n | \"esriFieldTypeBlob\"\n | \"esriFieldTypeDate\"\n | \"esriFieldTypeDouble\"\n | \"esriFieldTypeGeometry\"\n | \"esriFieldTypeGlobalID\"\n | \"esriFieldTypeGUID\"\n | \"esriFieldTypeInteger\"\n | \"esriFieldTypeOID\"\n | \"esriFieldTypeRaster\"\n | \"esriFieldTypeSingle\"\n | \"esriFieldTypeSmallInteger\"\n | \"esriFieldTypeString\"\n | \"esriFieldTypeXML\";\n\n /** An integer value representing exact UNIX time used when defaultValue is a date string. */\n utcValue?: number;\n }\n\n export interface IDefinitionInput {\n /** A string value representing a hint for the input. */\n hint?: string;\n /** An array of parameter objects. */\n parameters?: IDefinitionParameter[];\n /** A string value representing the prompt for the input. */\n prompt?: string;\n }\n\n /**\n * The definitionEditor stores interactive filters at the same level as layerDefinition.\n */\n export interface IDefinitionEditor {\n /** An array of input objects. */\n inputs?: IDefinitionInput[];\n /** A string value representing the where clause for the interactive filter. */\n parameterizedExpression?: string;\n }\n\n export type FeatureEditTool =\n | \"esriFeatureEditToolAutoCompletePolygon\"\n | \"esriFeatureEditToolPolygon\"\n | \"esriFeatureEditToolTriangle\"\n | \"esriFeatureEditToolRectangle\"\n | \"esriFeatureEditToolLeftArrow\"\n | \"esriFeatureEditToolRightArrow\"\n | \"esriFeatureEditToolEllipse\"\n | \"esriFeatureEditToolUpArrow\"\n | \"esriFeatureEditToolDownArrow\"\n | \"esriFeatureEditToolCircle\"\n | \"esriFeatureEditToolFreehand\"\n | \"esriFeatureEditToolLine\"\n | \"esriFeatureEditToolNone\"\n | \"esriFeatureEditToolText\"\n | \"esriFeatureEditToolPoint\";\n\n /**\n * Templates describe features that can be created in a layer. They are generally used with feature collections and editable web-based CSV layers.\n * Templates are not used with ArcGIS feature services as these already have templates defined in the service. They are also defined as properties\n * of the layer definition when there are no defined types. Otherwise, templates are defined as properties of the types.\n */\n export interface ITemplate {\n /** A string value containing a detailed description of the template. */\n description?: any;\n /**\n * An optional string that can define a client-side drawing tool to be used with this feature. For example, map notes used by the Online Map Viewer use this to represent the viewer's different drawing tools.\n */\n drawingTool?: FeatureEditTool;\n /** A string containing a user-friendly name for the template. */\n name?: string;\n /** A feature object representing a prototypical feature for the template. */\n prototype?: IFeature;\n }\n\n export interface IFeatureLayerDefinition extends Esri.GeometryTypes.IHasZM {\n /** Boolean value indicating whether the geometry of the features in the layer can be edited. */\n allowGeometryUpdates?: boolean;\n /** A comma separated list of supported capabilities, e.g. Query,Editing. */\n capabilities?: string;\n /** String value for the copyright text information for the layer. */\n copyrightText?: string;\n /** Numeric value indicating the server version of the layer. */\n currentVersion?: number;\n /** Boolean value indicating whether the layer's visibility is turned on. */\n defaultVisibility?: boolean;\n /** Stores interactive filters. */\n definitionEditor?: IDefinitionEditor;\n /** SQL-based definition expression string that narrows the data to be displayed in the layer. */\n definitionExpression?: string;\n /** String value of the layer as defined in the map service. */\n description?: string;\n /** A string value that summarizes the feature. */\n displayField?: string;\n /** Contains drawing, labeling, and transparency information. */\n drawingInfo?: any;\n /** An object defining the rectangular area. */\n extent?: Esri.GeometryTypes.IEnvelope | null;\n /** An object defining the editing info (last edit date). */\n editingInfo?: {\n /** date of last edit to the layer */\n lastEditDate?: number\n };\n /** Feature reductions declutter the screen by hiding features that would otherwise intersect with other features on screen. */\n featureReduction?: any;\n /** An array of field objects containing information about the attribute fields for the feature collection or layer. */\n fields?: IField[];\n /** A string defining the type of geometry. Possible geometry types are: esriGeometryPoint, esriGeometryMultipoint, esriGeometryPolyline, esriGeometryPolygon, and esriGeometryEnvelope. */\n geometryType?: Esri.GeometryTypes.GeometryType;\n /** The unique identifier for a feature or table row within a geodatabase. */\n globalIdField?: string;\n /** Indicates whether attachments should be loaded for the layer. */\n hasAttachments?: boolean;\n /** Boolean value indicating whether data changes. True if it does not. */\n hasStaticData?: boolean;\n /** String value indicating the HTML popup type. */\n htmlPopupType?:\n | \"esriServerHTMLPopupTypeNone\"\n | \"esriServerHTMLPopupTypeAsURL\"\n | \"esriServerHTMLPopupTypeAsHTMLText\";\n\n /** The identifier assigned to the layer. */\n id?: number;\n /** Boolean value indicating whether the data is versioned. */\n isDataVersioned?: boolean;\n /** Numeric value indicating tbe maximum number of records that will be returned at once for a query. */\n maxRecordCount?: number;\n /** Represents the maximum scale at which the layer definition will be applied. This does not apply to layers of type: ArcGISMapServiceLayer, ImageServiceVectorLayer or ImageServiceLayer. */\n maxScale?: number;\n /** Represents the minimum scale at which the layer definition will be applied. This does not apply to layers of type: ArcGISMapServiceLayer, ImageServiceVectorLayer or ImageServiceLayer. */\n minScale?: number;\n /** Contains a unique name for the layer that can be displayed in a legend. */\n name?: string;\n /** Indicates the name of the object ID field in the dataset. */\n objectIdField?: string;\n /** Dictates whether a client can support having an end user modify symbols on individual features. */\n overrideSymbols?: boolean;\n /** Indicates range information */\n rangeInfos?: any;\n /** An object indicating the layerDefinition's layer source. */\n source?: any;\n /** An object containing the WKID or WKT identifying the spatial reference of the layer's geometry. */\n spatialReference?: Esri.GeometryTypes.ISpatialReference;\n /** String value indicating the output formats that are supported in a query. */\n supportedQueryFormats?: string;\n /** Boolean value indicating whether the layer supports orderByFields in a query operation. */\n supportsAdvancedQueries?: boolean;\n /** Boolean value indicating whether the layer supports uploading attachments with the Uploads operation. This can then be used in the Add Attachment and Update Attachment operations. */\n supportsAttachmentsByUploadId?: boolean;\n /** Boolean value indicating whether the layer supports the Calculate REST operation when updating features. */\n supportsCalculate?: boolean;\n /** Boolean value indicating whether the layer supports rolling back edits made on a feature layer if some of the edits fail. */\n supportsRollbackOnFailureParameter?: boolean;\n /** Boolean value indicating whether feature layer query operations support statistical functions. */\n supportsStatistics?: boolean;\n /** Boolean value indicating whether the validateSQL operation is supported across a feature service layer. */\n supportsValidateSql?: boolean;\n /** A property of the layer definition when there are no types defined; otherwise, templates are defined as properties of the types. */\n templates?: ITemplate[];\n /** The time info metadata of the layer. May be set for feature layers inside a feature collection item. */\n timeInfo?: any;\n /** Indicates whether the layerDefinition applies to a Feature Layer or a Table. */\n type?: \"Feature Layer\" | \"Table\";\n /** Contains the name of the field holding the type ID for the features. */\n typeIdField?: string;\n /** Contains information about an attribute field. */\n types?: any;\n /** String value indicating the attribute field that is used to control the visibility of a feature.\n * If applicable, when rendering a feature the client should use this field to control visibility.\n * The field's values are 0 = do not display, 1 = display.\n */\n visibilityField?: string;\n relationships?: any[];\n editFieldsInfo?: {\n creationDateField?: string;\n creatorField?: string;\n editDateField?: string;\n editorField?: string;\n };\n parentLayerId?: number;\n ownershipBasedAccessControlForFeatures?: boolean;\n syncCanReturnChanges?: boolean;\n archivingInfo?: {\n supportsQueryWithHistoricMoment?: boolean;\n startArchivingMoment?: number;\n };\n supportsValidateSQL?: boolean;\n advancedQueryCapabilities?: {\n supportsPagination?: boolean;\n supportsTrueCurve?: boolean;\n supportsQueryWithDistance?: boolean;\n supportsReturningQueryExtent?: boolean;\n supportsStatistics?: boolean;\n supportsOrderBy?: boolean;\n supportsDistinct?: boolean;\n supportsSqlExpression?: boolean;\n supportsPercentileStatistics?: boolean;\n };\n allowTrueCurvesUpdates?: boolean;\n onlyAllowTrueCurveUpdatesByTrueCurveClients?: boolean;\n supportsApplyEditsWithGlobalIds?: boolean;\n subtypeField?: string;\n indexes?: any[];\n dateFieldsTimeReference?: {\n timeZone?: string;\n respectsDaylightSaving?: boolean;\n };\n useStandardizedQueries?: boolean;\n }\n\n\n}",null,"namespace Esri.GeometryTypes {\n export interface IHasZM {\n hasZ?: boolean;\n hasM?: boolean;\n }\n\n export interface ISpatialReference {\n wkid?: number;\n latestWkid?: number;\n wkt?: string;\n }\n\n export interface SpatialReferenceExt extends ISpatialReference {\n xyTolerance: number;\n zTolerance: number;\n mTolerance: number;\n falseX: number;\n falseY: number;\n xyUnits: number;\n falseZ: number;\n zUnits: number;\n falseM: number;\n mUnits: number;\n }\n\n export interface IGeometry {\n spatialReference?: ISpatialReference;\n }\n\n export interface IPoint extends IHasZM, IGeometry {\n x: number;\n y: number;\n z?: number;\n }\n\n export interface ILocation {\n latitude?: number;\n longitude?: number;\n lat?: number;\n long?: number;\n z?: number;\n }\n\n export interface IPolyline extends IHasZM, IGeometry {\n paths: Position[][];\n }\n\n export interface IPolylineWithCurves extends IHasZM, IGeometry {\n curvePaths: Array<Array<Position | JsonCurve>>;\n }\n\n export interface IPolygon extends IHasZM, IGeometry {\n rings: Position[][];\n }\n\n export interface IPolygonWithCurves extends IHasZM, IGeometry {\n curveRings: Array<Array<Position | JsonCurve>>;\n }\n\n\n export type Position =\n | Position2D\n | [number, number, number]\n | [number, number, number, number];\n\n export type Position2D = [number, number];\n\n export interface IArc {\n a: [\n Position, // End point: x, y, <z>, <m>\n Position2D, // Center point: center_x, center_y\n number, // minor\n number, // clockwise\n number, // rotation\n number, // axis\n number // ratio\n ];\n }\n\n export interface IBezierCurve {\n b: [Position, Position2D, Position2D];\n }\n\n export interface ICircularArc {\n c: [Position, Position2D];\n }\n\n export type ElipticArc = IArc;\n\n export type GeometryType =\n | \"esriGeometryPoint\"\n | \"esriGeometryMultipoint\"\n | \"esriGeometryPolyline\"\n | \"esriGeometryPolygon\"\n | \"esriGeometryEnvelope\"\n | \"esriGeometryMultiPatch\";\n\n export interface IEnvelope extends IGeometry {\n xmin: number;\n xmax: number;\n ymin: number;\n ymax: number;\n\n zmin?: number;\n zmax?: number;\n\n mmin?: number;\n mmax?: number;\n }\n\n export type JsonCurve = ICircularArc | IArc | IOldCircularArc | IBezierCurve;\n\n export interface IOldCircularArc {\n a: [\n Position, // End point: x, y, <z>, <m>\n Position2D, // Center point: center_x, center_y\n number, // minor\n number // clockwise\n ];\n }\n\n export interface IMultipoint extends IHasZM, IGeometry {\n points: Position[];\n }\n\n export type Units =\n | \"esriSRUnit_Meter\"\n | \"esriSRUnit_StatuteMile\"\n | \"esriSRUnit_Foot\"\n | \"esriSRUnit_Kilometer\"\n | \"esriSRUnit_NauticalMile\"\n | \"esriSRUnit_USNauticalMile\";\n\n export type IEsriGeometry = IPoint | IPolyline | IPolygon | IMultipoint;\n\n}","import { CellComponent, Editor, EmptyCallback, ValueBooleanCallback, ValueVoidCallback } from \"tabulator-tables\";\nimport { ELF, System } from \"@yesilyazilim/web.spa\";\n\nexport function getDateAsNumberFormatter(cell: CellComponent, formatterParams, onRendered) {\n const val = cell.getValue() as number;\n if (!val) return '';\n return new Date(val).toStr(true);\n}\n\ntype DateFilterEditorParams = {\n type: 'date' | 'datetime-local'\n}\n\nfunction getDateTimeFilterEditor(cell: CellComponent, onRendered: EmptyCallback, success: ValueBooleanCallback, cancel: ValueVoidCallback, editorParams: DateFilterEditorParams): HTMLElement {\n const ep: DateFilterEditorParams = editorParams || { type: 'date' };\n const editor = ELF.input(ep.type); //(<input type=\"text\" class=\" \" data-role=\"calendarpicker\" data-format=\"%d.%m.%Y\" data-cls-calendar=\"compact\" data-clear-button=\"true\" data-locale=\"tr-TR\"></input>) as HTMLInputElement;\n editor.addEventListener(\"change\", function () {\n success(editor.valueAsDate);\n });\n return ELF.div('tabulator-filter-date-container', editor);\n};\n\nfunction fncDateTimeFilter(headerValue: Date, rowValue, rowData, filterParams) {\n //headerValue - the value of the header filter element\n //rowValue - the value of the column in this row\n //rowData - the data for the row being filtered\n //filterParams - params object passed to the headerFilterFuncParams property\n if (!headerValue) return true;\n if (!rowValue) return false;\n var rowDt = new Date(rowValue);\n return headerValue.toDateString() == rowDt.toDateString();\n}\n\nexport function dateTimeFormatter(cell: CellComponent, formatterParams, onRendered) {\n const data = cell.getValue();\n if (data) {\n return data.replace('T', ' ');\n }\n return '';\n}",null,"import { Geometry, LineString, MultiLineString, MultiPoint, MultiPolygon, Point, Polygon } from \"ol/geom\";\nimport { Projection, ProjectionLike, fromLonLat, toLonLat, transform } from \"ol/proj\";\n//import { IEsriGeometry, IExtent } from \"../protocols/ags/apitypes.ags.geometry\";\n\nimport { arcgisToGeoJSON } from \"@terraformer/arcgis\";\nimport { Feature } from \"ol\";\nimport { Coordinate } from \"ol/coordinate\";\nimport GeoJSON from \"ol/format/GeoJSON\";\nimport VectorSource from \"ol/source/Vector\";\nimport proj4 from 'proj4';\nimport { BasicGeometryTypes } from \"../types\";\nimport { Extent } from \"ol/extent\";\n\n\nexport class OlGeomHelper {\n\n static readonly WGS84: Projection = new Projection({ code: 'EPSG:4326' });\n static readonly WebMerc: Projection = new Projection({ code: 'EPSG:3857' });\n\n static getBasicTypeOfVectorSource<T extends Geometry>(source: VectorSource<Feature<T>>): BasicGeometryTypes | null {\n if (source.isEmpty()) return null;\n const fcoll = source.getFeaturesCollection();\n let geom: Geometry = null;\n const size = fcoll.getLength();\n let i = 0;\n\n do {\n const feature = fcoll.item(i++);\n geom = feature.getGeometry();\n } while (!geom || i < size);\n\n if (!geom) return null;\n\n if (geom instanceof Point || geom instanceof MultiPoint) {\n return 'Point';\n } else if (geom instanceof LineString || geom instanceof MultiLineString) {\n return 'LineString';\n } else if (geom instanceof Polygon || geom instanceof MultiPolygon) {\n return 'Polygon';\n }\n return null;\n }\n\n static formatCoordWgs(coord: Coordinate) {\n return coord[0].toFixed(6) + 'D ' + coord[1].toFixed(6) + 'K';\n }\n\n static toWGSCoords(coords: Coordinate): Coordinate {\n return toLonLat(coords);\n }\n static fromWGSCoords(coords: Coordinate): Coordinate {\n return fromLonLat(coords);\n }\n static toWGSExtent(coords: Extent): Coordinate {\n return [...toLonLat([coords[0], coords[1]]), ...toLonLat([coords[2], coords[3]])];\n }\n\n static toGeojsonStr(geom: Geometry): string {\n if (!geom) return null;\n const gjs = new GeoJSON();\n return gjs.writeGeometry(geom);\n }\n\n static fromGeojsonStr<T extends Geometry>(geojsonStr: string): T {\n if (!geojsonStr) return null;\n const gjs = new GeoJSON();\n return gjs.readGeometry(geojsonStr) as T;\n }\n\n static projectToWgs84(coords: Coordinate, wkid: number): Coordinate {\n const p2: ProjectionLike = 'EPSG:' + wkid.toString();\n return transform(coords, p2, this.WGS84.getCode());\n }\n\n static esriExtentAsWGS84(srcEnv: Esri.GeometryTypes.IEnvelope): number[] {\n if (!srcEnv) return null;\n const sr = srcEnv.spatialReference;\n let from = '';\n if (sr.wkid) {\n let wkid = sr.wkid;\n if (wkid == 102100) wkid = 3857;\n from = 'EPSG:' + wkid.toString();\n } else {\n from = sr.wkt;\n }\n const to = proj4.WGS84;\n const [xmin, ymin] = proj4(from, to, [srcEnv.xmin, srcEnv.ymin]);\n const [xmax, ymax] = proj4(from, to, [srcEnv.xmax, srcEnv.ymax]);\n return [xmin, ymin, xmax, ymax];\n }\n\n static fromEsriJsonToGeojson(ej: Esri.GeometryTypes.IEsriGeometry): GeoJSON.Geometry {\n return arcgisToGeoJSON(ej);\n }\n\n static fromGeojson<T extends Geometry = Geometry>(geojson: any): T {\n const gjs = new GeoJSON();\n return gjs.readGeometry(geojson) as T;\n }\n\n static fromGeojsonFeature<T extends Geometry = Geometry>(geojson: any): Feature<T> {\n const gjs = new GeoJSON();\n return gjs.readFeature(geojson) as Feature<T>;\n }\n\n static fromGeojsonFeatures<T extends Geometry = Geometry>(geojson: any): Feature<T>[] {\n const gjs = new GeoJSON();\n return gjs.readFeatures(geojson) as Feature<T>[];\n }\n\n static fromEsriJson<T extends Geometry = Geometry>(ej: Esri.GeometryTypes.IEsriGeometry): T {\n const geojson = arcgisToGeoJSON(ej);\n return OlGeomHelper.fromGeojson(geojson);\n }\n\n}\n",null,"import { AsyncOpResult, Inject, OpResult, StoreService, TokenManager } from \"@yesilyazilim/web.spa\";\nimport type { LayerDefinitionProp_EsriMapService } from \"../../layers/layers.definitions\";\n\nexport type IdentifyParams = {\n layerIds: number[],\n coords: number[],\n tolerance: number,\n mapExtent: number[],\n imageDisplay: { w: number, h: number, dpi: number },\n returnUnformattedValues: boolean,\n returnFieldName: boolean\n}\n\nexport class AgsMapServiceChannel {\n\n private readonly _serviceUrl: string;\n private readonly _proxyUrl: string;\n private _serviceInfo: Esri.ServerTypes.MapServiceInfo;\n private _legendInfo: Esri.ServerTypes.MapServiceLegendInfo;\n private _tableInfos: Map<number, Esri.ServerTypes.MapServiceLayerTableInfo>;\n private _connected: boolean;\n\n @Inject() storeService: StoreService;\n\n constructor(private readonly _prop: LayerDefinitionProp_EsriMapService) {\n this._serviceUrl = _prop.url.endsWith('/') ? _prop.url : _prop.url + '/';\n this._connected = false;\n\n this._proxyUrl = new URL('/proxy', this.storeService.appProperties.apiEndPoint).toString() + '?';\n }\n\n public get ok(): boolean { return this._connected; }\n public get serviceInfo(): Esri.ServerTypes.MapServiceInfo { return this._serviceInfo; }\n public get legendInfo(): Esri.ServerTypes.MapServiceLegendInfo { return this._legendInfo; }\n\n public async connectAsync(): AsyncOpResult {\n const res: OpResult = {\n success: false\n };\n this._serviceInfo = await this._fetchServiceInfo();\n if (this._serviceInfo) {\n this._legendInfo = await this._fetchLegendInfo();\n if (this._legendInfo) {\n res.success = true;\n this._connected = true;\n } else {\n res.message = 'Lejant bilgileri alınamadi';\n }\n } else {\n res.message = 'Servis bilgileri alınamadı !';\n }\n return res;\n }\n\n public async getTableInfoAsync(layerId: number): Promise<Esri.ServerTypes.MapServiceLayerTableInfo> {\n if (!this._tableInfos) {\n const tires = await this._fetchTableInfos();\n if (tires?.layers && tires.layers.length > 0) {\n const map: Map<number, Esri.ServerTypes.MapServiceLayerTableInfo> = new Map();\n for (const li of tires.layers) {\n map.set(li.id, li);\n }\n this._tableInfos = map;\n } else return null;\n }\n\n return Promise.resolve(this._tableInfos.get(layerId));\n }\n\n public async queryRecordCount(layerId: number, filter: string = '1=1'): AsyncOpResult<number> {\n const p: OpResult<number> = { success: false }\n const prms = new URLSearchParams({ where: filter, returnCountOnly: 'true', f: 'pjson' });\n const url = this.getUrl(layerId.toString() + '/query?' + prms.toString());\n try {\n const res = await fetch(url);\n if (res.ok) {\n const data: Esri.ServerTypes.IMapServiceCountQueryResponse = await res.json();\n if (!data.error) {\n p.data = data.count;\n p.success = true;\n }\n }\n } catch (err) {\n console.warn('Error in getRecordCount', { layerId, err, filter })\n p.message = err;\n }\n return p;\n }\n\n public async queryFeatures(layerId: number, filter: string = '1=1', orderBy: string = null, page: { num: number, size: number } = null): AsyncOpResult<GeoJSON.FeatureCollection> {\n const p: OpResult<GeoJSON.FeatureCollection> = { success: false };\n\n const tblInfo = await this.getTableInfoAsync(layerId);\n const oidfield = tblInfo.fields.find((f) => f.type == 'esriFieldTypeOID');\n const po: Record<string, string> = {\n f: 'geojson',\n outFields: '*',\n where: filter,\n outSR: '4326',\n returnGeometry: 'true',\n }\n\n if (page?.num && page.size) {\n po.resultRecordCount = page.size.toString();\n po.resultOffset = (page.size * (page.num - 1)).toString()\n }\n\n if (orderBy || oidfield) {\n po.orderByFields = orderBy || oidfield.name;\n }\n\n const prms = (new URLSearchParams(po)).toString();\n const url = this.getUrl(layerId.toString() + '/query?' + prms);\n try {\n const res = await fetch(url);\n if (res.ok) {\n const data: Esri.ServerTypes.IMapServiceGeojsonQueryResponse = await res.json();\n if (!data.error) {\n p.data = data;\n p.success = true;\n }\n }\n } catch (err) {\n console.warn('Error in queryFeatures', { layerId, err, filter })\n p.message = err;\n }\n return p;\n }\n\n public async identify(params: IdentifyParams): AsyncOpResult<Esri.ServerTypes.IdentifyResult[]> {\n const spo: Esri.ServerTypes.IMapServiceIdentifyRequest = {\n f: 'json',\n geometryType: params.coords.length == 4 ? 'esriGeometryEnvelope' : 'esriGeometryPoint',\n geometry: params.coords.join(', '),\n layers: 'all:' + params.layerIds.join(','),\n sr: '4326',\n tolerance: params.tolerance.toString(),\n imageDisplay: [params.imageDisplay.w, params.imageDisplay.h, params.imageDisplay.dpi].join(','),\n mapExtent: params.mapExtent.join(','),\n returnGeometry: 'true',\n returnFieldName: (params.returnFieldName || false).toString(),\n returnUnformattedValues: (params.returnUnformattedValues || false).toString()\n };\n const sp = new URLSearchParams(spo);\n const url = this.getUrl('identify?') + sp.toString();\n const opres: OpResult<Esri.ServerTypes.IdentifyResult[]> = {\n success: false\n }\n try {\n let res = await fetch(url);\n if (!res.ok) {\n console.warn('Error response returned while getting Identify');\n opres.message = 'Servis mesaji hatası!';\n } else {\n const srvData = (await res.json()) as Esri.ServerTypes.IMapServiceIdentifyResponse;\n if (srvData.error) {\n console.warn('Error response for Identify', srvData.error);\n opres.message = 'Servis sonucu hata alındı!';\n } else {\n opres.data = srvData.results;\n opres.success = true;\n }\n }\n } catch (err) {\n console.warn('Error while getting Identify', err);\n opres.message = 'Konum bilgisi alinirken hata oluştu!';\n }\n return opres;\n }\n\n public async getImageData(url: string): Promise<string> {\n return new Promise<string>((resolve, reject) => {\n const client = new XMLHttpRequest();\n client.responseType = 'blob';\n const purl = this._proxyUrl + encodeURIComponent(url);\n client.open('GET', purl);\n client.setRequestHeader(\"Authorization\", TokenManager.headerValue);\n client.onload = function () {\n const ct = client.getResponseHeader('content-type') || '';\n if (ct.toLocaleLowerCase().startsWith('image')) {\n resolve(URL.createObjectURL(client.response));\n } else {\n resolve(null);\n }\n };\n client.send();\n });\n }\n\n public getUrl(suffix: string = ''): string {\n const url = this._serviceUrl + (suffix.startsWith('/') ? suffix.substring(1) : suffix);\n if (this._prop.useProxy) {\n const u = this._proxyUrl + encodeURIComponent(url);\n return u.toString();\n }\n return url;\n }\n\n public getUrlClean(suffix: string = ''): string {\n const url = this._serviceUrl + (suffix.startsWith('/') ? suffix.substring(1) : suffix);\n return url;\n }\n\n private async _fetchServiceInfo(): Promise<Esri.ServerTypes.MapServiceInfo> {\n try {\n const url = this.getUrl('?f=pjson');\n return await this._fetchCached(url);\n } catch (err) {\n console.warn('Error while getting MapService Info', err);\n return null;\n }\n }\n\n private async _fetchLegendInfo(): Promise<Esri.ServerTypes.MapServiceLegendInfo> {\n try {\n const url = this.getUrl('legend?f=pjson');\n return await this._fetchCached(url);\n } catch (err) {\n console.warn('Error while getting MapService Legend Info', err);\n }\n return null;\n }\n\n private async _fetchTableInfos(): Promise<Esri.ServerTypes.MapServiceLayerTableInfos> {\n try {\n const url = this.getUrl('layers?f=pjson');\n return await this._fetchCached(url);\n } catch (err) {\n console.warn('Error while getting MapService Table Info', err);\n return null;\n }\n }\n\n private async _fetchCached<T extends Esri.ServerTypes.IEsriJsonResult>(url: string): Promise<T> {\n const cachekey = 'lyr_' + encodeURIComponent(url);\n const cached = localStorage.getItem(cachekey);\n if (cached) {\n return Promise.resolve(JSON.parse(cached));\n }\n let res = await fetch(url, { cache: 'no-cache' });\n if (!res.ok) return null;\n const obj = await res.json() as T;\n if (obj.error) return null;\n localStorage.setItem(cachekey, JSON.stringify(obj));\n return obj;\n }\n}",null,"import { AsyncOpResult, OpResult } from \"@yesilyazilim/web.spa\";\nimport { LayerDefinitionTypes } from \"../../gis.enums\";\nimport { LayerDefinitionWms } from \"../layers.definitions\";\nimport { ILayerFactory } from \"../layers.types\";\nimport { WmsLayer } from \"../wms.layer.base\";\n\nexport class WmsLayerFactory implements ILayerFactory {\n type = LayerDefinitionTypes.WMS;\n\n async createAsync(ld: LayerDefinitionWms): AsyncOpResult<WmsLayer> {\n const opres: OpResult<WmsLayer> = {\n success: true,\n data: new WmsLayer(ld)\n };\n return Promise.resolve(opres);\n }\n}",null,"import ImageLayer from 'ol/layer/Image';\nimport { MapLayerBase } from \"./maplayer.base\";\nimport ImageSource from 'ol/source/ImageWMS';\nimport { LayerDefinitionWms } from \"./layers.definitions\";\nimport { AsyncOpResult, AuthService, EventService, Inject, StoreService } from \"@yesilyazilim/web.spa\";\nimport { MapManager } from \"../managers/map.manager\";\nimport { GeoserverChannel } from '../data/channels/geoserver.channel';\nimport type { LayerLegendSymbolInfo, IImageLayer, IdentifyResultItem, ILayerPopupItem, IdentifyPriority } from './layers.types';\nimport { MapIdentifyData } from '../types';\nimport { FeatureLike } from 'ol/Feature';\nimport { OlGeomHelper } from '../helpers/ol.geom.helper';\nimport { getPointResolution } from 'ol/proj';\n\n\ntype OLayerType = ImageLayer<ImageSource>;\n\nexport abstract class WmsLayerBase extends MapLayerBase<OLayerType, LayerDefinitionWms> implements IImageLayer {\n\n @Inject() mapManager: MapManager;\n @Inject() storeService: StoreService;\n @Inject() eventService: EventService;\n\n public identifyType: 'remote' = 'remote';\n\n protected _channel: GeoserverChannel;\n\n constructor(ld: LayerDefinitionWms) {\n super(ld);\n\n this._channel = new GeoserverChannel(ld.props);\n this._channel.customParamsFnc = (action: 'getmap' | 'identify') => { return this.getCustomParams(action); }\n this._layer = new ImageLayer({\n source: this._channel.source,\n visible: ld.visible,\n minZoom: ld.minZoom,\n maxZoom: ld.maxZoom,\n });\n\n this._layer.setProperties({ mapLayer: this, name: this._definition.key, canEdit: false, canFlash: true, canSelect: true });\n }\n\n getIdentifyPriority(feature: FeatureLike): IdentifyPriority {\n return 0;\n }\n\n getLegendInfos(): LayerLegendSymbolInfo[] {\n return [];\n }\n\n abstract queryIdentifyAsync?(data: MapIdentifyData): AsyncOpResult<IdentifyResultItem[]>;\n abstract generatePopupItemsAsync?(feature: FeatureLike): Promise<ILayerPopupItem[]>;\n abstract getCustomParams(action: 'getmap' | 'identify'): { [key: string]: any; };\n}\n\nexport class WmsLayer extends WmsLayerBase {\n\n @Inject() authService: AuthService;\n\n constructor(ld: LayerDefinitionWms) {\n super(ld);\n }\n\n getCustomParams(action: 'getmap' | 'identify'): { [key: string]: any; } {\n const map = this._layer.getMapInternal();\n const view = map.getView();\n let extArr = view.calculateExtent(map.getSize());\n \n let defaultParams = `scale:${this.calculateEpsForScreenDistance(map)};xmin:${extArr[0]};ymin:${extArr[1]};xmax:${extArr[2]};ymax:${extArr[3]};`;\n const user = this.authService.currentUser;\n if (user) {\n defaultParams = defaultParams + `uid:${user.id};sid:${user.id}`;\n }\n const obj: Record<string, any> = {\n \"TIME\": this._currentTime,\n \"viewParams\": defaultParams\n }; \n return obj;\n }\n\n async queryIdentifyAsync?(data: MapIdentifyData): AsyncOpResult<IdentifyResultItem[]> {\n var res = await this._channel.IdentifyAsync(data);\n if (res && res.length > 0) {\n const items: IdentifyResultItem[] = res.map(f => ({\n layerTitle: this.definition.title,\n layerKey: this.definition.key,\n feature: f\n }));\n return { success: true, data: items };\n } else {\n return { success: true, data: [] };\n }\n }\n\n async generatePopupItemsAsync?(feature: FeatureLike): Promise<ILayerPopupItem[]> {\n return [];\n }\n\n // Calculate eps based on screen pixels to meters\n private calculateEpsForScreenDistance(map) {\n const view = map.getView();\n const resolution = view.getResolution(); // degrees per pixel\n const center = view.getCenter(); // [lon, lat] in EPSG:4326\n const lat = center[1];\n const zoom = view.getZoom();\n let pixelMeters = 15;\n\n if (zoom <= 6) {\n pixelMeters = 7.5;\n } else if (zoom <= 7) {\n pixelMeters = 10;\n }\n\n const metersDistance = pixelMeters * resolution;\n const metersPerDegree = 111320 * Math.cos(lat * Math.PI / 180);\n const eps = metersDistance / metersPerDegree;\n\n return this.exponentToDecimals(eps);\n }\n\n private exponentToDecimals(num) {\n if (num < 0.000001) {\n let numChunks = [];\n numChunks = num.toString().split('e');\n\n let numOfZeroes = Math.abs(numChunks[1]) - 1;\n let decimalNumber = '';\n let zeroes = '';\n let int = numChunks[0];\n\n for (let i = 0; i < int.length; i++) {\n int = int.replace('.', '');\n }\n\n for (let i = 0; i < numOfZeroes; i++) {\n zeroes += '0';\n }\n\n return '0.' + zeroes + int;\n } else {\n return num;\n }\n }\n}\n\n\n",null,"import { AsyncOpResult, CommandService, EventService, ICommandDisplayer, Inject, OpResult, Service } from \"@yesilyazilim/web.spa\";\nimport { Feature, Overlay } from 'ol';\nimport { Geometry, Point } from 'ol/geom';\nimport { Style } from 'ol/style';\nimport type { FeatureContextMenuItemAction, GetOneFeatureOptions, IClickItem, IFeatureCmItem, ILayerManager, MapFlashGeomRequestData, MapGotoExtentRequestData, MapIdentifyData } from '../types';\n\nimport { Coordinate } from 'ol/coordinate';\nimport { Draw } from 'ol/interaction';\nimport VectorLayer from 'ol/layer/Vector';\nimport OMap from 'ol/Map';\nimport VectorSource from 'ol/source/Vector';\nimport View from 'ol/View';\nimport { GisEvents } from '../gis.enums';\nimport { Layer } from \"ol/layer\";\nimport { SymbologyFactory } from \"../layers/factory/symbology.factory\";\nimport { IdentifyResultItem, IFeatureLayer, IImageLayer, IMapLayer, IMvtLayer } from \"../layers/layers.types\";\nimport { FeatureLike } from \"ol/Feature\";\nimport { Pixel } from \"ol/pixel\";\nimport { getLayerProps } from \"../helpers/ol.extensions\";\nimport { FeatureContextMenuComponent } from \"../components/feature.contextmenu.component\";\nimport { OlGeomHelper } from \"../helpers/ol.geom.helper\";\n\nconst LO_SELECTION = 10000;\nconst LO_FLASH = 10020;\n\nexport type LayerAnimation = {\n layer: IMapLayer,\n animateFunction: () => void,\n minZoom: number\n}\n\n\n@Service()\nexport class MapManager {\n\n @Inject() eventService: EventService;\n @Inject() commandService: CommandService;\n\n private _layerManager: ILayerManager;\n private _map: OMap;\n private _view: View;\n private _activeDraw: Draw | null = null;\n private _popupDiv: HTMLElement;\n private _popup: Overlay;\n private _selectionLayer: VectorLayer;\n private readonly _selectionDict: Map<IMapLayer, FeatureLike[]> = new Map();\n private _flashLayer: VectorLayer;\n private readonly _animations: Map<string, LayerAnimation> = new Map();\n private _animationHandler: number = 0;\n\n public commandDisplayer: CmxCommandDisplayer = new CmxCommandDisplayer();\n\n public init(map: OMap, view: View, popupDiv: HTMLElement, layerManager: ILayerManager) {\n if (this._map) return;\n this._layerManager = layerManager;\n this._map = map;\n this._view = view;\n this._popupDiv = popupDiv;\n this._initPopup();\n\n this._selectionLayer = new VectorLayer({\n source: new VectorSource(),\n style: SymbologyFactory.getSelectionSymbol(),\n zIndex: LO_SELECTION,\n map: this._map\n });\n\n this._flashLayer = new VectorLayer({\n source: new VectorSource(),\n style: this._getFlashSymbol(),\n zIndex: LO_FLASH,\n map: this._map\n });\n\n this.eventService.listen(GisEvents.MapGotoExtentRequest, this._onGotoExtendRequested);\n this.eventService.listen(GisEvents.MapFlashGeomRequest, this._onFlashGeomRequested);\n }\n\n public get map(): OMap {\n return this._map;\n }\n\n public get view(): View {\n return this._view;\n }\n\n public get zoom(): number {\n return Math.trunc(this._view.getZoom());\n }\n\n public startDraw(draw: Draw) {\n this.cancelDraw();\n this._activeDraw = draw;\n this._map.addInteraction(this._activeDraw);\n }\n\n public cancelDraw() {\n if (this._activeDraw) {\n if (this._activeDraw.getActive()) {\n this._activeDraw.abortDrawing();\n }\n this._map.removeInteraction(this._activeDraw);\n }\n this._activeDraw = null;\n }\n\n public setSelectedFeatures(dict?: Map<IMapLayer, FeatureLike[]>) {\n this._selectionLayer.getSource().clear();\n for (const layer of this._selectionDict.keys()) {\n if (layer.identifyType == 'mvt' && (layer as IMvtLayer).setFeaturesSelected) {\n (layer as IMvtLayer).setFeaturesSelected([]);\n }\n }\n this._selectionDict.clear();\n\n if (!(dict && dict.size > 0)) return;\n\n const cloneFeat = (layer: IMapLayer, feat: Feature): Feature => {\n const copy = new Feature(feat.getGeometry());\n return copy;\n }\n\n const selLayerFeats: Feature[] = [];\n for (const layer of dict.keys()) {\n const features = dict.get(layer);\n if (layer.identifyType == 'mvt' && (layer as IMvtLayer).setFeaturesSelected) {\n (layer as IMvtLayer).setFeaturesSelected(features);\n } else {\n const feats = features.map(_ => cloneFeat(layer, _ as Feature));\n selLayerFeats.push(...feats);\n }\n this._selectionDict.set(layer, features);\n }\n this._selectionLayer.getSource().addFeatures(selLayerFeats);\n }\n\n public showPopup(at: Coordinate, content: HTMLElement) {\n if (!(at && content)) {\n this._popup.setPosition(undefined);\n return;\n }\n const contentDiv = this._popupDiv.querySelector('.popup-content');\n if (contentDiv) {\n contentDiv.innerHTML = '';\n contentDiv.appendChild(content);\n }\n this._popup.setPosition(at);\n }\n\n public startAnimate(key: string, animation: LayerAnimation) {\n this._animations.set(key, animation);\n this._beginAnimate();\n }\n\n public endAnimate(key: string) {\n if (this._animations.delete(key) && this._animations.size == 0) {\n this._endAnimate();\n }\n }\n\n public hasAnimate(key: string): boolean {\n return this._animations.has(key);\n }\n\n public stopAnimations(): Promise<void> {\n this._endAnimate();\n this.eventService.raise(GisEvents.DisableAnimations, null);\n return new Promise<void>((resolve) => {\n setTimeout(() => {\n requestAnimationFrame(() => {\n resolve();\n });\n }, 50);\n });\n }\n\n public resumeAnimation() {\n this._beginAnimate();\n }\n\n public changeCursor(cursor: string = '') {\n this.map.getTargetElement().style.cursor = cursor;\n }\n\n public getCurrentIdentifyDataFor(pixel: Pixel): MapIdentifyData {\n const vse = this._view.getViewStateAndExtent();\n const rect = this._map.getTargetElement().getBoundingClientRect();\n const inp: MapIdentifyData = {\n coords: this._map.getCoordinateFromPixel(pixel),\n imageDisplay: { w: rect.width, h: rect.height, dpi: 96 },\n mapExtent: vse.extent,\n screenPoint: pixel,\n tolerance: 3,\n resolution: this._view.getResolution(),\n };\n return inp;\n }\n\n public async getOneFeatureAt(pixel: Pixel, opt: GetOneFeatureOptions): Promise<IClickItem> {\n let contents: IClickItem[] = [];\n let maxPri: number = 0;\n\n const forEachFeatureCallback = (feature: FeatureLike, layer: Layer) => {\n if (!layer) return;\n if (opt.featureFilter) {\n if (!opt.featureFilter(feature)) return;\n }\n const mapLayer = getLayerProps(layer)?.mapLayer as IFeatureLayer | IMvtLayer;\n if (!!!(mapLayer?.getFeatureTitle)) return;\n\n const title = mapLayer.getFeatureTitle(feature);\n if (title && contents.findIndex((old) => old.layer === layer && (old.feature as FeatureLike).getId() === feature.getId()) < 0) {\n const pri = mapLayer.getIdentifyPriority(feature);\n if (pri >= maxPri) {\n if (pri > maxPri) {\n contents = [];\n maxPri = pri;\n }\n contents.push({\n feature, layer, mapLayer, title,\n iconClass: 'bi bi-caret-right-fill'\n })\n }\n }\n };\n\n this.map.forEachFeatureAtPixel(pixel, forEachFeatureCallback, opt);\n\n let imageLayers = this._layerManager.layerList.filter((ml) => ml.identifyType == 'remote');\n if (opt.layerFilter) {\n imageLayers = imageLayers.filter((ml) => opt.layerFilter(ml.layerObj as any));\n }\n const arr: Promise<{ lyr: IImageLayer, result: OpResult<IdentifyResultItem[]> }>[] = [];\n for (const iml of imageLayers) {\n const imgLyr = iml as IImageLayer;\n const inp = this.getCurrentIdentifyDataFor(pixel);\n const prms = new Promise<{ lyr: IImageLayer, result: OpResult<IdentifyResultItem[]> }>((resolve) => {\n imgLyr.queryIdentifyAsync(inp).then((r) => {\n resolve({ lyr: imgLyr, result: r });\n });\n });\n arr.push(prms);\n }\n\n const prmsResults = await Promise.all(arr);\n for (const prmRes of prmsResults) {\n const res = prmRes.result;\n if (!res.success) continue;\n for (const item of res.data) {\n\n const pri = prmRes.lyr.getIdentifyPriority(item.feature);\n if (pri >= maxPri) {\n if (pri > maxPri) {\n contents = [];\n maxPri = pri;\n }\n contents.push({\n feature: item.feature,\n layer: prmRes.lyr.layerObj as Layer,\n mapLayer: prmRes.lyr,\n title: item.layerTitle,\n iconClass: 'bi bi-caret-right-fill'\n });\n }\n }\n }\n\n if (contents && contents.length > 0) {\n if (contents.length === 1) {\n return Promise.resolve(contents[0]);\n } else {\n return new Promise<IClickItem>((resolve) => {\n var self = this;\n const cmdAction = function (action: 'click' | 'enter' | 'leave', item: IClickItem) {\n if (action == 'enter') {\n\n const maplayer = getLayerProps(item.layer)?.mapLayer;\n\n if (maplayer.identifyType == 'feature') {\n (maplayer as IFeatureLayer).flashFeatures(item.feature as FeatureLike);\n } else if (maplayer.identifyType == 'mvt') {\n (maplayer as IMvtLayer).flashFeatures(item.feature as FeatureLike);\n } else if (maplayer.identifyType == 'remote') {\n const ft = item.feature as Feature<Geometry>;\n //var ft = OlGeomHelper.fromGeojsonFeature<Geometry>(item.feature);\n self.flashGeom(ft.getGeometry());\n }\n } else if (action == 'leave') {\n const maplayer = getLayerProps(item.layer)?.mapLayer;\n if (maplayer.identifyType == 'feature') {\n (maplayer as IFeatureLayer).flashFeatures(null);\n } else if (maplayer.identifyType == 'mvt') {\n (maplayer as IMvtLayer).flashFeatures(null);\n } else if (maplayer.identifyType == 'remote') {\n self.flashGeom(null);\n }\n } else if (action == 'click') {\n resolve(item);\n }\n }\n\n this.showContextMenuAt(opt.menux, opt.menuy, contents, cmdAction, true);\n })\n }\n }\n return Promise.resolve(null);\n }\n\n public async showContextMenuAt(pageX: number, pageY: number, items: IFeatureCmItem[], itemAction: FeatureContextMenuItemAction, isGlass: boolean) {\n const te = this.map.getTargetElement();\n const rect = te.getBoundingClientRect();\n const loc = { x: pageX - rect.x, y: pageY - rect.y };\n const cm = new FeatureContextMenuComponent(loc, items, itemAction, isGlass);\n this.commandDisplayer.setCmx(cm);\n te.appendChild(cm);\n }\n\n\n public goto(coordinate: Coordinate) {\n this._view.fit(new Point(coordinate), { maxZoom: 20, duration: 300, });\n }\n\n public gotoFly(location: Coordinate): Promise<void> {\n const view = this._view;\n const duration = 2000;\n const zoom = view.getZoom();\n let parts = 2;\n let called = false;\n return new Promise<void>((resolve) => {\n function callback(complete) {\n --parts;\n if (called) {\n return;\n }\n if (parts === 0 || !complete) {\n called = true;\n resolve(complete);\n }\n }\n view.animate(\n {\n center: location,\n duration: duration,\n },\n callback\n );\n view.animate(\n {\n zoom: zoom - 1,\n duration: duration / 2,\n },\n {\n zoom: zoom,\n duration: duration / 2,\n },\n callback\n );\n });\n }\n\n public flash(ed: MapFlashGeomRequestData): Promise<boolean> {\n return new Promise((resolve, reject) => {\n const src = this._flashLayer.getSource();\n if (!ed.keepExist) {\n src.clear();\n }\n if (ed.geom) {\n const feat = new Feature(ed.geom);\n src.addFeature(feat);\n if (!ed.skipZoom) { this._view.fit(ed.geom.getExtent(), { maxZoom: 25, duration: 200 }) }\n let cnt = 0;\n const timerKey = setInterval(() => {\n if (cnt > 1) {\n clearInterval(timerKey);\n src.removeFeature(feat);\n return;\n }\n\n if (cnt % 2 == 0) {\n src.removeFeature(feat);\n } else {\n src.addFeature(feat);\n }\n cnt++;\n }, 200);\n }\n });\n }\n\n public flashGeom(geom: Geometry) {\n this.flash({ geom, skipZoom: true });\n }\n\n public flashGeojson(gjs: any) {\n if (!gjs) return;\n const geom = OlGeomHelper.fromGeojson(gjs);\n if (!geom) return;\n this.flash({ geom });\n }\n\n private readonly _onGotoExtendRequested = (ed: MapGotoExtentRequestData): Promise<boolean> => {\n return new Promise((resolve, reject) => {\n this._view.fit(ed.extent, {\n maxZoom: 20, duration: 300, callback: (isOk) => {\n resolve(isOk);\n }\n });\n });\n }\n\n private readonly _onFlashGeomRequested = (ed: MapFlashGeomRequestData): Promise<boolean> => {\n return this.flash(ed);\n }\n\n private _initPopup() {\n this._popup = new Overlay({\n element: this._popupDiv,\n autoPan: {\n animation: {\n duration: 250\n }\n }\n });\n this._map.addOverlay(this._popup);\n const closer: HTMLAnchorElement = this._popupDiv.querySelector('.ol-popup-closer');\n closer?.addEventListener('click', () => {\n this._popup.setPosition(undefined);\n closer.blur();\n return false;\n });\n }\n\n private _getFlashSymbol() {\n\n const fs = SymbologyFactory.createFlashedStyles();\n const arr: Style[] = [];\n const cnt = fs.get('Point').length;\n\n const ps = fs.get('Point');\n const ls = fs.get('LineString');\n const gs = fs.get('Polygon');\n for (let i = 0; i < cnt; i++) {\n\n const ts = new Style({\n stroke: ls[i].getStroke(),\n fill: gs[i].getFill(),\n image: ps[i].getImage()\n });\n\n arr.push(ts);\n }\n return arr;\n }\n\n private _beginAnimate() {\n if (this._animationHandler > 0 || this._animations.size == 0) return;\n this._animationHandler = setInterval(this._animator, 30);\n }\n\n private _endAnimate() {\n if (this._animationHandler > 0) {\n clearInterval(this._animationHandler);\n }\n this._animationHandler = 0;\n }\n\n\n\n private _completed: boolean = true;\n\n\n private readonly _animator = () => {\n if (this._animationHandler == 0) return;\n if (!this._completed) return;\n this._completed = false;\n const zoom = this.zoom;\n\n for (const animation of this._animations.values()) {\n if (zoom >= animation.minZoom && animation.layer.checked && !animation.layer.passive) {\n animation.animateFunction();\n animation.layer.layerObj.changed();\n }\n }\n this._completed = true;\n }\n}\n\nclass CmxCommandDisplayer implements ICommandDisplayer {\n\n private _comp: FeatureContextMenuComponent;\n\n setCmx(comp: FeatureContextMenuComponent) {\n this._comp = comp;\n }\n\n setActive(key: string, value: boolean) {\n this._comp?.setActive(key, value);\n }\n\n setDisabled(key: string, value: boolean) {\n this._comp?.setDisabled(key, value);\n }\n\n isExist(): boolean {\n return (this._comp?.isExist()) || false;\n }\n}\n",null,"import { Fill, Stroke, Style, Circle, Text, RegularShape, Icon } from \"ol/style\";\nimport { Color, fromString } from 'ol/color';\nimport * as olExtent from 'ol/extent';\nimport { fromExtent as polygonfromExtent } from \"ol/geom/Polygon\";\nimport { ColorLike } from \"ol/colorlike\";\nimport type { BasicGeometryTypes, LayerSymbology, LayerSymbologyLabelDef, SimpleLayerSymbology, UniqueValuesLayerSymbology } from \"../../types\";\nimport { toContext } from \"ol/render\";\nimport Point from \"ol/geom/Point\";\nimport LineString from \"ol/geom/LineString\";\nimport { Feature } from \"ol\";\n\nconst setAlpha = function (color: Color, alpha: number): Color {\n if (color.length == 4) return [color[0], color[1], color[2], alpha];\n else return color.concat(alpha);\n}\n\nexport class SymbologyFactory {\n static readonly DefaultSymbolNum = -9999;\n static readonly SelectionColor = 'rgb(83, 234, 253)';\n static readonly FlashColor = 'rgb(83, 234, 253)'; //'rgb(173, 70, 255)';//rgb(255, 223, 32)';\n\n static createSimplePoint(color: ColorLike, radius: number = 5): Style {\n return new Style({\n image: new Circle({\n radius,\n fill: new Fill({ color })\n })\n });\n }\n\n static createSimpleLine(color: ColorLike, width: number = 2): Style {\n return new Style({\n stroke: new Stroke({ color, width })\n });\n }\n\n static createSimplePolygon(color: string, strokeWidth: number = 2, fillOpacity: number = 0.1): Style {\n if (fillOpacity == 0) {\n return new Style({\n stroke: new Stroke({\n width: strokeWidth,\n color: color,\n })\n })\n }\n\n const fc = fromString(color);\n if (fc.length === 3) {\n fc.push(fillOpacity);\n } else {\n fc[3] = fillOpacity;\n }\n\n return new Style({\n stroke: new Stroke({\n width: strokeWidth,\n color: color,\n lineJoin: 'miter'\n }),\n fill: new Fill({\n color: fc // color + ((fillOpacity * 256) % 256).toString(16).padStart(2, '0')\n })\n })\n }\n\n static createStyleFromDef(def: LayerSymbology): Style | Map<number, Style> {\n if (def.type == 'simple') {\n switch (def.geomType) {\n case 'Point': return createSimplePointStyle(def);\n case 'LineString': return createSimpleLineStyle(def);\n case 'Polygon': return createSimplePolygonStyle(def);\n default:\n break;\n }\n } else if (def.type == 'unique') {\n switch (def.geomType) {\n case 'Point': return createUVPointStyle(def);\n case 'LineString': return createUVLineStyle(def);\n case 'Polygon': return createUVPolygonStyle(def);\n default:\n break;\n }\n }\n }\n\n static createFlashedStyles(): Map<BasicGeometryTypes, Style[]> {\n const color = SymbologyFactory.FlashColor; // 'rgb(255, 223, 32)'; //'rgb(173, 70, 255)';\n const map = new Map<BasicGeometryTypes, Style[]>();\n map.set('Point', SymbologyFactory.createGlowedPoint(color));\n map.set('LineString', SymbologyFactory.createGlowedLine(color),);\n map.set('Polygon', SymbologyFactory.createGlowedPolygon(color));\n return map;\n }\n\n static createHoverStyles(): Map<BasicGeometryTypes, Style> {\n const circleSize = 6;\n const lineSize = 4;\n const color = 'rgb(124, 207, 0)';\n const map = new Map<BasicGeometryTypes, Style>();\n map.set('Point', SymbologyFactory.createSimplePoint(color, circleSize));\n map.set('LineString', SymbologyFactory.createSimpleLine(color, lineSize),);\n map.set('Polygon', SymbologyFactory.createSimplePolygon(color, lineSize, 0.2));\n return map;\n }\n\n static createSelectionStyles(): Map<BasicGeometryTypes, Style> {\n const circleSize = 6;\n const lineSize = 4;\n const map = new Map<BasicGeometryTypes, Style>();\n map.set('Point', SymbologyFactory.createSimplePoint(SymbologyFactory.SelectionColor, circleSize));\n map.set('LineString', SymbologyFactory.createSimpleLine(SymbologyFactory.SelectionColor, lineSize),);\n map.set('Polygon', SymbologyFactory.createSimplePolygon(SymbologyFactory.SelectionColor, lineSize, 0.2));\n return map;\n }\n\n static getSelectionSymbol(): Style {\n const fc = fromString(SymbologyFactory.SelectionColor);\n if (fc.length === 3) {\n fc.push(0.5);\n } else {\n fc[3] = 0.5;\n }\n return new Style({\n stroke: new Stroke({\n color: SymbologyFactory.SelectionColor,\n width: 8\n }),\n fill: new Fill({\n color: fc\n }),\n image: new Circle({\n radius: 12,\n fill: new Fill({\n color: SymbologyFactory.SelectionColor\n })\n })\n });\n }\n\n static createCanvas(style: Style, type: BasicGeometryTypes): HTMLCanvasElement {\n const canvas = document.createElement('canvas');\n switch (type) {\n case 'Point': {\n const width: number = 30;\n const height: number = 30;\n const vectorContext = toContext(canvas.getContext('2d'), { size: [width, height] });\n vectorContext.setStyle(style);\n vectorContext.drawGeometry(new Point([width / 2, height / 2]));\n }\n break;\n case 'LineString': {\n const width: number = 30;\n const height: number = 30;\n const vectorContext = toContext(canvas.getContext('2d'), { size: [width, height] });\n vectorContext.setStyle(style);\n vectorContext.drawGeometry(new LineString([[0, height / 2], [width, height / 2]]));\n }\n break;\n case 'Polygon': {\n const width: number = 30;\n const height: number = 30;\n const vectorContext = toContext(canvas.getContext('2d'), { size: [width, height] });\n vectorContext.setStyle(style);\n const ext = olExtent.boundingExtent([[3, 3], [width - 3, height - 3]]);\n vectorContext.drawGeometry(polygonfromExtent(ext));\n }\n break;\n default:\n break;\n }\n return canvas;\n }\n\n static createCanvasFromFeature(style: Style, feature: Feature, width: number = 100, height: number = 100): HTMLCanvasElement {\n const canvas = document.createElement('canvas');\n const vectorContext = toContext(canvas.getContext('2d'), { size: [width, height] });\n vectorContext.setStyle(style);\n vectorContext.drawFeature(feature, style);\n return canvas;\n }\n\n static createGlowedLine(color: string, steps: number = 7): Style[] {\n const styles = [];\n let c = fromString(color);\n if (c.length > 3) {\n c = [c[0], c[1], c[2]];\n }\n for (let i = 0; i < steps; i++) {\n styles.push(\n new Style({\n stroke: new Stroke({\n color: c.concat([1 / (steps - i)]),\n width: (steps - i) * 2 - 1\n })\n })\n );\n }\n return styles;\n }\n\n static createGlowedPoint(color: string, steps: number = 7): Style[] {\n const styles = [];\n let c = fromString(color);\n if (c.length > 3) {\n c = [c[0], c[1], c[2]];\n }\n for (let i = 0; i < steps; i++) {\n styles.push(\n new Style({\n image: new Circle({\n radius: (steps - i) * 2 - 1,\n fill: new Fill({ color: c.concat([1 / (steps - i)]) })\n })\n })\n );\n }\n return styles;\n }\n\n static createGlowedPolygon(color: string, steps: number = 7): Style[] {\n const styles = [];\n let c = fromString(color);\n if (c.length > 3) {\n c = [c[0], c[1], c[2]];\n }\n styles.push(new Style({\n fill: new Fill({\n color: c.concat([0.2]),\n })\n }));\n for (let i = 1; i < steps; i++) {\n styles.push(\n new Style({\n stroke: new Stroke({\n color: c.concat([1 / (steps - i)]),\n width: (steps - i) * 2 - 1\n })\n })\n );\n }\n return styles;\n }\n}\n\n\nfunction createText(li: LayerSymbologyLabelDef): Text {\n const color = fromString(li.textColor);\n const textStyle = new Text({\n font: `${li.textSize}px Roboto,sans-serif`,\n overflow: !!li.overflow,\n offsetY: li.offsetY | 0,\n offsetX: li.offsetX | 0,\n fill: new Fill({ color }),\n stroke: new Stroke({\n color: '#fff',\n width: 4,\n })\n });\n\n return textStyle;\n}\n\nfunction createSimplePointStyle(def: SimpleLayerSymbology): Style {\n const stroke = def.stroke ? new Stroke({ color: def.stroke.color, width: def.stroke.size }) : null\n const s = new Style({ stroke });\n if (def.pointProps) {\n const fill = new Fill({ color: def.color });\n switch (def.pointProps.shape) {\n case 'circle': s.setImage(new Circle({ radius: def.size, fill, stroke: stroke })); break;\n case 'triangle': s.setImage(new RegularShape({ points: 3, radius: def.size, fill, stroke: stroke })); break;\n case 'square': s.setImage(new RegularShape({ points: 4, radius: def.size, fill, angle: Math.PI / 4, stroke: stroke })); break;\n case 'pentagon': s.setImage(new RegularShape({ points: 5, radius: def.size, fill, stroke: stroke })); break;\n case 'star': s.setImage(new RegularShape({ points: 5, radius: def.size, radius2: def.size / 2, fill, stroke: stroke })); break;\n case 'image': s.setImage(new Icon({\n anchor: def.pointProps.anchor,\n anchorXUnits: 'fraction',\n anchorYUnits: 'fraction',\n src: def.pointProps.src,\n height: def.pointProps.height,\n width: def.pointProps.width,\n offset: def.pointProps.offset,\n }));\n break;\n default:\n break;\n }\n }\n if (def.labelDef) s.setText(createText(def.labelDef));\n return s;\n}\n\nfunction createSimpleLineStyle(def: SimpleLayerSymbology): Style {\n return new Style({\n stroke: new Stroke({\n width: def.size,\n color: def.color,\n })\n })\n}\n\nfunction createSimplePolygonStyle(def: SimpleLayerSymbology): Style {\n let strokeColor = fromString(def.color);\n let fillColor = fromString(def.color);\n let strokeSize = 3;\n if (def.stroke) {\n strokeColor = fromString(def.stroke.color);\n strokeSize = def.stroke.size;\n } else {\n fillColor = setAlpha(fillColor, 0.1);\n }\n const s = new Style({\n stroke: new Stroke({\n width: strokeSize,\n color: strokeColor,\n }),\n fill: new Fill({\n color: fillColor\n })\n })\n if (def.labelDef) s.setText(createText(def.labelDef));\n return s;\n}\n\nfunction createUVPointStyle(def: UniqueValuesLayerSymbology): Map<number, Style> {\n const map: Map<number, Style> = new Map();\n // if (def.default) {\n // map.set(StyleFactory.DefaultSymbolNum, createSimplePointStyle(def.default.sym))\n // }\n\n for (const uv of def.values) {\n map.set(uv.st, createSimplePointStyle(uv.symbol));\n }\n return map;\n}\n\nfunction createUVLineStyle(def: UniqueValuesLayerSymbology): Map<number, Style> {\n const map: Map<number, Style> = new Map();\n for (const uv of def.values) {\n map.set(uv.st, createSimpleLineStyle(uv.symbol));\n }\n return map;\n}\n\nfunction createUVPolygonStyle(def: UniqueValuesLayerSymbology): Map<number, Style> {\n const map: Map<number, Style> = new Map();\n for (const uv of def.values) {\n map.set(uv.st, createSimplePolygonStyle(uv.symbol));\n }\n return map;\n}",null,"import { Layer } from \"ol/layer\"\nimport { LayerProperties } from \"../layers/layers.types\"\n\nexport function getLayerProps(layer: Layer): LayerProperties {\n return layer.getProperties() as LayerProperties;\n}",null,"import { BaseElement, Component, ELF, ICommandDisplayer } from '@yesilyazilim/web.spa';\nimport './styles/feature.contextmenu.component.less';\nimport type { FeatureContextMenuItemAction, IFeatureCmItem } from '../types';\n\n@Component({ elementName: 'map-feat-cm' })\nexport class FeatureContextMenuComponent extends BaseElement implements ICommandDisplayer {\n\n _closeHandler: number = 0;\n\n constructor(private _loc: { x: number, y: number }, items: IFeatureCmItem[], public action: FeatureContextMenuItemAction, private isGlass: boolean) {\n super();\n\n const arr = this._groupItems(items);\n for (let i = 0; i < arr.length; i++) {\n const kvp = arr[i];\n this.appendChild(ELF.span(kvp.title, 'GroupTitle'));\n let count = 0;\n const limit = 10;\n for (const item of kvp.items) {\n if (++count > limit) {\n item.title = \"++ Diğer \" + (kvp.items.length - limit).toString();\n this.appendChild(new ContextMenuItemComponent(this, item, true));\n break;\n } else {\n this.appendChild(new ContextMenuItemComponent(this, item));\n }\n }\n if (i < arr.length - 1) {\n this.appendChild(ELF.div('Seperator'));\n }\n }\n\n if (isGlass) {\n this.classList.add(\"glass\");\n }\n }\n\n setActive(key: string, value: boolean) {\n //throw new Error('Method not implemented.');\n }\n\n setDisabled(key: string, value: boolean) {\n //throw new Error('Method not implemented.');\n }\n\n onConnected() {\n this.style.top = this._loc.y + 'px';\n this.style.left = this._loc.x + 'px';\n\n this.addEventListener('mouseleave', () => {\n this._closeHandler = setTimeout(() => {\n this._closeHandler = 0;\n this.remove();\n }, 200);\n }, { once: true });\n\n this.addEventListener('mouseenter', () => {\n if (this._closeHandler) {\n clearTimeout(this._closeHandler);\n this._closeHandler = 0;\n }\n });\n\n document.body.addEventListener('mouseenter', () => {\n this._closeHandler = setTimeout(() => {\n this._closeHandler = 0;\n this.remove();\n }, 200);\n }, { once: true });\n }\n\n onItemMouseEnter(child: ContextMenuItemComponent) {\n this.action('enter', child.item);\n }\n\n onItemMouseLeave(child: ContextMenuItemComponent) {\n this.action('leave', child.item);\n }\n\n onItemMouseClick(child: ContextMenuItemComponent) {\n this.action('leave', child.item);\n this.action('click', child.item);\n this.remove();\n }\n\n _groupItems(items: IFeatureCmItem[]): Array<{ title: string, items: IFeatureCmItem[] }> {\n const map: Map<string, IFeatureCmItem[]> = new Map();\n for (const item of items) {\n const gkey = item.group || '';\n let garr: IFeatureCmItem[] = map.get(gkey);\n if (!garr) {\n garr = [];\n map.set(gkey, garr);\n }\n garr.push(item);\n }\n const arr: Array<{ title: string, items: IFeatureCmItem[] }> = [];\n map.forEach((v, k) => {\n arr.push({ title: k, items: v });\n });\n return arr;\n }\n}\n\n\n@Component({ elementName: 'map-feat-cm-item' })\nclass ContextMenuItemComponent extends BaseElement {\n constructor(private menu: FeatureContextMenuComponent, public item: IFeatureCmItem, disabled: boolean = false) {\n super();\n\n if (disabled) {\n this.appendChild(ELF.label(item.title, \"cm-title\"));\n this.disabled = true;\n } else {\n this.addEventListener('mouseenter', () => { this.menu.onItemMouseEnter(this) });\n this.addEventListener('mouseleave', () => { this.menu.onItemMouseLeave(this) });\n this.addEventListener('click', () => { this.menu.onItemMouseClick(this) });\n\n if (item.iconClass) {\n const iconElm = ELF.icon(\"cm-icon \" + item.iconClass);\n this.appendChild(iconElm)\n }\n\n this.appendChild(ELF.label(item.title, \"cm-title\"));\n }\n }\n}\n",null,"import { Inject, StoreService, TokenManager } from \"@yesilyazilim/web.spa\";\nimport { ImageWMS } from \"ol/source\";\nimport { LayerDefinitionProp_Wms } from \"../../layers/layers.definitions\";\nimport { MapIdentifyData } from \"../../types\";\nimport { GeoJSONFeatureCollection } from \"ol/format/GeoJSON\";\nimport { OlGeomHelper } from \"../../helpers/ol.geom.helper\";\nimport Geometry from \"ol/geom/Geometry\";\nimport { Feature } from \"ol\";\n\nexport class GeoserverChannel {\n private readonly _proxyUrl: string;\n\n @Inject() storeService: StoreService;\n\n public source: ImageWMS;\n public customParamsFnc: (action: 'getmap' | 'identify') => { [key: string]: any; };\n\n constructor(private readonly _wmsProps: LayerDefinitionProp_Wms) {\n this._proxyUrl = new URL('/proxy', this.storeService.appProperties.apiEndPoint).toString() + '?';\n\n this.source = new ImageWMS({\n url: _wmsProps.url,\n params: {\n LAYERS: _wmsProps.layers,\n format: _wmsProps.imagetype,\n transparent: true,\n serverType: 'geoserver'\n },\n crossOrigin: 'anonymous',\n serverType: 'geoserver',\n imageLoadFunction: async (iw, url) => {\n const urlWithParams = this._getWithCustomParams('getmap', url);\n const obj = await this._getImageData(urlWithParams);\n if (obj) (iw.getImage() as HTMLImageElement).src = obj;\n }\n });\n }\n\n public async IdentifyAsync(inp: MapIdentifyData): Promise<Feature<Geometry>[]> {\n const up = new URLSearchParams();\n up.append('SERVICE', 'WMS');\n up.append('VERSION', '1.3');\n up.append('REQUEST', 'GetFeatureInfo');\n up.append('INFO_FORMAT', 'application/json');\n up.append('LAYERS', this._wmsProps.layers);\n up.append('QUERY_LAYERS', this._wmsProps.layers);\n up.append('STYLES', '');\n up.append('BBOX', inp.mapExtent.join(','));\n up.append('FEATURE_COUNT', '10');\n up.append('HEIGHT', inp.imageDisplay.h.toFixed(0).toString());\n up.append('WIDTH', inp.imageDisplay.w.toFixed(0).toString());\n up.append('SRS', 'EPSG:4326');\n up.append('X', Math.round(inp.screenPoint[0]).toString());\n up.append('Y', Math.round(inp.screenPoint[1]).toString());\n //up.append('viewparams', this.source.getParams().viewparams as string);\n\n this._fillCustomParams('identify', up);\n\n var url = this._wmsProps.url + '?' + up.toString();\n if (!url) return null;\n const headers = {};\n let purl = url;\n if (this._wmsProps.useProxy) {\n headers[\"Authorization\"] = TokenManager.headerValue;\n purl = this._proxyUrl + encodeURIComponent(url)\n }\n\n const res = await fetch(purl, {\n headers: headers,\n method: 'GET'\n });\n if (res.ok) {\n const json = await res.json();\n var ft = OlGeomHelper.fromGeojsonFeatures<Geometry>(json);\n return ft;\n }\n return null;\n }\n\n private async _getImageData(url: string): Promise<string> {\n return new Promise<string>((resolve, reject) => {\n const client = new XMLHttpRequest();\n client.responseType = 'blob';\n\n let purl = url;\n if (this._wmsProps.useProxy) {\n purl = this._proxyUrl + encodeURIComponent(url)\n }\n\n client.open('GET', purl);\n if (this._wmsProps.useProxy)\n client.setRequestHeader(\"Authorization\", TokenManager.headerValue);\n client.onload = function () {\n const ct = client.getResponseHeader('content-type') || '';\n if (ct.toLocaleLowerCase().startsWith('image')) {\n resolve(URL.createObjectURL(client.response));\n } else {\n resolve(null);\n }\n };\n client.send();\n });\n }\n\n private _getWithCustomParams(action: 'getmap' | 'identify', url: string): string {\n const uri = URL.parse(url);\n const sp = uri.searchParams;\n this._fillCustomParams(action, sp);\n return uri.toString();\n }\n\n private _fillCustomParams(action: 'getmap' | 'identify', sp: URLSearchParams) {\n if (this.customParamsFnc) {\n const cparams = this.customParamsFnc(action);\n if (cparams) {\n for (const key of Object.keys(cparams)) {\n let obj = cparams[key]?.toString() ?? \"\";\n sp.append(key, obj);\n }\n }\n }\n }\n}\n",null,"import VectorLayer from \"ol/layer/Vector\";\nimport { MapLayerBase } from \"./maplayer.base\";\nimport { LayerDefinitionCustom } from \"./layers.definitions\";\nimport { Vector as VectorSource } from \"ol/source\";\nimport Point from \"ol/geom/Point\";\nimport { Feature } from \"ol\";\nimport { IdentifyType, LayerLegendSymbolInfo } from \"./layers.types\";\nimport { Inject } from \"@yesilyazilim/web.spa\";\nimport { Icon, Stroke, Style } from \"ol/style\";\nimport { LayerDefinitionTypes } from \"../gis.enums\";\nimport Circle from \"ol/style/Circle\";\nimport { unByKey } from \"ol/Observable\";\nimport { getVectorContext } from \"ol/render\";\nimport { easeOut } from 'ol/easing';\nimport { MapManager } from \"../managers/map.manager\";\n\ntype OLayerType = VectorLayer<VectorSource<Feature<Point>>>;\n\nconst MapIconData = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFNUlEQVR4nNWZW2wUVRjHj5cYozExJuqLRt80MfFJY2Ji9MFHhOzMnEUFhEAEJFFIDAQM2qReQrxA0M6cGUqhLJfaQoUEFWgad3fOdAulthRautpCKbS0Xcr2st1u5/qZMw0kptJ06k5n95ec9/nlXL7v+w9Ceaa9Bj+kEv62KvHwv5fI16GgiBE+3FixwjQmemC85zCMdO70vK5rn0Nc5B1N5l8JTESTcXSwvdoGZwogfQQgfdDzaqtZZ2gE1wYmESVLno9LvGPlBgByl+clke74nh0rO6pwLwYmoopcacfJz3RgjJ2ch0gEmg+t0qkk7AlMoqYGP0BlYTBzsxHATM1rN4ZavwGV8Hp0d+iZwERUiV9E5aU22DmAbKNnCWc4Amf3L9epxO1AQUJlfLKvpdICxwQY+dmzSP+5UqBEmEiU4ycCk6gvf+dpVeIsc6IXYKrLs4SVqoTE3vd0VeS2oCCJS9zW1tpNOoADMH7Ks0gv3Q5UwbealUWPBCYBgO7TCO4dux4FsEY8SxgDFaDtCRtqGf8hChJK+LcowY5jZQCy5z2LdNdvcaiCe6Ilbz4YtEjVtbPEBLABRmo8Sej95UAJttSykBCoRHTXksdVidf1sb8B9B7Pu5E8tcmiMm5jxzNQEVUMfdx0eL3h7kam3pPEZC9hxc+mEvc2Chqq4MvpK6cB7AxA+pAnkfYTG0xNDseCdkAxMfSqKgrgmKMAkxc8SYx3/+i26WoZ/1rQHkglfHl37AfTrR2jtZ5E2o6uDbZNv8OZ75Y/qhIhm0tfAjD65tOmgyqGNrD7MZfV7FehpBK/+uyBVYbbV2ViHkQi0FK12tO4G5d4xRcJV0TB51Odxx23000f9vzszqXan6tcoVOCz/hWKNnkxi6qracAcu15l7BvVcKfVWt0Vl/YEUZ+EZe4ncm6L6enwNETeZVwbkfcZ5kquI911L5JsKiHEjyaTTUDmIN5342uuk9tKgtjmoRfQH4SF7mliYplJjg6wISWV4lebbvDxty4yL+O/EaTw9GBi1U2OAbASFXeJFIXdrjtSkzkuQWMevoBppJ5kxhN7nI74JjIbUQLFfUk9i2zx/soDLTshhsNX8y+EiXgZJtnjYUmrorQoIRNKgk7F0SCoRKuUtuzVJvLUgmfuZYg9vSMcvSes0jjvvd1TRJqoaTkflRoqLvxk5QIppG5cs8ZxRraD+cPrdI1GTdG9698GBUicZHb1lKz0ZgOIk7PrBXDEbh4bL1BFdwdaPQzG+yIUFnoZ/cIrPR/7EYEkr9vsijBw+zxQIWKejdtnATInpshcjW2zVGJMFUQc8hsaBKu62+NWNN15t9p40DzV27KHpNCi1Eh01DGPcc+1JqcWWfcGYTwtipxH6FCJy5xOzp+2z7jl0Km+yfQZGyqhCtFhU47ayZlPJIdYs3k0F2J3HUFEhXvGpokVAce+cyFOBGWNVasNN27MUFdCXOwApoOfKBrCqZMFBUDlOCmocu1DjhsYjwC9vABaK1eY2gy/ouFeKgYoGX8S9MT4zBA7pJbKzp//cSkMk7FxSXPomKBEl7p+uPb6Uo+ehy66zezWpFVRf5lVCxoexc/phJ+cirdAWDcgJtNpcB++BREDOoFlk01HVxrgGPB+LVjd2rFClRsUAUnWfZr5W4ClcMWlfBWVGzEJP6NOBEc9t+w6eA6XZXxXlSMqLJQnaz/2mr7ZbPha5DmJw1S6Ck2PGlyGKiMW30N0vwenlgu63uQ5vvwpOC+BQnSkI+w4SkucZMLEqR54B93ht9yYcxvPgAAAABJRU5ErkJggg==\"\n\nconst Ld: LayerDefinitionCustom = {\n key: 'flashLayer',\n order: 500,\n props: { factoryKey: 'flashLayer' },\n title: 'FlashLayer',\n type: LayerDefinitionTypes.Custom,\n visible: true,\n canRemove: false\n}\n\nexport class FlashLayer extends MapLayerBase<OLayerType, LayerDefinitionCustom> {\n\n identifyType: 'none' = 'none';\n \n private readonly _source: VectorSource<Feature<Point>>;\n private _images: { free: HTMLImageElement, busy: HTMLImageElement };\n private readonly _visMap: Map<string, boolean> = new Map();\n\n @Inject() mapManager: MapManager;\n\n onAdd(): void {\n }\n\n constructor() {\n super(Ld);\n\n this._source = new VectorSource<Feature<Point>>({\n wrapX: false,\n });\n this._layer = new VectorLayer<VectorSource<Feature<Point>>>({\n properties: { mapLayer: this, name: this._definition.key, canEdit: false, canFlash: true, canSelect: false },\n source: this._source,\n style: new Style({\n image: new Icon({\n src: MapIconData,\n height: 30,\n width: 30,\n })\n })\n });\n\n }\n\n getLegendInfos(): LayerLegendSymbolInfo[] {\n return [];\n }\n\n flash(feature) {\n const map = this.mapManager.map;\n const source = this._source;\n const start = Date.now();\n const flashGeom = feature.getGeometry().clone();\n const listenerKey = map.getAllLayers()[0].on('postrender', animate);\n\n function animate(event) {\n const frameState = event.frameState;\n const elapsed = frameState.time - start;\n if (elapsed >= 3000) {\n unByKey(listenerKey);\n source.removeFeature(feature);\n return;\n }\n const vectorContext = getVectorContext(event);\n const elapsedRatio = elapsed / 3000;\n // radius will be 5 at start and 30 at end.\n const radius = easeOut(elapsedRatio) * 25 + 5;\n const opacity = easeOut(1 - elapsedRatio);\n\n const style = new Style({\n image: new Circle({\n radius: radius,\n stroke: new Stroke({\n color: 'rgba(255, 185, 0, ' + opacity + ')',\n width: 0.25 + opacity,\n }),\n }),\n });\n\n vectorContext.setStyle(style);\n vectorContext.drawGeometry(flashGeom);\n // tell OpenLayers to continue postrender animation\n map.render();\n }\n }\n\n}",null,"import { Command, CommandTypes, ICommand } from \"@yesilyazilim/web.spa\";\nimport { GisCommandContainers } from \"../../gis.enums\";\n\n@Command({\n type: CommandTypes.Command,\n container: GisCommandContainers.ribbon,\n key: 'view-fullscreen',\n group: 'mg-general-map',\n order: 3,\n title: 'Tam Ekran',\n iconClass: 'bi bi-arrows-fullscreen'\n})\nexport class FullscreenCommand implements ICommand {\n enabled: boolean;\n active: boolean;\n\n constructor() {\n this.enabled = true;\n this.active = false;\n }\n\n start(childKey?: string): void {\n if (((window as any).fullScreen) ||\n (window.innerWidth == screen.width && window.innerHeight == screen.height)) {\n this._closeFullscreen();\n this.active = false;\n } else {\n this._openFullscreen();\n this.active = true;\n }\n }\n\n private _openFullscreen(): void {\n const elem = document.documentElement as any;\n if (elem.requestFullscreen) {\n elem.requestFullscreen();\n } else if (elem.mozRequestFullScreen) { /* Firefox */\n elem.mozRequestFullScreen();\n } else if (elem.webkitRequestFullscreen) { /* Chrome, Safari and Opera */\n elem.webkitRequestFullscreen();\n } else if (elem.msRequestFullscreen) { /* IE/Edge */\n elem.msRequestFullscreen();\n }\n }\n\n _closeFullscreen(): void {\n let elem = document as any;\n if (elem.exitFullscreen) {\n elem.exitFullscreen();\n } else if (elem.mozCancelFullScreen) { /* Firefox */\n elem.mozCancelFullScreen();\n } else if (elem.webkitExitFullscreen) { /* Chrome, Safari and Opera */\n elem.webkitExitFullscreen();\n } else if (elem.msExitFullscreen) { /* IE/Edge */\n elem.msExitFullscreen();\n }\n }\n}",null,"import { BaseElement, Command, CommandTypes, Component, DialogWindow, ELF, EventService, ICommand, Inject } from \"@yesilyazilim/web.spa\";\n\nimport CoordinateParser from \"coordinate-parser\";\nimport { GisCommandContainers, GisEvents } from \"../../gis.enums\";\nimport { MapFlashGeomRequestData } from \"../../types\";\nimport { MapManager } from \"../../managers/map.manager\";\nimport { Point } from \"ol/geom\";\n\n@Command({\n type: CommandTypes.Command,\n key: 'goto-cmd',\n container: GisCommandContainers.ribbon,\n group: 'mg-general-map',\n title: 'Git',\n order: 3,\n iconClass: 'bi bi-geo-alt'\n})\nexport class GotoCommand implements ICommand {\n constructor() {\n this.enabled = true;\n this.active = false;\n }\n start(childKey?: string): void {\n if (!this.active) {\n DialogWindow.ShowAsync(\"Git\", new GoToComponent()).then(() => {\n this.active = false;\n });\n this.active = true;\n }\n }\n enabled: boolean;\n active: boolean;\n}\n\n@Component({\n elementName: 'map-goto-comp'\n})\nclass GoToComponent extends BaseElement {\n\n @Inject() mapManager: MapManager;\n @Inject() eventService: EventService;\n\n constructor() {\n super();\n }\n\n protected onConnected(): void {\n const inp = ELF.input(\"text\");\n const lx = ELF.label('Koordinat - Enlem (Y), Boylam (X)');\n const btn = ELF.button('Git', 'Koordinata Git', null, null, () => {\n const txt = inp.value;\n if (txt) {\n try {\n const cp = new CoordinateParser(txt);\n const coords = [cp.getLongitude(), cp.getLatitude()];\n //this.mapManager.goto(coords);\n const dur = 1000;\n this.mapManager.view.animate({\n center: coords,\n duration: dur,\n });\n setTimeout(() => {\n const ea: MapFlashGeomRequestData = {\n geom: new Point(coords)\n };\n this.eventService.raise(GisEvents.MapFlashGeomRequest, ea);\n }, dur);\n\n } catch (error) {\n }\n }\n })\n btn.ariaPlaceholder = 'Enlem (Y) Boylam (X)';\n\n const divWgs = ELF.div(\"flex-v gap-1\", lx, inp, btn);\n this.appendChild(divWgs);\n\n }\n}",null,"import { Application, Command, CommandService, CommandTypes, EventService, ICommand, Inject, ITool, PanelPos } from \"@yesilyazilim/web.spa\";\nimport { MapBrowserEvent } from \"ol\";\nimport { Coordinate } from \"ol/coordinate\";\nimport { IdentifyResultsComponent } from \"../../components/identify-results.component\";\nimport { GisCommandContainers, GisEvents } from \"../../gis.enums\";\nimport { MapContextMenuCommandProperties, MapContextMenuStartArgs, MapIdentifyData } from \"../../types\";\nimport { LayerIdentifyResultAsync } from \"../../layers/layers.types\";\nimport { MapManager } from \"../../managers/map.manager\";\n\n@Command({\n type: CommandTypes.Tool,\n container: GisCommandContainers.ribbon,\n key: 'map-identify',\n group: 'mg-general-query',\n order: 1,\n title: 'Bilgi Al',\n iconClass: 'icon--identify fg-info'\n})\nexport class IdentifyTool implements ITool {\n @Inject() mapManager: MapManager;\n @Inject() commandService: CommandService;\n\n constructor() {\n this.enabled = true;\n }\n\n cancel(): boolean {\n this.mapManager.map.un('singleclick', this._onMapSingleClick);\n this.active = false;\n return true;\n }\n\n start(childKey?: string): void {\n this.mapManager.map.on('singleclick', this._onMapSingleClick);\n this.active = true;\n }\n\n enabled: boolean;\n active: boolean;\n\n _onMapSingleClick = async (evt: MapBrowserEvent<PointerEvent>) => {\n evt.preventDefault();\n const sa: MapContextMenuStartArgs = {\n coord: evt.coordinate,\n pixel: evt.pixel\n }\n this.commandService.startCommand('map-identify-ctx', null, sa);\n }\n}\n\nconst cmxProps: MapContextMenuCommandProperties = {\n type: CommandTypes.Command,\n container: GisCommandContainers.mapCtx,\n key: 'map-identify-ctx',\n group: '',\n order: 1,\n title: 'Bilgi Al',\n iconClass: 'icon--identify fg-info',\n canExecuteFor: (sa: MapContextMenuStartArgs) => {\n return !(sa.ci);\n }\n};\n\n@Command(cmxProps)\nexport class IdentifyToolCtx implements ICommand {\n\n @Inject() mapManager: MapManager;\n @Inject() eventService: EventService;\n @Inject() application: Application;\n\n enabled: boolean;\n active: boolean;\n\n constructor() {\n this.enabled = true;\n }\n\n start(childKey?: string, sa?: MapContextMenuStartArgs): void {\n const vse = this.mapManager.view.getViewStateAndExtent();\n const rect = this.mapManager.map.getTargetElement().getBoundingClientRect();\n //const px = this.mapManager.map.getPixelFromCoordinate(coord);\n const inp: MapIdentifyData = {\n coords: sa.coord,\n imageDisplay: { w: rect.width, h: rect.height, dpi: 96 },\n mapExtent: vse.extent,\n screenPoint: sa.pixel,\n tolerance: 5\n };\n\n this.eventService.raise<MapIdentifyData, LayerIdentifyResultAsync>(GisEvents.MapIdentifyRequest, inp).then((results) => {\n this._displayResultsAsync(inp, results);\n });\n }\n\n private async _displayResultsAsync(inp: MapIdentifyData, results: LayerIdentifyResultAsync[]): Promise<void> {\n const comp = new IdentifyResultsComponent({\n coord: inp.coords\n });\n this.application.openPanel({\n closable: true,\n header: 'Bilgi Al',\n name: 'identify-results',\n draggable: true,\n content: comp\n }, PanelPos.Right);\n\n for (const result of results) {\n comp.addIdentifyResult(result);\n }\n }\n\n}",null,"import { Accordion, BaseElement, Component, ELF, EventService, FormService, Inject } from \"@yesilyazilim/web.spa\";\nimport { Coordinate } from 'ol/coordinate';\nimport { Point } from \"ol/geom\";\nimport { GisEvents } from \"../gis.enums\";\nimport { MapFlashGeomRequestData } from \"../types\";\nimport { OlGeomHelper } from \"../helpers/ol.geom.helper\";\nimport { IdentifyResultItem, LayerIdentifyResult } from \"../layers/layers.types\";\nimport './styles/identify-results.component.less';\n\nexport type IdentifyResultProperties = {\n coord: Coordinate;\n}\n\n@Component({ elementName: 'map-identify-results' })\nexport class IdentifyResultsComponent extends BaseElement {\n private _header: HTMLDivElement;\n private _body: HTMLDivElement;\n\n @Inject() eventService: EventService;\n @Inject() formService: FormService;\n\n constructor(private props: IdentifyResultProperties) {\n super();\n\n this._header = this._createHeader();\n this._body = ELF.div('body');\n this.appendChildren(this._header, this._body);\n }\n\n public addIdentifyResult(idRes: LayerIdentifyResult) {\n if (idRes.status) {\n const factoryKey = idRes.sourceLayer.factoryType;\n const serviceKey = idRes.sourceLayer.id;\n Promise.resolve(idRes.result).then((opRes) => {\n if (!(opRes.success && opRes.data)) {\n\n } else {\n for (const item of opRes.data) {\n const elm = this._getAccordContentFor(factoryKey, serviceKey, item);\n const acc = new Accordion({\n header: item.layerTitle,\n content: elm\n });\n this._body.appendChild(acc);\n }\n }\n });\n }\n }\n\n private _createHeader(): HTMLDivElement {\n const btn = ELF.Buttons.mini(this._onHeaderZoomClicked, 'bi bi-zoom-in', 'Haritada Göster');\n const coordSp = ELF.span(OlGeomHelper.formatCoordWgs(this.props.coord));\n return ELF.div('header', btn, coordSp);\n }\n\n private _onHeaderZoomClicked = () => {\n var ed: MapFlashGeomRequestData = {\n geom: new Point(this.props.coord)\n }\n this.eventService.raise(GisEvents.MapFlashGeomRequest, ed);\n }\n\n private _getAccordContentFor(factoryType: string, serviceKey: string, item: IdentifyResultItem): HTMLDivElement {\n const div = ELF.div('IdentifyContent');\n ELF.showHideSpinnerAt(div, true, 'Form Hazırlanıyor...');\n this.formService.createFormAsync(item.feature, factoryType, serviceKey, item.layerKey, 'identify').then((opres) => {\n ELF.showHideSpinnerAt(div, false);\n if (opres.success) {\n div.appendChild(opres.data);\n } else {\n ELF.showHideMessageDisplayAt(div, true, 'error', opres.message);\n }\n });\n return div;\n }\n}",null,"import { Command, CommandService, CommandTypes, ICommand, ITool, Inject } from \"@yesilyazilim/web.spa\";\nimport { Geometry, LineString, Point } from 'ol/geom';\nimport { Draw, Modify } from 'ol/interaction';\nimport { getArea, getLength } from 'ol/sphere';\nimport {\n Circle as CircleStyle,\n Fill,\n RegularShape,\n Stroke,\n Style,\n Text,\n} from 'ol/style';\n\nimport { Coordinate } from 'ol/coordinate';\nimport { Vector as VectorLayer } from 'ol/layer';\nimport { Vector as VectorSource } from 'ol/source';\nimport { GisCommandContainers } from '../../gis.enums';\nimport { MapManager } from '../../managers/map.manager';\nimport { MapContextMenuCommandProperties, MapContextMenuStartArgs } from \"../../types\";\n\nclass MeasureDrawer {\n\n isActive: boolean;\n\n style: Style;\n labelStyle: Style;\n tipStyle: Style;\n modifyStyle: Style;\n segmentStyle: Style;\n segmentStyles: Style[];\n modify: Modify;\n source: VectorSource;\n tipPoint: any;\n vector: VectorLayer;\n draw: Draw;\n\n\n @Inject() mapManager: MapManager;\n\n private _initStyles() {\n this.style = new Style({\n fill: new Fill({\n color: 'rgba(255, 255, 0, 0.2)',\n }),\n stroke: new Stroke({\n color: 'rgba(255, 255, 0, 0.9)',\n lineDash: [10, 10],\n width: 2,\n }),\n image: new CircleStyle({\n radius: 5,\n stroke: new Stroke({\n color: 'rgba(255, 255, 0, 0.7)',\n }),\n fill: new Fill({\n color: 'rgba(255, 255, 0, 0.2)',\n }),\n }),\n });\n\n this.labelStyle = new Style({\n text: new Text({\n font: '14px sans-serif',\n fill: new Fill({\n color: 'rgba(255, 255, 255, 1)',\n }),\n backgroundFill: new Fill({\n color: 'rgba(0, 0, 0, 0.7)',\n }),\n padding: [3, 3, 3, 3],\n textBaseline: 'bottom',\n offsetY: -15,\n }),\n image: new RegularShape({\n radius: 8,\n points: 3,\n angle: Math.PI,\n displacement: [0, 10],\n fill: new Fill({\n color: 'rgba(0, 0, 0, 0.7)',\n }),\n }),\n });\n\n this.tipStyle = new Style({\n text: new Text({\n font: '12px sans-serif',\n fill: new Fill({\n color: 'rgba(255, 255, 255, 1)',\n }),\n backgroundFill: new Fill({\n color: 'rgba(0, 0, 0, 0.4)',\n }),\n padding: [2, 2, 2, 2],\n textAlign: 'left',\n offsetX: 15,\n }),\n });\n\n this.modifyStyle = new Style({\n image: new CircleStyle({\n radius: 5,\n stroke: new Stroke({\n color: 'rgba(0, 0, 0, 0.7)',\n }),\n fill: new Fill({\n color: 'rgba(0, 0, 0, 0.4)',\n }),\n }),\n text: new Text({\n text: 'Düzenlemek için sürükleyin',\n font: '12px sans-serif',\n fill: new Fill({\n color: 'rgba(255, 255, 255, 1)',\n }),\n backgroundFill: new Fill({\n color: 'rgba(0, 0, 0, 0.7)',\n }),\n padding: [2, 2, 2, 2],\n textAlign: 'left',\n offsetX: 15,\n }),\n });\n\n this.segmentStyle = new Style({\n text: new Text({\n font: '12px sans-serif',\n fill: new Fill({\n color: 'rgba(255, 255, 255, 1)',\n }),\n backgroundFill: new Fill({\n color: 'rgba(0, 0, 0, 0.4)',\n }),\n padding: [2, 2, 2, 2],\n textBaseline: 'bottom',\n offsetY: -12,\n }),\n image: new RegularShape({\n radius: 6,\n points: 3,\n angle: Math.PI,\n displacement: [0, 8],\n fill: new Fill({\n color: 'rgba(0, 0, 0, 0.4)',\n }),\n }),\n });\n\n this.segmentStyles = [this.segmentStyle];\n }\n\n start(isArea: boolean, initCoord?: Coordinate) {\n if (this.isActive) {\n this.stop();\n }\n this._initStyles();\n this.source = new VectorSource();\n this.modify = new Modify({ source: this.source, style: this.modifyStyle });\n const styleFunc = function (feature) {\n return this.styleFunction(feature, true);\n };\n this.vector = new VectorLayer({\n source: this.source,\n style: styleFunc.bind(this),\n zIndex: 500\n });\n this.mapManager.map.addLayer(this.vector);\n this.mapManager.map.addInteraction(this.modify);\n\n const drawType = isArea ? 'Polygon' : 'LineString';\n const activeTip = 'Devam etmek için tıklayınız ';\n //(drawType === 'Polygon' ? 'polygon' : 'line');\n const idleTip = 'Ölçüme başlamak için tıklayınız';\n let tip = idleTip;\n const styleFunc2 = function (feature) {\n return this.styleFunction(feature, true, drawType, tip);\n };\n\n this.draw = new Draw({\n source: this.source,\n type: drawType,\n style: styleFunc2.bind(this),\n });\n this.draw.on('drawstart', () => {\n this.source.clear();\n this.modify.setActive(false);\n tip = activeTip;\n });\n this.draw.on('drawend', () => {\n this.modifyStyle.setGeometry(this.tipPoint);\n this.modify.setActive(true);\n this.mapManager.map.once('pointermove', () => {\n this.modifyStyle.setGeometry(null);\n });\n tip = idleTip;\n });\n this.modify.setActive(true);\n this.mapManager.map.addInteraction(this.draw);\n\n if (initCoord) {\n this.draw.appendCoordinates([initCoord]);\n }\n\n this.isActive = true;\n }\n\n stop() {\n if (this.isActive) {\n this.mapManager.map.removeInteraction(this.draw);\n this.mapManager.map.removeInteraction(this.modify);\n this.mapManager.map.removeLayer(this.vector);\n this.isActive = false;\n }\n }\n\n formatLength(line: Geometry) {\n const length = getLength(line, { projection: 'EPSG:4326' });\n let output;\n if (length > 1000) {\n output = Math.round((length / 1000) * 100) / 100 + ' km';\n } else {\n output = Math.round(length * 100) / 100 + ' m';\n }\n return output;\n };\n\n formatArea(polygon) {\n const area = getArea(polygon, { projection: 'EPSG:4326' });\n let output;\n if (area > 1000000) {\n output = Math.round((area / 1000000) * 100) / 100 + ' km\\xB2';\n } else {\n output = Math.round(area * 100) / 100 + ' m\\xB2';\n }\n return output;\n };\n\n styleFunction(feature, segments, drawType, tip) {\n const styles = [this.style];\n const geometry = feature.getGeometry();\n const type = geometry.getType();\n let point, label, line;\n if (!drawType || drawType === type) {\n if (type === 'Polygon') {\n point = geometry.getInteriorPoint();\n label = this.formatArea(geometry);\n line = new LineString(geometry.getCoordinates()[0]);\n } else if (type === 'LineString') {\n point = new Point(geometry.getLastCoordinate());\n label = this.formatLength(geometry);\n line = geometry;\n }\n }\n if (segments && line) {\n let count = 0;\n line.forEachSegment((a, b) => {\n const segment = new LineString([a, b]);\n const label = this.formatLength(segment);\n if (this.segmentStyles.length - 1 < count) {\n this.segmentStyles.push(this.segmentStyle.clone());\n }\n const segmentPoint = new Point(segment.getCoordinateAt(0.5));\n this.segmentStyles[count].setGeometry(segmentPoint);\n this.segmentStyles[count].getText().setText(label);\n styles.push(this.segmentStyles[count]);\n count++;\n });\n }\n if (label) {\n this.labelStyle.setGeometry(point);\n this.labelStyle.getText().setText(label);\n styles.push(this.labelStyle);\n }\n if (\n tip &&\n type === 'Point' &&\n !this.modify.getOverlay().getSource().getFeatures().length\n ) {\n this.tipPoint = geometry;\n this.tipStyle.getText().setText(tip);\n styles.push(this.tipStyle);\n }\n return styles;\n }\n}\n\nconst mdrawer = new MeasureDrawer();\n\n@Command({\n type: CommandTypes.Tool,\n container: GisCommandContainers.ribbon,\n key: 'measure-line-tool',\n group: 'mg-general-measure',\n order: 1,\n title: 'Mesafe',\n iconClass: 'icon--measure-line fg-warning'\n})\nexport class MeasureLineTool implements ITool {\n constructor() {\n this.enabled = true;\n }\n cancel(): boolean {\n mdrawer.stop();\n this.active = false;\n return true;\n }\n start(childKey?: string, coord?: Coordinate): void {\n mdrawer.start(false, coord);\n this.active = true;\n }\n enabled: boolean;\n active: boolean;\n}\n\n@Command({\n type: CommandTypes.Tool,\n container: GisCommandContainers.ribbon,\n key: 'measure-area-tool',\n group: 'mg-general-measure',\n order: 2,\n title: 'Alan',\n iconClass: 'icon--measure-area fg-warning'\n})\nexport class MeasureAreaTool implements ITool {\n constructor() {\n this.enabled = true;\n }\n cancel(): boolean {\n mdrawer.stop();\n this.active = false;\n return true;\n }\n start(childKey?: string, coord?: Coordinate): void {\n mdrawer.start(true, coord);\n this.active = true;\n }\n enabled: boolean;\n active: boolean;\n}\n\nconst cmxPropsLine: MapContextMenuCommandProperties = {\n type: CommandTypes.Command,\n container: GisCommandContainers.mapCtx,\n key: 'ctx-measure-line-tool',\n group: '',\n order: 1,\n title: 'Mesafe Ölç',\n iconClass: 'icon--measure-line fg-warning',\n canExecuteFor: (sa: MapContextMenuStartArgs): boolean => {\n return !(sa.ci);\n }\n};\n\n@Command(cmxPropsLine)\nexport class MeasureLineToolCtx implements ICommand {\n\n @Inject() cmdService: CommandService;\n\n constructor() {\n this.enabled = true;\n }\n start(childKey?: string, sa?: MapContextMenuStartArgs): void {\n this.cmdService.startCommand('measure-line-tool', childKey, sa?.coord);\n }\n enabled: boolean;\n active: boolean;\n}\n\nconst cmxPropsArea: MapContextMenuCommandProperties = {\n type: CommandTypes.Command,\n container: GisCommandContainers.mapCtx,\n key: 'ctx-measure-area-tool',\n group: '',\n order: 2,\n title: 'Alan Ölç',\n iconClass: 'icon--measure-area fg-warning',\n canExecuteFor: (sa: MapContextMenuStartArgs): boolean => {\n return !(sa.ci);\n }\n};\n\n@Command(cmxPropsArea)\nexport class MeasureAreaToolCtx implements ICommand {\n\n @Inject() cmdService: CommandService;\n\n constructor() {\n this.enabled = true;\n }\n start(childKey?: string, sa?: MapContextMenuStartArgs): void {\n this.cmdService.startCommand('measure-area-tool', childKey, sa?.coord);\n }\n enabled: boolean;\n active: boolean;\n}\n\n",null,"import { Application, Command, CommandTypes, ICommand, Inject, PanelPos } from \"@yesilyazilim/web.spa\";\nimport { GisCommandContainers } from \"../../gis.enums\";\nimport { TocComponent } from \"../../components/toc.components\";\n\n@Command({\n type: CommandTypes.Command,\n container: GisCommandContainers.ribbon,\n key: 'view-sh-layerlist',\n group: 'mg-view-panels',\n order: 1,\n title: 'Katmanlar',\n iconClass: 'bi bi-layers'\n})\nexport class ShLayerListCommand implements ICommand {\n enabled: boolean;\n active: boolean;\n\n @Inject() application: Application;\n\n constructor() {\n this.enabled = true;\n this.active = true;\n }\n\n start(childKey?: string): void {\n if (this.application.isPanelOpen('panel-map-toc')) {\n this.application.closePanelAsync('panel-map-toc');\n } else {\n this.application.openPanel({\n closable: false,\n name: 'panel-map-toc',\n header: 'Katmanlar',\n content: new TocComponent(),\n draggable: true\n }, PanelPos.Left);\n }\n this.active = !this.active;\n }\n}",null,"import './styles/toc-component.less';\n\nimport { BaseElement, Component, Inject, TreeView } from \"@yesilyazilim/web.spa\";\n\nimport { LayerManager } from '../managers/layer.manager';\n\n@Component({ elementName: \"app-toc\" })\nexport class TocComponent extends BaseElement {\n @Inject() layerManager: LayerManager;\n\n private _tree: TreeView;\n constructor() {\n super();\n this._tree = new TreeView(this.layerManager.layerList, {\n selection: {\n mode: 'multi',\n }\n });\n this.appendChild(this._tree);\n }\n}",null,"import { Application, Command, CommandTypes, ICommand, Inject, PanelPos } from \"@yesilyazilim/web.spa\";\nimport { GisCommandContainers } from \"../../gis.enums\";\nimport { LegendComponent } from \"../../components/legend.component\";\n\n@Command({\n type: CommandTypes.Command,\n container: GisCommandContainers.ribbon,\n key: 'view-sh-legend',\n group: 'mg-view-panels',\n order: 2,\n title: 'Lejant',\n iconClass: 'bi bi-layers'\n})\nexport class ShLegendCommand implements ICommand {\n enabled: boolean;\n active: boolean;\n\n @Inject() application: Application;\n\n constructor() {\n this.enabled = true;\n this.active = true;\n }\n\n start(childKey?: string): void {\n if (this.application.isPanelOpen('panel-map-legend')) {\n this.application.closePanelAsync('panel-map-legend');\n } else {\n this.application.openPanel({\n closable: false,\n name: 'panel-map-legend',\n header: 'Lejant',\n content: new LegendComponent(true),\n draggable: true\n }, PanelPos.Left);\n }\n this.active = !this.active;\n }\n}",null,"import './styles/legend.less';\n\nimport { BaseElement, Component, ELF, EventService, Inject, ListComponent } from \"@yesilyazilim/web.spa\";\nimport type { ILayer, IMapLayer, LayerLegendSymbolInfo } from '../layers/layers.types';\n\nimport { GisEvents } from '../gis.enums';\nimport { LayerManager } from '../managers/layer.manager';\nimport { MapManager } from '../managers/map.manager';\n\n@Component({ elementName: \"app-map-legend\" })\nexport class LegendComponent extends BaseElement {\n @Inject() layerManager: LayerManager;\n @Inject() mapManager: MapManager;\n @Inject() eventService: EventService;\n\n listComp: ListComponent<IMapLayer>;\n\n constructor(lazy?: boolean) {\n super();\n if (lazy) {\n this._attach();\n } else {\n this.eventService.listen(GisEvents.MapReady, () => {\n this._attach();\n }, this.getDisposedSignal());\n }\n }\n\n _attach() {\n this.listComp = new ListComponent({\n source: this.layerManager.layerList,\n itemFactory: this._createListItem.bind(this)\n });\n this.appendChild(this.listComp);\n }\n\n _createListItem(layer: ILayer): HTMLElement {\n const div = ELF.div('main-legend-item');\n var mainHeader = ELF.h(3, layer.title);\n div.appendChild(mainHeader);\n if (layer.hasMapLayer) {\n const ml = layer as IMapLayer;\n const infos = ml.getLegendInfos();\n if (infos && infos.length > 0) {\n let skipTitle = false;\n if (infos.length == 1 && infos[0].title == layer.title) {\n skipTitle = true;\n }\n\n for (const info of infos) {\n const subItem = new LayerLegentItem(info, skipTitle);\n div.appendChild(subItem);\n }\n }\n }\n return div;\n }\n}\n\n@Component({ elementName: 'app-layer-legend-item' })\nexport class LayerLegentItem extends BaseElement {\n\n public get layerId(): string {\n return this.info.layerId;\n }\n\n constructor(private info: LayerLegendSymbolInfo, skipTitle: boolean) {\n super();\n if (!skipTitle) {\n this.appendChild(ELF.label(info.title, 'legend-title'));\n if (info.subtitle) {\n this.appendChild(ELF.label(info.subtitle, 'legend-subtitle'));\n }\n }\n this.appendChild(this._getRowsTable());\n }\n\n private _getRowsTable() {\n const table = document.createElement('table');\n table.setClasses('legend-table');\n if (this.info.rows && this.info.rows.length > 0) {\n for (const ls of this.info.rows) {\n const row = document.createElement('tr');\n const c1 = document.createElement('td');\n c1.setClasses('leg-image-col');\n const c2 = document.createElement('td');\n if (ls.elm) c1.appendChildren(ls.elm);\n if (ls.label) c2.innerText = ls.label;\n row.appendChildren(c1, c2);\n table.appendChild(row);\n }\n }\n return table;\n }\n\n\n\n}",null,"import 'ol/ol.css';\nimport './styles/map-component.less';\n\nimport { BaseElement, Component, ELF, EventService, IndexedListChangeInfo, Inject } from \"@yesilyazilim/web.spa\";\n\nimport OMap from 'ol/Map';\nimport View from 'ol/View';\nimport { defaults as defaultControls } from 'ol/control';\nimport type { MapStartupSettings } from '../types';\nimport { GisEvents } from '../gis.enums';\nimport { IMapLayer } from '../layers/layers.types';\nimport { LayerManager } from '../managers/layer.manager';\nimport { MapManager } from '../managers/map.manager';\nimport { MapBarComponent } from './map-bar.component';\nimport { LastViewLocation } from '../types';\nimport { MapSearchComponent } from './map-search.component';\n\nconst LastLocKey = \"LastMapExtent\";\n\n@Component({\n elementName: 'app-map',\n styles: { width: \"100%\", height: \"100%\", position: \"relative\", overflow: \"hidden\", background: 'white' }\n})\nexport class MapComponent extends BaseElement {\n\n private _mapTime: number = 0;\n\n @Inject() mapManager: MapManager;\n @Inject() layerManager: LayerManager;\n @Inject() eventService: EventService;\n\n public map: OMap;\n public view: View;\n public mapBar: MapBarComponent;\n public mapSearch: MapSearchComponent;\n public popupElm: HTMLDivElement;\n\n public async initAsync(settings: MapStartupSettings): Promise<void> {\n\n const mapDiv = ELF.div(\"wh-100\");\n mapDiv.addEventListener('contextmenu', (ev) => ev.preventDefault());\n this.appendChild(mapDiv);\n\n let lo: LastViewLocation = settings.defaultLocation;\n const lljson = localStorage.getItem(LastLocKey);\n if (lljson) {\n lo = JSON.parse(lljson);\n }\n\n this.layerManager.onExtentChanged(lo);\n\n this.view = new View({\n center: lo.center,\n zoom: lo.zoom,\n constrainResolution: true\n });\n this.map = new OMap({\n target: mapDiv,\n layers: [],\n view: this.view,\n controls: []\n });\n\n this.map.once('rendercomplete', (ev) => {\n this.mapManager.init(this.map, this.view, this.popupElm, this.layerManager);\n const ctrls = defaultControls().extend(this.mapBar.controls);\n ctrls.forEach((c) => this.map.addControl(c));\n this.eventService.raise(GisEvents.MapReady, null);\n });\n\n this.layerManager.layerList.changeEvent.register(this._onLayerListChanged.bind(this));\n\n this.mapBar = new MapBarComponent(this.map);\n this.mapSearch = new MapSearchComponent({\n sources: settings.searchSources\n });\n\n const popupCloser = ELF.closeButton().setClasses('ol-popup-closer');\n const popupContent = ELF.div('popup-content');\n this.popupElm = ELF.div('ol-popup', popupCloser, popupContent);\n\n this.appendChildren(this.mapSearch, this.mapBar, this.popupElm);\n\n this.map.on('moveend', this._onMoveEnd);\n\n await this.layerManager.init(settings);\n\n this.eventService.listen(GisEvents.MapTimeChanged, (time: number) => {\n this.time = time;\n });\n }\n\n public get time(): number {\n return this._mapTime;\n }\n\n public set time(value: number) {\n if (this._mapTime === value) return;\n\n this._mapTime = value;\n const enabled = value > 0;\n this.classList.toggle('historic', enabled);\n }\n\n onConnected(): void {\n\n }\n\n private readonly _onMoveEnd = () => {\n const loc: LastViewLocation = {\n center: this.view.getCenter(),\n zoom: Math.trunc(this.view.getZoom()),\n extent: this.view.calculateExtent()\n }\n localStorage.setItem(LastLocKey, JSON.stringify(loc));\n this.layerManager.onExtentChanged(loc);\n }\n\n private _onLayerListChanged(change: IndexedListChangeInfo<IMapLayer>) {\n if (change.added) {\n for (const ml of change.added) {\n const lyr = ml.value;\n if (!lyr.order) {\n lyr.order = 20;\n }\n this.map.addLayer(lyr.layerObj);\n }\n } else if (change.removed) {\n for (const ml of change.removed) {\n this.map.removeLayer(ml.value.layerObj);\n }\n } else if (change.replaced) {\n this.map.removeLayer(change.replaced.old.value.layerObj);\n this.map.addLayer(change.replaced.new.value.layerObj);\n } else if (change.sorted) {\n //TODO: \n }\n }\n}",null,"import './styles/map-bar.less';\n\nimport { BaseElement, Component, DevLogger, ELF } from \"@yesilyazilim/web.spa\";\n\nimport Control from \"ol/control/Control\";\nimport MousePosition from 'ol/control/MousePosition';\nimport ScaleLine from 'ol/control/ScaleLine';\nimport OMap from 'ol/Map';\nimport { METERS_PER_UNIT } from 'ol/proj/Units';\nimport { OlGeomHelper } from '../helpers/ol.geom.helper';\nimport { MinimapComponent } from './minimap.component';\n\nconst INCHES_PER_METRE = 39.37;\n\nconst numFormatter = new Intl.NumberFormat();\n\n\n@Component({\n elementName: 'app-map-bar'\n})\nexport class MapBarComponent extends BaseElement {\n\n private _controls: Control[] = [];\n\n private _mousePosDiv: HTMLDivElement;\n private _mousePosCtl: MousePosition;\n\n private _zoomDiv: HTMLLabelElement;\n\n private _overviewDiv: HTMLDivElement;\n private _overviewBtn: HTMLButtonElement;\n\n private _scaleDiv: HTMLDivElement;\n private _scaleLineCtl: ScaleLine;\n\n\n constructor(private _map: OMap) {\n super();\n this._scaleDiv = ELF.div('scale-div');\n this.appendChild(this._scaleDiv);\n\n this._mousePosDiv = ELF.div('mouse-position');\n this.appendChild(this._mousePosDiv);\n\n this._zoomDiv = ELF.label('0');\n this._mousePosDiv.appendChild(this._zoomDiv.setClasses('zoom-label'));\n\n this._overviewBtn = ELF.button(null, 'Mini Map', 'overview-btn', 'bi bi-arrow-down-right-square-fill', () => {\n this._overviewDiv.classList.toggle('show');\n });\n this._overviewDiv = ELF.div('overview-div', new MinimapComponent(this._map));\n this.appendChild(this._overviewBtn);\n this.appendChild(this._overviewDiv);\n\n let dpi = 0;\n\n var calcDpi = function () {\n if (window.matchMedia(\"(min-resolution: 10dpi)\").matches) {\n for (var i = 650; i >= 1; i = (i - 1)) {\n if (window.matchMedia(\"(min-resolution: \" + i + \"dpi)\").matches) {\n dpi = i;\n break;\n }\n }\n }\n }\n\n this._map.on('moveend', () => {\n const view = this._map.getView();\n const resolution = view.getResolution();\n const unit = view.getProjection().getUnits();\n\n calcDpi();\n\n DevLogger.log('MapExt ', { resolution, cent: view.getCenter(), ext: view.calculateExtent() });\n\n let scale = Math.round(resolution * METERS_PER_UNIT[unit] * INCHES_PER_METRE * dpi);\n this._zoomDiv.innerText = 'Zoom: ' + view.getZoom().toFixed(0) + ' Ölçek: 1/' + numFormatter.format(scale);\n });\n\n this._createControls();\n }\n\n get controls(): Control[] {\n return this._controls;\n }\n\n private _createControls() {\n // const fnc2 = function (coord: Coordinate) {\n // return coord[0].toFixed(6) + 'D ' + coord[1].toFixed(6) + 'K';\n // }\n this._mousePosCtl = new MousePosition({\n coordinateFormat: OlGeomHelper.formatCoordWgs, //createStringXY(5),\n projection: 'EPSG:4326',\n target: this._mousePosDiv\n });\n this._controls.push(this._mousePosCtl);\n\n this._scaleLineCtl = new ScaleLine({\n target: this\n });\n this._controls.push(this._scaleLineCtl);\n }\n}",null,"import { BaseElement, Component, ELF } from \"@yesilyazilim/web.spa\";\nimport { Circle, Fill, Stroke, Style } from \"ol/style\";\n\nimport { Feature } from \"ol\";\nimport OMap from \"ol/Map\";\nimport OSM from \"ol/source/OSM\";\nimport TileLayer from \"ol/layer/Tile\";\nimport { Vector } from \"ol/source\";\nimport VectorLayer from \"ol/layer/Vector\";\nimport View from \"ol/View\";\nimport { fromExtent } from 'ol/geom/Polygon';\n\n@Component({\n elementName: 'app-minimap', styles: {\n width: '250px',\n height: '150px'\n }\n})\nexport class MinimapComponent extends BaseElement {\n\n private _map: OMap;\n private _areaFeature: Feature;\n private _maxZoom: number = 15;\n\n constructor(private _srcMap: OMap) {\n super();\n this._buildUI();\n }\n\n private _buildUI() {\n const mapDiv = ELF.div(\"wh-100\");\n this.appendChild(mapDiv);\n const baseLayer = new TileLayer({\n source: new OSM(),\n });\n\n this._areaFeature = new Feature();\n\n const vlayer = new VectorLayer({\n source: new Vector({ features: [this._areaFeature] }),\n style: new Style({\n stroke: new Stroke({\n color: \"#3f51b5\",\n width: 2\n }),\n image: new Circle({ radius: 5, fill: new Fill({ color: \"#3f51b5\" }) })\n })\n });\n this._map = new OMap({\n target: mapDiv,\n layers: [baseLayer, vlayer],\n view: new View({\n center: [0, 0],\n zoom: 0,\n maxZoom: this._maxZoom\n }),\n controls: []\n });\n\n this._srcMap.on('moveend', () => {\n this._refreshView();\n });\n }\n\n private _refreshView() {\n const view = this._srcMap.getView();\n const vse = view.getViewStateAndExtent();\n const zoom = Math.max(Math.min(Math.trunc(view.getZoom()) - 4, this._maxZoom), 0);\n const newPolygon = fromExtent(vse.extent);\n const newGeom = (view.getZoom() - this._maxZoom > 6) ? newPolygon.getInteriorPoint() : newPolygon;\n\n this._areaFeature.setGeometry(newGeom);\n const tview = this._map.getView();\n tview.setCenter(view.getCenter());\n tview.setZoom(zoom);\n }\n}",null,"import { BaseElement, Component, Dropdown, DropdownButton, ELF, EventService, IconClass, IKeyedButtonInfo, IndexedList, Inject, ListComponent, Notify, OpResult } from \"@yesilyazilim/web.spa\";\nimport type { SearchResult, SearchSource } from \"../search.types\";\nimport { MapFlashGeomRequestData } from \"../types\";\nimport { GisEvents } from \"../gis.enums\";\n\nimport './styles/map-search.component.less';\nimport { GoogleGeocodingSearchSource } from \"../search-sources/google-geocode\";\n\n@Component({ elementName: 'map-search' })\nexport class MapSearchComponent extends BaseElement {\n\n private readonly _sources: SearchSource[];\n private readonly _results: IndexedList<SearchResult>;\n\n private _textBox: HTMLInputElement;\n private _dropDownResults: Dropdown;\n private _activeSource: SearchSource;\n private _searchTimeout: number | null = null;\n\n @Inject() eventService: EventService;\n\n constructor(settings: { sources?: SearchSource[] }) {\n super();\n this._sources = settings.sources || [];\n this._results = new IndexedList<SearchResult>();\n }\n\n protected onConnected(isFirst?: boolean): void {\n if (!isFirst) return;\n const icon = ELF.icon(IconClass.search + ' search-logo');\n const cmb = ELF.selectWithLookup(...this._sources);\n this._textBox = ELF.input('text');\n\n this._textBox.addEventListener('input', () => {\n if (this._searchTimeout) {\n clearTimeout(this._searchTimeout);\n }\n this._searchTimeout = setTimeout(() => {\n this._onSearchClicked();\n }, 300);\n });\n this._textBox.addEventListener('keyup', (e) => {\n if (e.key === 'Enter') {\n if (this._searchTimeout) {\n clearTimeout(this._searchTimeout);\n }\n this._onSearchClicked();\n }\n });\n\n const btn = ELF.Buttons.search(this._onSearchClicked, '');\n\n const items = ELF.div('search-items', ELF.div('select-holder', cmb), this._textBox, btn);\n const topRow = ELF.div('search-top', icon, items);\n const resultList = new ListComponent({\n source: this._results,\n itemFactory: this._createResultItem\n });\n this._dropDownResults = new Dropdown(resultList, 'parent');\n this.appendChildren(topRow, this._dropDownResults);\n\n cmb.addEventListener('change', () => {\n const key = cmb.value;\n this._activeSource = this._sources.find(_ => _.key == key);\n this._textBox.placeholder = this._activeSource?.placeholder || '';\n });\n\n this._activeSource = this._sources[0];\n this._textBox.placeholder = this._activeSource?.placeholder || '';\n }\n\n private readonly _onSearchClicked = () => {\n if (!this._activeSource) return;\n\n this._results.clear();\n\n const st = this._textBox.value.trim();\n if (!st) return;\n\n const vr = this._activeSource.validate(st);\n if (!vr.success) {\n Notify.Warning('Arama yapılamaz !', vr.message);\n return;\n }\n\n const displayResults = (res: OpResult<SearchResult[]>) => {\n if (!res.success) {\n Notify.Error('Arama yapılamadı !', res.message);\n } else if (res.data?.length > 0) {\n this._results.addMany(...res.data);\n this._dropDownResults.visible = true;\n } else {\n Notify.Warning('Kayıt bulunamadı !');\n }\n }\n\n if (this._activeSource.type == 'local') {\n const res = this._activeSource.run(st);\n displayResults(res);\n } else {\n ELF.showHideWorkingAt(this, true, 'bottom');\n this._activeSource.runAsync(st).then((res) => {\n ELF.showHideWorkingAt(this, false);\n displayResults(res);\n }).catch(() => {\n ELF.showHideWorkingAt(this, false);\n Notify.Error('Arama hatasi !');\n });\n }\n }\n\n private readonly _createResultItem = (item: SearchResult): HTMLElement => {\n if (!this._activeSource) return null;\n const searchText = this._textBox.value.trim();\n const actions = this._createResultActions(item);\n const title = this._createMarkedText('item-title', item.text, searchText);\n\n const detailParts = item.detail\n ? item.detail.split(' - ').map(p => p.trim())\n : [];\n const detail = detailParts.length > 0\n ? ELF.div('item-detail',\n ...detailParts.map(part =>\n this._createMarkedText('detail-line', part, searchText)\n )\n )\n : null;\n const body = ELF.div('text-body', title, detail);\n\n if (item.location) {\n body.addEventListener('click', () => {\n const data: MapFlashGeomRequestData = {\n geom: item.location\n };\n this.eventService.raise(GisEvents.MapFlashGeomRequest, data);\n });\n }\n\n return ELF.div('search-result-item', body, actions);\n }\n\n private _createResultActions(item: SearchResult) {\n\n const btns = this._activeSource.actions?.map((kbi) => {\n if (kbi.key === 'open-dropdown') {\n const menuItems: IKeyedButtonInfo[] = [\n { key: 'create-wo-o', text: 'Kesintili İş Emri Oluştur', iconClass: '' },\n { key: 'create-wo', text: 'Kesintisiz İş Emri Oluştur', iconClass: '' },\n { key: 'create-light', text: 'Aydınlatma İş Emri Oluştur', iconClass: '' }\n ];\n const dropdown = new DropdownButton({\n main: kbi,\n children: menuItems,\n clickAction: (selected) => {\n this._activeSource.onAction?.(selected.key, item);\n }\n });\n\n return dropdown;\n }\n return ELF.button(null, kbi.tootip, null, kbi.iconClass, () => {\n this._activeSource.onAction?.(kbi.key, item);\n });\n }) || [];\n\n return ELF.div('actions', ...btns);\n }\n\n private _createMarkedText(elmClass: string, text: string, searchText: string): HTMLElement {\n const i = text.toLowerCase().indexOf(searchText.toLowerCase());\n if (i == 0) {\n const a = ELF.span(text.substring(0, searchText.length), 'marked');\n const b = ELF.span(text.substring(i + searchText.length));\n return ELF.div('marked-sentence ' + elmClass, a, b);\n } else if (i > 0) {\n const z = ELF.span(text.substring(0, i));\n const a = ELF.span(text.substring(i, i + searchText.length), 'marked');\n const b = ELF.span(text.substring(i + searchText.length));\n return ELF.div('marked-sentence ' + elmClass, z, a, b);\n }\n return ELF.span(text, elmClass);\n }\n}",null,"import './tools/ribbon-general/*';\n\nimport { Application, CommandService, DrawerContainer, ELF, EventService, Inject, PanelPos, TabContainer, TabItem } from \"@yesilyazilim/web.spa\";\nimport { MapComponent } from \"./components/map.component\";\nimport { useGeographic } from 'ol/proj';\nimport { MapStartupSettings } from \"./types\";\nimport { LegendComponent } from \"./components/legend.component\";\nimport { TocComponent } from \"./components/toc.components\";\nimport { GisEvents } from \"./gis.enums\";\nexport abstract class GisAppService {\n\n public mapComponent: MapComponent;\n\n @Inject() application: Application;\n @Inject() eventService: EventService;\n @Inject() commandService: CommandService;\n\n public async startMapComponents(settings: MapStartupSettings): Promise<void> {\n useGeographic();\n this.eventService.listen(GisEvents.MapReady, async () => {\n this.commandService.startDefault();\n });\n\n const panels = this._getStartupPanels();\n for (const pnl of panels) {\n this.application.openPanel(pnl.tab, pnl.pos);\n }\n\n await this.mapComponent.initAsync(settings);\n }\n\n private _getStartupPanels(): Array<{ tab: TabItem, pos: PanelPos }> {\n return [\n {\n tab: {\n closable: false,\n name: 'panel-map-main',\n header: 'Harita',\n content: this._createMapPanel()\n },\n pos: PanelPos.Center\n }\n ];\n }\n\n private _createMapPanel() {\n\n const tab = new TabContainer(false);\n tab.addTab({ closable: false, content: new LegendComponent(true), header: 'Lejant', name: 'tab-legent' });\n tab.addTab({ closable: false, content: new TocComponent(), header: 'Katmanlar', name: 'tab-layers' });\n //tab.classList.add('bottom');\n\n const div = ELF.div('leftInnerPane', tab);\n\n this.mapComponent = new MapComponent();\n const drw = new DrawerContainer({\n main: this.mapComponent,\n left: { content: div, title: 'Lejant ve Katmanlar', pinnable: true }\n });\n drw.classList.add('mapdrawer-container');\n return drw;\n }\n}","export type ColorInfo = string | Array<number>;\nexport type StrokeInfo = {\n width: number,\n color: ColorInfo,\n dash?: number[]\n}\n\nexport type FillInfo = {\n color: ColorInfo\n}\n\nexport type SimpleLineSymbolDef = { type: 'sls' } & StrokeInfo;\n\nexport type SimpleFillSymbolDef = {\n type: 'sfs',\n stroke: StrokeInfo\n} & FillInfo;\n\nexport type SimplePointSymbolDef = {\n type: 'sps',\n radius: number,\n stroke?: StrokeInfo\n} & FillInfo;\n\nexport type IconPointSymbolDef = {\n type: 'ips',\n src: string,\n anchorOrigin?: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right',\n color?: ColorInfo, //tint color\n displacement?: number[], // shift [dx,dy]\n opacity?: number, // 0 - 1\n width?: number, // dont use with scale\n height?: number, // dont use with scale\n scale?: number,\n rotateWithView?: boolean,\n rotation?: number, //Rotation in radians (positive rotation clockwise).\n declutterMode?: 'declutter' | 'obstacle' | 'none',\n};\n\nexport type SimpleSymbolDef = SimpleFillSymbolDef | SimpleLineSymbolDef | SimplePointSymbolDef | IconPointSymbolDef;\n\nexport type SimpleRendererDef = {\n type: 'sr',\n symbol: SimpleSymbolDef\n}\n\ntype UValData = number | string;\n\nexport type UValInfo = {\n value: UValData\n title: string\n symbol: SimpleSymbolDef\n}\n\nexport type UVRendererDef = {\n type: 'uvr',\n uvals: UValInfo[],\n defaultSymbol?: SimpleSymbolDef\n}\n\nexport type RendererDef = SimpleRendererDef | UVRendererDef;\n\n/*\nconst l: SimpleLineSymbolDef = {\n type: \"sls\",\n color: 'blue',\n width: 2,\n dash: [1, 4]\n}\n\nconst xsps: UVRendererDef = {\n type: 'uvr',\n defaultSymbol: null,\n uvals: [\n {\n value: 1,\n title: 'AG Hat',\n symbol: {\n type: \"sls\",\n color: 'blue',\n width: 2\n }\n },\n {\n value: 2,\n title: 'AG Kablo',\n symbol: {\n type: \"sls\",\n color: 'blue',\n width: 2,\n dash: [1, 4]\n }\n }\n ]\n}*/",null,"import type { LayerDefinitionTypes } from \"../gis.enums\"\n\nexport type LayerDefinitionBase = {\n type: LayerDefinitionTypes,\n key: string,\n order: number,\n title: string,\n visible: boolean,\n maxZoom?: number,\n minZoom?: number,\n canRemove?: boolean,\n historyEnabled?: boolean\n}\n\nexport interface LayerDefinitionEsriMapService extends LayerDefinitionBase {\n type: LayerDefinitionTypes.EsriMapService,\n props: LayerDefinitionProp_EsriMapService\n}\n\nexport interface LayerDefinitionTileXyz extends LayerDefinitionBase {\n type: LayerDefinitionTypes.TileXyz,\n props: LayerDefinitionProp_TileXyz\n}\n\nexport interface LayerDefinitionWms extends LayerDefinitionBase {\n type: LayerDefinitionTypes.WMS,\n props: LayerDefinitionProp_Wms\n}\n\nexport interface GroupLayerDefinition extends LayerDefinitionBase {\n type: LayerDefinitionTypes.Group,\n children: LayerDefinitionBase[]\n}\n\nexport interface LayerDefinitionCustom extends LayerDefinitionBase {\n type: LayerDefinitionTypes.Custom,\n props: LayerDefinitionProp_Custom\n}\n\nexport type LayerDefinition = LayerDefinitionEsriMapService | LayerDefinitionTileXyz | LayerDefinitionWms | LayerDefinitionCustom;\n\n\nexport type LayerDefinitionProp_EsriMapService = {\n url: string,\n tiled: boolean,\n useProxy: boolean\n}\n\nexport type LayerDefinitionProp_TileXyz = {\n urlScheme: string,\n reverseY: boolean,\n useProxy: boolean,\n legendTiles?: number[]\n}\n\nexport type LayerDefinitionProp_Wms = {\n title?: string, \n url: string,\n tiled: boolean,\n useProxy: boolean,\n wfsEnabled: boolean,\n layers: string,\n imagetype: 'image/png8'| 'image/png' | 'image/jpeg'\n}\n\nexport type LayerDefinitionProp_Custom = {\n factoryKey: string,\n customProps?: any\n}",null,"import { AsyncOpResult, ISimpleArray, ITreeItem, OpResult, PanelPos } from \"@yesilyazilim/web.spa\";\nimport { LayerDefinition } from \"./layers.definitions\";\n\nimport { Group as GroupLayer, Layer } from \"ol/layer\";\nimport VectorTileLayer from \"ol/layer/VectorTile\";\nimport type { LayerDefinitionTypes } from \"../gis.enums\";\nimport type { LastViewLocation, MapIdentifyData } from \"../types\";\nimport { Feature } from \"ol\";\nimport VectorSource from \"ol/source/Vector\";\nimport { Geometry, LineString, Point, Polygon } from \"ol/geom\";\nimport VectorLayer from \"ol/layer/Vector\";\nimport { FeatureLike } from \"ol/Feature\";\n\nexport type IdentifyType = 'remote' | 'feature' | 'mvt' | 'none';\nexport type IdentifyPriority = 0 | 1 | 2;\n\nexport interface ILayer extends ITreeItem {\n hasMapLayer: boolean;\n children?: ISimpleArray<ILayer>;\n identifyType: IdentifyType;\n}\n\nexport type MainLayerType = Layer | GroupLayer;\n\nexport type LayerProperties = {\n mapLayer: IMapLayer,\n name: string,\n canSelect: boolean,\n}\n\nexport interface IMapLayer<T extends MainLayerType = MainLayerType> extends ILayer {\n getLegendInfos(): LayerLegendSymbolInfo[];\n prepareAsync(): Promise<boolean>;\n onAdd(): void;\n onRemove(): void;\n layerObj: T;\n hasError: boolean;\n factoryType: string;\n onViewExtentChanged(loc: LastViewLocation);\n}\n\nexport interface IdentifyLayer {\n generatePopupItemsAsync?(feature: FeatureLike): Promise<ILayerPopupItem[]>;\n getIdentifyPriority(feature: FeatureLike): IdentifyPriority;\n}\n\nexport interface IFeatureLayer extends IMapLayer<VectorLayer>, IdentifyLayer {\n identifyType: 'feature';\n setFeaturesSelected?(features: FeatureLike[]): void;\n getFeatureTitle?(f: FeatureLike): string;\n flashFeatures?(f: FeatureLike);\n}\n\nexport interface IMvtLayer extends IMapLayer<VectorTileLayer>, IdentifyLayer {\n identifyType: 'mvt';\n setFeaturesSelected?(features: FeatureLike[]): void;\n getFeatureTitle?(f: FeatureLike): string;\n flashFeatures?(f: FeatureLike);\n}\n\nexport interface IImageLayer<T extends MainLayerType = MainLayerType> extends IMapLayer<T>, IdentifyLayer {\n identifyType: 'remote';\n queryIdentifyAsync?(data: MapIdentifyData): AsyncOpResult<IdentifyResultItem[]>;\n}\n\nexport interface ILayerFactory {\n type: LayerDefinitionTypes;\n createAsync(ld: LayerDefinition): AsyncOpResult<IMapLayer>\n}\n\nexport type LayerLegendSymbolRow = {\n elm: HTMLElement;\n label?: string;\n}\n\nexport type LayerLegendSymbolInfo = {\n layerId: string;\n title: string;\n subtitle?: string;\n rows: LayerLegendSymbolRow[];\n}\n\nexport type LayerIdentifyResultSync = {\n type: 'sync';\n sourceLayer: IMapLayer;\n status: boolean;\n result: OpResult<IdentifyResultItem[]>;\n}\n\nexport type LayerIdentifyResultAsync = {\n type: 'async';\n sourceLayer: IMapLayer;\n status: boolean;\n result: AsyncOpResult<IdentifyResultItem[]>;\n}\n\nexport type LayerIdentifyResult = LayerIdentifyResultSync | LayerIdentifyResultAsync;\n\nexport type IdentifyResultItem = {\n layerTitle: string;\n layerKey: string;\n feature: Feature<Geometry>;\n}\n\nexport interface ILayerPopupItem {\n title: string;\n layer: IMapLayer,\n panelPos?: PanelPos;\n element: HTMLElement\n}\n\nexport type PointVectorSource = VectorSource<Feature<Point>>;\nexport type LineVectorSource = VectorSource<Feature<LineString>>;\nexport type PolygonVectorSource = VectorSource<Feature<Polygon>>;\n\nexport type LineLayer = VectorLayer<LineVectorSource>;\nexport type PointLayer = VectorLayer<PointVectorSource>;\nexport type PolygonLayer = VectorLayer<PolygonVectorSource>;\n","import VectorTileLayer from \"ol/layer/VectorTile\";\nimport { MapLayerBase } from \"./maplayer.base\";\nimport { LayerDefinitionCustom } from \"./layers.definitions\";\nimport { ILayer, ILayerPopupItem, IMvtLayer, LayerLegendSymbolInfo, LayerProperties, IdentifyType, IdentifyPriority } from \"./layers.types\";\nimport { Style } from 'ol/style';\nimport MVTFormat from 'ol/format/MVT';\nimport { TileCoord } from 'ol/tilecoord';\nimport VectorTileSource from \"ol/source/VectorTile\";\nimport { createXYZ } from \"ol/tilegrid\";\nimport { DisplayClasses, ELF, Eventer, Inject, ISimpleArray, StoreService, TreeItemActionInfo } from \"@yesilyazilim/web.spa\";\nimport { StyleLike } from \"ol/style/Style\";\nimport { FlatStyleLike } from \"ol/style/flat\";\nimport { FeatureLike } from \"ol/Feature\";\nimport { SymbologyFactory } from \"./factory/symbology.factory\";\nimport RenderFeature from \"ol/render/Feature\";\nimport { SimpleLayerSymbology, LayerSymbology } from \"../types\";\n\nexport type MvtSubLayerInfo = {\n lyr: string,\n title: string,\n symbol: LayerSymbology\n}\n\nexport type MvtLayerProperties = LayerDefinitionCustom & {\n subLayerInfos: MvtSubLayerInfo[];\n}\n\nexport type MvtFeatureInfo = { lyr: string, id: number };\n\ntype StyleRef = {\n flashStyle: Style[],\n selectionStyle: Style,\n hoverStyle: Style,\n styles: Map<number, Style>,\n symbolDef: Map<number, SimpleLayerSymbology>\n}\n\n//mvt featurelarda olmasi gereken attributelar : id, lyr, st, lbl \n\nexport abstract class MvtLayerBase<T extends MvtLayerProperties = MvtLayerProperties> extends MapLayerBase<VectorTileLayer, T> implements IMvtLayer {\n\n identifyType: 'mvt' = 'mvt';\n\n protected _flashFeature: MvtFeatureInfo;\n protected _selectedFeatures: MvtFeatureInfo[];\n protected _hoverFeatures: MvtFeatureInfo[];\n protected _styleMap: Map<string, StyleRef>;\n\n private _tileVer = new Date().getTime();\n\n @Inject() protected storeService: StoreService;\n\n constructor(ld: T) {\n super(ld);\n }\n\n abstract getIdentifyPriority(feature: FeatureLike): IdentifyPriority;\n\n public async prepareAsync(): Promise<boolean> {\n await super.prepareAsync();\n this._layer = this._createLayer();\n\n return true;\n }\n\n public refresh(clear: boolean = false) {\n if (clear) {\n this._tileVer = new Date().getTime();\n this._clearTileCache(this.layerObj.getSource());\n }\n this._layer.changed();\n }\n\n public flash(feature?: RenderFeature) {\n if (feature) {\n this._flashFeature = { lyr: feature.get(''), id: feature.get('id') };\n this.refresh();\n } else {\n if (this._flashFeature) {\n this._flashFeature = null;\n this.refresh();\n }\n }\n }\n\n\n public getLegendInfos(): LayerLegendSymbolInfo[] {\n const res: LayerLegendSymbolInfo[] = [];\n for (const sli of this._definition.subLayerInfos) {\n const stl = this._styleMap.get(sli.lyr);\n const llsi: LayerLegendSymbolInfo = {\n layerId: sli.lyr,\n rows: [],\n title: sli.title\n }\n\n if (!stl) continue;\n if (sli.symbol.type == 'simple') {\n const style = stl.styles.get(0);\n const cnv = SymbologyFactory.createCanvas(style, sli.symbol.geomType);\n llsi.rows.push({\n label: '',\n elm: cnv\n })\n } else {\n for (const sv of sli.symbol.values) {\n const style = stl.styles.get(sv.st);\n const cnv = SymbologyFactory.createCanvas(style, sv.symbol.geomType);\n llsi.rows.push({\n label: sv.title,\n elm: cnv\n })\n }\n }\n res.push(llsi);\n }\n return res;\n }\n\n\n public setFeaturesSelected?(features: FeatureLike[]): void {\n this._selectedFeatures = features?.map(_ => { return { id: _.getId(), lyr: _.get('lyr') } as MvtFeatureInfo }) || [];\n this.refresh();\n }\n\n public getFeatureTitle(f: FeatureLike): string {\n const id = f.getId();\n const lyr = f.get('lyr');\n const sli = this.definition.subLayerInfos?.find(_ => _.lyr == lyr);\n if (sli) {\n return sli.title + ' - ' + id.toString();\n }\n return this._definition.title + ' - ' + id.toString();\n }\n\n public flashFeatures(f: FeatureLike) {\n this._flashFeature = null;\n if (f) {\n this._flashFeature = { id: f.getId() as number, lyr: f.get('lyr') }\n }\n this.refresh();\n }\n\n public generatePopupItemsAsync(feature: FeatureLike): Promise<ILayerPopupItem[]> {\n if (feature) {\n const div = ELF.div('popup-feature-properties').setStyles({ display: 'grid', gridTemplateColumns: 'auto 1fr' });\n const id = feature.getId();\n if (id) {\n div.appendChild(ELF.label('ID'));\n div.appendChild(ELF.span(id.toString()))\n }\n const props = feature.getProperties();\n for (const key in props) {\n if (Object.prototype.hasOwnProperty.call(props, key)) {\n const value = props[key];\n div.appendChild(ELF.label(key));\n div.appendChild(ELF.span(value.toString()))\n }\n }\n const arr: ILayerPopupItem[] = [{ element: div, layer: this, title: this.title }];\n return Promise.resolve(arr);\n }\n Promise.resolve(null);\n }\n\n \n protected override onTimeChanged(): void {\n if (!this._definition.historyEnabled) return;\n\n const old = this.layerObj.getSource();\n this.layerObj.setSource(this._createSource());\n this._clearTileCache(old);\n this.layerObj.changed();\n }\n\n protected _createLayer(): VectorTileLayer {\n\n const props: LayerProperties = {\n mapLayer: this, name: this._definition.key, canSelect: true\n }\n\n const layer = new VectorTileLayer({\n properties: props,\n style: this.createRenderer(),\n source: this._createSource(),\n visible: false,\n minZoom: this._definition.minZoom\n });\n return layer;\n }\n\n protected createRenderer(): StyleLike | FlatStyleLike {\n\n this._createStyleMap();\n\n const styleMap = this._styleMap;\n const subLayers = this.children as Array<MvtSubLayer>;\n const self = this;\n\n const isFlashed = function (f: FeatureLike): boolean {\n if (self._flashFeature) {\n return f.get('lyr') === self._flashFeature.lyr && f.getId() === self._flashFeature.id;\n }\n return false;\n }\n\n const isSelected = function (f: FeatureLike): boolean {\n if (self._selectedFeatures && self._selectedFeatures.length > 0) {\n return !!(self._selectedFeatures.find(_ => { return _.lyr == f.get('lyr') && _.id == f.getId() }));\n }\n return false;\n }\n\n const isHovered = function (f: FeatureLike): boolean {\n if (self._hoverFeatures && self._hoverFeatures.length > 0) {\n return self._hoverFeatures.findIndex(_ => _.lyr == f.get('lyr') && _.id == f.getId()) >= 0;\n }\n return false;\n }\n\n const getZoom = () => {\n return this._lastViewLocation.zoom;\n }\n\n return function (feature: FeatureLike, resolution: number) {\n const lyr = feature.get('lyr') as string;\n const st = feature.get('p') ?? feature.get('st');\n const sref = styleMap.get(lyr);\n if (!sref) return null;\n const sl = subLayers?.find((v) => st == v.id);\n if (sl && !sl.checked) return null;\n\n let addStyle: Style | Style[];\n\n if (isFlashed(feature)) {\n addStyle = sref.flashStyle;\n } else if (isHovered(feature)) {\n addStyle = sref.hoverStyle;\n } else if (isSelected(feature)) {\n addStyle = sref.selectionStyle;\n }\n const stls = [];\n const stl = sref.styles.get(st);\n if (stl) {\n stls.push(stl);\n const txt = stl.getText();\n const lbl = feature.get('lbl');\n if (txt) {\n const sd = sref.symbolDef.get(st);\n if (lbl && (sd.labelDef?.minLevel || 0) <= getZoom()) {\n txt.setText(lbl);\n } else {\n txt.setText(null);\n }\n }\n }\n return addStyle ? stls.concat(addStyle) : stl;\n }\n }\n\n private _createStyleMap() {\n if (!this._definition.subLayerInfos) return;\n\n const styleMap: Map<string, StyleRef> = new Map();\n const flashStyles = SymbologyFactory.createFlashedStyles();\n const hoverStyles = SymbologyFactory.createHoverStyles();\n const selectionStyles = SymbologyFactory.createSelectionStyles();\n for (const sli of this._definition.subLayerInfos) {\n let fls = flashStyles.get(sli.symbol.geomType);\n let hvr = hoverStyles.get(sli.symbol.geomType);\n let sel = selectionStyles.get(sli.symbol.geomType);\n let styles: Map<number, Style>;\n let symboldefs: Map<number, SimpleLayerSymbology> = new Map();\n const ts = SymbologyFactory.createStyleFromDef(sli.symbol);\n if (sli.symbol.type == 'unique') {\n styles = ts as Map<number, Style>;\n sli.symbol.values.forEach(_ => symboldefs.set(_.st, _.symbol));\n } else {\n styles = new Map();\n styles.set(0, ts as Style);\n symboldefs.set(0, sli.symbol);\n }\n let sr: StyleRef = {\n styles,\n flashStyle: fls,\n hoverStyle: hvr,\n selectionStyle: sel,\n symbolDef: symboldefs\n };\n styleMap.set(sli.lyr, sr);\n }\n this._styleMap = styleMap;\n }\n\n private _createSource(): VectorTileSource {\n let apiroot = this.storeService.appProperties.apiEndPoint;\n if (!apiroot.endsWith('/')) apiroot = apiroot + '/';\n const lyr = this._definition.key.toLowerCase();\n let uriFunc;\n if (this._definition.historyEnabled && this._currentTime > 0) {\n const uriPrefix = `${apiroot}app/mvt/${lyr}_h`;\n uriFunc = (tc: TileCoord): string => {\n return `${uriPrefix}/${tc[0]}/${tc[1]}/${tc[2]}?time=${this._currentTime}`;\n };\n } else {\n const uriPrefix = `${apiroot}app/mvt/${lyr}`;\n uriFunc = (tc: TileCoord): string => {\n return `${uriPrefix}/${tc[0]}/${tc[1]}/${tc[2]}?ver=${this._tileVer}`;\n };\n }\n\n return new VectorTileSource({\n tileGrid: createXYZ({ maxZoom: 20, tileSize: 512 }),\n format: new MVTFormat({\n idProperty: 'id'\n }),\n tileUrlFunction: uriFunc\n });\n }\n\n private _clearTileCache(source: VectorTileSource) {\n const cache = this.layerObj.getRenderer().getTileCache();\n cache.forEach((tile) => {\n source.removeSourceTiles(tile);\n });\n cache.clear();\n source.clear();\n }\n\n}\n\ntype MvtSubLayerProperties = {\n parent: MvtLayerBase,\n lyr: string,\n title: string,\n}\n\nclass MvtSubLayer implements ILayer {\n private _checked: boolean;\n\n identifyType: 'mvt';\n hasMapLayer: boolean = false;\n children?: ISimpleArray<ILayer> = null;\n id: string;\n title: string;\n hidden?: boolean;\n passive?: boolean;\n actions?: TreeItemActionInfo[];\n onAction?: (id: string) => void;\n propsChanged?: Eventer<{ key: string; value: any; }, void>;\n actionPropChanged?: Eventer<{ action: TreeItemActionInfo; key: string; value: any; }, void>;\n displayClass?: DisplayClasses;\n icon?: HTMLElement;\n order?: number;\n\n constructor(private readonly _props: MvtSubLayerProperties) {\n this.id = _props.parent.id + '-' + _props.lyr;\n this.title = _props.title;\n this._checked = true;\n }\n\n public get checked(): boolean { return this._checked; }\n public set checked(value: boolean) {\n if (value !== this._checked) {\n this._checked = value;\n this._props.parent.layerObj.changed();\n }\n }\n}",null,"import { GroupLayerDefinition, LayerDefinitionBase } from \"./layers.definitions\";\nimport { IMapLayer, LayerLegendSymbolInfo } from \"./layers.types\";\nimport { MapLayerBase } from \"./maplayer.base\";\nimport GroupLayer from 'ol/layer/Group';\n\nexport abstract class GroupLayerBase extends MapLayerBase<GroupLayer, GroupLayerDefinition> {\n\n public layers: IMapLayer[] = [];\n\n constructor(ld: GroupLayerDefinition) {\n super(ld);\n\n for (const childDef of ld.children) {\n const wmsLayer = this.createLayerFor(childDef);\n this.layers.push(wmsLayer);\n }\n\n this._layer = new GroupLayer({\n visible: ld.visible,\n minZoom: ld.minZoom,\n maxZoom: ld.maxZoom,\n layers: this.layers.map(l => l.layerObj)\n });\n\n this._layer.setProperties({ mapLayer: this, name: this._definition.key, canEdit: false, canFlash: true, canSelect: true });\n }\n\n abstract createLayerFor(definition: LayerDefinitionBase): IMapLayer;\n\n getLegendInfos(): LayerLegendSymbolInfo[] {\n const arr: LayerLegendSymbolInfo[] = [];\n for (const layer of this.layers) {\n const legends = layer.getLegendInfos();\n if (legends && legends.length > 0) {\n arr.push(...legends);\n }\n }\n return arr;\n }\n}",null,"import * as olExtent from 'ol/extent';\n\nimport { Circle, Fill, Icon, Stroke, Style } from \"ol/style\";\nimport { LineString, Point } from \"ol/geom\";\nimport { IconPointSymbolDef, SimpleFillSymbolDef, SimpleLineSymbolDef, SimplePointSymbolDef, SimpleSymbolDef } from '../style.types';\n\nimport { BasicGeometryTypes } from \"../types\";\nimport { Feature } from \"ol\";\nimport { fromExtent as polygonfromExtent } from \"ol/geom/Polygon\";\nimport { toContext } from 'ol/render';\n\nexport class OlStyleHelper {\n\n\n\n static stylegeometry2canvas(style: Style, type: BasicGeometryTypes): HTMLCanvasElement {\n const canvas = document.createElement('canvas');\n switch (type) {\n case 'Point': {\n const width: number = 30;\n const height: number = 30;\n const vectorContext = toContext(canvas.getContext('2d'), { size: [width, height] });\n vectorContext.setStyle(style);\n vectorContext.drawGeometry(new Point([width / 2, height / 2]));\n }\n break;\n case 'LineString': {\n const width: number = 30;\n const height: number = 30;\n const vectorContext = toContext(canvas.getContext('2d'), { size: [width, height] });\n vectorContext.setStyle(style);\n vectorContext.drawGeometry(new LineString([[0, height / 2], [width, height / 2]]));\n }\n break;\n case 'Polygon': {\n const width: number = 30;\n const height: number = 30;\n const vectorContext = toContext(canvas.getContext('2d'), { size: [width, height] });\n vectorContext.setStyle(style);\n const ext = olExtent.boundingExtent([[3, 3], [width - 3, height - 3]]);\n vectorContext.drawGeometry(polygonfromExtent(ext));\n }\n break;\n default:\n break;\n }\n return canvas;\n }\n static stylefeature2canvas(style: Style, feature: Feature, width: number = 100, height: number = 100): HTMLCanvasElement {\n const canvas = document.createElement('canvas');\n const vectorContext = toContext(canvas.getContext('2d'), { size: [width, height] });\n vectorContext.setStyle(style);\n vectorContext.drawFeature(feature, style);\n return canvas;\n }\n\n static createStyleFromJson(sd: SimpleSymbolDef): Style | null {\n switch (sd.type) {\n case 'sfs':\n return OlStyleHelper.createSFS(sd);\n case 'sls':\n return OlStyleHelper.createSLS(sd);\n case 'sps':\n return OlStyleHelper.createSPS(sd);\n case 'ips':\n return OlStyleHelper.createIPS(sd);\n default:\n return null;\n }\n }\n\n static createSFS(sfs: SimpleFillSymbolDef): Style {\n const style = new Style({\n fill: new Fill({\n color: sfs.color\n }),\n stroke: sfs.stroke ? new Stroke({\n color: sfs.stroke.color,\n width: sfs.stroke.width,\n lineDash: sfs.stroke.dash\n }) : null\n });\n return style;\n }\n\n static createSLS(sls: SimpleLineSymbolDef): Style {\n const style = new Style({\n stroke: new Stroke({\n color: sls.color,\n width: sls.width,\n lineDash: sls.dash\n })\n });\n return style;\n }\n\n static createSPS(sps: SimplePointSymbolDef): Style {\n const style = new Style({\n image: new Circle({\n radius: sps.radius,\n fill: new Fill({\n color: sps.color\n }),\n stroke: sps.stroke ? new Stroke({ color: sps.stroke.color, width: sps.stroke.width, lineDash: sps.stroke.dash }) : null\n })\n });\n return style;\n }\n\n static createIPS(ips: IconPointSymbolDef): Style {\n const style = new Style({\n image: new Icon({\n src: ips.src,\n color: ips.color,\n anchorOrigin: ips.anchorOrigin,\n displacement: ips.displacement,\n opacity: ips.opacity,\n width: ips.width,\n height: ips.height,\n scale: ips.scale,\n rotateWithView: ips.rotateWithView,\n rotation: ips.rotation,\n declutterMode: ips.declutterMode || 'none'\n })\n });\n return style;\n }\n}",null,"import { AsyncOpResult, IKeyedButtonInfo, ILookup, OpResult } from \"@yesilyazilim/web.spa\";\nimport { GeoJSONGeometry } from \"ol/format/GeoJSON\";\nimport { Geometry } from \"ol/geom\";\n\nexport type SearchResult = {\n id: string | number;\n text: string;\n detail: string;\n location?: Geometry;\n}\n\nexport interface ISearchSource extends ILookup {\n type: 'local' | 'remote';\n placeholder: string;\n validate(text: string): OpResult;\n actions?: IKeyedButtonInfo[];\n onAction?: (actionKey: string, item: SearchResult) => void;\n}\n\nexport interface ILocalSearchSource extends ISearchSource {\n type: 'local';\n run(text: string): OpResult<SearchResult[]>;\n}\n\nexport interface IRemoteSearchSource extends ISearchSource {\n type: 'remote';\n runAsync(text: string): AsyncOpResult<SearchResult[]>;\n}\n\nexport type SearchSource = ILocalSearchSource | IRemoteSearchSource;\n\nexport type RemoteSearchInput = {\n type: string;\n text: string;\n}\n\nexport type RemoteSearchResult = {\n id: string | number;\n text: string;\n detail: string;\n geom?: GeoJSONGeometry;\n}","import type { ActionCommandProperties, AsyncOperation, IndexedList } from \"@yesilyazilim/web.spa\";\nimport type { FeatureLike } from \"ol/Feature\";\nimport type Geometry from \"ol/geom/Geometry\";\nimport type { Layer } from \"ol/layer\";\nimport type { ILayerFactory, IMapLayer } from \"./layers/layers.types\";\nimport { Coordinate } from \"ol/coordinate\";\nimport { Pixel } from \"ol/pixel\";\nimport { BaseMapTypes } from \"./gis.enums\";\nimport type { LayerDefinition } from \"./layers/layers.definitions\";\nimport type { SearchSource } from \"./search.types\";\nimport type Feature from \"ol/Feature\";\nimport { GeoJSONFeature } from \"ol/format/GeoJSON\";\n\nexport type MapStartupSettings = {\n baseMap: BaseMapTypes,\n defaultLocation: LastViewLocation,\n layerLoader: AsyncOperation<LayerDefinition[]>,\n customLayerFactory: ILayerFactory,\n searchSources: SearchSource[]\n}\n\nexport type BasicGeometryTypes = 'Point' | 'LineString' | 'Polygon';\nexport type GeometryTypes = BasicGeometryTypes | 'LinearRing' | 'MultiPoint' | 'MultiLineString' | 'MultiPolygon' | 'GeometryCollection' | 'Circle';\n\nexport type MapGotoExtentRequestData = { extent: number[] }\nexport type MapFlashGeomRequestData = {\n geom: Geometry,\n skipZoom?: boolean,\n keepExist?: boolean,\n}\n\nexport type MapIdentifyData = {\n coords: number[],\n screenPoint: number[],\n tolerance: number,\n mapExtent: number[],\n imageDisplay: { w: number, h: number, dpi: number },\n resolution: number,\n}\n\nexport type LastViewLocation = {\n center: number[],\n zoom: number,\n extent?: number[]\n}\n\n\nexport type LayerSymbologyLabelDef = {\n field: string,\n textColor: string,\n textSize: number,\n minLevel?: number,\n overflow?: boolean,\n offsetX: number,\n offsetY: number,\n}\n\nexport type SimpleLayerSymbology = {\n type: \"simple\",\n geomType: BasicGeometryTypes,\n size: number,\n color: string,\n labelDef?: LayerSymbologyLabelDef,\n pointProps?: {\n shape: 'circle' | 'square' | 'triangle' | 'star' | 'pentagon' | 'image'\n src?: string,\n anchor?: number[],\n height?: number,\n width?: number,\n offset?: number[],\n },\n stroke?: { size: number, color: string }\n}\n\nexport type UniqueValueInfo = {\n st: number,\n title: string,\n symbol: SimpleLayerSymbology\n}\n\nexport type UniqueValuesLayerSymbology = {\n type: \"unique\",\n geomType: BasicGeometryTypes,\n values: UniqueValueInfo[]\n}\n\nexport type LayerSymbology = SimpleLayerSymbology | UniqueValuesLayerSymbology;\n\nexport type GetOneFeatureOptions = {\n menux: number;\n menuy: number;\n hitTolerance?: number,\n layerFilter?: (lyr: Layer) => boolean;\n featureFilter?: (feature: FeatureLike) => boolean;\n}\n\nexport interface IFeatureCmItem {\n title: string;\n iconClass?: string;\n group?: string;\n}\n\nexport interface IClickItem extends IFeatureCmItem {\n feature: FeatureLike | Feature<Geometry>\n layer: Layer\n mapLayer: IMapLayer\n}\n\nexport type SelectedMapItem = {\n feature: FeatureLike | Feature<Geometry>\n mapLayer: IMapLayer\n}\n\nexport type MapContextMenuStartArgs = {\n ci?: IClickItem,\n coord: Coordinate\n pixel: Pixel,\n context?: IMapInteractionContext\n}\n\nexport type FeatureContextMenuItemAction = (action: 'click' | 'enter' | 'leave', item: IFeatureCmItem) => void;\n\nexport type MapContextMenuCommandProperties = ActionCommandProperties & {\n canExecuteFor(arg: MapContextMenuStartArgs): boolean;\n}\n\nexport interface IMapInteractionContext {\n activeWork: string,\n activeWorkProp?: any,\n completeWork: (res: boolean, data: any) => void\n}\n\nexport interface IMapSelectionContext {\n mode: 'single' | 'rectangle' | 'freehand';\n contextMenuContainer?: string;\n makeSelected?: boolean;\n layerFilter?: (lyr: Layer) => boolean;\n featureFilter?: (feature: FeatureLike) => boolean;\n completeWork: (items: SelectedMapItem[]) => void\n}\n\nexport interface ILayerManager {\n basemapLayer: IMapLayer;\n layerList: IndexedList<IMapLayer>;\n}\n"],"names":[],"version":3,"file":"index.js.map"}