From c56e4667df7979fe23fab0a0ee2f7809f144ff97 Mon Sep 17 00:00:00 2001 From: Murtuza Zabuawala Date: Mon, 29 Aug 2016 20:17:01 +0530 Subject: [PATCH] SlickGrid Integration in to query tool. Fixes #1618 --- libraries.txt | 2 + .../static/css/slickgrid/images/actions.gif | Bin 0 -> 170 bytes .../slickgrid/images/ajax-loader-small.gif | Bin 0 -> 1849 bytes .../css/slickgrid/images/arrow_redo.png | Bin 0 -> 572 bytes .../images/arrow_right_peppermint.png | Bin 0 -> 128 bytes .../images/arrow_right_spearmint.png | Bin 0 -> 128 bytes .../css/slickgrid/images/arrow_undo.png | Bin 0 -> 578 bytes .../css/slickgrid/images/bullet_blue.png | Bin 0 -> 241 bytes .../css/slickgrid/images/bullet_star.png | Bin 0 -> 279 bytes .../slickgrid/images/bullet_toggle_minus.png | Bin 0 -> 154 bytes .../slickgrid/images/bullet_toggle_plus.png | Bin 0 -> 156 bytes .../static/css/slickgrid/images/calendar.gif | Bin 0 -> 1035 bytes .../static/css/slickgrid/images/collapse.gif | Bin 0 -> 846 bytes .../css/slickgrid/images/comment_yellow.gif | Bin 0 -> 257 bytes .../static/css/slickgrid/images/down.gif | Bin 0 -> 59 bytes .../css/slickgrid/images/drag-handle.png | Bin 0 -> 1130 bytes .../css/slickgrid/images/editor-helper-bg.gif | Bin 0 -> 1164 bytes .../static/css/slickgrid/images/expand.gif | Bin 0 -> 851 bytes .../static/css/slickgrid/images/header-bg.gif | Bin 0 -> 872 bytes .../slickgrid/images/header-columns-bg.gif | Bin 0 -> 836 bytes .../images/header-columns-over-bg.gif | Bin 0 -> 823 bytes .../static/css/slickgrid/images/help.png | Bin 0 -> 345 bytes .../static/css/slickgrid/images/info.gif | Bin 0 -> 80 bytes .../static/css/slickgrid/images/listview.gif | Bin 0 -> 2380 bytes .../static/css/slickgrid/images/pencil.gif | Bin 0 -> 914 bytes .../css/slickgrid/images/row-over-bg.gif | Bin 0 -> 823 bytes .../static/css/slickgrid/images/sort-asc.gif | Bin 0 -> 830 bytes .../static/css/slickgrid/images/sort-asc.png | Bin 0 -> 105 bytes .../static/css/slickgrid/images/sort-desc.gif | Bin 0 -> 833 bytes .../static/css/slickgrid/images/sort-desc.png | Bin 0 -> 107 bytes .../static/css/slickgrid/images/stripes.png | Bin 0 -> 1125 bytes .../static/css/slickgrid/images/tag_red.png | Bin 0 -> 537 bytes .../static/css/slickgrid/images/tick.png | Bin 0 -> 484 bytes .../css/slickgrid/images/user_identity.gif | Bin 0 -> 905 bytes .../slickgrid/images/user_identity_plus.gif | Bin 0 -> 546 bytes .../css/slickgrid/slick-default-theme.css | 118 + .../static/css/slickgrid/slick.grid.css | 158 + .../images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 212 bytes .../images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 208 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 335 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 207 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 262 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 262 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 332 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 280 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6922 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4549 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 6992 bytes .../images/ui-icons_888888_256x240.png | Bin 0 -> 6999 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4549 bytes .../smoothness/jquery-ui-1.11.3.custom.css | 1225 ++ .../jquery-ui-1.11.3.custom.min.css | 7 + .../static/js/jquery-ui/jquery-ui-1.11.3.js | 16608 ++++++++++++++++ .../js/jquery-ui/jquery-ui-1.11.3.min.js | 13 + .../js/jquery-ui/jquery.event.drag-2.2.js | 402 + .../js/jquery-ui/jquery.event.drop-2.2.js | 302 + .../slickgrid/controls/slick.columnpicker.css | 31 + .../slickgrid/controls/slick.columnpicker.js | 152 + .../js/slickgrid/controls/slick.pager.css | 41 + .../js/slickgrid/controls/slick.pager.js | 147 + .../slickgrid/plugins/slick.autotooltips.js | 83 + .../plugins/slick.cellcopymanager.js | 86 + .../plugins/slick.cellrangedecorator.js | 66 + .../plugins/slick.cellrangeselector.js | 113 + .../plugins/slick.cellselectionmodel.js | 157 + .../plugins/slick.checkboxselectcolumn.js | 153 + .../slickgrid/plugins/slick.headerbuttons.css | 39 + .../slickgrid/plugins/slick.headerbuttons.js | 177 + .../js/slickgrid/plugins/slick.headermenu.css | 59 + .../js/slickgrid/plugins/slick.headermenu.js | 275 + .../slickgrid/plugins/slick.rowmovemanager.js | 138 + .../plugins/slick.rowselectionmodel.js | 189 + web/pgadmin/static/js/slickgrid/slick.core.js | 484 + .../static/js/slickgrid/slick.dataview.js | 1141 ++ .../static/js/slickgrid/slick.editors.js | 631 + .../static/js/slickgrid/slick.formatters.js | 59 + web/pgadmin/static/js/slickgrid/slick.grid.js | 3607 ++++ .../js/slickgrid/slick.pgadmin.editors.js | 261 + .../js/slickgrid/slick.pgadmin.formatters.js | 31 + web/pgadmin/templates/base.html | 33 + .../datagrid/templates/datagrid/index.html | 4 +- web/pgadmin/tools/sqleditor/command.py | 84 +- .../tools/sqleditor/static/css/sqleditor.css | 217 +- .../templates/sqleditor/js/sqleditor.js | 1238 +- .../sqleditor/sql/9.1_plus/delete.sql | 6 +- .../sqleditor/sql/9.1_plus/insert.sql | 10 +- .../sqleditor/sql/9.1_plus/update.sql | 10 +- 87 files changed, 27853 insertions(+), 704 deletions(-) create mode 100644 web/pgadmin/static/css/slickgrid/images/actions.gif create mode 100644 web/pgadmin/static/css/slickgrid/images/ajax-loader-small.gif create mode 100644 web/pgadmin/static/css/slickgrid/images/arrow_redo.png create mode 100644 web/pgadmin/static/css/slickgrid/images/arrow_right_peppermint.png create mode 100644 web/pgadmin/static/css/slickgrid/images/arrow_right_spearmint.png create mode 100644 web/pgadmin/static/css/slickgrid/images/arrow_undo.png create mode 100644 web/pgadmin/static/css/slickgrid/images/bullet_blue.png create mode 100644 web/pgadmin/static/css/slickgrid/images/bullet_star.png create mode 100644 web/pgadmin/static/css/slickgrid/images/bullet_toggle_minus.png create mode 100644 web/pgadmin/static/css/slickgrid/images/bullet_toggle_plus.png create mode 100644 web/pgadmin/static/css/slickgrid/images/calendar.gif create mode 100644 web/pgadmin/static/css/slickgrid/images/collapse.gif create mode 100644 web/pgadmin/static/css/slickgrid/images/comment_yellow.gif create mode 100644 web/pgadmin/static/css/slickgrid/images/down.gif create mode 100644 web/pgadmin/static/css/slickgrid/images/drag-handle.png create mode 100644 web/pgadmin/static/css/slickgrid/images/editor-helper-bg.gif create mode 100644 web/pgadmin/static/css/slickgrid/images/expand.gif create mode 100644 web/pgadmin/static/css/slickgrid/images/header-bg.gif create mode 100644 web/pgadmin/static/css/slickgrid/images/header-columns-bg.gif create mode 100644 web/pgadmin/static/css/slickgrid/images/header-columns-over-bg.gif create mode 100644 web/pgadmin/static/css/slickgrid/images/help.png create mode 100644 web/pgadmin/static/css/slickgrid/images/info.gif create mode 100644 web/pgadmin/static/css/slickgrid/images/listview.gif create mode 100644 web/pgadmin/static/css/slickgrid/images/pencil.gif create mode 100644 web/pgadmin/static/css/slickgrid/images/row-over-bg.gif create mode 100644 web/pgadmin/static/css/slickgrid/images/sort-asc.gif create mode 100644 web/pgadmin/static/css/slickgrid/images/sort-asc.png create mode 100644 web/pgadmin/static/css/slickgrid/images/sort-desc.gif create mode 100644 web/pgadmin/static/css/slickgrid/images/sort-desc.png create mode 100644 web/pgadmin/static/css/slickgrid/images/stripes.png create mode 100644 web/pgadmin/static/css/slickgrid/images/tag_red.png create mode 100644 web/pgadmin/static/css/slickgrid/images/tick.png create mode 100644 web/pgadmin/static/css/slickgrid/images/user_identity.gif create mode 100644 web/pgadmin/static/css/slickgrid/images/user_identity_plus.gif create mode 100644 web/pgadmin/static/css/slickgrid/slick-default-theme.css create mode 100644 web/pgadmin/static/css/slickgrid/slick.grid.css create mode 100644 web/pgadmin/static/css/slickgrid/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 web/pgadmin/static/css/slickgrid/smoothness/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 web/pgadmin/static/css/slickgrid/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 web/pgadmin/static/css/slickgrid/smoothness/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 web/pgadmin/static/css/slickgrid/smoothness/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 web/pgadmin/static/css/slickgrid/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 web/pgadmin/static/css/slickgrid/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 web/pgadmin/static/css/slickgrid/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 web/pgadmin/static/css/slickgrid/smoothness/images/ui-icons_222222_256x240.png create mode 100644 web/pgadmin/static/css/slickgrid/smoothness/images/ui-icons_2e83ff_256x240.png create mode 100644 web/pgadmin/static/css/slickgrid/smoothness/images/ui-icons_454545_256x240.png create mode 100644 web/pgadmin/static/css/slickgrid/smoothness/images/ui-icons_888888_256x240.png create mode 100644 web/pgadmin/static/css/slickgrid/smoothness/images/ui-icons_cd0a0a_256x240.png create mode 100644 web/pgadmin/static/css/slickgrid/smoothness/jquery-ui-1.11.3.custom.css create mode 100644 web/pgadmin/static/css/slickgrid/smoothness/jquery-ui-1.11.3.custom.min.css create mode 100644 web/pgadmin/static/js/jquery-ui/jquery-ui-1.11.3.js create mode 100644 web/pgadmin/static/js/jquery-ui/jquery-ui-1.11.3.min.js create mode 100644 web/pgadmin/static/js/jquery-ui/jquery.event.drag-2.2.js create mode 100644 web/pgadmin/static/js/jquery-ui/jquery.event.drop-2.2.js create mode 100644 web/pgadmin/static/js/slickgrid/controls/slick.columnpicker.css create mode 100644 web/pgadmin/static/js/slickgrid/controls/slick.columnpicker.js create mode 100644 web/pgadmin/static/js/slickgrid/controls/slick.pager.css create mode 100644 web/pgadmin/static/js/slickgrid/controls/slick.pager.js create mode 100644 web/pgadmin/static/js/slickgrid/plugins/slick.autotooltips.js create mode 100644 web/pgadmin/static/js/slickgrid/plugins/slick.cellcopymanager.js create mode 100644 web/pgadmin/static/js/slickgrid/plugins/slick.cellrangedecorator.js create mode 100644 web/pgadmin/static/js/slickgrid/plugins/slick.cellrangeselector.js create mode 100644 web/pgadmin/static/js/slickgrid/plugins/slick.cellselectionmodel.js create mode 100644 web/pgadmin/static/js/slickgrid/plugins/slick.checkboxselectcolumn.js create mode 100644 web/pgadmin/static/js/slickgrid/plugins/slick.headerbuttons.css create mode 100644 web/pgadmin/static/js/slickgrid/plugins/slick.headerbuttons.js create mode 100644 web/pgadmin/static/js/slickgrid/plugins/slick.headermenu.css create mode 100644 web/pgadmin/static/js/slickgrid/plugins/slick.headermenu.js create mode 100644 web/pgadmin/static/js/slickgrid/plugins/slick.rowmovemanager.js create mode 100644 web/pgadmin/static/js/slickgrid/plugins/slick.rowselectionmodel.js create mode 100644 web/pgadmin/static/js/slickgrid/slick.core.js create mode 100644 web/pgadmin/static/js/slickgrid/slick.dataview.js create mode 100644 web/pgadmin/static/js/slickgrid/slick.editors.js create mode 100644 web/pgadmin/static/js/slickgrid/slick.formatters.js create mode 100644 web/pgadmin/static/js/slickgrid/slick.grid.js create mode 100644 web/pgadmin/static/js/slickgrid/slick.pgadmin.editors.js create mode 100644 web/pgadmin/static/js/slickgrid/slick.pgadmin.formatters.js diff --git a/libraries.txt b/libraries.txt index 8c8033d93..f632d6fc1 100644 --- a/libraries.txt +++ b/libraries.txt @@ -31,3 +31,5 @@ dropzone 4e20bd4 MIT https://github.com/enyo/dropzone Filemanager 7e060c2 MIT https://github.com/simogeo/Filemanager Unit (Length) d8e6237 MIT https://github.com/heygrady/Units/blob/master/Length.min.js Natural Sort 9565816 MIT https://github.com/javve/natural-sort/blob/master/index.js +SlickGrid 2.2.4 MIT https://github.com/6pac/SlickGrid +jQuery-UI 1.11.3 MIT https://jqueryui.com/ diff --git a/web/pgadmin/static/css/slickgrid/images/actions.gif b/web/pgadmin/static/css/slickgrid/images/actions.gif new file mode 100644 index 0000000000000000000000000000000000000000..026dd108edb433b2592695258f5a26fead66a7bf GIT binary patch literal 170 zcmV;b09F4-Nk%w1VG{ro0HOx~|NsBFxw+Wb*vQDp?Ck8An3!f}X8-^HA^8LW000L7 zEC2ui022Tc000ATcq&u=F9=14Bp_=*L>SeujoScvWSU8mntBE1j)XI(_C4mS;s1uf zhSviMhXoE{2?+d-ON=ebbPB1`WJl1!Tm@h-z_A1mz|k1KkDxg* Yaq4(_7$y}LDRLkb2QUy25)=slJ8Q{ByZ`_I literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/images/ajax-loader-small.gif b/web/pgadmin/static/css/slickgrid/images/ajax-loader-small.gif new file mode 100644 index 0000000000000000000000000000000000000000..5b33f7e54f4e55b6b8774d86d96895db9af044b4 GIT binary patch literal 1849 zcma*odr(tX9tZI2z31lM+(&YVk%mZ}5P~KlG2s=WSbGzm0!x7^P##Mnh7t-jP!X0Q zk_SQ}Po-L1tlDK;6l?(>v)e5ZBQx4|Y-Q?nr@Px3?9h(3ZWr3^tj=`TP57gKr87N$ zp2wWee1GRRCwo_xahnw)5cxNPJbCg2L6DV|6`#+yw6v6!mDS$f9-JvFD^n;GQ&UrZ zzh5jCkByB101O60U0q#p_1BM>Cv-vP?&s4@g_((4_1L=L$(a91)0=J91Gas#R{McE znYG^9*0A5YZ>#;~+Wkn(W5B0^yELIYLP!K}mB~<)AM@1&nqekynuaEGqPrzoH|KodRXJy)%+w_fu3nE5>@Bd_b zqC$EQ;{c`T&?EsNO|igL9gC7Ygxv?aQUEXMq?~>wg{EyW;VcJ37CUF#HjrT=KQO_* zS>M9yydXk18D(+QDJ1>r);Lav_uYKp$T?4vr{Q$lTo&pKv^?(>L-)G2*lwH!Ah7k? z7oH<8h-(KTKt5V6$8gF)C7Io&P5=SjTh)=zV=E2EUhQZP##L8S{d%UK>>+y82>+FV+#^BzW7u3F)Bb>=lYQ%%j`F>ASe zo*cw@V#u6T`A2He;70mR(V&iV&-7{qP~=SRf&jm9-T{*ZeZ}$rd0#6c&fLG^xJcf5 z+p<`wJYgW+_s*V{uI$nMB;%8`S_3>PfGOj3Rq}@Cx^+j?rk92fANSFDBYnOqQ>Vdj z)(|$AhP4t&Lb=Gvo2#3Gl%9<=Gv`Mz?Po@P4iLF!x}GUWJICDlFk-hS^Whyh7x~VH z@0vD1>HYD4&e+~yzS*-sFR{9`{QEEZO1zg7>R&7cHts-6j!xHVdA8eI+ZlVzd%`es zJT@$#GX(gvCJ1oJN%yLBK}{V=V;seo;!w|Yte!W1%5qLNFWqvZW>h&IiH+oPT=b@E zPhGzv5=(Un*X>v`>%8h_nj^NdYcE6NHS_ifkCV$*D)Tqrbu`s;<=t<4 zAHNqNV?6(g<1PY-w@#I-WYFViz?9TrkMr)u0g`O`u|>T;k|2sV*YF^punvT;$SuTy{j3Gv)yqD!R_CF>yR)MzmmYS5v+~R zXAdD%ng9?df;wd8GxR#%3O+gz};Vo;)sK%Bj-q>Oq%R7JU-KD?vYu>#2UjaDo z&8$>5xW~?KPD_#XFToU1hIb*VOMidUr6iYiO0N|i-7s`T8!cFT`rN!^1Pt78J93i6 z5HI1wIM$94m{3SLDvISDe6$ZG1;eq_D9RTaaC>=cO{@Bs>$IlPCPJJ$h$)-3vzNUQ6OsN#_zWxey!_9%hxwH2_dEJi=yY|1c7nDm2_Lm!Cof8-R_+9UkS zcBE(o47yE)oMR(Q=dp1a2wTX5KvvGyLqlWTa7V&!A*|w|)ax~1_~aJ0=_Lilg*0iQk7#ZD EAHN$8j{pDw literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/images/arrow_redo.png b/web/pgadmin/static/css/slickgrid/images/arrow_redo.png new file mode 100644 index 0000000000000000000000000000000000000000..4f7f55d6f2f41754d868fe3ffb85212b57d939ce GIT binary patch literal 572 zcmV-C0>k}@P)NJfvOJ_l;h3;paDW_*7b%<&cRZj{sffO2Rl5h%hh1`v?3y*u&33Na0JSeF* zS=E%TtxTZ0yc+RX9Et?F!(Ct`n20yoX=Fdn4LrH@qCXA*UE}9cF7Mr+IFN3r-h*Wp z5ev#d7qogj(pqmu&{zQgaR3mNNp5dS*H`TZod`)}Kfgo%Qyyy;jA-1Ige1((=Y}V) zyu4g0(6Mt{4T`n|$ua(Rd_mOc$l0-rr3-5xJUlJq)I|Se*SZu)wN;i^AwUd;F9p!J z;qyugylckurL#By&vbP0_981efn4O!8Em+9GSMOgxn90uI+t=?X{w%KSLxQ=W zNZ=|^qBcjl{o0`vO&O9MGPRMalPM+&lH>R7a^!B!2O9*oQojI+$7t(~S^v8L0000< KMNUMnLSTZd%K~Ho literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/images/arrow_right_peppermint.png b/web/pgadmin/static/css/slickgrid/images/arrow_right_peppermint.png new file mode 100644 index 0000000000000000000000000000000000000000..87225678667a823d75f5e3212c373ae39f909386 GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^+#t-s1|(OmDOUqh?w&4=ArhC9fBgS%&%9B>c|ld3 zfw*RuJ)53N+g?6V%;4+AGwtA31YGgH1C<`IzMQjhaW6&S-tHKv^^B bLn6cdCt=3@AFg}=8p+`4>gTe~DWM4f6ACMK literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/images/arrow_right_spearmint.png b/web/pgadmin/static/css/slickgrid/images/arrow_right_spearmint.png new file mode 100644 index 0000000000000000000000000000000000000000..277ddde3848ebd8322c3d1d047314faee841078e GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^+#t-s1|(OmDOUqh?w&4=ArhC9fBgS%&%9B>IpO@` zD!m|)dZr|~B+>uukMeJrJP6{se88{gQN6<-zK)rlfjmJc+h%=f|9dwf(9%g4aS)WM)q*I}2pNLl&_yaJNO5p*5tmXOS`@)TClx^? zLr~D*BBB<=EKauh#M)qKk?`3{Am-k4pF>GBRXIdnXwgxf;#;tS zH}7Viy}J7L_=a4_pDT=tXs*0eMhG6Zb#y>P_pYHDXy{EbBG3MHYY5F=D{ zeGXJ~T12ydf(OP9Oh{cbU6C$SrHV>WfeMQ)OU&LIx)tk;533RC=7@m1pT$}?%3r<-J$Ez&e(l@%_gtJbL)NP)2Fa&r_Le z5{PJBRUsxY2hb5_gc@OvsMTs%305(;?8Be+^HdxEFy)t9l6d0g(aBgOdQoYZU-$%- zUpY|aS1OBC7D(o1r#?2L4Ch?42gdeK_g~xh{`c9xy2S;l>xhaz_@CeS6BGG`lIj)Z Q?EnA(07*qoM6N<$f+QpeF#rGn literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/images/bullet_blue.png b/web/pgadmin/static/css/slickgrid/images/bullet_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..79d978c36a5bd95d9a255d96a06970f2ca7e98d7 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`J3L(+Lo80eowS?tPymB#f0Bd1 zl|x=GF$dzpPjn??PjdhN%8Sz+w@DVg~unR@e6pyL@H@@U)!y% p@iLf0V7f$QuN~L__?>nSc&BIwO{&S)mjU{L!PC{xWt~$(695MMT*?3d literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/images/bullet_star.png b/web/pgadmin/static/css/slickgrid/images/bullet_star.png new file mode 100644 index 0000000000000000000000000000000000000000..142ea482a527acce8042adbb0e42f19a083b677f GIT binary patch literal 279 zcmV+y0qFjTP)!4VR90UF@T9gOGS^q(7QZ-)!X?pU+0f>#k27ttf(%9D4@PEOAqW^~u zMg9N(KNyJZ{~tNx3=~WL-_}-(-yo1pXU`@AHAMn(CJ@g8;&vc50b&uLoH>5)fJ|?0 zZv21ah7V9fHW1GN;!Ys80E%h=lp=GiDS6HR(Y$mjf|BP%MYIzyvB;KaSZ z|G)pW|LOl<|F!??-|Kcgc<+DvgMw@II$YZrRIfEXT=-vjgJuNtl!gZ9|F<`4M)agO z*_yF#o^U6i&G%qSY3%>#hAQp<)Bl{0H#bo9+{VOkVzPWyu<80%pk)l6u6{1-oD!M< D81X<* literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/images/bullet_toggle_plus.png b/web/pgadmin/static/css/slickgrid/images/bullet_toggle_plus.png new file mode 100644 index 0000000000000000000000000000000000000000..a96505342397eca5b40c767dfaba1422f5fc8cce GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6l097;KaSZ z|G)pW|LOl<|F!??-|Kcgc<+DvgMw@II$YZrRImN}&wr%-pZ|en3A_PJOniUyk1tCw zoW%L{hR7MGB4)@S9f&o11MQ?xO!cw>Iaru@>)1r=M0E4P+ZZ7mII zIULeKgDU;7-PP>>t`%1~&E2Rss zmoK_ev+zRIlAE$=f(b?AOC-O$p6(*{}&|uUzqrRQPTg#DgT!MQR@E+qCNbq%HSb);wrm_poFAqn?eAdp14k-|}?A)@PHqKcBko;gs#qr|o(M^svF)$&Z_>+Z^f#E-c4#;{?o?zg3!SJ6`#$&^S1A0Mo zOd^|}cuZ7utZDF2x^QZKw}f%r8-))i=S!QW?1-3n$c0l#`Co>>jVJxRayDfzPBbdB z@d(x%aio0O$kr>VAGIN%@zD`^9;T^(W-@hfEzoLM$MA{iMIURU+pmy=lUPqr(`R8} zQ7}$#a!{(>!NA06dGg`n cVfH2m1!<$04Gs?(n;)OBm5A{(P++hI0EaJh%K!iX literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/images/collapse.gif b/web/pgadmin/static/css/slickgrid/images/collapse.gif new file mode 100644 index 0000000000000000000000000000000000000000..01e691450c48632dc92a40a8c2b509bf99987225 GIT binary patch literal 846 zcmZ?wbhEHb$FyaIl$)g-gQVfI}k_i-?$k!^A~S3=)P?0Tm31hZvXy UI%HM~I5JIC=Ul}jAi!V^09i~Z*8l(j literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/images/comment_yellow.gif b/web/pgadmin/static/css/slickgrid/images/comment_yellow.gif new file mode 100644 index 0000000000000000000000000000000000000000..df7158a47713eaba957b506048235a44ea204b7e GIT binary patch literal 257 zcmV+c0sj6+Nk%w1VGsZi0K@S*iEN$I#V?9xjA@}>Xoga7rz|MtxP@t*(f zd;jyT|Ma^5_}BT?cIUw`|L>9O(^dcLa{u(R|L~Uo`Rwb_Gym_4@6JNjmm=$!66@0} z+@UAy$58+O|NsC0A^8LW0018VEC2ui01yBW000Gk;3tk`NqT6imL3tk1c6!B=8c}C zdO&j^2-_#;K`Hn@mvv4FO#mmc9hm?C literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/images/editor-helper-bg.gif b/web/pgadmin/static/css/slickgrid/images/editor-helper-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..2daa973bc525c83872e4a0357b756727ca7eaa49 GIT binary patch literal 1164 zcmZ?wbhEHbYF9fS*UcPPtW$y zAC1e8&dfF|PCBwPc)8m=``RLrQxnq8EOwjBBztRfX25cv`Ch$VTVDjNcFA@+x-0Z` z$h!EwVWQk+I+s?bT%LD!*S7528}iR;rCMLljonfHbWv~gw)MC6)cyQ-m%G9s_D~1E z_O{tGJ|^wyRkXimZCQ|baE5+%pU=&W=_lt~H_Pen+LC&1xwbUl+*x0Syf|Ke-=FW_A3xmP?_a;~@8`E4XYbdGudo02^{2Q(!*@ZAgvM7- z(;qZ(zPtXQo}W)bvFVLvgkp=h*9^s0F29Ng?L2uLi`o^-G?F^SX01r-(n;F!s9yG{ Q#^WB7YZ;4s85tR@0d|1E6951J literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/images/expand.gif b/web/pgadmin/static/css/slickgrid/images/expand.gif new file mode 100644 index 0000000000000000000000000000000000000000..1b24ef1248de55c6140895f6760758a1579f14cf GIT binary patch literal 851 zcmZ?wbhEHb$FyaIl$)g-gPK!J(0fMMMlpH!w1DF=kxpFl=aGX3~-h X>0od?I!Q%XL14k81*aJp85yhr3QsCm literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/images/header-bg.gif b/web/pgadmin/static/css/slickgrid/images/header-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..fe7dd1c1ebedc02d4e1aabf91fe43e1bcae824e7 GIT binary patch literal 872 zcmZ?wbhEHbWMt4`Y-eC-S#V_a@i#lpzuR@;-JVPD_g;R#|H_AhS3exO_Tk8lkH>C) zJaOyO$=jb!-~D{{-ski8KVNw8<p u#Ky(P`xTtKWIQ)5IXPLwHYwudrlqH+8zi5a#gWNI1yM!7mYUVnf4WCKe8!85Rx=4Ga>@3=9GS G4Auam1ttan literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/images/header-columns-over-bg.gif b/web/pgadmin/static/css/slickgrid/images/header-columns-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..f9c07af1347fc44dcabb1a9d22458deb195fd92b GIT binary patch literal 823 zcmZ?wbhEHbWMU9wXlGzpb>`d67r$SB{>v~5Mnhoag@EEu7NDp9Gw6W44$2b@93l*? Z95Nmo7Bnz$2y4ZhC{SczU}R*l1^^j55kLR{ literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/images/help.png b/web/pgadmin/static/css/slickgrid/images/help.png new file mode 100644 index 0000000000000000000000000000000000000000..85eca0950fbe19e870f7701b0bfac6b9a96b317b GIT binary patch literal 345 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 Jk&%(X8US2;)^z{? literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/images/row-over-bg.gif b/web/pgadmin/static/css/slickgrid/images/row-over-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..b288e38739ad9914b73eb32837303a11a37f354a GIT binary patch literal 823 zcmV-71IYYGNk%w1VF3Ug0EYko000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~A^8LV00930EC2ui0096U000OS0Po$iSC8I2dGX-ATgb4XLx%wY06VC` Bj$r@* literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/images/sort-asc.gif b/web/pgadmin/static/css/slickgrid/images/sort-asc.gif new file mode 100644 index 0000000000000000000000000000000000000000..67a2a4c669fc5821a07fc486228d626e16d6ad9e GIT binary patch literal 830 zcmZ?wbhEHbj$14`E{N%eP R51)aOh^MQc%Q~loCIDZo7(W02 literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/images/tag_red.png b/web/pgadmin/static/css/slickgrid/images/tag_red.png new file mode 100644 index 0000000000000000000000000000000000000000..d290fcd791ec801429fc32f166878c1f22c7e8ae GIT binary patch literal 537 zcmV+!0_OdRP)9$ZJdfg>dNa3k@+gXb+5WI?DVQXrenz6(((GBwjQDwIm4il%AcoXa`^^Z7hdsnkJ; zLQ~B~VP1>KfzLPemr z1_MfgSS+>!QN)h=QW&U-F$O*tlO1;O+i&0xcVJhS7NpIU!??8IJ9;JZa@0Sos$>nmY*ioO0=@QcIVtsi5e!m5AT!1AL z^1RdOPzrdx-Vgr+2wLc^FaV991g3& zU{I%@Xg)ESMSaKoE`SsW1Z?7_b^2gkvC1LyQ2@#3^VvKek4|Q%)46BgXv&DUBPdr>$12LrM(Cr5I|C#1xbu5|>)lhG!5j zp}PE)Xu^dU5*Pp7zt-OS+iME|2>$W}|8AgOYvNm$>YcwbP^~udrei(&4_HX}D(*)H z%3uROc+`d2dpEo{R_M0WsPGioz9m+yNO|L-4%2ZLrs7U?ZnvV+TZ|HikV=0tUa~cY zGp6UWSiUUfQ!P)%oCw4mZqj-Bh8>RhTHU=Tm8j{pZ@+-cb9aFU(;&HV(~}EJ0um$rdG3hCK$ps2$#04jmf` zl#YuMVp|^dVU0Z}noRv+8_ZV&n0xTR8@9rDq=V^1kBP7a?pq6(bva6$!k0qpM{#-t zW=Bqw$}olWZ*%&iHn<{YxWZ;=)>=}qk|Hjb`Z7oa7A;$lpnJC+?#L({H^XQP%0OTx zMV1`uTS=76SJQPfm84|_)GN&(u#&>jZ0bi*Ci|t!C&VDIo(s&`8Na#(0*lTc$;$Yb aYkUR1qNzMm3Ij+00000phCpI>2{dBys(sIwpFWDz^b5`?95CI)&S&yhXMcq literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/images/user_identity_plus.gif b/web/pgadmin/static/css/slickgrid/images/user_identity_plus.gif new file mode 100644 index 0000000000000000000000000000000000000000..b276a81c786561a82422555b598bbc07e63bf82b GIT binary patch literal 546 zcmZ?wbhEHb!lchi~8b7yvx zhlk4?-L>w+!;3T8%cr#zy}WUJPJ8K&IgO7`ZD`I3>n%>ZR_fBqWElN7JYt`JY zvd_2nAK0?|(~Z5KA6>k%Ywn`{iZiJ$v>W7x^ZI1k2m*@ZCy08t@!iZBj>ivKDus3QITpr{ordpS$wvCCZh^f8h0exu+Lk$Bh>jMgM zY_{C4H(guY@7{B9dwAQ^-Q(GF_Xm%jK7af2_1kx^T;F{3c<=V*+cWo;Mh0sD^HazS literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/slick-default-theme.css b/web/pgadmin/static/css/slickgrid/slick-default-theme.css new file mode 100644 index 000000000..e4cfbb735 --- /dev/null +++ b/web/pgadmin/static/css/slickgrid/slick-default-theme.css @@ -0,0 +1,118 @@ +/* +IMPORTANT: +In order to preserve the uniform grid appearance, all cell styles need to have padding, margin and border sizes. +No built-in (selected, editable, highlight, flashing, invalid, loading, :focus) or user-specified CSS +classes should alter those! +*/ + +.slick-header-columns { + background: url('images/header-columns-bg.gif') repeat-x center bottom; + border-bottom: 1px solid silver; +} + +.slick-header-column { + background: url('images/header-columns-bg.gif') repeat-x center bottom; + border-right: 1px solid silver; +} + +.slick-header-column:hover, .slick-header-column-active { + background: white url('images/header-columns-over-bg.gif') repeat-x center bottom; +} + +.slick-headerrow { + background: #fafafa; +} + +.slick-headerrow-column { + background: #fafafa; + border-bottom: 0; + height: 100%; +} + +.slick-row.ui-state-active { + background: #F5F7D7; +} + +.slick-row { + position: absolute; + background: white; + border: 0px; + line-height: 20px; +} + +.slick-row.selected { + z-index: 10; + background: #DFE8F6; +} + +.slick-cell { + padding-left: 4px; + padding-right: 4px; +} + +.slick-group { + border-bottom: 2px solid silver; +} + +.slick-group-toggle { + width: 9px; + height: 9px; + margin-right: 5px; +} + +.slick-group-toggle.expanded { + background: url(images/collapse.gif) no-repeat center center; +} + +.slick-group-toggle.collapsed { + background: url(images/expand.gif) no-repeat center center; +} + +.slick-group-totals { + color: gray; + background: white; +} + +.slick-cell.selected { + background-color: beige; +} + +.slick-cell.active { + border-color: gray; + border-style: solid; +} + +.slick-sortable-placeholder { + background: silver !important; +} + +.slick-row.odd { + background: #fafafa; +} + +.slick-row.ui-state-active { + background: #F5F7D7; +} + +.slick-row.loading { + opacity: 0.5; + filter: alpha(opacity = 50); +} + +.slick-cell.invalid { + border-color: red; + -moz-animation-duration: 0.2s; + -webkit-animation-duration: 0.2s; + -moz-animation-name: slickgrid-invalid-hilite; + -webkit-animation-name: slickgrid-invalid-hilite; +} + +@-moz-keyframes slickgrid-invalid-hilite { + from { box-shadow: 0 0 6px red; } + to { box-shadow: none; } +} + +@-webkit-keyframes slickgrid-invalid-hilite { + from { box-shadow: 0 0 6px red; } + to { box-shadow: none; } +} \ No newline at end of file diff --git a/web/pgadmin/static/css/slickgrid/slick.grid.css b/web/pgadmin/static/css/slickgrid/slick.grid.css new file mode 100644 index 000000000..876100574 --- /dev/null +++ b/web/pgadmin/static/css/slickgrid/slick.grid.css @@ -0,0 +1,158 @@ +/* +IMPORTANT: +In order to preserve the uniform grid appearance, all cell styles need to have padding, margin and border sizes. +No built-in (selected, editable, highlight, flashing, invalid, loading, :focus) or user-specified CSS +classes should alter those! +*/ + +.slick-header.ui-state-default, .slick-headerrow.ui-state-default { + width: 100%; + overflow: hidden; + border-left: 0px !important; +} + +.slick-header-columns, .slick-headerrow-columns { + position: relative; + white-space: nowrap; + cursor: default; + overflow: hidden; +} + +.slick-header-column.ui-state-default { + position: relative; + display: inline-block; + /*box-sizing: content-box !important; */ + overflow: hidden; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + height: 16px; + line-height: 16px; + margin: 0; + padding: 4px; + border-right: 1px solid silver; + border-left: 0px !important; + border-top: 0px !important; + border-bottom: 0px !important; + float: left; +} + +.slick-headerrow-column.ui-state-default { + padding: 4px; +} + +.slick-header-column-sorted { + font-style: italic; +} + +.slick-sort-indicator { + display: inline-block; + width: 8px; + height: 5px; + margin-left: 4px; + margin-top: 6px; + float: left; +} + +.slick-sort-indicator-desc { + background: url(images/sort-desc.gif); +} + +.slick-sort-indicator-asc { + background: url(images/sort-asc.gif); +} + +.slick-resizable-handle { + position: absolute; + font-size: 0.1px; + display: block; + cursor: col-resize; + width: 4px; + right: 0px; + top: 0; + height: 100%; +} + +.slick-sortable-placeholder { + background: silver; +} + +.grid-canvas { + position: relative; + outline: 0; +} + +.slick-row.ui-widget-content, .slick-row.ui-state-active { + position: absolute; + border: 0px; + width: 100%; +} + +.slick-cell, .slick-headerrow-column { + position: absolute; + border: 1px solid transparent; + border-right: 1px dotted silver; + border-bottom-color: silver; + overflow: hidden; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + vertical-align: middle; + z-index: 1; + padding: 1px 2px 2px 1px; + margin: 0; + white-space: nowrap; + cursor: default; +} + +.slick-group { +} + +.slick-group-toggle { + display: inline-block; +} + +.slick-cell.highlighted { + background: lightskyblue; + background: rgba(0, 0, 255, 0.2); + -webkit-transition: all 0.5s; + -moz-transition: all 0.5s; + -o-transition: all 0.5s; + transition: all 0.5s; +} + +.slick-cell.flashing { + border: 1px solid red !important; +} + +.slick-cell.editable { + z-index: 11; + overflow: visible; + background: white; + border-color: black; + border-style: solid; +} + +.slick-cell:focus { + outline: none; +} + +.slick-reorder-proxy { + display: inline-block; + background: blue; + opacity: 0.15; + filter: alpha(opacity = 15); + cursor: move; +} + +.slick-reorder-guide { + display: inline-block; + height: 2px; + background: blue; + opacity: 0.7; + filter: alpha(opacity = 70); +} + +.slick-selection { + z-index: 10; + position: absolute; + border: 2px dashed black; +} diff --git a/web/pgadmin/static/css/slickgrid/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png b/web/pgadmin/static/css/slickgrid/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..3613910b7770d4a8deb4a095fbc90b75dae86b7f GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F1SA+{?>A)!QcOwS?k)_>#w|r1Kptm-M`SUO z_5fqIli7AahM1>|V~EA+ zRdP`(kYX@0Ff`RQFw!+N4KXmcGB&j`FxECOure^{e$A OVDNPHb6Mw<&;$U55i}kE literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/smoothness/images/ui-bg_flat_75_ffffff_40x100.png b/web/pgadmin/static/css/slickgrid/smoothness/images/ui-bg_flat_75_ffffff_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..ad8c5ea1ec8b6789e3bff1807ad74a66bc7f5442 GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F2qYNp$opRhQcOwS?k)_Bce{j_0C}7R9+AaB z+5?Q;PG;Ky8A6^ejv*T7lYj6t@hpC#;TbB#aBAWwna#KLs)4eqC9V-ADTyViR>?)F zK#IZ0z|d6Jz)087G{nH%%GlJ(z*yVBz{nc6a#?2AmP!?*K(O3p^r= zfwTu0yPeFo12TF&T^vI^j=w#x$i?I+((tf;UXnmgbH|3oY>pC!)f}(GR!16S-u+#{ ze6YEqRkW=8vGl=5qArKM<9}TC-}iEvB{zdaTcX5$wyRTK&ALYGq)oZD3$! kV9@=VQyWD?ZhlH;S|x4`zqW0h4%EQl>FVdQ&MBb@06KRXUCGx5b?-VBQkUm|IuXOmYJrBRJgj{Vx zMbNnqUkncy+qa2-mWYc>swkcIuvGK#>(0d)B7)5f`@$Ei28nH~0h*~=;u=wsl30>z zm0Xkxq!^403{7M?Ujnjb| O7(8A5T-G@yGywoj!A}JM literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png b/web/pgadmin/static/css/slickgrid/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..80dc68f7e4a960212ad482dac9aa94ad82c22df4 GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&0LWmFTHNUZq?nSt-Ch3w7g=q17Rci)@Q5r1 z(jH*!b~4)z#PD=+46!(!TrvH)L6@80)r*_cdCvDr%)6ghVL16=s@mbz7H!uRdGeDa z?kzLg)16i!f8fKx84s0>4nc6a#?2AmP!?*K(O3p^r= zfwTu0yPeFo12VciT^vI^j=w#>k(V)1qW$CZ|6)SVV-&*#dav<$DMuV&n0Dbpw@afkei>9nO2Eg!>?@{rvo)Gc)I$ztaD0e0syM4bNT=P literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/web/pgadmin/static/css/slickgrid/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..a5d9c30e3150e7bec7b2025c029d8c2b38d4a645 GIT binary patch literal 280 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 oFmD$4S&0RXheCg2zs^YN~b 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 literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/smoothness/images/ui-icons_cd0a0a_256x240.png b/web/pgadmin/static/css/slickgrid/smoothness/images/ui-icons_cd0a0a_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..7af13a6004008f4d683852d9098f23751ee6c293 GIT binary patch literal 4549 zcmeHK2U8Qw)=okQgaFc{D^V0dT4;jQP=cXX>AVCfD!mB`0fJPeOA$~IUa5i*ktRh# z5u`-G&@_~YAiYTMx#*p_-=FxN+1Yb;XP-H{&(54V=ZUf5EhYwD1^@uSq=VKn1pt6& zE?|S6=4>9<(LFfZU^dn_M-dqq{(t;W0a;?;@|i%^0j7p#03H?@Fuif><7~;xw|$YW z7+!Yiex^&xoEm67_(dDRYf@%n(Xz3)4!6$(T?#1v=7x{h^4g+=H>Ga{szpwKc_vrZ z86Y5<*iN^PQSe6q~;x-dhY=F&+oG!z&m=kv;c9m7tm)5s1MrO|IGgJ(E#lp zcU1u3oU@LWy7|NJtM)J_avdwA2mNL->zVxrJ@%4!qt0J`UHw+R+*q0T-NUo7aFH#@ zew|891!8~r#Kv0na(Mns6JMrhA%rU9f&juWR#sLi(3O;xMyS%Lfc6*U`md{$F|{_v z(*6!M4KWrDebBv-gn*13iXfl@v|*0?BB{pg#x@MP350qkry5ql1#x*_L^0WEKpxC$ zeK|#Eo{`}h*`ZO~e}-6d8v*-eP{@^K8@I>c58IH%JcQxX+H)2Jak)(WTFOQ2?EGPj zFX72k^4**k|fr^kQ-^q2*nG}D~q^Z`ewvYqqTfgvdTMV%8cRk?q zWK$?s3E*y=FS{Y|V=2{{V%<+_%W$nCkO6vcTElFis*kM{MHB85%4wd_Cw0b{SX{gb zw0pugJka4n&q}z4BUGvH2N-dhwJFMHzn6Yb0<|1l`#&`JOpb^mYS918B%KKHRu;qu zx2bx4(*&PxBcIIrAvYd_uLB(4l5!iDn+R8534Aor{;xO_=G)Vm-$_KYSkurX>ih8^ z#q@Ump%>G5DJWcdVAMjK3AqT8H1wp5l=ZJsz!iN*&8ZdWpp(q~%8$9g(2F%3GsU|<7@rzsEhH}Y5iPDWqPMhvr=Xe zqqDe;jb~~wx(mj0Zv4t#tcj0?;^hgCpz^w|!1pfz%ik3p3WELtjMAdHpn<>;Nu!rH zxjUwaK;`65geYqqMsynp`V2>#e#3L*v=!{wR;H?bn_{4gcmZAq!YJ9@DgyZBd8f;N zp`F;*67PR2TKT&BO{bcWCK|A1I2U%V60b z#qqdKHs-D3kQtFYFWX$mGltWCJc@x$4`$r}8`o+h$BGvXL0Q-H&Wi$T^gL9WNs&1@ z`k0~Y18nQnT>3h%WT@jYm>$YHCGabOIo_~`T`*!nt_CVBOQpP0Ym8}FJ4F5YI6Ln` z%VTXdAO}nKc;t*xX=#=TxUyonEBLd8r+4#xg6xOr?X|V;iwFHD=|q| zJ-PVwxW)+}t1$m=ZB$AJXdx^*W^HI;Ai&uP(Bqg}pi`SMC`G7Nca{BBMRrE-Cp&$< zbzs({fjKBdP=Z_nF*wrD>gA!3{Bu3@(1m!3!&`rzFd^pLYxMcXK)Cy5U-!~c1DBt! zW)4Yvpgg{n+m+AsJ|zg<4O8`c!Vl-FM*|lULPgeKvHI+vR(WTmw67`%KNa!Y?Hzzz zDzcTGZ+gY&YvSI3*!Hy5cd4tcbtsX4n>UNdMyg8j!mSYMd*5xMmk1LUPJD&uQK=U2 zsD4He3r)U$z`yPjGW01Z0o|HPSy@hs&3ffi60IS|FJN001Ip|xqCy!Xpe#VpE)z(- zEQuMd!KRNML8fgu(LSdoa109E_EmuZ-13KJer|3%84!l(j#{PZ8~o>)$rsl%dw{yQ zuT)Ka+f?|bN)7X; zl=6a;;}jRbhJX+)O%{-9`xg7wC(na_8tC)Sw@0#-wv$L^gF?MxaHW@qb1&9FMJqy- z8jVnR&yPrD2lb>^tQz*{i~A1_+7Atdf$SOpZcfD5VF>-b_@f4})CV0sKrLzZktij0#5=a49Ab}&5OX2Uy)PtQ}Lp^;n1OV$$x;WY>ugKdWzkc!S z7kf_<&NDLx!|YVlkWgVB;m+L@mw2`dSe34V#m1=jnpO9UPTnpF{7IWqe#+PdBcnE@ zDkcp15S_Byy_?Asx{k%nG&uLdROY5aok>)))9?uJDnwxcrI|I^0 zg8rk_y9XS!O4U7EEu*RLO;Z$y^TgTGMK0mXk@R3-Q z!dH!$``IJ)?Di2C%#x-caM%5Vl!CKw^}BfUrlgSs6ra5>2(7?4({oZXur_&%q@7)} z&RE~AM-ZSSZ|+>H$oD&Wk`Q^0htJ4w>8Q?cwZCNd@ZycjymYQU_!NHg_J3rY-p^mo zzet-x%TIXqqrfX=Sis<0v^Yg_hW)ptN>PBW7$x0`Ao30u%^LFgqA`=HCsuFisOFif zC!ZB$OCb;-2f26B4p#m^9ilm?UUmps%EEE!fz=FC8++>yUxy2^!&tf zCL$6i)ToyTVLf8y{v~`atxQ2`2Bm@2<`z1vSGueZN;y8b7UUXq`Wq!KaO2aew~%Ci z`86x9QWr7RunHHKqg8B420%T3m%gZ7MFi^n?8syi6Ut?5n-Ep5SGs2SbgS?2!T`-a z$FgKzm`H5v!E+;9kTcatWnKm~@4+H>&HCFFwcj)gHS(#R(}168T;}1yd>kXi61jGj z^b-=_w<0nya4t(0R4ib6BjRsH55$S&Wm#16zpPds*y+}rvaymtJzNhPETI*tm^!$#!z=Wk11Qma^NOS|UdJyMuM-Wv?2RQZ7r>B|R z>(IRZrtGQt(f90}WOcBznfrr=_S!p>C;*e>hsG-{Hj^aIS_zl8;cmZTzmD#aNe;b* zJbspr8aJG?=ASR;3)7Sm%)0zRwgha_Uio}^27{y=&@?=vm>~R9)(Rir*-74&zk%DX zs>H}Zu#h9RjcTGXN7sSR$~6i)OxaY;pjsL)@)8b%4=umH8#`d(Gs?NIQR`Kw0xG4& zTJ{nv?B2FoARL}6NEwYq_2>m-u^ueO4&Rmro^;M{#(F%oQtHNy=so}_(|^n|ylcx3 z?&03BSAh&O3ZK9P`R&Vg^A<>BbUrcM#1t)JfCM#S_sK6n3sWYiNxKw;U=C!*G{uC{!_j^2 z)P~DE!`GnFF7T8aXsYgJ92v7E$Y21q4bG=4Wz>6M zH6*qp*+WWr+gQvbP{yPQQ5Ko~l&){YV^R zX5XAoUZusj0YHszQSyO2Io)UKBDFRLUzDS(k+`tD?MUWsWm+?-UsvDs~3=cxbw{NDnW z^?3paJL5v*+L`)o0s2IBoc#JQ@>Vkzgfqsl7#9~QXiDjgyhv4#?oU*%lK#*^e!TyM zRxidc+5-vFXV3?|si`B*&8034F+zX}x$MYDlqwI#tLs7(pqVF&&Dbz}I8lt+@AG1r zF$1t$ShdouKYrX--v(VhFL`3-OusQGwFnRr=!BC>XwfJtU9PyfS^@Fi;8}3 zn(ZFb7Khds$~OvqBsz_v6}pXVtBjnr+*KXQ&u8-+%^Ed@@+A>ZR&*g|d8K2{g=?M` z>o3$umckCW@1Eflc>b|l%`E;POa%?s8II6aHJ3a&3At{6QHS}KF7iH*ZGQi0xv!(= zilH_bYf>QhJ85$PA-Wy`tC>eZUYjXoE7CUvMq-$K!UB_GPuvtWVhizeRG*tSX1!;3 z9{FE=m6IHIh6ScWED~M(qO`HsetB6m7WwKNeNO8VZ z;bE`(;5^OL5{UOe;~<8s*3Pp?oa9g|ZEUSTnqJzj|8hwCkTjBH_)Oy75pCF18{Ob} zq^Nv!T(I2!45*4Zc5^Er(?K$o{Pp)z_K76-Dytgx_&tJbrkdI;0_>uTuLxeJy^ru> z>66UTI6aQSVM4UFmQySww9G;pilT+xqrY{fe70+-0z7K0HuA1>qRk0YNt zHSNI~;NYfo_(7Q%k5%nKWc~o16{OacWjK=iLLshqO?^ZW{q=AW?p`c^+~7PyXLB>I zz}qR*`?dWXA|}xJP|@_S<8sva)qd`eGI4SA=iIt~e4QPNJf;%xSSBby4LAoA6+Ww+ z4~@=sCoYLX+XUGk=RflAnVp_ayf6gvI_CBv{jV`2Yx_M=j-W`OKR0>@7<{JE@yf8V z-dl!%2bV)Lwx?rgjYF%_Pm5{O$>hH0k+{HB;_w*7I5*U@8&?rgruK0re4uJ5Y&iVoIKXnO5mr`)exTMJoaefK5M+M2B540 zoE-yP6rKEB&I~{rAtfh{kQSGcHkX!Bl$BDHkrhQC6cGqz71Ey;{{IM`-p==3AN?W7 z{2?Hu%%x-$Wn>hk5dS3vDkcV<5qSPYF!Oc|2y*mu0jN8B-*JKKcsky7F?Dfte&pNZ RqI`A;po22hs?@+d{tuTKDi;6% literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/css/slickgrid/smoothness/jquery-ui-1.11.3.custom.css b/web/pgadmin/static/css/slickgrid/smoothness/jquery-ui-1.11.3.custom.css new file mode 100644 index 000000000..06cd80c6a --- /dev/null +++ b/web/pgadmin/static/css/slickgrid/smoothness/jquery-ui-1.11.3.custom.css @@ -0,0 +1,1225 @@ +/*! jQuery UI - v1.11.3 - 2015-02-27 +* http://jqueryui.com +* Includes: core.css, draggable.css, resizable.css, selectable.css, sortable.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, menu.css, progressbar.css, selectmenu.css, slider.css, spinner.css, tabs.css, tooltip.css, theme.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px +* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { + display: none; +} +.ui-helper-hidden-accessible { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} +.ui-helper-reset { + margin: 0; + padding: 0; + border: 0; + outline: 0; + line-height: 1.3; + text-decoration: none; + font-size: 100%; + list-style: none; +} +.ui-helper-clearfix:before, +.ui-helper-clearfix:after { + content: ""; + display: table; + border-collapse: collapse; +} +.ui-helper-clearfix:after { + clear: both; +} +.ui-helper-clearfix { + min-height: 0; /* support: IE7 */ +} +.ui-helper-zfix { + width: 100%; + height: 100%; + top: 0; + left: 0; + position: absolute; + opacity: 0; + filter:Alpha(Opacity=0); /* support: IE8 */ +} + +.ui-front { + z-index: 100; +} + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { + cursor: default !important; +} + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { + display: block; + text-indent: -99999px; + overflow: hidden; + background-repeat: no-repeat; +} + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.ui-draggable-handle { + -ms-touch-action: none; + touch-action: none; +} +.ui-resizable { + position: relative; +} +.ui-resizable-handle { + position: absolute; + font-size: 0.1px; + display: block; + -ms-touch-action: none; + touch-action: none; +} +.ui-resizable-disabled .ui-resizable-handle, +.ui-resizable-autohide .ui-resizable-handle { + display: none; +} +.ui-resizable-n { + cursor: n-resize; + height: 7px; + width: 100%; + top: -5px; + left: 0; +} +.ui-resizable-s { + cursor: s-resize; + height: 7px; + width: 100%; + bottom: -5px; + left: 0; +} +.ui-resizable-e { + cursor: e-resize; + width: 7px; + right: -5px; + top: 0; + height: 100%; +} +.ui-resizable-w { + cursor: w-resize; + width: 7px; + left: -5px; + top: 0; + height: 100%; +} +.ui-resizable-se { + cursor: se-resize; + width: 12px; + height: 12px; + right: 1px; + bottom: 1px; +} +.ui-resizable-sw { + cursor: sw-resize; + width: 9px; + height: 9px; + left: -5px; + bottom: -5px; +} +.ui-resizable-nw { + cursor: nw-resize; + width: 9px; + height: 9px; + left: -5px; + top: -5px; +} +.ui-resizable-ne { + cursor: ne-resize; + width: 9px; + height: 9px; + right: -5px; + top: -5px; +} +.ui-selectable { + -ms-touch-action: none; + touch-action: none; +} +.ui-selectable-helper { + position: absolute; + z-index: 100; + border: 1px dotted black; +} +.ui-sortable-handle { + -ms-touch-action: none; + touch-action: none; +} +.ui-accordion .ui-accordion-header { + display: block; + cursor: pointer; + position: relative; + margin: 2px 0 0 0; + padding: .5em .5em .5em .7em; + min-height: 0; /* support: IE7 */ + font-size: 100%; +} +.ui-accordion .ui-accordion-icons { + padding-left: 2.2em; +} +.ui-accordion .ui-accordion-icons .ui-accordion-icons { + padding-left: 2.2em; +} +.ui-accordion .ui-accordion-header .ui-accordion-header-icon { + position: absolute; + left: .5em; + top: 50%; + margin-top: -8px; +} +.ui-accordion .ui-accordion-content { + padding: 1em 2.2em; + border-top: 0; + overflow: auto; +} +.ui-autocomplete { + position: absolute; + top: 0; + left: 0; + cursor: default; +} +.ui-button { + display: inline-block; + position: relative; + padding: 0; + line-height: normal; + margin-right: .1em; + cursor: pointer; + vertical-align: middle; + text-align: center; + overflow: visible; /* removes extra width in IE */ +} +.ui-button, +.ui-button:link, +.ui-button:visited, +.ui-button:hover, +.ui-button:active { + text-decoration: none; +} +/* to make room for the icon, a width needs to be set here */ +.ui-button-icon-only { + width: 2.2em; +} +/* button elements seem to need a little more width */ +button.ui-button-icon-only { + width: 2.4em; +} +.ui-button-icons-only { + width: 3.4em; +} +button.ui-button-icons-only { + width: 3.7em; +} + +/* button text element */ +.ui-button .ui-button-text { + display: block; + line-height: normal; +} +.ui-button-text-only .ui-button-text { + padding: .4em 1em; +} +.ui-button-icon-only .ui-button-text, +.ui-button-icons-only .ui-button-text { + padding: .4em; + text-indent: -9999999px; +} +.ui-button-text-icon-primary .ui-button-text, +.ui-button-text-icons .ui-button-text { + padding: .4em 1em .4em 2.1em; +} +.ui-button-text-icon-secondary .ui-button-text, +.ui-button-text-icons .ui-button-text { + padding: .4em 2.1em .4em 1em; +} +.ui-button-text-icons .ui-button-text { + padding-left: 2.1em; + padding-right: 2.1em; +} +/* no icon support for input elements, provide padding by default */ +input.ui-button { + padding: .4em 1em; +} + +/* button icon element(s) */ +.ui-button-icon-only .ui-icon, +.ui-button-text-icon-primary .ui-icon, +.ui-button-text-icon-secondary .ui-icon, +.ui-button-text-icons .ui-icon, +.ui-button-icons-only .ui-icon { + position: absolute; + top: 50%; + margin-top: -8px; +} +.ui-button-icon-only .ui-icon { + left: 50%; + margin-left: -8px; +} +.ui-button-text-icon-primary .ui-button-icon-primary, +.ui-button-text-icons .ui-button-icon-primary, +.ui-button-icons-only .ui-button-icon-primary { + left: .5em; +} +.ui-button-text-icon-secondary .ui-button-icon-secondary, +.ui-button-text-icons .ui-button-icon-secondary, +.ui-button-icons-only .ui-button-icon-secondary { + right: .5em; +} + +/* button sets */ +.ui-buttonset { + margin-right: 7px; +} +.ui-buttonset .ui-button { + margin-left: 0; + margin-right: -.3em; +} + +/* workarounds */ +/* reset extra padding in Firefox, see h5bp.com/l */ +input.ui-button::-moz-focus-inner, +button.ui-button::-moz-focus-inner { + border: 0; + padding: 0; +} +.ui-datepicker { + width: 17em; + padding: .2em .2em 0; + display: none; +} +.ui-datepicker .ui-datepicker-header { + position: relative; + padding: .2em 0; +} +.ui-datepicker .ui-datepicker-prev, +.ui-datepicker .ui-datepicker-next { + position: absolute; + top: 2px; + width: 1.8em; + height: 1.8em; +} +.ui-datepicker .ui-datepicker-prev-hover, +.ui-datepicker .ui-datepicker-next-hover { + top: 1px; +} +.ui-datepicker .ui-datepicker-prev { + left: 2px; +} +.ui-datepicker .ui-datepicker-next { + right: 2px; +} +.ui-datepicker .ui-datepicker-prev-hover { + left: 1px; +} +.ui-datepicker .ui-datepicker-next-hover { + right: 1px; +} +.ui-datepicker .ui-datepicker-prev span, +.ui-datepicker .ui-datepicker-next span { + display: block; + position: absolute; + left: 50%; + margin-left: -8px; + top: 50%; + margin-top: -8px; +} +.ui-datepicker .ui-datepicker-title { + margin: 0 2.3em; + line-height: 1.8em; + text-align: center; +} +.ui-datepicker .ui-datepicker-title select { + font-size: 1em; + margin: 1px 0; +} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { + width: 45%; +} +.ui-datepicker table { + width: 100%; + font-size: .9em; + border-collapse: collapse; + margin: 0 0 .4em; +} +.ui-datepicker th { + padding: .7em .3em; + text-align: center; + font-weight: bold; + border: 0; +} +.ui-datepicker td { + border: 0; + padding: 1px; +} +.ui-datepicker td span, +.ui-datepicker td a { + display: block; + padding: .2em; + text-align: right; + text-decoration: none; +} +.ui-datepicker .ui-datepicker-buttonpane { + background-image: none; + margin: .7em 0 0 0; + padding: 0 .2em; + border-left: 0; + border-right: 0; + border-bottom: 0; +} +.ui-datepicker .ui-datepicker-buttonpane button { + float: right; + margin: .5em .2em .4em; + cursor: pointer; + padding: .2em .6em .3em .6em; + width: auto; + overflow: visible; +} +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { + float: left; +} + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { + width: auto; +} +.ui-datepicker-multi .ui-datepicker-group { + float: left; +} +.ui-datepicker-multi .ui-datepicker-group table { + width: 95%; + margin: 0 auto .4em; +} +.ui-datepicker-multi-2 .ui-datepicker-group { + width: 50%; +} +.ui-datepicker-multi-3 .ui-datepicker-group { + width: 33.3%; +} +.ui-datepicker-multi-4 .ui-datepicker-group { + width: 25%; +} +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { + border-left-width: 0; +} +.ui-datepicker-multi .ui-datepicker-buttonpane { + clear: left; +} +.ui-datepicker-row-break { + clear: both; + width: 100%; + font-size: 0; +} + +/* RTL support */ +.ui-datepicker-rtl { + direction: rtl; +} +.ui-datepicker-rtl .ui-datepicker-prev { + right: 2px; + left: auto; +} +.ui-datepicker-rtl .ui-datepicker-next { + left: 2px; + right: auto; +} +.ui-datepicker-rtl .ui-datepicker-prev:hover { + right: 1px; + left: auto; +} +.ui-datepicker-rtl .ui-datepicker-next:hover { + left: 1px; + right: auto; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane { + clear: right; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane button { + float: left; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, +.ui-datepicker-rtl .ui-datepicker-group { + float: right; +} +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { + border-right-width: 0; + border-left-width: 1px; +} +.ui-dialog { + overflow: hidden; + position: absolute; + top: 0; + left: 0; + padding: .2em; + outline: 0; +} +.ui-dialog .ui-dialog-titlebar { + padding: .4em 1em; + position: relative; +} +.ui-dialog .ui-dialog-title { + float: left; + margin: .1em 0; + white-space: nowrap; + width: 90%; + overflow: hidden; + text-overflow: ellipsis; +} +.ui-dialog .ui-dialog-titlebar-close { + position: absolute; + right: .3em; + top: 50%; + width: 20px; + margin: -10px 0 0 0; + padding: 1px; + height: 20px; +} +.ui-dialog .ui-dialog-content { + position: relative; + border: 0; + padding: .5em 1em; + background: none; + overflow: auto; +} +.ui-dialog .ui-dialog-buttonpane { + text-align: left; + border-width: 1px 0 0 0; + background-image: none; + margin-top: .5em; + padding: .3em 1em .5em .4em; +} +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { + float: right; +} +.ui-dialog .ui-dialog-buttonpane button { + margin: .5em .4em .5em 0; + cursor: pointer; +} +.ui-dialog .ui-resizable-se { + width: 12px; + height: 12px; + right: -5px; + bottom: -5px; + background-position: 16px 16px; +} +.ui-draggable .ui-dialog-titlebar { + cursor: move; +} +.ui-menu { + list-style: none; + padding: 0; + margin: 0; + display: block; + outline: none; +} +.ui-menu .ui-menu { + position: absolute; +} +.ui-menu .ui-menu-item { + position: relative; + margin: 0; + padding: 3px 1em 3px .4em; + cursor: pointer; + min-height: 0; /* support: IE7 */ + /* support: IE10, see #8844 */ + list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); +} +.ui-menu .ui-menu-divider { + margin: 5px 0; + height: 0; + font-size: 0; + line-height: 0; + border-width: 1px 0 0 0; +} +.ui-menu .ui-state-focus, +.ui-menu .ui-state-active { + margin: -1px; +} + +/* icon support */ +.ui-menu-icons { + position: relative; +} +.ui-menu-icons .ui-menu-item { + padding-left: 2em; +} + +/* left-aligned */ +.ui-menu .ui-icon { + position: absolute; + top: 0; + bottom: 0; + left: .2em; + margin: auto 0; +} + +/* right-aligned */ +.ui-menu .ui-menu-icon { + left: auto; + right: 0; +} +.ui-progressbar { + height: 2em; + text-align: left; + overflow: hidden; +} +.ui-progressbar .ui-progressbar-value { + margin: -1px; + height: 100%; +} +.ui-progressbar .ui-progressbar-overlay { + background: url("data:image/gif;base64,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"); + height: 100%; + filter: alpha(opacity=25); /* support: IE8 */ + opacity: 0.25; +} +.ui-progressbar-indeterminate .ui-progressbar-value { + background-image: none; +} +.ui-selectmenu-menu { + padding: 0; + margin: 0; + position: absolute; + top: 0; + left: 0; + display: none; +} +.ui-selectmenu-menu .ui-menu { + overflow: auto; + /* Support: IE7 */ + overflow-x: hidden; + padding-bottom: 1px; +} +.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup { + font-size: 1em; + font-weight: bold; + line-height: 1.5; + padding: 2px 0.4em; + margin: 0.5em 0 0 0; + height: auto; + border: 0; +} +.ui-selectmenu-open { + display: block; +} +.ui-selectmenu-button { + display: inline-block; + overflow: hidden; + position: relative; + text-decoration: none; + cursor: pointer; +} +.ui-selectmenu-button span.ui-icon { + right: 0.5em; + left: auto; + margin-top: -8px; + position: absolute; + top: 50%; +} +.ui-selectmenu-button span.ui-selectmenu-text { + text-align: left; + padding: 0.4em 2.1em 0.4em 1em; + display: block; + line-height: 1.4; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.ui-slider { + position: relative; + text-align: left; +} +.ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1.2em; + height: 1.2em; + cursor: default; + -ms-touch-action: none; + touch-action: none; +} +.ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + background-position: 0 0; +} + +/* support: IE8 - See #6727 */ +.ui-slider.ui-state-disabled .ui-slider-handle, +.ui-slider.ui-state-disabled .ui-slider-range { + filter: inherit; +} + +.ui-slider-horizontal { + height: .8em; +} +.ui-slider-horizontal .ui-slider-handle { + top: -.3em; + margin-left: -.6em; +} +.ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.ui-slider-horizontal .ui-slider-range-min { + left: 0; +} +.ui-slider-horizontal .ui-slider-range-max { + right: 0; +} + +.ui-slider-vertical { + width: .8em; + height: 100px; +} +.ui-slider-vertical .ui-slider-handle { + left: -.3em; + margin-left: 0; + margin-bottom: -.6em; +} +.ui-slider-vertical .ui-slider-range { + left: 0; + width: 100%; +} +.ui-slider-vertical .ui-slider-range-min { + bottom: 0; +} +.ui-slider-vertical .ui-slider-range-max { + top: 0; +} +.ui-spinner { + position: relative; + display: inline-block; + overflow: hidden; + padding: 0; + vertical-align: middle; +} +.ui-spinner-input { + border: none; + background: none; + color: inherit; + padding: 0; + margin: .2em 0; + vertical-align: middle; + margin-left: .4em; + margin-right: 22px; +} +.ui-spinner-button { + width: 16px; + height: 50%; + font-size: .5em; + padding: 0; + margin: 0; + text-align: center; + position: absolute; + cursor: default; + display: block; + overflow: hidden; + right: 0; +} +/* more specificity required here to override default borders */ +.ui-spinner a.ui-spinner-button { + border-top: none; + border-bottom: none; + border-right: none; +} +/* vertically center icon */ +.ui-spinner .ui-icon { + position: absolute; + margin-top: -8px; + top: 50%; + left: 0; +} +.ui-spinner-up { + top: 0; +} +.ui-spinner-down { + bottom: 0; +} + +/* TR overrides */ +.ui-spinner .ui-icon-triangle-1-s { + /* need to fix icons sprite */ + background-position: -65px -16px; +} +.ui-tabs { + position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ + padding: .2em; +} +.ui-tabs .ui-tabs-nav { + margin: 0; + padding: .2em .2em 0; +} +.ui-tabs .ui-tabs-nav li { + list-style: none; + float: left; + position: relative; + top: 0; + margin: 1px .2em 0 0; + border-bottom-width: 0; + padding: 0; + white-space: nowrap; +} +.ui-tabs .ui-tabs-nav .ui-tabs-anchor { + float: left; + padding: .5em 1em; + text-decoration: none; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-active { + margin-bottom: -1px; + padding-bottom: 1px; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, +.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, +.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { + cursor: text; +} +.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { + cursor: pointer; +} +.ui-tabs .ui-tabs-panel { + display: block; + border-width: 0; + padding: 1em 1.4em; + background: none; +} +.ui-tooltip { + padding: 8px; + position: absolute; + z-index: 9999; + max-width: 300px; + -webkit-box-shadow: 0 0 5px #aaa; + box-shadow: 0 0 5px #aaa; +} +body .ui-tooltip { + border-width: 2px; +} + +/* Component containers +----------------------------------*/ +.ui-widget { + font-family: Verdana,Arial,sans-serif; + font-size: 1.1em; +} +.ui-widget .ui-widget { + font-size: 1em; +} +.ui-widget input, +.ui-widget select, +.ui-widget textarea, +.ui-widget button { + font-family: Verdana,Arial,sans-serif; + font-size: 1em; +} +.ui-widget-content { + border: 1px solid #aaaaaa; + background: #ffffff url("images/ui-bg_flat_75_ffffff_40x100.png") 50% 50% repeat-x; + color: #222222; +} +.ui-widget-content a { + color: #222222; +} +.ui-widget-header { + border: 1px solid #aaaaaa; + background: #cccccc url("images/ui-bg_highlight-soft_75_cccccc_1x100.png") 50% 50% repeat-x; + color: #222222; + font-weight: bold; +} +.ui-widget-header a { + color: #222222; +} + +/* Interaction states +----------------------------------*/ +.ui-state-default, +.ui-widget-content .ui-state-default, +.ui-widget-header .ui-state-default { + border: 1px solid #d3d3d3; + background: #e6e6e6 url("images/ui-bg_glass_75_e6e6e6_1x400.png") 50% 50% repeat-x; + font-weight: normal; + color: #555555; +} +.ui-state-default a, +.ui-state-default a:link, +.ui-state-default a:visited { + color: #555555; + text-decoration: none; +} +.ui-state-hover, +.ui-widget-content .ui-state-hover, +.ui-widget-header .ui-state-hover, +.ui-state-focus, +.ui-widget-content .ui-state-focus, +.ui-widget-header .ui-state-focus { + border: 1px solid #999999; + background: #dadada url("images/ui-bg_glass_75_dadada_1x400.png") 50% 50% repeat-x; + font-weight: normal; + color: #212121; +} +.ui-state-hover a, +.ui-state-hover a:hover, +.ui-state-hover a:link, +.ui-state-hover a:visited, +.ui-state-focus a, +.ui-state-focus a:hover, +.ui-state-focus a:link, +.ui-state-focus a:visited { + color: #212121; + text-decoration: none; +} +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active { + border: 1px solid #aaaaaa; + background: #ffffff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x; + font-weight: normal; + color: #212121; +} +.ui-state-active a, +.ui-state-active a:link, +.ui-state-active a:visited { + color: #212121; + text-decoration: none; +} + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, +.ui-widget-content .ui-state-highlight, +.ui-widget-header .ui-state-highlight { + border: 1px solid #fcefa1; + background: #fbf9ee url("images/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x; + color: #363636; +} +.ui-state-highlight a, +.ui-widget-content .ui-state-highlight a, +.ui-widget-header .ui-state-highlight a { + color: #363636; +} +.ui-state-error, +.ui-widget-content .ui-state-error, +.ui-widget-header .ui-state-error { + border: 1px solid #cd0a0a; + background: #fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x; + color: #cd0a0a; +} +.ui-state-error a, +.ui-widget-content .ui-state-error a, +.ui-widget-header .ui-state-error a { + color: #cd0a0a; +} +.ui-state-error-text, +.ui-widget-content .ui-state-error-text, +.ui-widget-header .ui-state-error-text { + color: #cd0a0a; +} +.ui-priority-primary, +.ui-widget-content .ui-priority-primary, +.ui-widget-header .ui-priority-primary { + font-weight: bold; +} +.ui-priority-secondary, +.ui-widget-content .ui-priority-secondary, +.ui-widget-header .ui-priority-secondary { + opacity: .7; + filter:Alpha(Opacity=70); /* support: IE8 */ + font-weight: normal; +} +.ui-state-disabled, +.ui-widget-content .ui-state-disabled, +.ui-widget-header .ui-state-disabled { + opacity: .35; + filter:Alpha(Opacity=35); /* support: IE8 */ + background-image: none; +} +.ui-state-disabled .ui-icon { + filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */ +} + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { + width: 16px; + height: 16px; +} +.ui-icon, +.ui-widget-content .ui-icon { + background-image: url("images/ui-icons_222222_256x240.png"); +} +.ui-widget-header .ui-icon { + background-image: url("images/ui-icons_222222_256x240.png"); +} +.ui-state-default .ui-icon { + background-image: url("images/ui-icons_888888_256x240.png"); +} +.ui-state-hover .ui-icon, +.ui-state-focus .ui-icon { + background-image: url("images/ui-icons_454545_256x240.png"); +} +.ui-state-active .ui-icon { + background-image: url("images/ui-icons_454545_256x240.png"); +} +.ui-state-highlight .ui-icon { + background-image: url("images/ui-icons_2e83ff_256x240.png"); +} +.ui-state-error .ui-icon, +.ui-state-error-text .ui-icon { + background-image: url("images/ui-icons_cd0a0a_256x240.png"); +} + +/* positioning */ +.ui-icon-blank { background-position: 16px 16px; } +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-on { background-position: -96px -144px; } +.ui-icon-radio-off { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, +.ui-corner-top, +.ui-corner-left, +.ui-corner-tl { + border-top-left-radius: 4px; +} +.ui-corner-all, +.ui-corner-top, +.ui-corner-right, +.ui-corner-tr { + border-top-right-radius: 4px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-left, +.ui-corner-bl { + border-bottom-left-radius: 4px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-right, +.ui-corner-br { + border-bottom-right-radius: 4px; +} + +/* Overlays */ +.ui-widget-overlay { + background: #aaaaaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x; + opacity: .3; + filter: Alpha(Opacity=30); /* support: IE8 */ +} +.ui-widget-shadow { + margin: -8px 0 0 -8px; + padding: 8px; + background: #aaaaaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x; + opacity: .3; + filter: Alpha(Opacity=30); /* support: IE8 */ + border-radius: 8px; +} diff --git a/web/pgadmin/static/css/slickgrid/smoothness/jquery-ui-1.11.3.custom.min.css b/web/pgadmin/static/css/slickgrid/smoothness/jquery-ui-1.11.3.custom.min.css new file mode 100644 index 000000000..208ac779b --- /dev/null +++ b/web/pgadmin/static/css/slickgrid/smoothness/jquery-ui-1.11.3.custom.min.css @@ -0,0 +1,7 @@ +/*! jQuery UI - v1.11.3 - 2015-02-27 +* http://jqueryui.com +* Includes: core.css, draggable.css, resizable.css, selectable.css, sortable.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, menu.css, progressbar.css, selectmenu.css, slider.css, spinner.css, tabs.css, tooltip.css, theme.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana%2CArial%2Csans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=highlight_soft&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=flat&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=glass&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=glass&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px +* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */ + +.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;min-height:0;font-size:100%}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{overflow:hidden;position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:none}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{position:relative;margin:0;padding:3px 1em 3px .4em;cursor:pointer;min-height:0;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,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");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-button{display:inline-block;overflow:hidden;position:relative;text-decoration:none;cursor:pointer}.ui-selectmenu-button span.ui-icon{right:0.5em;left:auto;margin-top:-8px;position:absolute;top:50%}.ui-selectmenu-button span.ui-selectmenu-text{text-align:left;padding:0.4em 2.1em 0.4em 1em;display:block;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #aaa;background:#fff url("images/ui-bg_flat_75_ffffff_40x100.png") 50% 50% repeat-x;color:#222}.ui-widget-content a{color:#222}.ui-widget-header{border:1px solid #aaa;background:#ccc url("images/ui-bg_highlight-soft_75_cccccc_1x100.png") 50% 50% repeat-x;color:#222;font-weight:bold}.ui-widget-header a{color:#222}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:#e6e6e6 url("images/ui-bg_glass_75_e6e6e6_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#555}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#555;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #999;background:#dadada url("images/ui-bg_glass_75_dadada_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#212121;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #aaa;background:#fff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x;font-weight:normal;color:#212121}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#212121;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:#fbf9ee url("images/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#fef1ec url("images/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x;color:#cd0a0a}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#cd0a0a}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#cd0a0a}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-state-default .ui-icon{background-image:url("images/ui-icons_888888_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url("images/ui-icons_454545_256x240.png")}.ui-state-active .ui-icon{background-image:url("images/ui-icons_454545_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_2e83ff_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cd0a0a_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#aaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url("images/ui-bg_flat_0_aaaaaa_40x100.png") 50% 50% repeat-x;opacity:.3;filter:Alpha(Opacity=30);border-radius:8px} \ No newline at end of file diff --git a/web/pgadmin/static/js/jquery-ui/jquery-ui-1.11.3.js b/web/pgadmin/static/js/jquery-ui/jquery-ui-1.11.3.js new file mode 100644 index 000000000..fa5286666 --- /dev/null +++ b/web/pgadmin/static/js/jquery-ui/jquery-ui-1.11.3.js @@ -0,0 +1,16608 @@ +/*! jQuery UI - v1.11.3 - 2015-02-22 +* http://jqueryui.com +* Includes: core.js, widget.js, mouse.js, position.js, draggable.js, droppable.js, resizable.js, selectable.js, sortable.js, accordion.js, autocomplete.js, button.js, datepicker.js, dialog.js, menu.js, progressbar.js, selectmenu.js, slider.js, spinner.js, tabs.js, tooltip.js, effect.js, effect-blind.js, effect-bounce.js, effect-clip.js, effect-drop.js, effect-explode.js, effect-fade.js, effect-fold.js, effect-highlight.js, effect-puff.js, effect-pulsate.js, effect-scale.js, effect-shake.js, effect-size.js, effect-slide.js, effect-transfer.js +* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */ + +(function( factory ) { + if ( typeof define === "function" && define.amd ) { + + // AMD. Register as an anonymous module. + define([ "jquery" ], factory ); + } else { + + // Browser globals + factory( jQuery ); + } +}(function( $ ) { +/*! + * jQuery UI Core 1.11.3 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/category/ui-core/ + */ + + +// $.ui might exist from components with no dependencies, e.g., $.ui.position +$.ui = $.ui || {}; + +$.extend( $.ui, { + version: "1.11.3", + + keyCode: { + BACKSPACE: 8, + COMMA: 188, + DELETE: 46, + DOWN: 40, + END: 35, + ENTER: 13, + ESCAPE: 27, + HOME: 36, + LEFT: 37, + PAGE_DOWN: 34, + PAGE_UP: 33, + PERIOD: 190, + RIGHT: 39, + SPACE: 32, + TAB: 9, + UP: 38 + } +}); + +// plugins +$.fn.extend({ + scrollParent: function( includeHidden ) { + var position = this.css( "position" ), + excludeStaticParent = position === "absolute", + overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/, + scrollParent = this.parents().filter( function() { + var parent = $( this ); + if ( excludeStaticParent && parent.css( "position" ) === "static" ) { + return false; + } + return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + parent.css( "overflow-x" ) ); + }).eq( 0 ); + + return position === "fixed" || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent; + }, + + uniqueId: (function() { + var uuid = 0; + + return function() { + return this.each(function() { + if ( !this.id ) { + this.id = "ui-id-" + ( ++uuid ); + } + }); + }; + })(), + + removeUniqueId: function() { + return this.each(function() { + if ( /^ui-id-\d+$/.test( this.id ) ) { + $( this ).removeAttr( "id" ); + } + }); + } +}); + +// selectors +function focusable( element, isTabIndexNotNaN ) { + var map, mapName, img, + nodeName = element.nodeName.toLowerCase(); + if ( "area" === nodeName ) { + map = element.parentNode; + mapName = map.name; + if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { + return false; + } + img = $( "img[usemap='#" + mapName + "']" )[ 0 ]; + return !!img && visible( img ); + } + return ( /^(input|select|textarea|button|object)$/.test( nodeName ) ? + !element.disabled : + "a" === nodeName ? + element.href || isTabIndexNotNaN : + isTabIndexNotNaN) && + // the element and all of its ancestors must be visible + visible( element ); +} + +function visible( element ) { + return $.expr.filters.visible( element ) && + !$( element ).parents().addBack().filter(function() { + return $.css( this, "visibility" ) === "hidden"; + }).length; +} + +$.extend( $.expr[ ":" ], { + data: $.expr.createPseudo ? + $.expr.createPseudo(function( dataName ) { + return function( elem ) { + return !!$.data( elem, dataName ); + }; + }) : + // support: jQuery <1.8 + function( elem, i, match ) { + return !!$.data( elem, match[ 3 ] ); + }, + + focusable: function( element ) { + return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) ); + }, + + tabbable: function( element ) { + var tabIndex = $.attr( element, "tabindex" ), + isTabIndexNaN = isNaN( tabIndex ); + return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN ); + } +}); + +// support: jQuery <1.8 +if ( !$( "" ).outerWidth( 1 ).jquery ) { + $.each( [ "Width", "Height" ], function( i, name ) { + var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], + type = name.toLowerCase(), + orig = { + innerWidth: $.fn.innerWidth, + innerHeight: $.fn.innerHeight, + outerWidth: $.fn.outerWidth, + outerHeight: $.fn.outerHeight + }; + + function reduce( elem, size, border, margin ) { + $.each( side, function() { + size -= parseFloat( $.css( elem, "padding" + this ) ) || 0; + if ( border ) { + size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0; + } + if ( margin ) { + size -= parseFloat( $.css( elem, "margin" + this ) ) || 0; + } + }); + return size; + } + + $.fn[ "inner" + name ] = function( size ) { + if ( size === undefined ) { + return orig[ "inner" + name ].call( this ); + } + + return this.each(function() { + $( this ).css( type, reduce( this, size ) + "px" ); + }); + }; + + $.fn[ "outer" + name] = function( size, margin ) { + if ( typeof size !== "number" ) { + return orig[ "outer" + name ].call( this, size ); + } + + return this.each(function() { + $( this).css( type, reduce( this, size, true, margin ) + "px" ); + }); + }; + }); +} + +// support: jQuery <1.8 +if ( !$.fn.addBack ) { + $.fn.addBack = function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + }; +} + +// support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413) +if ( $( "" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) { + $.fn.removeData = (function( removeData ) { + return function( key ) { + if ( arguments.length ) { + return removeData.call( this, $.camelCase( key ) ); + } else { + return removeData.call( this ); + } + }; + })( $.fn.removeData ); +} + +// deprecated +$.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() ); + +$.fn.extend({ + focus: (function( orig ) { + return function( delay, fn ) { + return typeof delay === "number" ? + this.each(function() { + var elem = this; + setTimeout(function() { + $( elem ).focus(); + if ( fn ) { + fn.call( elem ); + } + }, delay ); + }) : + orig.apply( this, arguments ); + }; + })( $.fn.focus ), + + disableSelection: (function() { + var eventType = "onselectstart" in document.createElement( "div" ) ? + "selectstart" : + "mousedown"; + + return function() { + return this.bind( eventType + ".ui-disableSelection", function( event ) { + event.preventDefault(); + }); + }; + })(), + + enableSelection: function() { + return this.unbind( ".ui-disableSelection" ); + }, + + zIndex: function( zIndex ) { + if ( zIndex !== undefined ) { + return this.css( "zIndex", zIndex ); + } + + if ( this.length ) { + var elem = $( this[ 0 ] ), position, value; + while ( elem.length && elem[ 0 ] !== document ) { + // Ignore z-index if position is set to a value where z-index is ignored by the browser + // This makes behavior of this function consistent across browsers + // WebKit always returns auto if the element is positioned + position = elem.css( "position" ); + if ( position === "absolute" || position === "relative" || position === "fixed" ) { + // IE returns 0 when zIndex is not specified + // other browsers return a string + // we ignore the case of nested elements with an explicit value of 0 + //
+ value = parseInt( elem.css( "zIndex" ), 10 ); + if ( !isNaN( value ) && value !== 0 ) { + return value; + } + } + elem = elem.parent(); + } + } + + return 0; + } +}); + +// $.ui.plugin is deprecated. Use $.widget() extensions instead. +$.ui.plugin = { + add: function( module, option, set ) { + var i, + proto = $.ui[ module ].prototype; + for ( i in set ) { + proto.plugins[ i ] = proto.plugins[ i ] || []; + proto.plugins[ i ].push( [ option, set[ i ] ] ); + } + }, + call: function( instance, name, args, allowDisconnected ) { + var i, + set = instance.plugins[ name ]; + + if ( !set ) { + return; + } + + if ( !allowDisconnected && ( !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) ) { + return; + } + + for ( i = 0; i < set.length; i++ ) { + if ( instance.options[ set[ i ][ 0 ] ] ) { + set[ i ][ 1 ].apply( instance.element, args ); + } + } + } +}; + + +/*! + * jQuery UI Widget 1.11.3 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/jQuery.widget/ + */ + + +var widget_uuid = 0, + widget_slice = Array.prototype.slice; + +$.cleanData = (function( orig ) { + return function( elems ) { + var events, elem, i; + for ( i = 0; (elem = elems[i]) != null; i++ ) { + try { + + // Only trigger remove when necessary to save time + events = $._data( elem, "events" ); + if ( events && events.remove ) { + $( elem ).triggerHandler( "remove" ); + } + + // http://bugs.jquery.com/ticket/8235 + } catch ( e ) {} + } + orig( elems ); + }; +})( $.cleanData ); + +$.widget = function( name, base, prototype ) { + var fullName, existingConstructor, constructor, basePrototype, + // proxiedPrototype allows the provided prototype to remain unmodified + // so that it can be used as a mixin for multiple widgets (#8876) + proxiedPrototype = {}, + namespace = name.split( "." )[ 0 ]; + + name = name.split( "." )[ 1 ]; + fullName = namespace + "-" + name; + + if ( !prototype ) { + prototype = base; + base = $.Widget; + } + + // create selector for plugin + $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) { + return !!$.data( elem, fullName ); + }; + + $[ namespace ] = $[ namespace ] || {}; + existingConstructor = $[ namespace ][ name ]; + constructor = $[ namespace ][ name ] = function( options, element ) { + // allow instantiation without "new" keyword + if ( !this._createWidget ) { + return new constructor( options, element ); + } + + // allow instantiation without initializing for simple inheritance + // must use "new" keyword (the code above always passes args) + if ( arguments.length ) { + this._createWidget( options, element ); + } + }; + // extend with the existing constructor to carry over any static properties + $.extend( constructor, existingConstructor, { + version: prototype.version, + // copy the object used to create the prototype in case we need to + // redefine the widget later + _proto: $.extend( {}, prototype ), + // track widgets that inherit from this widget in case this widget is + // redefined after a widget inherits from it + _childConstructors: [] + }); + + basePrototype = new base(); + // we need to make the options hash a property directly on the new instance + // otherwise we'll modify the options hash on the prototype that we're + // inheriting from + basePrototype.options = $.widget.extend( {}, basePrototype.options ); + $.each( prototype, function( prop, value ) { + if ( !$.isFunction( value ) ) { + proxiedPrototype[ prop ] = value; + return; + } + proxiedPrototype[ prop ] = (function() { + var _super = function() { + return base.prototype[ prop ].apply( this, arguments ); + }, + _superApply = function( args ) { + return base.prototype[ prop ].apply( this, args ); + }; + return function() { + var __super = this._super, + __superApply = this._superApply, + returnValue; + + this._super = _super; + this._superApply = _superApply; + + returnValue = value.apply( this, arguments ); + + this._super = __super; + this._superApply = __superApply; + + return returnValue; + }; + })(); + }); + constructor.prototype = $.widget.extend( basePrototype, { + // TODO: remove support for widgetEventPrefix + // always use the name + a colon as the prefix, e.g., draggable:start + // don't prefix for widgets that aren't DOM-based + widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name + }, proxiedPrototype, { + constructor: constructor, + namespace: namespace, + widgetName: name, + widgetFullName: fullName + }); + + // If this widget is being redefined then we need to find all widgets that + // are inheriting from it and redefine all of them so that they inherit from + // the new version of this widget. We're essentially trying to replace one + // level in the prototype chain. + if ( existingConstructor ) { + $.each( existingConstructor._childConstructors, function( i, child ) { + var childPrototype = child.prototype; + + // redefine the child widget using the same prototype that was + // originally used, but inherit from the new version of the base + $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto ); + }); + // remove the list of existing child constructors from the old constructor + // so the old child constructors can be garbage collected + delete existingConstructor._childConstructors; + } else { + base._childConstructors.push( constructor ); + } + + $.widget.bridge( name, constructor ); + + return constructor; +}; + +$.widget.extend = function( target ) { + var input = widget_slice.call( arguments, 1 ), + inputIndex = 0, + inputLength = input.length, + key, + value; + for ( ; inputIndex < inputLength; inputIndex++ ) { + for ( key in input[ inputIndex ] ) { + value = input[ inputIndex ][ key ]; + if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) { + // Clone objects + if ( $.isPlainObject( value ) ) { + target[ key ] = $.isPlainObject( target[ key ] ) ? + $.widget.extend( {}, target[ key ], value ) : + // Don't extend strings, arrays, etc. with objects + $.widget.extend( {}, value ); + // Copy everything else by reference + } else { + target[ key ] = value; + } + } + } + } + return target; +}; + +$.widget.bridge = function( name, object ) { + var fullName = object.prototype.widgetFullName || name; + $.fn[ name ] = function( options ) { + var isMethodCall = typeof options === "string", + args = widget_slice.call( arguments, 1 ), + returnValue = this; + + if ( isMethodCall ) { + this.each(function() { + var methodValue, + instance = $.data( this, fullName ); + if ( options === "instance" ) { + returnValue = instance; + return false; + } + if ( !instance ) { + return $.error( "cannot call methods on " + name + " prior to initialization; " + + "attempted to call method '" + options + "'" ); + } + if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) { + return $.error( "no such method '" + options + "' for " + name + " widget instance" ); + } + methodValue = instance[ options ].apply( instance, args ); + if ( methodValue !== instance && methodValue !== undefined ) { + returnValue = methodValue && methodValue.jquery ? + returnValue.pushStack( methodValue.get() ) : + methodValue; + return false; + } + }); + } else { + + // Allow multiple hashes to be passed on init + if ( args.length ) { + options = $.widget.extend.apply( null, [ options ].concat(args) ); + } + + this.each(function() { + var instance = $.data( this, fullName ); + if ( instance ) { + instance.option( options || {} ); + if ( instance._init ) { + instance._init(); + } + } else { + $.data( this, fullName, new object( options, this ) ); + } + }); + } + + return returnValue; + }; +}; + +$.Widget = function( /* options, element */ ) {}; +$.Widget._childConstructors = []; + +$.Widget.prototype = { + widgetName: "widget", + widgetEventPrefix: "", + defaultElement: "
", + options: { + disabled: false, + + // callbacks + create: null + }, + _createWidget: function( options, element ) { + element = $( element || this.defaultElement || this )[ 0 ]; + this.element = $( element ); + this.uuid = widget_uuid++; + this.eventNamespace = "." + this.widgetName + this.uuid; + + this.bindings = $(); + this.hoverable = $(); + this.focusable = $(); + + if ( element !== this ) { + $.data( element, this.widgetFullName, this ); + this._on( true, this.element, { + remove: function( event ) { + if ( event.target === element ) { + this.destroy(); + } + } + }); + this.document = $( element.style ? + // element within the document + element.ownerDocument : + // element is window or document + element.document || element ); + this.window = $( this.document[0].defaultView || this.document[0].parentWindow ); + } + + this.options = $.widget.extend( {}, + this.options, + this._getCreateOptions(), + options ); + + this._create(); + this._trigger( "create", null, this._getCreateEventData() ); + this._init(); + }, + _getCreateOptions: $.noop, + _getCreateEventData: $.noop, + _create: $.noop, + _init: $.noop, + + destroy: function() { + this._destroy(); + // we can probably remove the unbind calls in 2.0 + // all event bindings should go through this._on() + this.element + .unbind( this.eventNamespace ) + .removeData( this.widgetFullName ) + // support: jquery <1.6.3 + // http://bugs.jquery.com/ticket/9413 + .removeData( $.camelCase( this.widgetFullName ) ); + this.widget() + .unbind( this.eventNamespace ) + .removeAttr( "aria-disabled" ) + .removeClass( + this.widgetFullName + "-disabled " + + "ui-state-disabled" ); + + // clean up events and states + this.bindings.unbind( this.eventNamespace ); + this.hoverable.removeClass( "ui-state-hover" ); + this.focusable.removeClass( "ui-state-focus" ); + }, + _destroy: $.noop, + + widget: function() { + return this.element; + }, + + option: function( key, value ) { + var options = key, + parts, + curOption, + i; + + if ( arguments.length === 0 ) { + // don't return a reference to the internal hash + return $.widget.extend( {}, this.options ); + } + + if ( typeof key === "string" ) { + // handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } } + options = {}; + parts = key.split( "." ); + key = parts.shift(); + if ( parts.length ) { + curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] ); + for ( i = 0; i < parts.length - 1; i++ ) { + curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {}; + curOption = curOption[ parts[ i ] ]; + } + key = parts.pop(); + if ( arguments.length === 1 ) { + return curOption[ key ] === undefined ? null : curOption[ key ]; + } + curOption[ key ] = value; + } else { + if ( arguments.length === 1 ) { + return this.options[ key ] === undefined ? null : this.options[ key ]; + } + options[ key ] = value; + } + } + + this._setOptions( options ); + + return this; + }, + _setOptions: function( options ) { + var key; + + for ( key in options ) { + this._setOption( key, options[ key ] ); + } + + return this; + }, + _setOption: function( key, value ) { + this.options[ key ] = value; + + if ( key === "disabled" ) { + this.widget() + .toggleClass( this.widgetFullName + "-disabled", !!value ); + + // If the widget is becoming disabled, then nothing is interactive + if ( value ) { + this.hoverable.removeClass( "ui-state-hover" ); + this.focusable.removeClass( "ui-state-focus" ); + } + } + + return this; + }, + + enable: function() { + return this._setOptions({ disabled: false }); + }, + disable: function() { + return this._setOptions({ disabled: true }); + }, + + _on: function( suppressDisabledCheck, element, handlers ) { + var delegateElement, + instance = this; + + // no suppressDisabledCheck flag, shuffle arguments + if ( typeof suppressDisabledCheck !== "boolean" ) { + handlers = element; + element = suppressDisabledCheck; + suppressDisabledCheck = false; + } + + // no element argument, shuffle and use this.element + if ( !handlers ) { + handlers = element; + element = this.element; + delegateElement = this.widget(); + } else { + element = delegateElement = $( element ); + this.bindings = this.bindings.add( element ); + } + + $.each( handlers, function( event, handler ) { + function handlerProxy() { + // allow widgets to customize the disabled handling + // - disabled as an array instead of boolean + // - disabled class as method for disabling individual parts + if ( !suppressDisabledCheck && + ( instance.options.disabled === true || + $( this ).hasClass( "ui-state-disabled" ) ) ) { + return; + } + return ( typeof handler === "string" ? instance[ handler ] : handler ) + .apply( instance, arguments ); + } + + // copy the guid so direct unbinding works + if ( typeof handler !== "string" ) { + handlerProxy.guid = handler.guid = + handler.guid || handlerProxy.guid || $.guid++; + } + + var match = event.match( /^([\w:-]*)\s*(.*)$/ ), + eventName = match[1] + instance.eventNamespace, + selector = match[2]; + if ( selector ) { + delegateElement.delegate( selector, eventName, handlerProxy ); + } else { + element.bind( eventName, handlerProxy ); + } + }); + }, + + _off: function( element, eventName ) { + eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + + this.eventNamespace; + element.unbind( eventName ).undelegate( eventName ); + + // Clear the stack to avoid memory leaks (#10056) + this.bindings = $( this.bindings.not( element ).get() ); + this.focusable = $( this.focusable.not( element ).get() ); + this.hoverable = $( this.hoverable.not( element ).get() ); + }, + + _delay: function( handler, delay ) { + function handlerProxy() { + return ( typeof handler === "string" ? instance[ handler ] : handler ) + .apply( instance, arguments ); + } + var instance = this; + return setTimeout( handlerProxy, delay || 0 ); + }, + + _hoverable: function( element ) { + this.hoverable = this.hoverable.add( element ); + this._on( element, { + mouseenter: function( event ) { + $( event.currentTarget ).addClass( "ui-state-hover" ); + }, + mouseleave: function( event ) { + $( event.currentTarget ).removeClass( "ui-state-hover" ); + } + }); + }, + + _focusable: function( element ) { + this.focusable = this.focusable.add( element ); + this._on( element, { + focusin: function( event ) { + $( event.currentTarget ).addClass( "ui-state-focus" ); + }, + focusout: function( event ) { + $( event.currentTarget ).removeClass( "ui-state-focus" ); + } + }); + }, + + _trigger: function( type, event, data ) { + var prop, orig, + callback = this.options[ type ]; + + data = data || {}; + event = $.Event( event ); + event.type = ( type === this.widgetEventPrefix ? + type : + this.widgetEventPrefix + type ).toLowerCase(); + // the original event may come from any element + // so we need to reset the target on the new event + event.target = this.element[ 0 ]; + + // copy original event properties over to the new event + orig = event.originalEvent; + if ( orig ) { + for ( prop in orig ) { + if ( !( prop in event ) ) { + event[ prop ] = orig[ prop ]; + } + } + } + + this.element.trigger( event, data ); + return !( $.isFunction( callback ) && + callback.apply( this.element[0], [ event ].concat( data ) ) === false || + event.isDefaultPrevented() ); + } +}; + +$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { + $.Widget.prototype[ "_" + method ] = function( element, options, callback ) { + if ( typeof options === "string" ) { + options = { effect: options }; + } + var hasOptions, + effectName = !options ? + method : + options === true || typeof options === "number" ? + defaultEffect : + options.effect || defaultEffect; + options = options || {}; + if ( typeof options === "number" ) { + options = { duration: options }; + } + hasOptions = !$.isEmptyObject( options ); + options.complete = callback; + if ( options.delay ) { + element.delay( options.delay ); + } + if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) { + element[ method ]( options ); + } else if ( effectName !== method && element[ effectName ] ) { + element[ effectName ]( options.duration, options.easing, callback ); + } else { + element.queue(function( next ) { + $( this )[ method ](); + if ( callback ) { + callback.call( element[ 0 ] ); + } + next(); + }); + } + }; +}); + +var widget = $.widget; + + +/*! + * jQuery UI Mouse 1.11.3 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/mouse/ + */ + + +var mouseHandled = false; +$( document ).mouseup( function() { + mouseHandled = false; +}); + +var mouse = $.widget("ui.mouse", { + version: "1.11.3", + options: { + cancel: "input,textarea,button,select,option", + distance: 1, + delay: 0 + }, + _mouseInit: function() { + var that = this; + + this.element + .bind("mousedown." + this.widgetName, function(event) { + return that._mouseDown(event); + }) + .bind("click." + this.widgetName, function(event) { + if (true === $.data(event.target, that.widgetName + ".preventClickEvent")) { + $.removeData(event.target, that.widgetName + ".preventClickEvent"); + event.stopImmediatePropagation(); + return false; + } + }); + + this.started = false; + }, + + // TODO: make sure destroying one instance of mouse doesn't mess with + // other instances of mouse + _mouseDestroy: function() { + this.element.unbind("." + this.widgetName); + if ( this._mouseMoveDelegate ) { + this.document + .unbind("mousemove." + this.widgetName, this._mouseMoveDelegate) + .unbind("mouseup." + this.widgetName, this._mouseUpDelegate); + } + }, + + _mouseDown: function(event) { + // don't let more than one widget handle mouseStart + if ( mouseHandled ) { + return; + } + + this._mouseMoved = false; + + // we may have missed mouseup (out of window) + (this._mouseStarted && this._mouseUp(event)); + + this._mouseDownEvent = event; + + var that = this, + btnIsLeft = (event.which === 1), + // event.target.nodeName works around a bug in IE 8 with + // disabled inputs (#7620) + elIsCancel = (typeof this.options.cancel === "string" && event.target.nodeName ? $(event.target).closest(this.options.cancel).length : false); + if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) { + return true; + } + + this.mouseDelayMet = !this.options.delay; + if (!this.mouseDelayMet) { + this._mouseDelayTimer = setTimeout(function() { + that.mouseDelayMet = true; + }, this.options.delay); + } + + if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) { + this._mouseStarted = (this._mouseStart(event) !== false); + if (!this._mouseStarted) { + event.preventDefault(); + return true; + } + } + + // Click event may never have fired (Gecko & Opera) + if (true === $.data(event.target, this.widgetName + ".preventClickEvent")) { + $.removeData(event.target, this.widgetName + ".preventClickEvent"); + } + + // these delegates are required to keep context + this._mouseMoveDelegate = function(event) { + return that._mouseMove(event); + }; + this._mouseUpDelegate = function(event) { + return that._mouseUp(event); + }; + + this.document + .bind( "mousemove." + this.widgetName, this._mouseMoveDelegate ) + .bind( "mouseup." + this.widgetName, this._mouseUpDelegate ); + + event.preventDefault(); + + mouseHandled = true; + return true; + }, + + _mouseMove: function(event) { + // Only check for mouseups outside the document if you've moved inside the document + // at least once. This prevents the firing of mouseup in the case of IE<9, which will + // fire a mousemove event if content is placed under the cursor. See #7778 + // Support: IE <9 + if ( this._mouseMoved ) { + // IE mouseup check - mouseup happened when mouse was out of window + if ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button) { + return this._mouseUp(event); + + // Iframe mouseup check - mouseup occurred in another document + } else if ( !event.which ) { + return this._mouseUp( event ); + } + } + + if ( event.which || event.button ) { + this._mouseMoved = true; + } + + if (this._mouseStarted) { + this._mouseDrag(event); + return event.preventDefault(); + } + + if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) { + this._mouseStarted = + (this._mouseStart(this._mouseDownEvent, event) !== false); + (this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event)); + } + + return !this._mouseStarted; + }, + + _mouseUp: function(event) { + this.document + .unbind( "mousemove." + this.widgetName, this._mouseMoveDelegate ) + .unbind( "mouseup." + this.widgetName, this._mouseUpDelegate ); + + if (this._mouseStarted) { + this._mouseStarted = false; + + if (event.target === this._mouseDownEvent.target) { + $.data(event.target, this.widgetName + ".preventClickEvent", true); + } + + this._mouseStop(event); + } + + mouseHandled = false; + return false; + }, + + _mouseDistanceMet: function(event) { + return (Math.max( + Math.abs(this._mouseDownEvent.pageX - event.pageX), + Math.abs(this._mouseDownEvent.pageY - event.pageY) + ) >= this.options.distance + ); + }, + + _mouseDelayMet: function(/* event */) { + return this.mouseDelayMet; + }, + + // These are placeholder methods, to be overriden by extending plugin + _mouseStart: function(/* event */) {}, + _mouseDrag: function(/* event */) {}, + _mouseStop: function(/* event */) {}, + _mouseCapture: function(/* event */) { return true; } +}); + + +/*! + * jQuery UI Position 1.11.3 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/position/ + */ + +(function() { + +$.ui = $.ui || {}; + +var cachedScrollbarWidth, supportsOffsetFractions, + max = Math.max, + abs = Math.abs, + round = Math.round, + rhorizontal = /left|center|right/, + rvertical = /top|center|bottom/, + roffset = /[\+\-]\d+(\.[\d]+)?%?/, + rposition = /^\w+/, + rpercent = /%$/, + _position = $.fn.position; + +function getOffsets( offsets, width, height ) { + return [ + parseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ), + parseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 ) + ]; +} + +function parseCss( element, property ) { + return parseInt( $.css( element, property ), 10 ) || 0; +} + +function getDimensions( elem ) { + var raw = elem[0]; + if ( raw.nodeType === 9 ) { + return { + width: elem.width(), + height: elem.height(), + offset: { top: 0, left: 0 } + }; + } + if ( $.isWindow( raw ) ) { + return { + width: elem.width(), + height: elem.height(), + offset: { top: elem.scrollTop(), left: elem.scrollLeft() } + }; + } + if ( raw.preventDefault ) { + return { + width: 0, + height: 0, + offset: { top: raw.pageY, left: raw.pageX } + }; + } + return { + width: elem.outerWidth(), + height: elem.outerHeight(), + offset: elem.offset() + }; +} + +$.position = { + scrollbarWidth: function() { + if ( cachedScrollbarWidth !== undefined ) { + return cachedScrollbarWidth; + } + var w1, w2, + div = $( "
" ), + innerDiv = div.children()[0]; + + $( "body" ).append( div ); + w1 = innerDiv.offsetWidth; + div.css( "overflow", "scroll" ); + + w2 = innerDiv.offsetWidth; + + if ( w1 === w2 ) { + w2 = div[0].clientWidth; + } + + div.remove(); + + return (cachedScrollbarWidth = w1 - w2); + }, + getScrollInfo: function( within ) { + var overflowX = within.isWindow || within.isDocument ? "" : + within.element.css( "overflow-x" ), + overflowY = within.isWindow || within.isDocument ? "" : + within.element.css( "overflow-y" ), + hasOverflowX = overflowX === "scroll" || + ( overflowX === "auto" && within.width < within.element[0].scrollWidth ), + hasOverflowY = overflowY === "scroll" || + ( overflowY === "auto" && within.height < within.element[0].scrollHeight ); + return { + width: hasOverflowY ? $.position.scrollbarWidth() : 0, + height: hasOverflowX ? $.position.scrollbarWidth() : 0 + }; + }, + getWithinInfo: function( element ) { + var withinElement = $( element || window ), + isWindow = $.isWindow( withinElement[0] ), + isDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9; + return { + element: withinElement, + isWindow: isWindow, + isDocument: isDocument, + offset: withinElement.offset() || { left: 0, top: 0 }, + scrollLeft: withinElement.scrollLeft(), + scrollTop: withinElement.scrollTop(), + + // support: jQuery 1.6.x + // jQuery 1.6 doesn't support .outerWidth/Height() on documents or windows + width: isWindow || isDocument ? withinElement.width() : withinElement.outerWidth(), + height: isWindow || isDocument ? withinElement.height() : withinElement.outerHeight() + }; + } +}; + +$.fn.position = function( options ) { + if ( !options || !options.of ) { + return _position.apply( this, arguments ); + } + + // make a copy, we don't want to modify arguments + options = $.extend( {}, options ); + + var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions, + target = $( options.of ), + within = $.position.getWithinInfo( options.within ), + scrollInfo = $.position.getScrollInfo( within ), + collision = ( options.collision || "flip" ).split( " " ), + offsets = {}; + + dimensions = getDimensions( target ); + if ( target[0].preventDefault ) { + // force left top to allow flipping + options.at = "left top"; + } + targetWidth = dimensions.width; + targetHeight = dimensions.height; + targetOffset = dimensions.offset; + // clone to reuse original targetOffset later + basePosition = $.extend( {}, targetOffset ); + + // force my and at to have valid horizontal and vertical positions + // if a value is missing or invalid, it will be converted to center + $.each( [ "my", "at" ], function() { + var pos = ( options[ this ] || "" ).split( " " ), + horizontalOffset, + verticalOffset; + + if ( pos.length === 1) { + pos = rhorizontal.test( pos[ 0 ] ) ? + pos.concat( [ "center" ] ) : + rvertical.test( pos[ 0 ] ) ? + [ "center" ].concat( pos ) : + [ "center", "center" ]; + } + pos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : "center"; + pos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : "center"; + + // calculate offsets + horizontalOffset = roffset.exec( pos[ 0 ] ); + verticalOffset = roffset.exec( pos[ 1 ] ); + offsets[ this ] = [ + horizontalOffset ? horizontalOffset[ 0 ] : 0, + verticalOffset ? verticalOffset[ 0 ] : 0 + ]; + + // reduce to just the positions without the offsets + options[ this ] = [ + rposition.exec( pos[ 0 ] )[ 0 ], + rposition.exec( pos[ 1 ] )[ 0 ] + ]; + }); + + // normalize collision option + if ( collision.length === 1 ) { + collision[ 1 ] = collision[ 0 ]; + } + + if ( options.at[ 0 ] === "right" ) { + basePosition.left += targetWidth; + } else if ( options.at[ 0 ] === "center" ) { + basePosition.left += targetWidth / 2; + } + + if ( options.at[ 1 ] === "bottom" ) { + basePosition.top += targetHeight; + } else if ( options.at[ 1 ] === "center" ) { + basePosition.top += targetHeight / 2; + } + + atOffset = getOffsets( offsets.at, targetWidth, targetHeight ); + basePosition.left += atOffset[ 0 ]; + basePosition.top += atOffset[ 1 ]; + + return this.each(function() { + var collisionPosition, using, + elem = $( this ), + elemWidth = elem.outerWidth(), + elemHeight = elem.outerHeight(), + marginLeft = parseCss( this, "marginLeft" ), + marginTop = parseCss( this, "marginTop" ), + collisionWidth = elemWidth + marginLeft + parseCss( this, "marginRight" ) + scrollInfo.width, + collisionHeight = elemHeight + marginTop + parseCss( this, "marginBottom" ) + scrollInfo.height, + position = $.extend( {}, basePosition ), + myOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() ); + + if ( options.my[ 0 ] === "right" ) { + position.left -= elemWidth; + } else if ( options.my[ 0 ] === "center" ) { + position.left -= elemWidth / 2; + } + + if ( options.my[ 1 ] === "bottom" ) { + position.top -= elemHeight; + } else if ( options.my[ 1 ] === "center" ) { + position.top -= elemHeight / 2; + } + + position.left += myOffset[ 0 ]; + position.top += myOffset[ 1 ]; + + // if the browser doesn't support fractions, then round for consistent results + if ( !supportsOffsetFractions ) { + position.left = round( position.left ); + position.top = round( position.top ); + } + + collisionPosition = { + marginLeft: marginLeft, + marginTop: marginTop + }; + + $.each( [ "left", "top" ], function( i, dir ) { + if ( $.ui.position[ collision[ i ] ] ) { + $.ui.position[ collision[ i ] ][ dir ]( position, { + targetWidth: targetWidth, + targetHeight: targetHeight, + elemWidth: elemWidth, + elemHeight: elemHeight, + collisionPosition: collisionPosition, + collisionWidth: collisionWidth, + collisionHeight: collisionHeight, + offset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ], + my: options.my, + at: options.at, + within: within, + elem: elem + }); + } + }); + + if ( options.using ) { + // adds feedback as second argument to using callback, if present + using = function( props ) { + var left = targetOffset.left - position.left, + right = left + targetWidth - elemWidth, + top = targetOffset.top - position.top, + bottom = top + targetHeight - elemHeight, + feedback = { + target: { + element: target, + left: targetOffset.left, + top: targetOffset.top, + width: targetWidth, + height: targetHeight + }, + element: { + element: elem, + left: position.left, + top: position.top, + width: elemWidth, + height: elemHeight + }, + horizontal: right < 0 ? "left" : left > 0 ? "right" : "center", + vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle" + }; + if ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) { + feedback.horizontal = "center"; + } + if ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) { + feedback.vertical = "middle"; + } + if ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) { + feedback.important = "horizontal"; + } else { + feedback.important = "vertical"; + } + options.using.call( this, props, feedback ); + }; + } + + elem.offset( $.extend( position, { using: using } ) ); + }); +}; + +$.ui.position = { + fit: { + left: function( position, data ) { + var within = data.within, + withinOffset = within.isWindow ? within.scrollLeft : within.offset.left, + outerWidth = within.width, + collisionPosLeft = position.left - data.collisionPosition.marginLeft, + overLeft = withinOffset - collisionPosLeft, + overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset, + newOverRight; + + // element is wider than within + if ( data.collisionWidth > outerWidth ) { + // element is initially over the left side of within + if ( overLeft > 0 && overRight <= 0 ) { + newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset; + position.left += overLeft - newOverRight; + // element is initially over right side of within + } else if ( overRight > 0 && overLeft <= 0 ) { + position.left = withinOffset; + // element is initially over both left and right sides of within + } else { + if ( overLeft > overRight ) { + position.left = withinOffset + outerWidth - data.collisionWidth; + } else { + position.left = withinOffset; + } + } + // too far left -> align with left edge + } else if ( overLeft > 0 ) { + position.left += overLeft; + // too far right -> align with right edge + } else if ( overRight > 0 ) { + position.left -= overRight; + // adjust based on position and margin + } else { + position.left = max( position.left - collisionPosLeft, position.left ); + } + }, + top: function( position, data ) { + var within = data.within, + withinOffset = within.isWindow ? within.scrollTop : within.offset.top, + outerHeight = data.within.height, + collisionPosTop = position.top - data.collisionPosition.marginTop, + overTop = withinOffset - collisionPosTop, + overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset, + newOverBottom; + + // element is taller than within + if ( data.collisionHeight > outerHeight ) { + // element is initially over the top of within + if ( overTop > 0 && overBottom <= 0 ) { + newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset; + position.top += overTop - newOverBottom; + // element is initially over bottom of within + } else if ( overBottom > 0 && overTop <= 0 ) { + position.top = withinOffset; + // element is initially over both top and bottom of within + } else { + if ( overTop > overBottom ) { + position.top = withinOffset + outerHeight - data.collisionHeight; + } else { + position.top = withinOffset; + } + } + // too far up -> align with top + } else if ( overTop > 0 ) { + position.top += overTop; + // too far down -> align with bottom edge + } else if ( overBottom > 0 ) { + position.top -= overBottom; + // adjust based on position and margin + } else { + position.top = max( position.top - collisionPosTop, position.top ); + } + } + }, + flip: { + left: function( position, data ) { + var within = data.within, + withinOffset = within.offset.left + within.scrollLeft, + outerWidth = within.width, + offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left, + collisionPosLeft = position.left - data.collisionPosition.marginLeft, + overLeft = collisionPosLeft - offsetLeft, + overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft, + myOffset = data.my[ 0 ] === "left" ? + -data.elemWidth : + data.my[ 0 ] === "right" ? + data.elemWidth : + 0, + atOffset = data.at[ 0 ] === "left" ? + data.targetWidth : + data.at[ 0 ] === "right" ? + -data.targetWidth : + 0, + offset = -2 * data.offset[ 0 ], + newOverRight, + newOverLeft; + + if ( overLeft < 0 ) { + newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset; + if ( newOverRight < 0 || newOverRight < abs( overLeft ) ) { + position.left += myOffset + atOffset + offset; + } + } else if ( overRight > 0 ) { + newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft; + if ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) { + position.left += myOffset + atOffset + offset; + } + } + }, + top: function( position, data ) { + var within = data.within, + withinOffset = within.offset.top + within.scrollTop, + outerHeight = within.height, + offsetTop = within.isWindow ? within.scrollTop : within.offset.top, + collisionPosTop = position.top - data.collisionPosition.marginTop, + overTop = collisionPosTop - offsetTop, + overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop, + top = data.my[ 1 ] === "top", + myOffset = top ? + -data.elemHeight : + data.my[ 1 ] === "bottom" ? + data.elemHeight : + 0, + atOffset = data.at[ 1 ] === "top" ? + data.targetHeight : + data.at[ 1 ] === "bottom" ? + -data.targetHeight : + 0, + offset = -2 * data.offset[ 1 ], + newOverTop, + newOverBottom; + if ( overTop < 0 ) { + newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset; + if ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) { + position.top += myOffset + atOffset + offset; + } + } else if ( overBottom > 0 ) { + newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop; + if ( newOverTop > 0 || abs( newOverTop ) < overBottom ) { + position.top += myOffset + atOffset + offset; + } + } + } + }, + flipfit: { + left: function() { + $.ui.position.flip.left.apply( this, arguments ); + $.ui.position.fit.left.apply( this, arguments ); + }, + top: function() { + $.ui.position.flip.top.apply( this, arguments ); + $.ui.position.fit.top.apply( this, arguments ); + } + } +}; + +// fraction support test +(function() { + var testElement, testElementParent, testElementStyle, offsetLeft, i, + body = document.getElementsByTagName( "body" )[ 0 ], + div = document.createElement( "div" ); + + //Create a "fake body" for testing based on method used in jQuery.support + testElement = document.createElement( body ? "div" : "body" ); + testElementStyle = { + visibility: "hidden", + width: 0, + height: 0, + border: 0, + margin: 0, + background: "none" + }; + if ( body ) { + $.extend( testElementStyle, { + position: "absolute", + left: "-1000px", + top: "-1000px" + }); + } + for ( i in testElementStyle ) { + testElement.style[ i ] = testElementStyle[ i ]; + } + testElement.appendChild( div ); + testElementParent = body || document.documentElement; + testElementParent.insertBefore( testElement, testElementParent.firstChild ); + + div.style.cssText = "position: absolute; left: 10.7432222px;"; + + offsetLeft = $( div ).offset().left; + supportsOffsetFractions = offsetLeft > 10 && offsetLeft < 11; + + testElement.innerHTML = ""; + testElementParent.removeChild( testElement ); +})(); + +})(); + +var position = $.ui.position; + + +/*! + * jQuery UI Draggable 1.11.3 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/draggable/ + */ + + +$.widget("ui.draggable", $.ui.mouse, { + version: "1.11.3", + widgetEventPrefix: "drag", + options: { + addClasses: true, + appendTo: "parent", + axis: false, + connectToSortable: false, + containment: false, + cursor: "auto", + cursorAt: false, + grid: false, + handle: false, + helper: "original", + iframeFix: false, + opacity: false, + refreshPositions: false, + revert: false, + revertDuration: 500, + scope: "default", + scroll: true, + scrollSensitivity: 20, + scrollSpeed: 20, + snap: false, + snapMode: "both", + snapTolerance: 20, + stack: false, + zIndex: false, + + // callbacks + drag: null, + start: null, + stop: null + }, + _create: function() { + + if ( this.options.helper === "original" ) { + this._setPositionRelative(); + } + if (this.options.addClasses){ + this.element.addClass("ui-draggable"); + } + if (this.options.disabled){ + this.element.addClass("ui-draggable-disabled"); + } + this._setHandleClassName(); + + this._mouseInit(); + }, + + _setOption: function( key, value ) { + this._super( key, value ); + if ( key === "handle" ) { + this._removeHandleClassName(); + this._setHandleClassName(); + } + }, + + _destroy: function() { + if ( ( this.helper || this.element ).is( ".ui-draggable-dragging" ) ) { + this.destroyOnClear = true; + return; + } + this.element.removeClass( "ui-draggable ui-draggable-dragging ui-draggable-disabled" ); + this._removeHandleClassName(); + this._mouseDestroy(); + }, + + _mouseCapture: function(event) { + var o = this.options; + + this._blurActiveElement( event ); + + // among others, prevent a drag on a resizable-handle + if (this.helper || o.disabled || $(event.target).closest(".ui-resizable-handle").length > 0) { + return false; + } + + //Quit if we're not on a valid handle + this.handle = this._getHandle(event); + if (!this.handle) { + return false; + } + + this._blockFrames( o.iframeFix === true ? "iframe" : o.iframeFix ); + + return true; + + }, + + _blockFrames: function( selector ) { + this.iframeBlocks = this.document.find( selector ).map(function() { + var iframe = $( this ); + + return $( "
" ) + .css( "position", "absolute" ) + .appendTo( iframe.parent() ) + .outerWidth( iframe.outerWidth() ) + .outerHeight( iframe.outerHeight() ) + .offset( iframe.offset() )[ 0 ]; + }); + }, + + _unblockFrames: function() { + if ( this.iframeBlocks ) { + this.iframeBlocks.remove(); + delete this.iframeBlocks; + } + }, + + _blurActiveElement: function( event ) { + var document = this.document[ 0 ]; + + // Only need to blur if the event occurred on the draggable itself, see #10527 + if ( !this.handleElement.is( event.target ) ) { + return; + } + + // support: IE9 + // IE9 throws an "Unspecified error" accessing document.activeElement from an