mirror of https://github.com/logos-co/open-law.git
Merge pull request #25 from Simple2B/kostia/feature/interpretations
Kostia/feature/interpretations
This commit is contained in:
commit
a1982d0127
File diff suppressed because one or more lines are too long
|
@ -1,9 +1,9 @@
|
|||
<!-- prettier-ignore -->
|
||||
<nav class="flex mt-5 mb-3" aria-label="Breadcrumb">
|
||||
<ol class="inline-flex items-center space-x-1 md:space-x-3 ml-5 overflow-x-scroll">
|
||||
<ol class="inline-flex items-center space-x-1 md:space-x-3 ml-5 overflow-x-scroll md:overflow-auto p-0">
|
||||
{% for breadcrumb in breadcrumbs %}
|
||||
<li class="inline-flex items-center">
|
||||
<a href="{{ breadcrumb.url }}" class="inline-flex items-center text-sm font-medium text-gray-700 hover:text-blue-600 dark:text-gray-400 dark:hover:text-white">
|
||||
<a href="{{ breadcrumb.url }}" class="inline-flex items-center text-sm truncate max-w-xs font-medium text-gray-700 hover:text-blue-600 dark:text-gray-400 dark:hover:text-white">
|
||||
<!-- prettier-ignore -->
|
||||
<!--svg for all types of breadcrumb-->
|
||||
{% if breadcrumb.type == "MyBookList" or breadcrumb.type == "AuthorBookList" %}
|
||||
|
|
|
@ -24,9 +24,9 @@
|
|||
<ul class="flex flex-wrap -mb-px text-sm font-medium text-center" id="myTab" data-tabs-toggle="#myTabContent" role="tablist">
|
||||
<li class="mr-2" role="presentation">
|
||||
<!-- prettier-ignore -->
|
||||
<button class="flex items-center space-x-2 p-4 border-b-2 border-transparent rounded-t-lg hover:text-gray-600 hover:border-gray-300 dark:hover:text-gray-300" id="about-tab" data-tabs-target="#section-about" type="button" role="tab" aria-controls="about" aria-selected="false">
|
||||
<button class="flex items-center space-x-2 p-4 border-b-2 border-transparent rounded-t-lg hover:text-gray-600 hover:border-gray-300 dark:hover:text-gray-300" id="text-tab" data-tabs-target="#section-text" type="button" role="tab" aria-controls="text" aria-selected="false">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6"> <path stroke-linecap="round" stroke-linejoin="round" d="M8.625 12a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0H8.25m4.125 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0H12m4.125 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm0 0h-.375M21 12c0 4.556-4.03 8.25-9 8.25a9.764 9.764 0 01-2.555-.337A5.972 5.972 0 015.41 20.97a5.969 5.969 0 01-.474-.065 4.48 4.48 0 00.978-2.025c.09-.457-.133-.901-.467-1.226C3.93 16.178 3 14.189 3 12c0-4.556 4.03-8.25 9-8.25s9 3.694 9 8.25z" /> </svg>
|
||||
<span>About</span>
|
||||
<span>Text</span>
|
||||
</button>
|
||||
</li>
|
||||
<li class="mr-2" role="presentation">
|
||||
|
@ -38,13 +38,13 @@
|
|||
</ul>
|
||||
</div>
|
||||
<div id="myTabContent">
|
||||
<div class="hidden p-4 rounded-lg bg-gray-50 dark:bg-gray-800" id="section-about" role="tabpanel" aria-labelledby="about-tab">
|
||||
<div class="hidden p-4 rounded-lg bg-gray-50 dark:bg-gray-800" id="section-text" role="tabpanel" aria-labelledby="text-tab">
|
||||
<dl class="bg-white dark:bg-gray-900 max-w-full p-3 text-gray-900 divide-y divide-gray-200 dark:text-white dark:divide-gray-700 m-3 border-2 border-gray-200 border-solid rounded-lg dark:border-gray-700">
|
||||
<div class="flex flex-col w-full">
|
||||
<!-- prettier-ignore -->
|
||||
<dt class="flex w-full mb-1 text-gray-500 md:text-lg dark:text-gray-400 flex-col">
|
||||
<div class="ql-snow">
|
||||
<div class="ql-editor">
|
||||
<div class="ql-interpretation-editor">
|
||||
{{ section.about|safe }}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -55,6 +55,38 @@
|
|||
|
||||
<div class="hidden p-4 rounded-lg bg-gray-50 dark:bg-gray-800" id="interpretation" role="tabpanel" aria-labelledby="interpretation-tab">
|
||||
<!-- prettier-ignore -->
|
||||
<form
|
||||
{% if sub_collection %}
|
||||
action="{{ url_for('book.interpretation_create', book_id=book.id, collection_id=collection.id, sub_collection_id=sub_collection.id,section_id=section.id) }}"
|
||||
{% else %}
|
||||
action="{{ url_for('book.interpretation_create', book_id=book.id, collection_id=collection.id,section_id=section.id) }}"
|
||||
{% endif %}
|
||||
method="post" class="relative bg-white rounded-lg shadow dark:bg-gray-700">
|
||||
{{ form_hidden_tag() }}
|
||||
<input type="hidden" name="section_id" id="section_id" value="{{section.id}}" />
|
||||
<input type="hidden" name="label" id="label" value="{{section.label}}" />
|
||||
|
||||
<input type="hidden" name="interpretation-text" id="interpretation-text" />
|
||||
<!-- Form body -->
|
||||
<div class="p-6 space-y-6">
|
||||
<div class="grid gap-6">
|
||||
<div class="col-span-6 sm:col-span-3">
|
||||
<h3 class="text-xl font-semibold text-gray-900 dark:text-white">{{ section.label }}</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="p-6 pt-0 space-y-6">
|
||||
<div class="w-full max-w-6xl mx-auto rounded-xl bg-gray-50 dark:bg-gray-600 shadow-lg text-white-900">
|
||||
<div class="overflow-hidden rounded-md bg-gray-50 [&>*]:dark:bg-gray-600 text-black [&>*]:!border-none [&>*]:!stroke-black dark:text-white dark:[&>*]:!stroke-white">
|
||||
<div id="interpretation-editor" class="dark:text-white h-20"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal footer -->
|
||||
<div class="flex items-center p-6 space-x-2 border-t border-gray-200 rounded-b dark:border-gray-600">
|
||||
<button name="submit" type="submit" class="text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800 ml-auto">Submit</button>
|
||||
</div>
|
||||
</form>
|
||||
<dl class="w-md md:w-full text-gray-900 divide-y divide-gray-200 dark:text-white dark:divide-gray-700">
|
||||
<!-- prettier-ignore -->
|
||||
{% for interpretation in section.interpretations %}
|
||||
|
@ -63,6 +95,7 @@
|
|||
{% else %}
|
||||
<a href="{{url_for('book.interpretation_view', book_id=book.id, collection_id=collection.id, section_id=section.id)}}" >
|
||||
{% endif %}
|
||||
<h1>Other</h1>
|
||||
<dl class="bg-white dark:bg-gray-900 max-w-full p-3 text-gray-900 divide-y divide-gray-200 dark:text-white dark:divide-gray-700 m-3 border-2 border-gray-200 border-solid rounded-lg dark:border-gray-700">
|
||||
<div class="flex flex-col pb-3 p-3 w-full">
|
||||
<!-- prettier-ignore -->
|
||||
|
@ -76,7 +109,6 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 22 22" stroke-width="1" stroke="currentColor" class="w-4 h-4 inline-flex mr-1"> <path stroke-linecap="round" stroke-linejoin="round" d="M3.75 13.5l10.5-11.25L12 10.5h8.25L9.75 21.75 12 13.5H3.75z" /></svg>
|
||||
<p>55</p>
|
||||
</span>
|
||||
|
||||
<span class="space-x-0.5 flex items-center">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 22 22" stroke-width="1" stroke="currentColor" class="w-4 h-4 inline-flex mr-1"> <path stroke-linecap="round" stroke-linejoin="round" d="M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z" /></svg>
|
||||
<p>55</p>
|
||||
|
|
|
@ -17,4 +17,15 @@ export function initQuill() {
|
|||
},
|
||||
});
|
||||
}
|
||||
const interpretationEditorElement = document.querySelector(
|
||||
'#interpretation-editor',
|
||||
);
|
||||
if (interpretationEditorElement) {
|
||||
var quill = new Quill('#interpretation-editor', {
|
||||
theme: 'snow',
|
||||
modules: {
|
||||
toolbar: toolbarOptions,
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,15 +5,35 @@ const quill_value_to_textarea = (): undefined => {
|
|||
aboutInput.value = editorContent;
|
||||
return undefined;
|
||||
};
|
||||
const quill_interpretation_to_textarea = (): undefined => {
|
||||
const interpretationTextInput: HTMLButtonElement = document.querySelector(
|
||||
'#interpretation-text',
|
||||
);
|
||||
const qlInterpretationEditor: HTMLButtonElement = document.querySelector(
|
||||
'.ql-interpretation-editor',
|
||||
);
|
||||
const editorContent = qlInterpretationEditor.innerHTML;
|
||||
interpretationTextInput.value = editorContent;
|
||||
return undefined;
|
||||
};
|
||||
|
||||
export function initQuillValueToTextArea() {
|
||||
const qlEditor: HTMLButtonElement = document.querySelector('.ql-editor');
|
||||
|
||||
if (!qlEditor) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (qlEditor) {
|
||||
qlEditor.addEventListener('DOMSubtreeModified', async e => {
|
||||
quill_value_to_textarea();
|
||||
});
|
||||
}
|
||||
|
||||
//
|
||||
const qlInterpretationEditor: HTMLButtonElement = document.querySelector(
|
||||
'.ql-interpretation-editor',
|
||||
);
|
||||
|
||||
if (!qlInterpretationEditor) {
|
||||
qlInterpretationEditor.addEventListener('DOMSubtreeModified', async e => {
|
||||
quill_interpretation_to_textarea();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue