added placeholder image + added index cleanup action -- not sure if I'll keep it in (or enabled)...

Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
Alex A. Naanou 2020-05-17 22:47:01 +03:00
parent 8149fcf41a
commit ed61746a64
6 changed files with 140 additions and 2483 deletions

View File

@ -10,6 +10,10 @@
font-family: OpenSans;
src: url(fonts/Open_Sans/OpenSans-Regular.ttf);
}
@font-face {
font-family: 'OpenSans-Light';
src: url(fonts/Open_Sans/OpenSans-Light.ttf);
}
/*
@font-face {
font-family: OpenSans;
@ -38,11 +42,6 @@
font-weight: bolder;
font-style: italic;
}
@font-face {
font-family: OpenSans;
src: url(fonts/Open_Sans/OpenSans-Light.ttf);
font-weight: lighter;
}
@font-face {
font-family: OpenSans;
src: url(fonts/Open_Sans/OpenSans-LightItalic.ttf);

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 1000 1000" style="enable-background:new 0 0 1000 1000;" xml:space="preserve">
<style type="text/css">
#vertical {
opacity: 0.25;
}
#corners {
opacity: 0.5;
}
.line {
fill: none;
stroke: #FFFFFF;
stroke-width: 2;
stroke-miterlimit: 10;
}
.label {
font-family: 'OpenSans-Light', sans-serif;
font-size: 82px;
}
.stroke {
fill: #FFFFFF;
}
</style>
<g id="background">
<rect x="0" y="0" width="1000" height="1000"/>
</g>
<g id="vertical">
<g>
<path class="stroke" d="M831,2v996H169V2H831 M833,0H167v1000h666V0L833,0z"/>
</g>
<line class="line" x1="167" y1="1000" x2="833" y2="0"/>
<line class="line" x1="167" y1="0" x2="833" y2="1000"/>
</g>
<g id="horizontal">
<g>
<path class="stroke" d="M998,169v662H2V169H998 M1000,167H0v666h1000V167L1000,167z"/>
</g>
<line class="line" x1="1000" y1="167" x2="5" y2="833"/>
<g>
<line class="line" x1="0" y1="167" x2="1000" y2="833"/>
</g>
</g>
<g id="corners">
<g>
<path class="stroke" d="M5.5,5.5l79.3,47.6L53.1,84.8L5.5,5.5 M-0.4-0.4l53,88.4L88,52.7L-0.4-0.4L-0.4-0.4z"/>
</g>
<g>
<path class="stroke" d="M994.5,5.5l-47.6,79.3l-31.7-31.7L994.5,5.5 M1000.4-0.4l-88.4,53L947.3,88L1000.4-0.4L1000.4-0.4z"/>
</g>
<g>
<path class="stroke" d="M946.9,915.2l47.6,79.3l-79.3-47.6L946.9,915.2 M947.3,912L912,947.3l88.4,53L947.3,912L947.3,912z"/>
</g>
<g>
<path class="stroke" d="M53.1,915.2l31.7,31.7L5.5,994.5L53.1,915.2 M52.7,912l-53,88.4l88.4-53L52.7,912L52.7,912z"/>
</g>
</g>
<g id="text">
<rect x="356" y="452" width="290" height="100.3"/>
<text transform="matrix(1 0 0 1 373 528)" class="stroke label">IMAGE</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

File diff suppressed because one or more lines are too long

View File

@ -1,200 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 1280 800" style="enable-background:new 0 0 1280 800;" xml:space="preserve">
<style type="text/css">
.st0{opacity:0.25;}
.st1{fill:#FFFFFF;}
.st2{opacity:0.1;}
.st3{fill:none;stroke:#FFFFFF;stroke-miterlimit:10;}
.st4{opacity:0.5;}
</style>
<g>
<g>
<rect x="755.8" y="209.2" width="299.4" height="300.4"/>
</g>
<g class="st0">
<path class="st1" d="M1054.6,275.9v166.8h-298V275.9H1054.6 M1055.6,274.9h-300v168.8h300V274.9L1055.6,274.9z"/>
</g>
<g class="st2">
<g>
<path class="st1" d="M1004.6,210.3v298h-198v-298H1004.6 M1005.6,209.3h-200v300h200V209.3L1005.6,209.3z"/>
</g>
<g>
<line class="st3" x1="805.6" y1="209.3" x2="1005.6" y2="509.3"/>
</g>
<line class="st3" x1="1005.4" y1="209.4" x2="805.4" y2="509.4"/>
</g>
<g>
<g>
<path class="st1" d="M1054.6,260.3v198h-298v-198H1054.6 M1055.6,259.3h-300v200h300V259.3L1055.6,259.3z"/>
</g>
<line class="st3" x1="755.4" y1="459.4" x2="1055.4" y2="259.4"/>
<line class="st3" x1="755.4" y1="259.4" x2="1055.4" y2="459.4"/>
</g>
<g class="st0">
<polygon class="st3" points="755.8,209.2 774.5,243.6 790.1,227.9 "/>
<polygon class="st3" points="1055.1,209.2 1020.8,227.9 1036.5,243.6 "/>
<polygon class="st3" points="755.8,509.6 790.1,490.9 774.5,475.3 "/>
<polygon class="st3" points="1055.1,509.6 1036.5,475.3 1020.8,490.9 "/>
</g>
<g class="st4">
<path class="st1" d="M890.3,230.3h-2v-15.4h-5.4v-1.8h12.8v1.8h-5.4V230.3z"/>
<path class="st1" d="M913.2,221.7c0,2.7-0.7,4.9-2.1,6.5s-3.3,2.4-5.8,2.4c-2.5,0-4.5-0.8-5.8-2.3s-2.1-3.7-2.1-6.5
c0-2.8,0.7-5,2.1-6.5s3.3-2.3,5.9-2.3c2.5,0,4.4,0.8,5.8,2.3S913.2,218.9,913.2,221.7z M899.6,221.7c0,2.3,0.5,4.1,1.5,5.3
s2.4,1.8,4.3,1.8c1.9,0,3.3-0.6,4.3-1.8s1.5-3,1.5-5.3c0-2.3-0.5-4.1-1.4-5.2s-2.4-1.8-4.3-1.8c-1.9,0-3.3,0.6-4.3,1.8
S899.6,219.4,899.6,221.7z"/>
<path class="st1" d="M927.9,218.1c0,1.7-0.6,3.1-1.8,4s-2.9,1.4-5.1,1.4h-2v6.7h-2v-17.1h4.4C925.8,213.1,927.9,214.8,927.9,218.1
z M919,221.8h1.8c1.8,0,3-0.3,3.8-0.9s1.2-1.5,1.2-2.7c0-1.1-0.4-2-1.1-2.5s-1.9-0.8-3.5-0.8H919V221.8z"/>
</g>
<g class="st4">
<path class="st1" d="M898.3,503.3h-11.3v-1.7l4.5-4.5c1.4-1.4,2.3-2.4,2.7-3s0.8-1.2,1-1.7s0.3-1.2,0.3-1.8c0-0.9-0.3-1.6-0.8-2.2
s-1.3-0.8-2.3-0.8c-0.7,0-1.4,0.1-2,0.4s-1.3,0.7-2.1,1.3l-1-1.3c1.6-1.3,3.3-2,5.2-2c1.6,0,2.9,0.4,3.8,1.2s1.4,1.9,1.4,3.3
c0,1.1-0.3,2.2-0.9,3.2s-1.8,2.4-3.4,4l-3.8,3.7v0.1h8.8V503.3z"/>
<path class="st1" d="M904.8,496.7l-4.5-6.3h2.2l3.4,4.9l3.4-4.9h2.2l-4.5,6.3l4.7,6.6h-2.2l-3.6-5.2l-3.6,5.2h-2.2L904.8,496.7z"
/>
<path class="st1" d="M924,490.2c0,1.1-0.3,2-0.9,2.7s-1.5,1.2-2.6,1.4v0.1c1.4,0.2,2.4,0.6,3.1,1.3s1,1.6,1,2.8
c0,1.6-0.6,2.9-1.7,3.8s-2.7,1.3-4.8,1.3c-0.9,0-1.7-0.1-2.5-0.2s-1.5-0.4-2.2-0.7v-1.9c0.7,0.4,1.5,0.6,2.4,0.8s1.6,0.3,2.4,0.3
c3,0,4.4-1.2,4.4-3.5c0-2.1-1.6-3.1-4.9-3.1h-1.7v-1.7h1.7c1.3,0,2.4-0.3,3.2-0.9s1.2-1.4,1.2-2.5c0-0.8-0.3-1.5-0.9-2
s-1.4-0.7-2.3-0.7c-0.8,0-1.5,0.1-2.1,0.3s-1.4,0.6-2.3,1.1l-1-1.3c0.7-0.6,1.5-1,2.4-1.3s1.9-0.5,2.9-0.5c1.7,0,3,0.4,3.9,1.1
S924,488.9,924,490.2z"/>
</g>
</g>
<g>
<g>
<rect x="396.3" y="209.2" width="299.4" height="300.4"/>
</g>
<g class="st0">
<path class="st1" d="M695.2,275.9v166.8h-298V275.9H695.2 M696.2,274.9h-300v168.8h300V274.9L696.2,274.9z"/>
</g>
<g>
<g>
<path class="st1" d="M645.2,210.3v298h-198v-298H645.2 M646.2,209.3h-200v300h200V209.3L646.2,209.3z"/>
</g>
<g>
<line class="st3" x1="446.2" y1="209.3" x2="646.2" y2="509.3"/>
</g>
<line class="st3" x1="645.9" y1="209.4" x2="445.9" y2="509.4"/>
</g>
<g class="st2">
<g>
<path class="st1" d="M695.2,260.3v198h-298v-198H695.2 M696.2,259.3h-300v200h300V259.3L696.2,259.3z"/>
</g>
<line class="st3" x1="395.9" y1="459.4" x2="695.9" y2="259.4"/>
<line class="st3" x1="395.9" y1="259.4" x2="695.9" y2="459.4"/>
</g>
<g class="st0">
<polygon class="st3" points="396.3,209.2 415,243.6 430.7,227.9 "/>
<polygon class="st3" points="695.7,209.2 661.3,227.9 677,243.6 "/>
<polygon class="st3" points="396.3,509.6 430.7,490.9 415,475.3 "/>
<polygon class="st3" points="695.7,509.6 677,475.3 661.3,490.9 "/>
</g>
<g class="st4">
<path class="st1" d="M528.9,230.3h-2v-15.4h-5.4v-1.8h12.8v1.8h-5.4V230.3z"/>
<path class="st1" d="M551.8,221.7c0,2.7-0.7,4.9-2.1,6.5s-3.3,2.4-5.8,2.4c-2.5,0-4.5-0.8-5.8-2.3s-2.1-3.7-2.1-6.5
c0-2.8,0.7-5,2.1-6.5s3.3-2.3,5.9-2.3c2.5,0,4.4,0.8,5.8,2.3S551.8,218.9,551.8,221.7z M538.1,221.7c0,2.3,0.5,4.1,1.5,5.3
s2.4,1.8,4.3,1.8c1.9,0,3.3-0.6,4.3-1.8s1.5-3,1.5-5.3c0-2.3-0.5-4.1-1.4-5.2s-2.4-1.8-4.3-1.8c-1.9,0-3.3,0.6-4.3,1.8
S538.1,219.4,538.1,221.7z"/>
<path class="st1" d="M566.4,218.1c0,1.7-0.6,3.1-1.8,4s-2.9,1.4-5.1,1.4h-2v6.7h-2v-17.1h4.4C564.3,213.1,566.4,214.8,566.4,218.1
z M557.6,221.8h1.8c1.8,0,3-0.3,3.8-0.9s1.2-1.5,1.2-2.7c0-1.1-0.4-2-1.1-2.5s-1.9-0.8-3.5-0.8h-2.2V221.8z"/>
</g>
<g class="st4">
<path class="st1" d="M536.9,503.3h-11.3v-1.7l4.5-4.5c1.4-1.4,2.3-2.4,2.7-3s0.8-1.2,1-1.7s0.3-1.2,0.3-1.8c0-0.9-0.3-1.6-0.8-2.2
s-1.3-0.8-2.3-0.8c-0.7,0-1.4,0.1-2,0.4s-1.3,0.7-2.1,1.3l-1-1.3c1.6-1.3,3.3-2,5.2-2c1.6,0,2.9,0.4,3.8,1.2s1.4,1.9,1.4,3.3
c0,1.1-0.3,2.2-0.9,3.2s-1.8,2.4-3.4,4l-3.8,3.7v0.1h8.8V503.3z"/>
<path class="st1" d="M543.3,496.7l-4.5-6.3h2.2l3.4,4.9l3.4-4.9h2.2l-4.5,6.3l4.7,6.6h-2.2l-3.6-5.2l-3.6,5.2h-2.2L543.3,496.7z"
/>
<path class="st1" d="M562.5,490.2c0,1.1-0.3,2-0.9,2.7s-1.5,1.2-2.6,1.4v0.1c1.4,0.2,2.4,0.6,3.1,1.3s1,1.6,1,2.8
c0,1.6-0.6,2.9-1.7,3.8s-2.7,1.3-4.8,1.3c-0.9,0-1.7-0.1-2.5-0.2s-1.5-0.4-2.2-0.7v-1.9c0.7,0.4,1.5,0.6,2.4,0.8s1.6,0.3,2.4,0.3
c3,0,4.4-1.2,4.4-3.5c0-2.1-1.6-3.1-4.9-3.1h-1.7v-1.7h1.7c1.3,0,2.4-0.3,3.2-0.9s1.2-1.4,1.2-2.5c0-0.8-0.3-1.5-0.9-2
s-1.4-0.7-2.3-0.7c-0.8,0-1.5,0.1-2.1,0.3s-1.4,0.6-2.3,1.1l-1-1.3c0.7-0.6,1.5-1,2.4-1.3s1.9-0.5,2.9-0.5c1.7,0,3,0.4,3.9,1.1
S562.5,488.9,562.5,490.2z"/>
</g>
</g>
<g>
<g>
<rect x="36.9" y="209.2" width="299.4" height="300.4"/>
</g>
<g>
<path class="st1" d="M335.7,275.9v166.8h-298V275.9H335.7 M336.7,274.9h-300v168.8h300V274.9L336.7,274.9z"/>
</g>
<g class="st0">
<g>
<path class="st1" d="M285.7,210.3v298h-198v-298H285.7 M286.7,209.3h-200v300h200V209.3L286.7,209.3z"/>
</g>
<g>
<line class="st3" x1="86.7" y1="209.3" x2="286.7" y2="509.3"/>
</g>
<line class="st3" x1="286.5" y1="209.4" x2="86.5" y2="509.4"/>
</g>
<g class="st2">
<g>
<path class="st1" d="M335.7,260.3v198h-298v-198H335.7 M336.7,259.3h-300v200h300V259.3L336.7,259.3z"/>
</g>
<line class="st3" x1="36.5" y1="459.4" x2="336.5" y2="259.4"/>
<line class="st3" x1="36.5" y1="259.4" x2="336.5" y2="459.4"/>
</g>
<g class="st0">
<polygon class="st3" points="36.9,209.2 55.5,243.6 71.2,227.9 "/>
<polygon class="st3" points="336.2,209.2 301.9,227.9 317.5,243.6 "/>
<polygon class="st3" points="36.9,509.6 71.2,490.9 55.5,475.3 "/>
<polygon class="st3" points="336.2,509.6 317.5,475.3 301.9,490.9 "/>
</g>
<g class="st4">
<path class="st1" d="M169.7,230.3h-2v-15.4h-5.4v-1.8h12.8v1.8h-5.4V230.3z"/>
<path class="st1" d="M192.6,221.7c0,2.7-0.7,4.9-2.1,6.5s-3.3,2.4-5.8,2.4c-2.5,0-4.5-0.8-5.8-2.3s-2.1-3.7-2.1-6.5
c0-2.8,0.7-5,2.1-6.5s3.3-2.3,5.9-2.3c2.5,0,4.4,0.8,5.8,2.3S192.6,218.9,192.6,221.7z M178.9,221.7c0,2.3,0.5,4.1,1.5,5.3
s2.4,1.8,4.3,1.8c1.9,0,3.3-0.6,4.3-1.8s1.5-3,1.5-5.3c0-2.3-0.5-4.1-1.4-5.2s-2.4-1.8-4.3-1.8c-1.9,0-3.3,0.6-4.3,1.8
S178.9,219.4,178.9,221.7z"/>
<path class="st1" d="M207.3,218.1c0,1.7-0.6,3.1-1.8,4s-2.9,1.4-5.1,1.4h-2v6.7h-2v-17.1h4.4C205.1,213.1,207.3,214.8,207.3,218.1
z M198.4,221.8h1.8c1.8,0,3-0.3,3.8-0.9s1.2-1.5,1.2-2.7c0-1.1-0.4-2-1.1-2.5s-1.9-0.8-3.5-0.8h-2.2V221.8z"/>
</g>
<line class="st3" x1="36.7" y1="274.9" x2="336.7" y2="443.6"/>
<line class="st3" x1="36.7" y1="443.6" x2="336.7" y2="274.9"/>
<g class="st4">
<path class="st1" d="M166.8,503.3h-1.9v-12.2c0-1,0-2,0.1-2.9c-0.2,0.2-0.3,0.3-0.6,0.5s-1.1,0.9-2.8,2.3l-1-1.3l4.5-3.5h1.6
V503.3z"/>
<path class="st1" d="M173.5,496c0-3.4,0.7-5.9,2-7.6s3.2-2.5,5.8-2.5c0.9,0,1.6,0.1,2.1,0.2v1.7c-0.6-0.2-1.3-0.3-2.1-0.3
c-1.8,0-3.2,0.6-4.2,1.7s-1.5,2.9-1.6,5.4h0.1c0.9-1.3,2.2-2,4.1-2c1.5,0,2.8,0.5,3.6,1.4s1.3,2.2,1.3,3.8c0,1.8-0.5,3.2-1.5,4.2
s-2.3,1.5-3.9,1.5c-1.8,0-3.2-0.7-4.2-2S173.5,498.4,173.5,496z M179.3,501.9c1.1,0,2-0.3,2.6-1s0.9-1.7,0.9-3
c0-1.1-0.3-2-0.9-2.7s-1.4-1-2.6-1c-0.7,0-1.3,0.1-1.9,0.4s-1.1,0.7-1.4,1.2s-0.5,1-0.5,1.6c0,0.8,0.2,1.6,0.5,2.3
s0.8,1.2,1.3,1.7S178.5,501.9,179.3,501.9z"/>
<path class="st1" d="M191,496.7l-4.5-6.3h2.2l3.4,4.9l3.4-4.9h2.2l-4.5,6.3l4.7,6.6h-2.2l-3.6-5.2l-3.6,5.2h-2.2L191,496.7z"/>
<path class="st1" d="M210.9,493.5c0,6.7-2.6,10.1-7.8,10.1c-0.9,0-1.6-0.1-2.2-0.2v-1.7c0.6,0.2,1.3,0.3,2.1,0.3
c1.9,0,3.3-0.6,4.2-1.7s1.5-2.9,1.6-5.3h-0.1c-0.4,0.6-1,1.1-1.7,1.5s-1.5,0.5-2.4,0.5c-1.5,0-2.7-0.5-3.6-1.4s-1.3-2.2-1.3-3.8
c0-1.8,0.5-3.2,1.5-4.2s2.3-1.5,3.9-1.5c1.2,0,2.2,0.3,3.1,0.9s1.5,1.5,2,2.6S210.9,491.9,210.9,493.5z M205.1,487.6
c-1.1,0-2,0.4-2.6,1.1s-0.9,1.7-0.9,3c0,1.1,0.3,2,0.8,2.7s1.4,1,2.6,1c0.7,0,1.4-0.1,2-0.4s1.1-0.7,1.4-1.2s0.5-1,0.5-1.6
c0-0.8-0.2-1.6-0.5-2.3s-0.8-1.2-1.3-1.6S205.8,487.6,205.1,487.6z"/>
</g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 9.5 KiB

View File

@ -786,10 +786,14 @@ var FileSystemLoaderActions = actions.Actions({
logger = logger || this.logger
logger = logger && logger.push('Checking index')
// no index loaded...
if(!this.location.loaded){
logger.emit('no index to fix.')
return Promise.resolve([]) }
// XXX can we remove this restriction...
if(this.location.loaded.length != 1){
throw new Error('.fixIndex(): combined indexes not supported.')
}
if(this.location.loaded.length > 1){
throw new Error('.fixIndex(): combined indexes not supported.') }
logger
&& this.images
@ -803,9 +807,7 @@ var FileSystemLoaderActions = actions.Actions({
return this.images
.map(function(gid, image){
return [gid, image] })
.mapChunks(chunk_size, function(e){
var gid = e[0]
var image = e[1]
.mapChunks(chunk_size, function([gid, image]){
var updated = false
var previews = image.preview || {}
@ -826,6 +828,57 @@ var FileSystemLoaderActions = actions.Actions({
.then(function(res){
return res.flat() })
}],
// XXX not yet sure about this...
removeMissingImages: ['File/Remove missing images from index',
core.doc`Remove missing images from index
This will remove images that are not found via their original
path/name from the index.
NOTE: no actual data is removed.
NOTE: this will not remove generated previews from index.
`,
function(logger){
var that = this
logger = logger || this.logger
rem_logger = logger && logger.push('Remove missing')
logger = logger && logger.push('Check missing')
logger
&& this.images
.forEach(function(gid){
logger.emit('queued', gid)})
var chunk_size = '100C'
return this.images
.map(function(gid, image){
return [gid, image] })
.mapChunks(chunk_size, function([gid, image]){
var updated = false
image.path
&& !fse.existsSync(image.base_path +'/'+ image.path)
&& (updated = true)
&& logger && rem_logger.emit('queued', gid)
logger && logger.emit('done', gid)
return updated ? gid : []
})
.then(function(res){
res = res.flat()
if(res.length > 0){
logger && rem_logger.emit('queued', 'data cleanup')
// clear images...
res.forEach(function(gid){
delete that.images[gid]
logger && rem_logger.emit('done', gid) })
// clear data...
that.data.clear(res)
logger && rem_logger.emit('done', 'data cleanup') }
return res }) }],
})
@ -888,6 +941,15 @@ module.FileSystemLoader = core.ImageGridFeatures.Feature({
res.then(function(gids){
gids.length > 0
&& that.markChanged('images', gids) }) }],
['removeMissingImages',
function(res){
var that = this
res.then(function(gids){
gids.length > 0
&& that
.markChanged('data')
.markChanged('images')
.reload(true) }) }],
],
})

View File

@ -302,10 +302,10 @@ var MetadataUIActions = actions.Actions({
'metadata-auto-select-modes': [
'none',
'on select',
'on focus',
'on open',
],
'metadata-auto-select-mode': 'on select',
'metadata-auto-select-mode': 'on focus',
// XXX
'metadata-editable-fields': [
@ -347,12 +347,13 @@ var MetadataUIActions = actions.Actions({
},
},
toggleMetadataAutoSelect: ['Interface/Metadata value auto-select',
toggleMetadataAutoSelect: ['Interface/Metadata value select',
core.makeConfigToggler('metadata-auto-select-mode',
function(){ return this.config['metadata-auto-select-modes'] })],
toggleMetadataGraph: ['Interface/Metadata graph display',
{ browseMode: function(){ return !graph && 'hidden' }, },
{ browseMode: function(){
return (!graph || this.config['browse-advanced-mode'] != 'on') && 'hidden' }},
core.makeConfigToggler('metadata-graph', ['on', 'off'])],
// NOTE: this will extend the Browse object with .updateMetadata(..)
@ -570,7 +571,7 @@ var MetadataUIActions = actions.Actions({
})
// select value of current item...
.on('select', function(evt, elem){
that.config['metadata-auto-select-mode'] == 'on select'
that.config['metadata-auto-select-mode'] == 'on focus'
&& $(elem).find('.text').last().selectText() })
.close(function(){
// XXX handle comment and tag changes...