Initial
This commit is contained in:
52
resources/app/templates/journal/dialog-show.html
Normal file
52
resources/app/templates/journal/dialog-show.html
Normal file
@@ -0,0 +1,52 @@
|
||||
<form class="journal-show-dialog">
|
||||
<div class="form-group-stacked">
|
||||
<div class="checkbox-label">
|
||||
<span>{{localize "JOURNAL.ShowTo"}}</span>
|
||||
<label class="checkbox">
|
||||
{{localize "OWNERSHIP.AllPlayers"}}
|
||||
<input type="checkbox" name="allPlayers" checked>
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-fields">
|
||||
{{#each users}}
|
||||
<label class="checkbox">
|
||||
{{name}}
|
||||
<input type="checkbox" name="players" value="{{id}}" checked disabled>
|
||||
</label>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{#if isImage}}
|
||||
<div class="form-group">
|
||||
<label>{{localize "JOURNALENTRYPAGE.ShowImageOnly"}}</label>
|
||||
<div class="form-fields">
|
||||
<input type="checkbox" name="imageOnly" checked>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>{{localize "JOURNALENTRYPAGE.ShowImageTitle"}}</label>
|
||||
<div class="form-fields">
|
||||
<input type="checkbox" name="showImageTitle">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>{{localize "JOURNALENTRYPAGE.ShowImageCaption"}}</label>
|
||||
<div class="form-fields">
|
||||
<input type="checkbox" name="showImageCaption">
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<hr>
|
||||
<p class="notes">{{localize "JOURNAL.ShowOwnershipHint"}}</p>
|
||||
|
||||
<div class="form-group">
|
||||
<label>{{localize "OWNERSHIP.Configure"}}</label>
|
||||
<div class="form-fields">
|
||||
<select name="ownership" data-dtype="Number">
|
||||
{{selectOptions levels valueAttr="level" labelAttr="label" localize=true}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
25
resources/app/templates/journal/insert-image.html
Normal file
25
resources/app/templates/journal/insert-image.html
Normal file
@@ -0,0 +1,25 @@
|
||||
<form>
|
||||
<div class="form-group">
|
||||
<label>{{localize "EDITOR.ImageSource"}}</label>
|
||||
<div class="form-fields">
|
||||
<file-picker name="src" type="image" value="{{src}}"></file-picker>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>{{localize "EDITOR.ImageAlt"}}</label>
|
||||
<div class="form-fields">
|
||||
<input type="text" name="alt" value="{{ alt }}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>{{localize "EDITOR.ImageDimensions"}}</label>
|
||||
<div class="form-fields">
|
||||
<label>{{localize "Width"}}</label>
|
||||
{{numberInput width name="width" min="0" step="1"}}
|
||||
<label>{{localize "Height"}}</label>
|
||||
{{numberInput height name="height" min="0" step="1"}}
|
||||
</div>
|
||||
<p class="hint">{{localize "EDITOR.ImageDimensionsHint"}}</p>
|
||||
</div>
|
||||
<button type="button" name="save">{{localize "EDITOR.ImageInsert"}}</button>
|
||||
</form>
|
||||
21
resources/app/templates/journal/insert-link.html
Normal file
21
resources/app/templates/journal/insert-link.html
Normal file
@@ -0,0 +1,21 @@
|
||||
<form>
|
||||
<div class="form-group">
|
||||
<label>{{localize "EDITOR.LinkURL"}}</label>
|
||||
<div class="form-fields">
|
||||
<input type="text" name="href" value="{{href}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>{{localize "EDITOR.LinkText"}}</label>
|
||||
<div class="form-fields">
|
||||
<input type="text" name="text" value="{{text}}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>{{localize "EDITOR.LinkTitle"}}</label>
|
||||
<div class="form-fields">
|
||||
<input type="text" name="title" value="{{title}}">
|
||||
</div>
|
||||
</div>
|
||||
<button type="button" name="save">{{localize "EDITOR.LinkInsert"}}</button>
|
||||
</form>
|
||||
12
resources/app/templates/journal/insert-table.html
Normal file
12
resources/app/templates/journal/insert-table.html
Normal file
@@ -0,0 +1,12 @@
|
||||
<form>
|
||||
<div class="form-group slim">
|
||||
<label>{{ localize "EDITOR.TableDimensions" }}</label>
|
||||
<div class="form-fields">
|
||||
<label>{{ localize "EDITOR.TableColumns" }}</label>
|
||||
{{ numberInput 1 name="cols" min=1 step=1 placeholder=1 }}
|
||||
<label>{{ localize "EDITOR.TableRows" }}</label>
|
||||
{{ numberInput 1 name="rows" min=1 step=1 placeholder=1 }}
|
||||
</div>
|
||||
</div>
|
||||
<button type="button" name="save">{{ localize "EDITOR.TableInsert" }}</button>
|
||||
</form>
|
||||
7
resources/app/templates/journal/journal-page-toc.html
Normal file
7
resources/app/templates/journal/journal-page-toc.html
Normal file
@@ -0,0 +1,7 @@
|
||||
<ol class="headings">
|
||||
{{#each headings}}
|
||||
<li class="heading h{{level}}" data-anchor="{{slug}}">
|
||||
<a class="heading-link">{{text}}</a>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ol>
|
||||
24
resources/app/templates/journal/page-image-edit.html
Normal file
24
resources/app/templates/journal/page-image-edit.html
Normal file
@@ -0,0 +1,24 @@
|
||||
<form class="{{cssClass}} flexcol" autocomplete="off">
|
||||
{{> journalEntryPageHeader}}
|
||||
|
||||
<figure class="image-preview">
|
||||
<img src="{{document.src}}" title="{{title}}" alt="{{title}}"/>
|
||||
<figcaption>{{document.image.caption}}</figcaption>
|
||||
</figure>
|
||||
|
||||
<div class="form-group picker">
|
||||
<label>{{localize "JOURNALENTRYPAGE.ImageSource"}}</label>
|
||||
<div class="form-fields">
|
||||
<file-picker name="src" type="image" value="{{document.src}}"></file-picker>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>{{localize "JOURNALENTRYPAGE.ImageCaption"}}</label>
|
||||
<div class="form-fields">
|
||||
<input type="text" name="image.caption" value="{{document.image.caption}}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{> journalEntryPageFooter}}
|
||||
</form>
|
||||
9
resources/app/templates/journal/page-image-view.html
Normal file
9
resources/app/templates/journal/page-image-view.html
Normal file
@@ -0,0 +1,9 @@
|
||||
{{#if data.title.show}}
|
||||
<header class="journal-page-header">
|
||||
<h{{data.title.level}}>{{data.name}}</h{{data.title.level}}>
|
||||
</header>
|
||||
{{/if}}
|
||||
<figure>
|
||||
<img src="{{data.src}}" alt="{{data.name}}">
|
||||
{{#if data.image.caption}}<figcaption>{{data.image.caption}}</figcaption>{{/if}}
|
||||
</figure>
|
||||
8
resources/app/templates/journal/page-markdown-edit.html
Normal file
8
resources/app/templates/journal/page-markdown-edit.html
Normal file
@@ -0,0 +1,8 @@
|
||||
<form class="{{cssClass}} flexcol" autocomplete="off">
|
||||
{{> journalEntryPageHeader}}
|
||||
<input type="hidden" name="text.format" value="{{markdownFormat}}" data-dtype="Number">
|
||||
<textarea class="markdown-editor" name="text.markdown" autofocus>
|
||||
{{~data.text.markdown~}}
|
||||
</textarea>
|
||||
{{> journalEntryPageFooter}}
|
||||
</form>
|
||||
16
resources/app/templates/journal/page-pdf-edit.html
Normal file
16
resources/app/templates/journal/page-pdf-edit.html
Normal file
@@ -0,0 +1,16 @@
|
||||
<form class="{{cssClass}} flexcol" autocomplete="off">
|
||||
{{> journalEntryPageHeader}}
|
||||
|
||||
{{#if document.src}}
|
||||
<iframe src="scripts/pdfjs/web/viewer.html?{{params}}"></iframe>
|
||||
{{/if}}
|
||||
|
||||
<div class="form-group picker">
|
||||
<label>{{localize "JOURNALENTRYPAGE.PDFSource"}}</label>
|
||||
<div class="form-fields">
|
||||
<file-picker name="src" type="text" value="{{document.src}}"></file-picker>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{> journalEntryPageFooter}}
|
||||
</form>
|
||||
10
resources/app/templates/journal/page-pdf-view.html
Normal file
10
resources/app/templates/journal/page-pdf-view.html
Normal file
@@ -0,0 +1,10 @@
|
||||
{{#if data.title.show}}
|
||||
<header class="journal-page-header">
|
||||
<h{{data.title.level}}>{{data.name}}</h{{data.title.level}}>
|
||||
</header>
|
||||
{{/if}}
|
||||
{{#if data.src}}
|
||||
<div class="load-pdf">
|
||||
<button type="button">{{localize "JOURNALENTRYPAGE.PDFLoad"}}</button>
|
||||
</div>
|
||||
{{/if}}
|
||||
5
resources/app/templates/journal/page-text-edit.html
Normal file
5
resources/app/templates/journal/page-text-edit.html
Normal file
@@ -0,0 +1,5 @@
|
||||
<form class="{{cssClass}} flexcol" autocomplete="off">
|
||||
{{> journalEntryPageHeader}}
|
||||
{{editor editor.content target="text.content" class="journal-page-content" button=false editable=true
|
||||
engine=editor.engine collaborate=editor.collaborate}}
|
||||
</form>
|
||||
8
resources/app/templates/journal/page-text-view.html
Normal file
8
resources/app/templates/journal/page-text-view.html
Normal file
@@ -0,0 +1,8 @@
|
||||
{{#if data.title.show}}
|
||||
<header class="journal-page-header">
|
||||
<h{{data.title.level}}>{{data.name}}</h{{data.title.level}}>
|
||||
</header>
|
||||
{{/if}}
|
||||
<section class="journal-page-content">
|
||||
{{{editor.content}}}
|
||||
</section>
|
||||
78
resources/app/templates/journal/page-video-edit.html
Normal file
78
resources/app/templates/journal/page-video-edit.html
Normal file
@@ -0,0 +1,78 @@
|
||||
<form class="{{cssClass}} flexcol" autocomplete="off">
|
||||
{{> journalEntryPageHeader}}
|
||||
|
||||
{{#if document.src}}
|
||||
<figure class="{{#if flexRatio}}flex-ratio{{/if}}">
|
||||
{{#if isYouTube}}
|
||||
<iframe id="{{yt.id}}" src="{{yt.url}}" frameborder="0"
|
||||
{{#if document.video.width}}width="{{document.video.width}}"{{/if}}
|
||||
{{#if document.video.height}}height="{{document.video.height}}"{{/if}}>
|
||||
</iframe>
|
||||
{{else}}
|
||||
<video src="{{document.src}}" controls
|
||||
{{#if document.video.width}}width="{{document.video.width}}" {{/if}}
|
||||
{{#if document.video.height}}height="{{document.video.height}}"{{/if}}>
|
||||
</video>
|
||||
{{/if}}
|
||||
</figure>
|
||||
{{/if}}
|
||||
|
||||
<div class="form-group picker">
|
||||
<label>{{localize "JOURNALENTRYPAGE.VideoSource"}}</label>
|
||||
<div class="form-fields">
|
||||
<file-picker name="src" type="video" value="{{document.src}}"></file-picker>
|
||||
</div>
|
||||
<p class="hint">{{localize "JOURNALENTRYPAGE.VideoSourceHint"}}</p>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>{{localize "JOURNALENTRYPAGE.VideoControls"}}</label>
|
||||
<div class="form-fields">
|
||||
<input type="checkbox" name="video.controls" {{checked document.video.controls}}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>{{localize "TILE.VideoAutoplay"}}</label>
|
||||
<div class="form-fields">
|
||||
<input type="checkbox" name="video.autoplay" {{checked document.video.autoplay}}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>{{localize "TILE.VideoLoop"}}</label>
|
||||
<div class="form-fields">
|
||||
<input type="checkbox" name="video.loop" {{checked document.video.loop}}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>{{localize "TILE.VideoVolume"}}</label>
|
||||
<div class="form-fields">
|
||||
{{rangePicker name="video.volume" min=0 max=1 step=0.1 value=document.video.volume}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group video-time">
|
||||
<label>{{localize "JOURNALENTRYPAGE.VideoStartTime"}}</label>
|
||||
<div class="form-fields">
|
||||
{{numberInput timestamp.h name="timestamp.h" min=0 step=1 placeholder=(localize "TIME.Hours")}}
|
||||
<span class="sep">:</span>
|
||||
{{numberInput timestamp.m name="timestamp.m" min=0 max=59 step=1 placeholder=(localize "TIME.Minutes")}}
|
||||
<span class="sep">:</span>
|
||||
{{numberInput timestamp.s name="timestamp.s" min=0 max=59 step=1 placeholder=(localize "TIME.Seconds")}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>{{localize "JOURNALENTRYPAGE.VideoDimensions"}}</label>
|
||||
<div class="form-fields">
|
||||
<label>{{localize "Width"}}</label>
|
||||
{{numberInput document.video.width name="video.width" min=0 step=1}}
|
||||
<label>{{localize "Height"}}</label>
|
||||
{{numberInput document.video.height name="video.height" min=0 step=1}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{> journalEntryPageFooter}}
|
||||
</form>
|
||||
23
resources/app/templates/journal/page-video-view.html
Normal file
23
resources/app/templates/journal/page-video-view.html
Normal file
@@ -0,0 +1,23 @@
|
||||
{{#if data.title.show}}
|
||||
<header class="journal-page-header">
|
||||
<h{{data.title.level}}>{{data.name}}</h{{data.title.level}}>
|
||||
</header>
|
||||
{{/if}}
|
||||
|
||||
{{#if document.src}}
|
||||
<figure class="{{#if flexRatio}}flex-ratio{{/if}}">
|
||||
{{#if isYouTube}}
|
||||
<iframe id="{{yt.id}}" src="{{yt.url}}" frameborder="0" allowfullscreen
|
||||
{{#if document.video.autoplay}}allow="autoplay" {{/if}}
|
||||
{{#if document.video.width}}width="{{document.video.width}}" {{/if}}
|
||||
{{#if document.video.height}}height="{{document.video.height}}"{{/if}}></iframe>
|
||||
{{else}}
|
||||
<video src="{{document.src}}"
|
||||
{{#if document.video.controls}}controls{{/if}}
|
||||
{{#if document.video.autoplay}}autoplay{{/if}}
|
||||
{{#if document.video.loop}}loop{{/if}}
|
||||
{{#if document.video.width}}width="{{document.video.width}}" {{/if}}
|
||||
{{#if document.video.height}}height="{{document.video.height}}"{{/if}}></video>
|
||||
{{/if}}
|
||||
</figure>
|
||||
{{/if}}
|
||||
5
resources/app/templates/journal/parts/page-footer.html
Normal file
5
resources/app/templates/journal/parts/page-footer.html
Normal file
@@ -0,0 +1,5 @@
|
||||
<footer class="sheet-footer journal-footer flexrow">
|
||||
<button type="submit">
|
||||
<i class="fas fa-feather-alt"></i> {{localize "JOURNAL.Submit"}}
|
||||
</button>
|
||||
</footer>
|
||||
22
resources/app/templates/journal/parts/page-header.html
Normal file
22
resources/app/templates/journal/parts/page-header.html
Normal file
@@ -0,0 +1,22 @@
|
||||
<header class="journal-header">
|
||||
<input class="title" name="name" type="text" value="{{data.name}}" placeholder="{{localize 'JOURNALENTRYPAGE.PageTitle'}}"/>
|
||||
|
||||
<aside class="page-level flexcol">
|
||||
<div class="heading-level flexrow">
|
||||
<label class="flex0" data-tooltip="{{localize 'JOURNALENTRYPAGE.HeadingLevel'}}">
|
||||
<i class="fa-solid fa-list-tree"></i>
|
||||
</label>
|
||||
<select name="title.level">
|
||||
{{selectOptions headingLevels selected=data.title.level}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="show-title">
|
||||
<label class="checkbox">
|
||||
{{localize "JOURNALENTRYPAGE.ShowTitle"}}
|
||||
<input type="checkbox" name="title.show" {{checked data.title.show}}>
|
||||
</label>
|
||||
</div>
|
||||
</aside>
|
||||
</header>
|
||||
|
||||
|
||||
72
resources/app/templates/journal/sheet.html
Normal file
72
resources/app/templates/journal/sheet.html
Normal file
@@ -0,0 +1,72 @@
|
||||
<div class="journal-sheet-container">
|
||||
|
||||
{{! Sidebar Container }}
|
||||
<aside class="sidebar directory flexcol journal-sidebar {{sidebarClass}}">
|
||||
|
||||
{{! Sidebar Search }}
|
||||
<header class="directory-header">
|
||||
<div class="header-search flexrow">
|
||||
<a class="action-button view-mode" data-action="toggleView"
|
||||
data-tooltip="{{localize viewMode.label}}"><i class="{{viewMode.icon}}"></i></a>
|
||||
<a class="action-button toggle-search-mode" data-action="toggleSearch" data-tooltip="{{localize searchTooltip}}"><i class="fas {{searchIcon}}"></i></a>
|
||||
<input type="search" name="search" value="" autocomplete="off"
|
||||
placeholder="{{localize "SIDEBAR.Search" types=(localize "DOCUMENT.JournalEntryPages")}}">
|
||||
<a class="action-button collapse-toggle" data-action="toggleCollapse"
|
||||
data-tooltip="{{localize collapseMode.label}}"><i class="{{collapseMode.icon}}"></i></a>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{{! Sidebar Pages Navigation }}
|
||||
<nav class="pages-list" aria-label="{{localize 'JOURNAL.NavLabel'}}" data-tooltip-direction="RIGHT">
|
||||
<ol class="directory-list scrollable">
|
||||
{{#each toc as |page|}}
|
||||
<li class="directory-item {{page.tocClass}}" data-page-id="{{page._id}}">
|
||||
<div class="page-heading">
|
||||
<span class="page-number" data-tooltip="{{page.name}}">{{page.number}}.</span>
|
||||
<span class="page-title">{{page.name}}</span>
|
||||
{{#if page.icon}}
|
||||
<span class="page-ownership {{page.ownershipCls}}"><i class="{{page.icon}}"></i></span>
|
||||
{{/if}}
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
{{! Sidebar Control Buttons }}
|
||||
<div class="action-buttons flexrow">
|
||||
<button class="previous" type="button" data-action="previous" data-tooltip="{{localize 'JOURNAL.PrevPage'}}">
|
||||
<i class="fa-solid fa-chevron-left"></i>
|
||||
</button>
|
||||
{{#if editable}}
|
||||
<button class="create" type="button" data-action="createPage">
|
||||
<i class="fa-solid fa-file-circle-plus"></i> {{localize "JOURNAL.AddPage"}}
|
||||
</button>
|
||||
{{/if}}
|
||||
<button class="next" type="button" data-action="next" data-tooltip="{{localize 'JOURNAL.NextPage'}}">
|
||||
<i class="fa-solid fa-chevron-right"></i>
|
||||
</button>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
{{! Main Content }}
|
||||
<section class="journal-entry-content flexcol">
|
||||
<form class="journal-header">
|
||||
<input class="title" name="name" type="text" value="{{document.name}}" placeholder="{{localize "JOURNAL.EntryTitle"}}"/>
|
||||
</form>
|
||||
|
||||
<div class="journal-entry-pages {{cssClass}} {{viewMode.cls}}">
|
||||
<div class="scrollable">
|
||||
{{#each pages as |page|}}
|
||||
<article class="journal-entry-page {{page.viewClass}}" data-page-id="{{page._id}}">
|
||||
{{#if page.editable}}
|
||||
<div class="edit-container">
|
||||
<a class="editor-edit"><i class="fas fa-edit"></i></a>
|
||||
</div>
|
||||
{{/if}}
|
||||
</article>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
Reference in New Issue
Block a user