mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-28 18:00:09 +00:00
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:
parent
8149fcf41a
commit
ed61746a64
@ -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);
|
||||
|
||||
62
ui (gen4)/data/placeholder-image.svg
Normal file
62
ui (gen4)/data/placeholder-image.svg
Normal 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
@ -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 |
@ -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) }) }],
|
||||
],
|
||||
})
|
||||
|
||||
|
||||
@ -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...
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user