Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
Re: Expiration datepicker
That’s the best I can do atm. The widget is closed on select or link outside click.
# Name: etc_datepicker v0.3.1
# Type: Admin plugin
#
# Author:
# URL:
# Recommended load order: 5
# .....................................................................
# This is a plugin for Textpattern CMS - http://textpattern.com/
# To install: textpattern > admin > plugins
# Paste the following text into the 'Install plugin' box:
# .....................................................................
YToxMTp7czo0OiJuYW1lIjtzOjE0OiJldGNfZGF0ZXBpY2tlciI7czo2OiJhdXRob3IiO3M6
MDoiIjtzOjEwOiJhdXRob3JfdXJpIjtzOjA6IiI7czo3OiJ2ZXJzaW9uIjtzOjU6IjAuMy4x
IjtzOjExOiJkZXNjcmlwdGlvbiI7czowOiIiO3M6NDoiY29kZSI7czozMjQ3OiJyZWdpc3Rl
cl9jYWxsYmFjaygnZXRjX2RhdGVwaWNrZXInLCAnYWRtaW5fc2lkZScsICdib2R5X2VuZCcp
Ow0KDQpmdW5jdGlvbiBldGNfZGF0ZXBpY2tlcigkZXZlbnQsICRzdGVwKQ0Kew0KJHNjcmlw
dCA9IDw8PEpTDQokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKSB7DQp0ZXh0cGF0dGVy
bi5SZWxheS5yZWdpc3RlcigndHhwQXN5bmNGb3JtLnN1Y2Nlc3MnLCBldGNEYXRlcGlja2Vy
KTsNCg0KZnVuY3Rpb24gZXRjRGF0ZXBpY2tlcigpIHsNCiAgICBpZiAoISQoJy50eHAtZGF0
ZXBpY2tlci1idXR0b24nKS5sZW5ndGgpDQogICAgICAgICQoJy5pbnB1dC1kYXknKS5hZnRl
cignJm5ic3A7PGEgY2xhc3M9InR4cC1kYXRlcGlja2VyLWJ1dHRvbiIgaHJlZj0iIyIgdGl0
bGU9IkRhdGVwaWNrZXIiIGFyaWEtbGFiZWw9IkRhdGVwaWNrZXIiPjxzcGFuIGNsYXNzPSJ1
aS1pY29uIHVpLWljb24tY2FsZW5kYXIiPkRhdGVwaWNrZXI8L3NwYW4+PC9hPicpOw0KDQog
ICAgJCgnLnR4cC1kYXRlcGlja2VyLWJ1dHRvbicpLmNsaWNrKGZ1bmN0aW9uKGUpIHsNCiAg
ICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOw0KICAgICAgICAkKHRoaXMpLnBhcmVudCgpLmNo
aWxkcmVuKCcubXlwaWNrZXInKS50b2dnbGUoKTsNCiAgICAgICAgZS5zdG9wUHJvcGFnYXRp
b24oKTsNCiAgICB9KS5hZnRlcignPGRpdiBzdHlsZT0iZGlzcGxheTpub25lO3Bvc2l0aW9u
OmFic29sdXRlO3otaW5kZXg6MTAwIiBjbGFzcz0ibXlwaWNrZXIiIC8+Jyk7DQoNCiAgICAk
KCcubXlwaWNrZXInKS5kYXRlcGlja2VyKA0KICAgICAgICB7DQogICAgICAgICAgICBjaGFu
Z2VNb250aDogdHJ1ZSwNCiAgICAgICAgICAgIGNoYW5nZVllYXI6IHRydWUsDQogICAgICAg
ICAgICBzaG93T3RoZXJNb250aHM6IHRydWUsDQogICAgICAgICAgICBzaG93TW9udGhBZnRl
clllYXI6IHRydWUsDQogICAgICAgICAgICBvblNlbGVjdDogZnVuY3Rpb24oZGF0ZSwgaW5z
dCkgew0KICAgICAgICAgICAgICAgIHZhciBkaXYgPSAkKHRoaXMpLmhpZGUoKS5wYXJlbnQo
KTsNCiAgICAgICAgICAgICAgICB2YXIgZGF0ZSA9ICQodGhpcykuZGF0ZXBpY2tlcignZ2V0
RGF0ZScpOw0KICAgICAgICAgICAgICAgICQodGhpcykuZGF0ZXBpY2tlcignb3B0aW9uJywg
J2RlZmF1bHREYXRlJywgZGF0ZSkuZGF0ZXBpY2tlcignc2V0RGF0ZScsIGRhdGUpOw0KICAg
ICAgICAgICAgICAgIGRpdi5jaGlsZHJlbignLmlucHV0LWRheScpLnZhbCgoJzAnK2luc3Qu
c2VsZWN0ZWREYXkpLnNsaWNlKC0yKSk7DQogICAgICAgICAgICAgICAgZGl2LmNoaWxkcmVu
KCcuaW5wdXQtbW9udGgnKS52YWwoKCcwJysoaW5zdC5zZWxlY3RlZE1vbnRoICsgMSkpLnNs
aWNlKC0yKSk7DQogICAgICAgICAgICAgICAgZGl2LmNoaWxkcmVuKCcuaW5wdXQteWVhcicp
LnZhbChpbnN0LnNlbGVjdGVkWWVhcik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAg
ICApLmNsaWNrKGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsN
CiAgICB9KTsNCg0KICAgICQoJ2JvZHknKS5iaW5kKCdjbGljayB0b3VjaHN0YXJ0JywgZnVu
Y3Rpb24oZSkgew0KICAgICAgICAkKCcubXlwaWNrZXInKS5oaWRlKCk7DQogICAgfSk7DQoN
CiAgICAkKCcuaW5wdXQteWVhciwgLmlucHV0LW1vbnRoLCAuaW5wdXQtZGF5JykuY2hhbmdl
KGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGlmICghJCh0aGlzKS52YWwoKSkgcmV0dXJu
Ow0KICAgICAgICAgICAgdmFyIGRpdiA9ICQodGhpcykucGFyZW50KCk7DQogICAgICAgICAg
ICB2YXIgZGF0ZSA9IG5ldyBEYXRlKGRpdi5jaGlsZHJlbignLmlucHV0LXllYXInKS5maXJz
dCgpLnZhbCgpLCBkaXYuY2hpbGRyZW4oJy5pbnB1dC1tb250aCcpLmZpcnN0KCkudmFsKCkg
LSAxLCBkaXYuY2hpbGRyZW4oJy5pbnB1dC1kYXknKS5maXJzdCgpLnZhbCgpKTsNCiAgICAg
ICAgICAgIGRpdi5jaGlsZHJlbignLm15cGlja2VyJykuZGF0ZXBpY2tlcignb3B0aW9uJywg
J2RlZmF1bHREYXRlJywgZGF0ZSkuZGF0ZXBpY2tlcignc2V0RGF0ZScsIGRhdGUpOw0KICAg
IH0pOw0KDQogICAgJCgnLmlucHV0LXllYXInKS5jaGFuZ2UoKTsNCn0NCg0KLyoNCiAgICAk
KCcuaW5wdXQteWVhcicpLmRhdGVwaWNrZXIoDQogICAgew0KICAgICAgICBjaGFuZ2VNb250
aDogdHJ1ZSwNCiAgICAgICAgY2hhbmdlWWVhcjogdHJ1ZSwNCiAgICAgICAgc2hvd090aGVy
TW9udGhzOiB0cnVlLA0KICAgICAgICBzaG93TW9udGhBZnRlclllYXI6IHRydWUsDQogICAg
ICAgIGRhdGVGb3JtYXQ6ICd5eScsDQogICAgICAgIG9uU2VsZWN0OiBmdW5jdGlvbihkYXRl
LCBpbnN0KSB7DQogICAgICAgICAgICB2YXIgZGl2ID0gJCh0aGlzKS5mb2N1cygpLnBhcmVu
dCgpOw0KICAgICAgICAgICAgZGl2LmNoaWxkcmVuKCcuaW5wdXQtZGF5JykudmFsKCgnMCcr
aW5zdC5zZWxlY3RlZERheSkuc2xpY2UoLTIpKTsNCiAgICAgICAgICAgIGRpdi5jaGlsZHJl
bignLmlucHV0LW1vbnRoJykudmFsKCgnMCcrKGluc3Quc2VsZWN0ZWRNb250aCArIDEpKS5z
bGljZSgtMikpOw0KICAgICAgICAgICAgZGl2LmNoaWxkcmVuKCcuaW5wdXQteWVhcicpLnZh
bChpbnN0LnNlbGVjdGVkWWVhcikuY2hhbmdlKCk7DQogICAgICAgIH0sDQogICAgICAgIG9u
Q2xvc2U6IGZ1bmN0aW9uKGRhdGUsIGluc3QpIHsNCiAgICAgICAgICAgIGlmICghJCh0aGlz
KS52YWwoKSkgJCh0aGlzKS52YWwodGhpcy5vbGRWYWwpOw0KICAgICAgICB9LA0KICAgICAg
ICBiZWZvcmVTaG93OiBmdW5jdGlvbihpbnB1dCwgaW5zdCkgew0KICAgICAgICAgICAgdGhp
cy5vbGRWYWwgPSAkKHRoaXMpLnZhbCgpOw0KICAgICAgICB9DQogICAgfSkua2V5dXAoZnVu
Y3Rpb24oZSkgew0KICAgICAgICAgICAgdmFyIGtleSA9IFN0cmluZy5mcm9tQ2hhckNvZGUo
ZS53aGljaCk7DQogICAgICAgICAgICBpZiAoZS53aGljaCA9PSA0NikgdGhpcy5vbGRWYWwg
PSBrZXkgPSAnJzsNCiAgICAgICAgICAgIGlmICgoa2V5ID09ICcnIHx8ICQuaXNOdW1lcmlj
KGtleSkpICYmICQodGhpcykuZGF0ZXBpY2tlcignd2lkZ2V0JykuaXMoJzp2aXNpYmxlJykp
IHsNCiAgICAgICAgICAgICAgICAkKHRoaXMpLmRhdGVwaWNrZXIoJ2hpZGUnKS52YWwoa2V5
KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICkuY2hhbmdlKCk7DQoqLw0KDQpl
dGNEYXRlcGlja2VyKCk7DQp9KTsNCkpTOw0KZWNobyBzY3JpcHRfanMoJHNjcmlwdCk7DQp9
IjtzOjQ6InR5cGUiO3M6MToiMyI7czo1OiJvcmRlciI7czoxOiI1IjtzOjU6ImZsYWdzIjtz
OjE6IjAiO3M6NDoiaGVscCI7czowOiIiO3M6MzoibWQ1IjtzOjMyOiIxNDI5YmI4MjdhMjQx
NTkwMmQ2OWE3YzhiNGRlNWNlOCI7fQ==
Last edited by etc (2017-09-15 17:37:43)
Offline
Re: Expiration datepicker
etc wrote #307025:
That’s the best I can do atm. The widget is closed on select or link click.
I like this! Great work.
The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.
Txp Builders – finely-crafted code, design and Txp
Offline
Re: Expiration datepicker
Very nice. Just a couple of thing and it’s perfect in my opinion.
Can you put a single (non-breaking) space between the field and the icon.
Closing the widget by clicking anywhere outside of the date picker can be achieved using something like this…
$(function() {
$(".datepicker").datepicker();
$(".hasDatepicker, .ui-datepicker, .ui-datepicker-trigger").click(function(event) {
event.stopPropagation();
});
$("body").bind("click touchstart", function(event) {
$('.ui-datepicker').hide();
$('.hasDatepicker').blur();
});
});
…which is the best UI behaviour I think.
Offline
Re: Expiration datepicker
Please feel free to play with it, I have no more free time atm ;-)
Offline
Re: Expiration datepicker
etc wrote #307025:
That’s the best I can do atm. The widget is closed on select or link click.
# Name: etc_datepicker v0.3...
That is nice! And very friendly for keyboard users, as can access the calendar to pickup a date…
Where is that emoji for a solar powered submarine when you need it ?
Sand space – admin theme for Textpattern
Offline
Re: Expiration datepicker
etc wrote #307028:
Please feel free to play with it, I have no more free time atm ;-)
Hi Oleg, when you get a minute can you possibly upload your date picker plugin’s PHP code to a new repo in the etc-plugins GitHub team? I will then make a couple of minor amends to it. Cheers!
Offline
Re: Expiration datepicker
philwareham wrote #307235:
I will then make a couple of minor amends to it. Cheers!
Is that only me? esc
should close the widget without modifications, but that seems to fail here (widget doesn’t close) – Safari + Firefox
PS – Also, but that is more theme related, the trigger link (.txp-datepicker-button
) is very small and hard to hit, more so in touch devices. Maybe add some left+right padding or a transparent border to increase the hit area?
Where is that emoji for a solar powered submarine when you need it ?
Sand space – admin theme for Textpattern
Offline
Offline