mirror of
https://github.com/TiddlyWiki/TiddlyWiki5.git
synced 2026-02-01 23:47:35 +00:00
* feat: add $:/tags/ImportOptions support on import panel
* feat: style of import option
* fix: conditional show import option
* Delete ImportOptions.tid
* feat: allow multiple import options
* Revert "Delete ImportOptions.tid"
This reverts commit 3487e3dac5.
* DEBUG options
* remove debug files
* Create #9465.tid
141 lines
5.3 KiB
Plaintext
141 lines
5.3 KiB
Plaintext
title: $:/core/ui/ImportListing
|
|
|
|
\define lingo-base() $:/language/Import/
|
|
|
|
\define messageField() message-$(payloadTiddler)$
|
|
|
|
\define payloadTitleFilter() [<currentTiddler>get<renameField>minlength[1]else<payloadTiddler>]
|
|
|
|
\define overWriteWarning()
|
|
\whitespace trim
|
|
<$list filter="[<currentTiddler>!has<suppressedField>]">
|
|
<$text text={{{[subfilter<payloadTitleFilter>!is[tiddler]then[]] ~[<lingo-base>addsuffix[Listing/Rename/OverwriteWarning]get[text]]}}}/>
|
|
</$list>
|
|
\end
|
|
|
|
\define selectionInfo()
|
|
\whitespace trim
|
|
<$set name="escUnselected" value={{{[{$:/language/Import/Upgrader/Tiddler/Unselected}escaperegexp[]addprefix[(?g)]]}}}>
|
|
<$list filter="[all[current]get<messageField>regexp<escUnselected>]" variable="ignore">
|
|
<$text text={{{[all[current]get<selectionField>match[checked]then{$:/language/Import/Upgrader/Tiddler/Selected}else[]]}}}/>
|
|
</$list>
|
|
</$set>
|
|
\end
|
|
|
|
\define libraryInfo()
|
|
\whitespace trim
|
|
<$set name="escUnselected" value={{{[{$:/language/Import/Upgrader/Tiddler/Unselected}escaperegexp[]addprefix[(?g)]]}}}>
|
|
<$list filter="[all[current]get<messageField>!regexp<escUnselected>]" variable="ignore">
|
|
<$text text={{{[all[current]get<messageField>]}}}/>
|
|
</$list>
|
|
</$set>
|
|
\end
|
|
|
|
\define selectionField() selection-$(payloadTiddler)$
|
|
|
|
\define renameField() rename-$(payloadTiddler)$
|
|
|
|
\define suppressedField() suppressed-$(payloadTiddler)$
|
|
|
|
\define previewPopupState() $(currentTiddler)$!!popup-$(payloadTiddler)$
|
|
|
|
\define renameFieldState() $(currentTiddler)$!!state-rename-$(payloadTiddler)$
|
|
|
|
\define select-all-actions()
|
|
\whitespace trim
|
|
<$list filter="[all[current]plugintiddlers[]sort[title]]" variable="payloadTiddler">
|
|
<$action-setfield $field={{{ [<payloadTiddler>addprefix[selection-]] }}} $value={{$:/state/import/select-all}}/>
|
|
</$list>
|
|
\end
|
|
|
|
\whitespace trim
|
|
<$let importJson={{{ [{$:/Import}] }}}>
|
|
<$let importTitles={{{ [<importJson>jsonindexes[tiddlers]] }}}>
|
|
<$let importTypes={{{ [(importTitles)] :map[<importJson>jsonget[tiddlers],<currentTiddler>,[type]] }}}>
|
|
<$let anyMatch={{{ [all[shadows+tiddlers]tag[$:/tags/ImportOptions]get[condition]] :map[(importTypes)subfilter<currentTiddler>] +[!is[blank]limit[1]] }}}>
|
|
<%if [<anyMatch>!is[blank]] %>
|
|
<div class="tc-import-option">
|
|
<$list filter="[all[shadows+tiddlers]tag[$:/tags/ImportOptions]]" variable="importOption">
|
|
<$let condition={{{ [<importOption>get[condition]] }}}>
|
|
<$let hasMatch={{{ [(importTypes)subfilter<condition>limit[1]] }}}>
|
|
<%if [<hasMatch>!is[blank]] %>
|
|
<$transclude tiddler=<<importOption>>/>
|
|
<%endif%>
|
|
</$let>
|
|
</$let>
|
|
</$list>
|
|
</div>
|
|
<%endif%>
|
|
</$let>
|
|
</$let>
|
|
</$let>
|
|
</$let>
|
|
<div class="tc-table-wrapper">
|
|
<table class="tc-import-table">
|
|
<tbody>
|
|
<tr>
|
|
<th align="left">
|
|
<$checkbox tiddler="$:/state/import/select-all" field="text" checked="checked" unchecked="unchecked" default="checked" actions=<<select-all-actions>>>
|
|
 
|
|
<<lingo Listing/Select/Caption>>
|
|
</$checkbox>
|
|
</th>
|
|
<th>
|
|
<<lingo Listing/Title/Caption>>
|
|
</th>
|
|
<th>
|
|
<<lingo Listing/Status/Caption>>
|
|
</th>
|
|
</tr>
|
|
<$list filter="[all[current]plugintiddlers[]sort[title]]" variable="payloadTiddler">
|
|
<tr class={{{[<currentTiddler>has<suppressedField>then[tc-row-disabled]] ~[subfilter<payloadTitleFilter>is[tiddler]then[tc-row-warning]] }}}>
|
|
<td>
|
|
<$checkbox field=<<selectionField>> checked="checked" unchecked="unchecked" default="checked" disabled={{{[<currentTiddler>has<suppressedField>then[yes]else[no]]}}}/>
|
|
</td>
|
|
<td>
|
|
<$reveal type="nomatch" state=<<renameFieldState>> text="yes" tag="div">
|
|
<$reveal type="nomatch" state=<<previewPopupState>> text="yes" tag="div" class="tc-flex">
|
|
<$button class="tc-btn-invisible tc-btn-dropdown tc-flex-grow-1 tc-word-break" set=<<previewPopupState>> setTo="yes" disabled={{{[<currentTiddler>has<suppressedField>then[yes]else[no]]}}}>
|
|
<span class="tc-small-gap-right">{{$:/core/images/right-arrow}}</span><$text text={{{[subfilter<payloadTitleFilter>]}}}/>
|
|
</$button>
|
|
<$list filter="[<currentTiddler>!has<suppressedField>]"><$button class="tc-btn-invisible" set=<<renameFieldState>> setTo="yes" tooltip={{{[<lingo-base>addsuffix[Listing/Rename/Tooltip]get[text]]}}}>{{$:/core/images/edit-button}}</$button></$list>
|
|
</$reveal>
|
|
<$reveal type="match" state=<<previewPopupState>> text="yes" tag="div">
|
|
<$button class="tc-btn-invisible tc-btn-dropdown" set=<<previewPopupState>> setTo="no">
|
|
<span class="tc-small-gap-right">{{$:/core/images/down-arrow}}</span><$text text={{{[subfilter<payloadTitleFilter>]}}}/>
|
|
</$button>
|
|
</$reveal>
|
|
</$reveal>
|
|
<$reveal type="match" state=<<renameFieldState>> text="yes" tag="div">
|
|
<$text text={{{[<lingo-base>addsuffix[Listing/Rename/Prompt]get[text]]}}}/>
|
|
</$reveal>
|
|
</td>
|
|
<td>
|
|
<<selectionInfo>>
|
|
 
|
|
<<libraryInfo>>
|
|
 
|
|
<<overWriteWarning>>
|
|
</td>
|
|
</tr>
|
|
<$reveal type="match" state=<<renameFieldState>> text="yes" tag="tr">
|
|
<td colspan="3">
|
|
<div class="tc-flex">
|
|
<$edit-text field=<<renameField>> default={{{[<payloadTiddler>]}}} tag="input" class="tc-import-rename tc-flex-grow-1"/>
|
|
</div>
|
|
</td>
|
|
</$reveal>
|
|
<$reveal type="match" text="yes" state=<<previewPopupState>> tag="tr">
|
|
<td colspan="3">
|
|
<$list filter="[{$:/state/importpreviewtype}has[text]]" variable="listItem" emptyMessage={{$:/core/ui/ImportPreviews/Text}}>
|
|
<div>
|
|
<$transclude tiddler={{$:/state/importpreviewtype}}/>
|
|
</div>
|
|
</$list>
|
|
</td>
|
|
</$reveal>
|
|
</$list>
|
|
</tbody>
|
|
</table>
|
|
</div>
|