Compare commits

..

No commits in common. "b09ead1f12f8894fc6003e4a90e619545e04a07e" and "50cf02890a3dca269a48632183674667c6528671" have entirely different histories.

5 changed files with 114 additions and 263 deletions

View File

@ -34,12 +34,20 @@
emitHandler('dropdown-setting', { data: val })
"
/>
<div v-else-if="headItem.key === 'label'" class="mr-3">
<div
v-else-if="headItem.key === 'label'"
class="mr-3"
v-tooltip="headItem.tooltip || ''"
>
<span class="text-primary font-medium px-3">{{
headItem.label
}}</span>
</div>
<div v-else-if="headItem.key === 'text'" class="mr-3">
<div
v-else-if="headItem.key === 'text'"
class="mr-3"
v-tooltip="headItem.tooltip || ''"
>
<span class="text-primary font-medium px-3"
>{{ headItem.label }}:</span
>
@ -87,6 +95,7 @@
v-else-if="headItem.key === 'icon'"
class="btn p-2 rounded hover:text-primary transition-colors"
:title="headItem.label"
v-tooltip="headItem.tooltip || ''"
@click="emitHandler('icon-click', { data: headItem })"
>
<!-- <svg :class="'icon icon-' + headItem.icon">
@ -124,7 +133,10 @@
"
/>
</div>
<div v-else-if="headItem.key === 'button'">
<div
v-else-if="headItem.key === 'button'"
v-tooltip="headItem.tooltip || ''"
>
<button
class="btn bg-primary text-white px-3 py-1 rounded hover:bg-primary-dark"
@click="
@ -134,7 +146,10 @@
{{ headItem.label }}
</button>
</div>
<div v-else-if="headItem.key === 'iconButton'">
<div
v-else-if="headItem.key === 'iconButton'"
v-tooltip="headItem.tooltip || ''"
>
<button
class="btn flex items-center gap-1 px-2 py-1 rounded hover:text-primary"
@click="
@ -233,12 +248,20 @@
emitHandler('dropdown-setting', { data: val })
"
/>
<div v-else-if="my_item.key === 'label'" class="mr-3">
<div
v-else-if="my_item.key === 'label'"
class="mr-3"
v-tooltip="my_item.tooltip || ''"
>
<span class="text-primary font-medium px-3">{{
my_item.label
}}</span>
</div>
<div v-else-if="my_item.key === 'text'" class="mr-3">
<div
v-else-if="my_item.key === 'text'"
class="mr-3"
v-tooltip="my_item.tooltip || ''"
>
<span class="text-primary font-medium px-3"
>{{ my_item.label }}:</span
>
@ -287,6 +310,7 @@
v-else-if="my_item.key === 'icon'"
class="btn p-2 rounded hover:text-primary transition-colors"
:title="my_item.label"
v-tooltip="my_item.tooltip || ''"
@click="emitHandler('icon-click', { data: my_item })"
>
<!-- <svg :class="'icon icon-' + my_item.icon">
@ -319,7 +343,10 @@
"
/>
</div>
<div v-else-if="my_item.key === 'button'">
<div
v-else-if="my_item.key === 'button'"
v-tooltip="my_item.tooltip || ''"
>
<button
class="btn bg-primary text-white px-3 py-1 rounded hover:bg-primary-dark"
@click="
@ -329,7 +356,10 @@
{{ my_item.label }}
</button>
</div>
<div v-else-if="my_item.key === 'iconButton'">
<div
v-else-if="my_item.key === 'iconButton'"
v-tooltip="my_item.tooltip || ''"
>
<button
class="btn flex items-center gap-1 px-2 py-1 rounded hover:text-primary"
@click="

View File

@ -185,6 +185,7 @@ onMounted(fetchItems);
}
}
.i-lucide\:check {
display: none;
color: #22c55e;
stroke: #22c55e;
}
</style>

View File

@ -1,7 +1,7 @@
<template>
<div>
<!-- تولبار ادیتور -->
<!-- <div class="editor-toolbar" v-if="editor">
<div class="editor-toolbar" v-if="editor">
<div
class="toolbar-group"
v-for="(group, gIndex) in toolbarGroups"
@ -18,7 +18,7 @@
<span class="toolbar-icon">{{ btn.icon }}</span>
</button>
</div>
</div> -->
</div>
<editor-content :editor="editor" class="editor-content" />
</div>
</template>
@ -248,14 +248,7 @@ function formatContent(content) {
}
function generateDetailsHtml(item) {
let html = `<details class="custom-details #bcolor# " ${item.isOpen ? "open" : ""}>`;
if(item.background)
html.replace("#bcolor#", item.background)
else
html.replace("#bcolor#", "")
let html = `<details class="custom-details" ${item.isOpen ? "open" : ""}>`;
html += `<summary>`;
if (item.tag) {
html += `<a class="tag" target="normal" @click.stop="true" > ${item.tag} </a>`;
@ -286,7 +279,8 @@ function generateDetailsHtml(item) {
function loadFromJson() {
if (!editor.value) return;
let html = "";
let html =
'<p style="margin-bottom: 1.5rem; color: var(--color-dark-primary-700);"></p>';
props.accordionData.forEach((item) => {
html += generateDetailsHtml(item);
@ -521,16 +515,6 @@ onBeforeUnmount(() => {
}
}
.b_color1{
background: rgb(227, 242, 253)
}
.b_color2{
background: rgb(232, 245, 233)
}
.b_color3{
background: rgb(243, 229, 245)
}
/* استایل آکاردئون‌ها */
.custom-details {
position: relative;

View File

@ -40,212 +40,66 @@ const myContentSchema = computed(() => {
pagination: props.pagination,
};
});
// const headerTools = computed(() => [
// {
// items: [
// // {
// // key: "label",
// // label: "کد :",
// // tooltip: "عنوان صفحه",
// // },
// {
// type: "dropdown",
// key: "dropdown",
// name: "refine_codes",
// dropdownSchema: {
// width: "18em",
// modelValue: null, // اینو بذار
// optionAttribute: "title",
// valueAttribute: "value",
// searchable: false,
// placeholder: "انتخاب کنید",
// items: refineCodes,
// },
// },
// // {
// // key: "label",
// // label: "نوع رابطه :",
// // tooltip: "عنوان صفحه",
// // },
// {
// type: "dropdown",
// key: "dropdown",
// name: "refine_codes",
// dropdownSchema: {
// width: "18em",
// modelValue: null, // اینو بذار
// optionAttribute: "title",
// valueAttribute: "value",
// searchable: false,
// placeholder: "انتخاب کنید",
// items: [
// { label: " تعارض مستقر", value: "stable" },
// { label: "تعارض مشروط", value: "conditional" },
// { label: "تکرار حکم", value: "duplicate" },
// ],
// },
// },
// // {
// // key: "label",
// // label: " وضعیت اعتبار:",
// // tooltip: "عنوان صفحه",
// // },
// {
// type: "dropdown",
// key: "dropdown",
// name: "refine_codes",
// dropdownSchema: {
// width: "18em",
// modelValue: null, // اینو بذار
// optionAttribute: "title",
// valueAttribute: "value",
// searchable: false,
// placeholder: "انتخاب کنید",
// items: [
// { label: "نامعتبر", value: "invalid" },
// { label: "معتبر", value: "valid" },
// ],
// },
// },
// {
// key: "autoComplation",
// placeholder: "جستجوی ...",
// debounceTime: 500,
// // autocompleteUrl: "/repo/monir/complation/sanad",
// minCharsForAutocomplete: 3,
// maxHistoryItems: 20,
// showSearchButton: false,
// filters: [
// {
// label: "همه اجزاء",
// value: "all",
// },
// {
// label: "عنوان جلسه",
// value: "title",
// },
// {
// label: "عنوان دوره",
// value: "branch",
// },
// {
// label: " فقط فهرست",
// value: "mindex",
// },
// {
// label: " فقط کدها",
// value: "codes",
// },
// {
// label: " دوره",
// value: "advance",
// },
// ],
// },
// // {
// // key: "prevNext",
// // name: "entityNavigator",
// // prevDisabled: false,
// // nextDisabled: true,
// // },
// ],
// },
// ]);
const headerTools = computed(() => [
[
{
items: [
{
key: "label",
label: "کد: ",
{
items: [
{
type: "dropdown",
key: "dropdown",
name: "refine_codes",
dropdownSchema: {
width: "18em",
modelValue: null, // اینو بذار
optionAttribute: "title",
valueAttribute: "value",
searchable: false,
placeholder: "انتخاب کنید",
items: refineCodes,
},
{
type: "dropdown",
key: "dropdown",
name: "refine_codes",
dropdownSchema: {
width: "18em",
modelValue: null, // اینو بذار
optionAttribute: "title",
valueAttribute: "value",
searchable: false,
placeholder: "انتخاب کنید",
items: refineCodes,
},
{
key: "autoComplation",
placeholder: "جستجوی ...",
debounceTime: 500,
// autocompleteUrl: "/repo/monir/complation/sanad",
minCharsForAutocomplete: 3,
maxHistoryItems: 20,
showSearchButton: false,
filters: [
{
label: "همه اجزاء",
value: "all",
},
},
{
key: "label",
label: "نوع رابطه :",
},
{
type: "dropdown",
key: "dropdown",
name: "refine_codes",
dropdownSchema: {
width: "10em",
modelValue: null, // اینو بذار
optionAttribute: "title",
valueAttribute: "value",
searchable: false,
placeholder: "انتخاب کنید",
items: [
{ label: " همه", value: "all" },
{ label: " تعارض مستقر", value: "stable" },
{ label: "تعارض مشروط", value: "conditional" },
{ label: "تکرار حکم", value: "duplicate" },
],
{
label: "عنوان جلسه",
value: "title",
},
},
{
key: "label",
label: " وضعیت اعتبار:",
},
{
type: "dropdown",
key: "dropdown",
name: "refine_codes",
dropdownSchema: {
width: "8em",
modelValue: null, // اینو بذار
optionAttribute: "title",
valueAttribute: "value",
searchable: false,
placeholder: "انتخاب کنید",
items: [
{ label: " همه", value: "all" },
{ label: "نامعتبر", value: "invalid" },
{ label: "معتبر", value: "valid" },
],
{
label: "عنوان دوره",
value: "branch",
},
},
],
},
{
items: [
{
key: "autoComplation",
placeholder: "جستجوی ...",
debounceTime: 500,
// autocompleteUrl: "/repo/monir/complation/sanad",
minCharsForAutocomplete: 3,
maxHistoryItems: 20,
showSearchButton: false,
filters: [
{
label: "همه اجزاء",
value: "all",
},
],
},
// {
// key: "prevNext",
// name: "entityNavigator",
// prevDisabled: false,
// nextDisabled: true,
// },
],
},
],
{
label: " فقط فهرست",
value: "mindex",
},
{
label: " فقط کدها",
value: "codes",
},
{
label: " دوره",
value: "advance",
},
],
},
{
key: "prevNext",
name: "entityNavigator",
prevDisabled: false,
nextDisabled: true,
},
],
},
]);
function headerToolsAction({ action, data }) {

View File

@ -54,14 +54,9 @@ const setDataEditor = async () => {
if (_source.previous_info) {
let item = _source.previous_info;
node = {
background:"b_color1",
isOpen: false,
id: item.section_mom_id,
title:
`<a class="label" href="#">قانون مقدم : </a>` +
item.qanon_title +
" - " +
item.full_path,
title: `<a class="label" href="#">قانون مقدم : </a>` + item.qanon_title + " - " + item.full_path,
tag: item.state_etebar,
content: _source.content1,
link_label: "«منبع»",
@ -71,21 +66,16 @@ const setDataEditor = async () => {
children: [],
};
if (item.group_section_ids?.length > 1)
node["children"].push({
isOpen: false,
id: item.context_id,
title: "متن کامل با اجزاء دیگر مورد توجه : ",
content: _source.context1,
});
node["children"].push({
isOpen: false,
id: item.context_id,
title: "متن کامل با اجزاء دیگر مورد توجه : ",
content: _source.context1,
});
accordionItems.value.push(node);
let unrepeat_id = {}
item.rule_ids.forEach((rule_id) => {
if(unrepeat_id[rule_id])
return
unrepeat_id[rule_id] = 1
let content = _source.rules_content[rule_id] ?? "";
accordionItems.value.push({
isOpen: false,
@ -99,14 +89,9 @@ const setDataEditor = async () => {
if (_source.next_info) {
let item = _source.next_info;
node = {
background:"b_color2",
isOpen: false,
id: item.section_mom_id,
title:
`<a class="label">قانون موخر : </a>` +
item.qanon_title +
" - " +
item.full_path,
title: `<a class="label">قانون موخر : </a>` + item.qanon_title + " - " + item.full_path,
tag: item.state_etebar,
content: _source.content2,
link_label: "«منبع»",
@ -115,14 +100,12 @@ const setDataEditor = async () => {
.replace("{{section_id}}", item.section_mom_id),
children: [],
};
if (item.group_section_ids?.length > 1)
node["children"].push({
isOpen: false,
id: item.context_id,
title: "متن کامل با اجزاء دیگر مورد توجه : ",
content: _source.context1,
});
node["children"].push({
isOpen: false,
id: item.context_id,
title: "متن کامل با اجزاء دیگر مورد توجه : ",
content: _source.context1,
});
accordionItems.value.push(node);
@ -139,7 +122,6 @@ const setDataEditor = async () => {
/////-------------وحدت موضوع----------------------
node = {
background:"b_color3",
isOpen: true,
id: 11,
title: "توضیح هوشمند برای وجود وحدت موضوع بین احکام استنادی ",