497 lines
No EOL
16 KiB
HTML
497 lines
No EOL
16 KiB
HTML
<template id="tpl-dsopt-media">
|
|
<fieldset class="form-fieldset mb-0">
|
|
<div class="mb-4 row">
|
|
<label class="col-4 col-form-label">Owner</label>
|
|
<div class="col">
|
|
<select class="media-owner form-select" placeholder="Name or contact info">
|
|
</select>
|
|
<div class="small form-hint">
|
|
Select the person whose media data this is.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="mb-4 row">
|
|
<label class="col-4 fw-medium">Albums</label>
|
|
<div class="col">
|
|
<label class="form-check mb-1">
|
|
<input class="media-folder-is-album form-check-input" type="checkbox">
|
|
<span class="form-check-label">Each folder is an album</span>
|
|
</label>
|
|
<div class="small form-hint">
|
|
Treat folders as album names and organize media items accordingly
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="mb-4 row">
|
|
<label class="col-4 fw-medium">Timestamps</label>
|
|
<div class="col">
|
|
<label class="form-check mb-1">
|
|
<input class="media-use-file-path-time form-check-input" type="checkbox" checked>
|
|
<span class="form-check-label">Use date from filepath</span>
|
|
</label>
|
|
<div class="small form-hint">
|
|
Find dates in folder names or the filename if no embedded timestamp is found.
|
|
</div>
|
|
|
|
<label class="form-check mb-1 mt-3">
|
|
<input class="media-use-file-mod-time form-check-input" type="checkbox">
|
|
<span class="form-check-label">Use file mod time</span>
|
|
</label>
|
|
<div class="small form-hint">
|
|
Use file modification time if no better timestamp is found.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="mb-3 row">
|
|
<label class="col-4 col-form-label">Expected date range</label>
|
|
<div class="col">
|
|
<div class="row">
|
|
<div class="col-4">
|
|
<input type="text" class="media-start-year form-control mb-2" placeholder="Start year"
|
|
maxlength="4">
|
|
</div>
|
|
<div class="col-1 col-form-label">
|
|
—
|
|
</div>
|
|
<div class="col-4">
|
|
<input type="text" class="media-end-year form-control mb-2" placeholder="End year"
|
|
maxlength="4">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="small form-hint">
|
|
If choosing between multiple timestamps, prefer dates in this range.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</template>
|
|
|
|
|
|
<template id="tpl-modal-import-dsopt">
|
|
<div class="modal modal-lg modal-blur fade" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" role="dialog" aria-hidden="true">
|
|
<div class="modal-dialog modal-dialog-centered" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title">
|
|
<span class="avatar avatar-sm align-middle me-2"></span>
|
|
|
|
</h5>
|
|
</div>
|
|
<div class="modal-body">
|
|
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button class="btn btn-green" data-bs-dismiss="modal">
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
|
|
stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
|
|
class="icon icon-tabler icons-tabler-outline icon-tabler-device-floppy">
|
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
|
<path d="M6 4h10l4 4v10a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2" />
|
|
<path d="M12 14m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" />
|
|
<path d="M14 4l0 4l-6 0l0 -4" />
|
|
</svg>
|
|
Save for this import
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template id="tpl-dsopt-sms_backup_restore">
|
|
<div class="mb-3">
|
|
<div class="row">
|
|
<div class="col-auto">
|
|
<span class="avatar avatar-md"></span>
|
|
</div>
|
|
<div class="col">
|
|
<div class="mb-3">
|
|
<label class="form-label required">Owner phone number</label>
|
|
<input type="text" class="sms_backup_restore-owner-phone form-control" placeholder="+1-123-456-7890"
|
|
required>
|
|
<small class="form-hint">The phone number that originated this file. A phone number is required, so if this is empty, the timeline owner's phone number will be used (if it is already in the timeline).</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<template id="tpl-dsopt-facebook">
|
|
<div class="mb-3">
|
|
<div class="row">
|
|
<div class="col">
|
|
<div class="mb-3">
|
|
<label class="form-label required">Facebook account username</label>
|
|
<input type="text" class="facebook-owner-username form-control" placeholder="happy_person123"
|
|
required>
|
|
<small class="form-hint">The username of the Facebook account from which the data originated. A username is required, so if this is empty, the timeline owner's Facebook username will be used (if it is already in the timeline).</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<template id="tpl-dsopt-google_location">
|
|
<fieldset class="form-fieldset mb-0">
|
|
<div class="mb-3 row">
|
|
<label class="col-4 col-form-label required">Person</label>
|
|
<div class="col">
|
|
<select class="google_location-owner form-select" placeholder="Name or contact info">
|
|
</select>
|
|
<div class="small form-hint">
|
|
Select the person whose location data this is.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="mb-3 row">
|
|
<label class="col-4 col-form-label">Simplification</label>
|
|
<div class="col">
|
|
<div class="google_location-simplification form-range mb-2 mt-2"></div>
|
|
<div class="small form-hint">
|
|
Reduce the size of the data set by dropping unimportant points
|
|
(after denoising and clustering).
|
|
Lower values keeps more data by dropping only those on straight paths,
|
|
whereas higher values drops more points.
|
|
A value of 0 means that no points will be discarded, resulting in a
|
|
large data set.
|
|
A value of 10 means that almost every point except those at the
|
|
ends of paths will be discarded.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="mb-3 row">
|
|
<label class="col-4 col-form-label">Clustering strength</label>
|
|
<div class="col">
|
|
<input type="text" class="google_location-clustering-coeff form-control" placeholder="1.0">
|
|
<div class="small form-hint">
|
|
How aggressive point clustering should be. 0 disables clustering.
|
|
A higher value means more aggressive clustering.
|
|
Must be non-negative.
|
|
1.0 is the default.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</template>
|
|
|
|
<template id="tpl-dsopt-gpx">
|
|
<fieldset class="form-fieldset mb-0">
|
|
<div class="mb-3 row">
|
|
<label class="col-4 col-form-label required">Person</label>
|
|
<div class="col">
|
|
<select class="gpx-owner form-select" placeholder="Name or contact info">
|
|
</select>
|
|
<div class="small form-hint">
|
|
Select the person whose location data this is.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="mb-3 row">
|
|
<label class="col-3 col-form-label">Simplification</label>
|
|
<div class="col">
|
|
<div class="gpx-simplification form-range mb-2 mt-2"></div>
|
|
<div class="small form-hint">
|
|
Reduce the size of the data set by dropping unimportant points
|
|
(after denoising and clustering).
|
|
Lower values keeps more data by dropping only those on straight paths,
|
|
whereas higher values drops more points.
|
|
A value of 0 means that no points will be discarded, resulting in a
|
|
large data set.
|
|
A value of 10 means that almost every point except those at the
|
|
ends of paths will be discarded.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</template>
|
|
|
|
<template id="tpl-dsopt-geojson">
|
|
<fieldset class="form-fieldset mb-0">
|
|
<div class="mb-3 row">
|
|
<label class="col-3 col-form-label required">Person</label>
|
|
<div class="col">
|
|
<select class="geojson-owner form-select" placeholder="Name or contact info">
|
|
</select>
|
|
<div class="small form-hint">
|
|
Select the person whose location data this is.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="mb-3 row">
|
|
<label class="col-3 col-form-label">Options</label>
|
|
<div class="col">
|
|
<label class="form-check mb-1">
|
|
<input class="geojson-lenient form-check-input" type="checkbox">
|
|
<span class="form-check-label">Lenient mode</span>
|
|
</label>
|
|
<div class="small form-hint">
|
|
Useful, if the source data is non-spec-compliant.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="mb-3 row">
|
|
<label class="col-3 col-form-label">Simplification</label>
|
|
<div class="col">
|
|
<div class="geojson-simplification form-range mb-2 mt-2"></div>
|
|
<div class="small form-hint">
|
|
Reduce the size of the data set by dropping unimportant points
|
|
(after denoising and clustering).
|
|
Lower values keeps more data by dropping only those on straight paths,
|
|
whereas higher values drops more points.
|
|
A value of 0 means that no points will be discarded, resulting in a
|
|
large data set.
|
|
A value of 10 means that almost every point except those at the
|
|
ends of paths will be discarded.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</template>
|
|
|
|
|
|
<template id="tpl-dsopt-nmea0183">
|
|
<fieldset class="form-fieldset mb-0">
|
|
<div class="mb-3 row">
|
|
<label class="col-4 col-form-label required">Person</label>
|
|
<div class="col">
|
|
<select class="nmea0183-owner form-select" placeholder="Name or contact info">
|
|
</select>
|
|
<div class="small form-hint">
|
|
Select the person whose location data this is.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="mb-3 row">
|
|
<label class="col-3 col-form-label">Simplification</label>
|
|
<div class="col">
|
|
<div class="nmea0183-simplification form-range mb-2 mt-2"></div>
|
|
<div class="small form-hint">
|
|
Reduce the size of the data set by dropping unimportant points
|
|
(after denoising and clustering).
|
|
Lower values keeps more data by dropping only those on straight paths,
|
|
whereas higher values drops more points.
|
|
A value of 0 means that no points will be discarded, resulting in a
|
|
large data set.
|
|
A value of 10 means that almost every point except those at the
|
|
ends of paths will be discarded.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</template>
|
|
|
|
<template id="tpl-dsopt-icloud">
|
|
<fieldset class="form-fieldset mb-0">
|
|
<div class="mb-4 row">
|
|
<label class="col-4 col-form-label">Owner</label>
|
|
<div class="col">
|
|
<select class="icloud-owner form-select" placeholder="Name or contact info">
|
|
</select>
|
|
<div class="small form-hint">
|
|
Select the person whose iCloud data this is.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="mb-4 row">
|
|
<label class="col-4 fw-medium">Recently deleted</label>
|
|
<div class="col">
|
|
<label class="form-check mb-1">
|
|
<input class="icloud-recently-deleted form-check-input" type="checkbox">
|
|
<span class="form-check-label">Import recently deleted items</span>
|
|
</label>
|
|
<div class="small form-hint">
|
|
By default, deleted content is not imported. If checked, recently deleted photos and videos will
|
|
also be included in the import.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</fieldset>
|
|
</template>
|
|
|
|
<template id="tpl-dsopt-apple_photos">
|
|
<fieldset class="form-fieldset mb-0">
|
|
<div class="mb-4 row">
|
|
<label class="col-4 col-form-label">Owner</label>
|
|
<div class="col">
|
|
<select class="apple_photos-owner form-select" placeholder="Name or contact info">
|
|
</select>
|
|
<div class="small form-hint">
|
|
Select the person whose Apple Photos library this belongs to.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="mb-4 row">
|
|
<label class="col-4 fw-medium">Import trashed items</label>
|
|
<div class="col">
|
|
<label class="form-check mb-1">
|
|
<input class="apple_photos-trashed form-check-input" type="checkbox">
|
|
<span class="form-check-label">Include photos and videos that are in the trash</span>
|
|
</label>
|
|
<div class="small form-hint">
|
|
By default, deleted content is not imported. If checked, recently deleted photos and videos will
|
|
also be included in the import.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</fieldset>
|
|
</template>
|
|
|
|
<template id="tpl-dsopt-email">
|
|
<fieldset class="form-fieldset mb-0">
|
|
<div class="mb-3 row">
|
|
<label class="col-4 col-form-label">Labels to skip</label>
|
|
<div class="col">
|
|
<input class="email-skip-labels" value="Spam,Trash,Chat" autocomplete="off" placeholder="Type label">
|
|
<div class="small form-hint mt-2">
|
|
Gmail labels to skip
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</fieldset>
|
|
</template>
|
|
|
|
<template id="tpl-dsopt-generic">
|
|
<div class="mb-3">
|
|
<label class="form-label">Person</label>
|
|
<select class="generic-owner form-select" placeholder="Name or contact info">
|
|
</select>
|
|
<small class="form-hint">Select the person to whom this data belongs (recommended).</small>
|
|
</div>
|
|
</template>
|
|
|
|
|
|
<template id="tpl-dsopt-calendar">
|
|
<div class="mb-3">
|
|
<label class="form-label">Person</label>
|
|
<select class="calendar-owner form-select" placeholder="Name or contact info">
|
|
</select>
|
|
<small class="form-hint">Select the owner of the calendar(s).</small>
|
|
</div>
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="modal modal-blur fade" id="modal-disconnected" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" role="dialog" aria-hidden="true">
|
|
<div class="modal-dialog modal-sm modal-dialog-centered" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-status bg-danger"></div>
|
|
<div class="modal-body py-4">
|
|
<div class="text-center">
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
|
|
stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
|
|
class="icon mb-2 text-danger icon-lg">
|
|
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
|
<path d="M12 9v4" />
|
|
<path
|
|
d="M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0z" />
|
|
<path d="M12 16h.01" />
|
|
</svg>
|
|
<h3 class="text-danger">Reconnecting...</h3>
|
|
</div>
|
|
<p class="mb-0">
|
|
The connection with the server has been lost. Ensure the application is running (at the same address in the URL bar).
|
|
</p>
|
|
</div>
|
|
<div class="modal-footer text-secondary justify-content-center text-center">
|
|
<p>
|
|
This message will disappear when the server is working again.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div id="modal-merge-entity" class="modal modal-blur fade" tabindex="-1" role="dialog" aria-hidden="true">
|
|
<div class="modal-dialog modal-dialog-centered" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title">Merge entities</h5>
|
|
<button class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body">
|
|
|
|
<div class="row">
|
|
<label class="col-2 col-form-label required">Merge:</label>
|
|
<div class="col">
|
|
<select type="text" class="entity-merge form-select">
|
|
</select>
|
|
<!-- <small class="form-hint">This entity, along with its attributes, will be joined into the other one, effectively deleting this one.</small> -->
|
|
</div>
|
|
</div>
|
|
<div class="row my-2">
|
|
<div class="col-2"></div>
|
|
<div class="col">
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-arrow-down-square"
|
|
width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"
|
|
fill="none" stroke-linecap="round" stroke-linejoin="round">
|
|
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
|
|
<path d="M12 7v14"></path>
|
|
<path d="M9 18l3 3l3 -3"></path>
|
|
<path d="M14 3v4h-4v-4z"></path>
|
|
</svg>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-2 col-form-label required">Into:</label>
|
|
<div class="col">
|
|
<select type="text" class="entity-keep form-select">
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="modal-footer">
|
|
<a class="btn btn-link link-secondary" data-bs-dismiss="modal">
|
|
Cancel
|
|
</a>
|
|
<a id="do-entity-merge" class="btn btn-primary disabled ms-auto" data-bs-dismiss="modal">
|
|
Merge
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div> |