155 lines
4.4 KiB
Vue
155 lines
4.4 KiB
Vue
<template>
|
|
<div class="side-panel me-4" v-if="sidePanel">
|
|
<div
|
|
class="side-panel-header d-flex justify-content-between align-items-center"
|
|
>
|
|
<h6 class="text-center">مشخصات کامل مورد جاری</h6>
|
|
<a
|
|
@click="closeDetailPanel()"
|
|
class="close-sidebar-panel"
|
|
role="button"
|
|
title="Toggle sidebar"
|
|
type="button"
|
|
>
|
|
<span class="tavasi tavasi-Component-294--1"></span>
|
|
</a>
|
|
</div>
|
|
|
|
<div class="position-relative redios-castom py-3">
|
|
<!-- <button
|
|
v-can="'item-info_edit'"
|
|
@click="editItem()"
|
|
title="ویرایش"
|
|
class="btn float-edit-btn"
|
|
data-bs-toggle="modal"
|
|
data-bs-target="#edit-paper"
|
|
>
|
|
<i class="tavasi tavasi-Component-242--1"></i>
|
|
</button> -->
|
|
<div class="side-panel-content firefox-scrollbar">
|
|
<form-builder
|
|
:previewMode="true"
|
|
:formElements="clonedFormElements"
|
|
:formData="selectedItemGetter"
|
|
:displayMode="'default'"
|
|
></form-builder>
|
|
|
|
<!-- <div class="form-row form-group">
|
|
<label class="col-2 " for="title" style="margin:;">عنوان:</label>
|
|
<div class="col-1"></div>
|
|
<p class="col-9 " id="title" v-html="selectedItem.title"></p>
|
|
</div>
|
|
<div class="form-row form-group">
|
|
<label class="col-2" for="title">شماره:</label>
|
|
<div class="col-1"></div>
|
|
<p class="col-9" id="number" v-html="selectedItem.number"></p>
|
|
</div>
|
|
<div class="form-row form-group">
|
|
<label class="col-2" for="resources">منبع:</label>
|
|
<div class="col-1"></div>
|
|
<p class="col-9" id="resources" v-html="selectedItem.resources"></p>
|
|
</div>
|
|
<div class="form-row form-group">
|
|
<label class="col-2" for="date_text">تاریخ:</label>
|
|
<div class="col-1"></div>
|
|
<p class="col-9" id="date_text" v-html="selectedItem.date_text"></p>
|
|
</div>
|
|
<div class="form-row form-group">
|
|
<label class="col-2" for="text">متن:</label>
|
|
<div class="col-1"></div>
|
|
<p class="col-9" id="text" v-html="selectedItem.text"></p>
|
|
</div> -->
|
|
|
|
<!-- <div class="d-flex justify-content-start">
|
|
<button-component
|
|
classes="btn-default"
|
|
:buttonText="'نمایش متن'"
|
|
@click="showFullDetails"
|
|
></button-component>
|
|
</div> -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { mapState, mapActions } from "pinia";
|
|
export default {
|
|
emits: ["open-form"],
|
|
mounted() {
|
|
this.changeTypeToLabel(this.searchListActiveSchemaGetter.items);
|
|
},
|
|
watch: {
|
|
searchListActiveSchemaGetter(newValue) {
|
|
this.changeTypeToLabel(newValue.items);
|
|
},
|
|
},
|
|
|
|
data() {
|
|
return {
|
|
sidePanel: true,
|
|
clonedFormElements: undefined,
|
|
};
|
|
},
|
|
computed: {
|
|
...mapState("list", ["selectedProjectGetter", "selectedItemGetter"]),
|
|
...mapState(useSearchStore, [
|
|
"searchListSchemaGetter",
|
|
"searchListActiveSchemaGetter",
|
|
"searchListActiveTabGetter",
|
|
]),
|
|
},
|
|
methods: {
|
|
closeDetailPanel() {
|
|
this.sidePanel = !this.sidePanel;
|
|
this.$emit("close-detail-panel", this.sidePanel);
|
|
},
|
|
|
|
// closeSidePaneldetail(){
|
|
// this.sidePanel = !this.sidePanel ;
|
|
// },
|
|
...mapActions("list", ["SET_LIST_COMPONENT_NAME"]),
|
|
showFullDetails() {
|
|
this.SET_LIST_COMPONENT_NAME({
|
|
listComponentName: "ItemList",
|
|
selectedItem: this.selectedItemGetter,
|
|
});
|
|
|
|
let pageTitle = this.selectedItemGetter.title;
|
|
pageTitle = pageTitle.replaceAll(" ", "-");
|
|
this.$router.push({
|
|
name: "itemShow",
|
|
params: { pageTitle, id: this.selectedItemGetter.id },
|
|
});
|
|
},
|
|
editItem() {
|
|
this.$emit("open-form", this.selectedItemGetter);
|
|
},
|
|
changeTypeToLabel(data) {
|
|
data.forEach((element, index) => {
|
|
if (
|
|
element.key == "begin_date" ||
|
|
element.key == "end_date" ||
|
|
element.key == "date"
|
|
)
|
|
data[index].type = "date";
|
|
else data[index].type = "label";
|
|
});
|
|
|
|
this.clonedFormElements = data;
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
<style scoped>
|
|
.side-panel-content {
|
|
height: calc(100dvh - 17em);
|
|
overflow-y: auto;
|
|
}
|
|
.float-edit-btn {
|
|
position: absolute;
|
|
left: 1em;
|
|
top: 1em;
|
|
}
|
|
</style>
|