update search
This commit is contained in:
parent
e630a4a8ce
commit
e70f3d7422
|
@ -264,8 +264,8 @@
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { mapState, mapActions } from "pinia";
|
import { mapState, mapActions } from "pinia";
|
||||||
import ComparisonEntitys from "@json/entity/comprisonEntity";
|
import ComparisonEntitys from "../../../json/search/json/comprisonEntity.json";
|
||||||
import { useEntityStore } from "@stores/entityStore";
|
import { useEntityStore } from "../../../stores/entityStore";
|
||||||
|
|
||||||
// import diffMatchPatch from "../diff_match_patch.js";
|
// import diffMatchPatch from "../diff_match_patch.js";
|
||||||
|
|
||||||
|
|
|
@ -153,6 +153,7 @@
|
||||||
<script>
|
<script>
|
||||||
import { mapState, mapActions } from "pinia";
|
import { mapState, mapActions } from "pinia";
|
||||||
import entityApi from "@apis/entityApi.js";
|
import entityApi from "@apis/entityApi.js";
|
||||||
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
/**
|
/**
|
||||||
|
|
||||||
* @vue-prop {Object} [valueModal={}] - یک آبجکت از مقادیر مورد نیاز برای فیش
|
* @vue-prop {Object} [valueModal={}] - یک آبجکت از مقادیر مورد نیاز برای فیش
|
||||||
|
|
|
@ -72,6 +72,7 @@
|
||||||
import entityApi from "@apis/entityApi";
|
import entityApi from "@apis/entityApi";
|
||||||
import { mapState } from "pinia";
|
import { mapState } from "pinia";
|
||||||
import Multiselect from "vue-multiselect";
|
import Multiselect from "vue-multiselect";
|
||||||
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
|
|
|
@ -49,6 +49,7 @@
|
||||||
<script>
|
<script>
|
||||||
import entityApi from "@apis/entityApi.js";
|
import entityApi from "@apis/entityApi.js";
|
||||||
import { mapState } from "pinia";
|
import { mapState } from "pinia";
|
||||||
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "EntityChartGantt",
|
name: "EntityChartGantt",
|
||||||
|
@ -89,7 +90,9 @@ export default {
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: { ...mapState(useEntityStore, ["activeEntityViewSchemaGetter"]) },
|
computed: {
|
||||||
|
...mapState(useEntityStore, ["activeEntityViewSchemaGetter"]),
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getGanttData() {
|
getGanttData() {
|
||||||
let payload = {
|
let payload = {
|
||||||
|
|
|
@ -149,7 +149,7 @@ import { mapState } from "pinia";
|
||||||
import repoApi from "~/apis/repoApi";
|
import repoApi from "~/apis/repoApi";
|
||||||
import Multiselect from "vue-multiselect";
|
import Multiselect from "vue-multiselect";
|
||||||
import ChartGraph from "~/components/charts/ChartGraph.vue";
|
import ChartGraph from "~/components/charts/ChartGraph.vue";
|
||||||
import { useEntityStore } from "~/stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
|
|
|
@ -6,9 +6,7 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapState, mapActions } from "pinia";
|
import { mapState, mapActions } from "pinia";
|
||||||
import { useEntityStore } from "~/stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
import { useSearchStore } from "~/stores/searchStore";
|
|
||||||
import { useCommonStore } from "~/stores/commonStore";
|
|
||||||
export default {
|
export default {
|
||||||
watch: {
|
watch: {
|
||||||
// #region mehdi entityList
|
// #region mehdi entityList
|
||||||
|
|
|
@ -432,9 +432,7 @@
|
||||||
<script>
|
<script>
|
||||||
import { mapActions, mapState } from "pinia";
|
import { mapActions, mapState } from "pinia";
|
||||||
|
|
||||||
import { useEntityStore } from "~/stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
import { useSearchStore } from "~/stores/searchStore";
|
|
||||||
import { useCommonStore } from "~/stores/commonStore";
|
|
||||||
|
|
||||||
import entityApi from "@apis/entityApi";
|
import entityApi from "@apis/entityApi";
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -141,9 +141,9 @@ import repoApi from "@apis/repoApi";
|
||||||
import chatApi from "@apis/chatApi";
|
import chatApi from "@apis/chatApi";
|
||||||
import { mapActions, mapState } from "pinia";
|
import { mapActions, mapState } from "pinia";
|
||||||
|
|
||||||
import { useSearchStore } from "@stores/searchStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
import { useCommonStore } from "@stores/commonStore";
|
import { useCommonStore } from "@stores/commonStore";
|
||||||
import { useListStore } from "@stores/listStore";
|
import { useSearchStore } from "@search/stores/searchStore";
|
||||||
|
|
||||||
import propertyModalMixin from "@mixins/entity/propertyModalMixin";
|
import propertyModalMixin from "@mixins/entity/propertyModalMixin";
|
||||||
import EntityUploaderModal from "@components/entity/modals/EntityUploaderModal.vue";
|
import EntityUploaderModal from "@components/entity/modals/EntityUploaderModal.vue";
|
||||||
|
|
|
@ -75,6 +75,7 @@
|
||||||
<script>
|
<script>
|
||||||
import repoApis from "~/apis/repoApi";
|
import repoApis from "~/apis/repoApi";
|
||||||
import { mapState } from "pinia";
|
import { mapState } from "pinia";
|
||||||
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
|
@ -227,7 +227,7 @@
|
||||||
import repoApi from "@apis/repoApi";
|
import repoApi from "@apis/repoApi";
|
||||||
import { mapActions, mapState } from "pinia";
|
import { mapActions, mapState } from "pinia";
|
||||||
|
|
||||||
import { useEntityStore } from "@stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
// import { useSearchStore } from "~/stores/searchStore";
|
// import { useSearchStore } from "~/stores/searchStore";
|
||||||
// import { useCommonStore } from "~/stores/commonStore";
|
// import { useCommonStore } from "~/stores/commonStore";
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@
|
||||||
import repoApi from "@apis/repoApi";
|
import repoApi from "@apis/repoApi";
|
||||||
import { mapActions, mapState } from "pinia";
|
import { mapActions, mapState } from "pinia";
|
||||||
import chatApi from "~/apis/chatApi";
|
import chatApi from "~/apis/chatApi";
|
||||||
import { useEntityStore } from "@stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
import { useCommonStore } from "@stores/commonStore";
|
import { useCommonStore } from "@stores/commonStore";
|
||||||
|
|
||||||
// import { createNewTooltip } from "~/services/createFloatingVue";
|
// import { createNewTooltip } from "~/services/createFloatingVue";
|
||||||
|
|
|
@ -378,10 +378,7 @@ import adminApi from "~/apis/adminApi";
|
||||||
import settingsApi from "~/apis/settingsApi";
|
import settingsApi from "~/apis/settingsApi";
|
||||||
import { mapState, mapActions } from "pinia";
|
import { mapState, mapActions } from "pinia";
|
||||||
import stopWordContextMenu from "~/json/entity/stopWordContextMenu";
|
import stopWordContextMenu from "~/json/entity/stopWordContextMenu";
|
||||||
import { useEntityStore } from "~/stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
import { useSearchStore } from "~/stores/searchStore";
|
|
||||||
import { useCommonStore } from "~/stores/commonStore";
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @vue-data {Object} [entity = undefined] - موجودیت
|
* @vue-data {Object} [entity = undefined] - موجودیت
|
||||||
|
|
|
@ -210,6 +210,7 @@
|
||||||
import entityTextMixin from "@mixins/entity/entityTextMixin";
|
import entityTextMixin from "@mixins/entity/entityTextMixin";
|
||||||
import { mapState, mapActions } from "pinia";
|
import { mapState, mapActions } from "pinia";
|
||||||
import repoApi from "@apis/repoApi";
|
import repoApi from "@apis/repoApi";
|
||||||
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @vue-data {Object|undefined} [entity=undefined] - موجودیت.
|
* @vue-data {Object|undefined} [entity=undefined] - موجودیت.
|
||||||
|
|
|
@ -76,7 +76,7 @@ import entityApi from "~/apis/entityApi.js";
|
||||||
import { mapState } from "pinia";
|
import { mapState } from "pinia";
|
||||||
import { cloneDeep } from "lodash";
|
import { cloneDeep } from "lodash";
|
||||||
import { useCommonStore } from "@stores/commonStore";
|
import { useCommonStore } from "@stores/commonStore";
|
||||||
import { useEntityStore } from "@stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
/**
|
/**
|
||||||
* @vue-prop {Object} [valueModal={}] - یک آبجکت از مقادیر مورد نیاز برای فیش
|
* @vue-prop {Object} [valueModal={}] - یک آبجکت از مقادیر مورد نیاز برای فیش
|
||||||
* @vue-data {undefined} [cloneActiveSchemaGetter=undefined] - یک کپی از ساختار صفحه
|
* @vue-data {undefined} [cloneActiveSchemaGetter=undefined] - یک کپی از ساختار صفحه
|
||||||
|
|
|
@ -64,6 +64,7 @@ import repoApi from "~/apis/repoApi";
|
||||||
import { mapActions, mapState } from "pinia";
|
import { mapActions, mapState } from "pinia";
|
||||||
import { useSearchStore } from "~/stores/searchStore";
|
import { useSearchStore } from "~/stores/searchStore";
|
||||||
import { useCommonStore } from "~/stores/commonStore";
|
import { useCommonStore } from "~/stores/commonStore";
|
||||||
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
|
|
||||||
import entityTextMixin from "~/mixins/entity/entityTextMixin";
|
import entityTextMixin from "~/mixins/entity/entityTextMixin";
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -98,6 +98,7 @@
|
||||||
<script>
|
<script>
|
||||||
import { mapState, mapActions } from "pinia";
|
import { mapState, mapActions } from "pinia";
|
||||||
import toolsHeader from "~/json/entity/toolsHeader.json";
|
import toolsHeader from "~/json/entity/toolsHeader.json";
|
||||||
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
|
|
|
@ -83,6 +83,7 @@
|
||||||
import { mapState} from "pinia";
|
import { mapState} from "pinia";
|
||||||
import Multiselect from "vue-multiselect";
|
import Multiselect from "vue-multiselect";
|
||||||
import TripleSwitch from "~/components/TripleSwitch";
|
import TripleSwitch from "~/components/TripleSwitch";
|
||||||
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
|
@ -20,9 +20,8 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapState, mapActions } from "pinia";
|
import { mapState, mapActions } from "pinia";
|
||||||
import { useEntityStore } from "~/stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
import { useSearchStore } from "~/stores/searchStore";
|
|
||||||
import { useCommonStore } from "~/stores/commonStore";
|
|
||||||
export default {
|
export default {
|
||||||
mounted() {
|
mounted() {
|
||||||
this.entity = this.selectedItemEntityGetter;
|
this.entity = this.selectedItemEntityGetter;
|
||||||
|
|
|
@ -11,9 +11,8 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapState, mapActions } from "pinia";
|
import { mapState, mapActions } from "pinia";
|
||||||
import { useEntityStore } from "~/stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
import { useSearchStore } from "~/stores/searchStore";
|
|
||||||
import { useCommonStore } from "~/stores/commonStore";
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
|
@ -234,7 +234,7 @@ import searchApi from "~/apis/searchApi";
|
||||||
import { mapActions, mapState } from "pinia";
|
import { mapActions, mapState } from "pinia";
|
||||||
import mammoth from "mammoth";
|
import mammoth from "mammoth";
|
||||||
import { useSearchStore } from "@stores/searchStore";
|
import { useSearchStore } from "@stores/searchStore";
|
||||||
import { useEntityStore } from "@stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
|
@ -227,7 +227,7 @@
|
||||||
// import diff from "fast-diff";
|
// import diff from "fast-diff";
|
||||||
// import { CodeDiff } from "v-code-diff";
|
// import { CodeDiff } from "v-code-diff";
|
||||||
import { mapState, mapActions } from "pinia";
|
import { mapState, mapActions } from "pinia";
|
||||||
import { useEntityStore } from "~/stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
import { useCommonStore } from "~/stores/commonStore";
|
import { useCommonStore } from "~/stores/commonStore";
|
||||||
import entityTextMixin from "~/mixins/entity/entityTextMixin";
|
import entityTextMixin from "~/mixins/entity/entityTextMixin";
|
||||||
// import { p2e } from "~/services/persianNumber";
|
// import { p2e } from "~/services/persianNumber";
|
||||||
|
|
|
@ -17,8 +17,7 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapState, mapActions } from "pinia";
|
import { mapState, mapActions } from "pinia";
|
||||||
import { useEntityStore } from "~/stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
import { useSearchStore } from "~/stores/searchStore";
|
|
||||||
import { useCommonStore } from "~/stores/commonStore";
|
import { useCommonStore } from "~/stores/commonStore";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
|
@ -148,6 +148,7 @@ import { mapActions, mapState } from "pinia";
|
||||||
import entityApi from "@apis/entityApi";
|
import entityApi from "@apis/entityApi";
|
||||||
import searchApi from "@apis/searchApi";
|
import searchApi from "@apis/searchApi";
|
||||||
import repoApi from "@apis/repoApi";
|
import repoApi from "@apis/repoApi";
|
||||||
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
|
|
|
@ -116,7 +116,7 @@
|
||||||
<script>
|
<script>
|
||||||
import { persianDateAndTime } from "@manuals/utilities";
|
import { persianDateAndTime } from "@manuals/utilities";
|
||||||
import { mapState } from "pinia";
|
import { mapState } from "pinia";
|
||||||
import { useEntityStore } from "@stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: ["entityId", "schemaItems"],
|
props: ["entityId", "schemaItems"],
|
||||||
|
|
|
@ -138,7 +138,7 @@
|
||||||
import { propertyMixin } from "~/entity/mixins/propertyMixin";
|
import { propertyMixin } from "~/entity/mixins/propertyMixin";
|
||||||
import { commonMixin } from "~/entity/mixins/commonMixin";
|
import { commonMixin } from "~/entity/mixins/commonMixin";
|
||||||
import { mapState } from "pinia";
|
import { mapState } from "pinia";
|
||||||
import { useEntityStore } from "@stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
mixins: [propertyMixin, commonMixin],
|
mixins: [propertyMixin, commonMixin],
|
||||||
|
|
|
@ -64,7 +64,7 @@ import entityApi from "@apis/entityApi";
|
||||||
|
|
||||||
import { mapActions, mapState } from "pinia";
|
import { mapActions, mapState } from "pinia";
|
||||||
|
|
||||||
import { useEntityStore } from "~/stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
import { useSearchStore } from "~/stores/searchStore";
|
import { useSearchStore } from "~/stores/searchStore";
|
||||||
import { useCommonStore } from "~/stores/commonStore";
|
import { useCommonStore } from "~/stores/commonStore";
|
||||||
|
|
||||||
|
|
|
@ -62,9 +62,7 @@
|
||||||
<script>
|
<script>
|
||||||
import { mapActions, mapState } from "pinia";
|
import { mapActions, mapState } from "pinia";
|
||||||
|
|
||||||
import { useEntityStore } from "~/stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
import { useSearchStore } from "~/stores/searchStore";
|
|
||||||
import { useCommonStore } from "~/stores/commonStore"; // import entityViewMixin from "~/entity/mixins/entityViewMixin.js";
|
|
||||||
import repoApi from "~/apis/repoApi";
|
import repoApi from "~/apis/repoApi";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -122,9 +122,8 @@
|
||||||
import entityApi from "~/apis/entityApi.js";
|
import entityApi from "~/apis/entityApi.js";
|
||||||
import { mapActions, mapState } from "pinia";
|
import { mapActions, mapState } from "pinia";
|
||||||
|
|
||||||
import { useEntityStore } from "~/stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
import { useSearchStore } from "~/stores/searchStore";
|
|
||||||
import { useCommonStore } from "~/stores/commonStore";
|
|
||||||
|
|
||||||
import { cloneDeep } from "lodash";
|
import { cloneDeep } from "lodash";
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
<script>
|
<script>
|
||||||
import { mapState, mapActions } from "pinia";
|
import { mapState, mapActions } from "pinia";
|
||||||
import favoriteApi from "~/apis/favoriteApi";
|
import favoriteApi from "~/apis/favoriteApi";
|
||||||
import { useEntityStore } from "~/stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
import { useSearchStore } from "~/stores/searchStore";
|
import { useSearchStore } from "~/stores/searchStore";
|
||||||
import { useCommonStore } from "~/stores/commonStore";
|
import { useCommonStore } from "~/stores/commonStore";
|
||||||
export default {
|
export default {
|
||||||
|
|
557
components/global/AutoComplation.vue
Normal file
557
components/global/AutoComplation.vue
Normal file
|
@ -0,0 +1,557 @@
|
||||||
|
<template>
|
||||||
|
<div
|
||||||
|
class="input-group"
|
||||||
|
@keyup="keyupdiv"
|
||||||
|
:style="{
|
||||||
|
showAppend: { 'box-shadow': '0 1px 3px rgba(23, 23, 23, 0.24)' },
|
||||||
|
}"
|
||||||
|
>
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<button
|
||||||
|
v-if="showPrepend"
|
||||||
|
dir="rtl"
|
||||||
|
class="btn d-flex align-items-center"
|
||||||
|
type="button"
|
||||||
|
id="button-addon2"
|
||||||
|
@click="searchNavigateList()"
|
||||||
|
>
|
||||||
|
جستجو
|
||||||
|
<span class="tavasi tavasi-Component-198--1"></span>
|
||||||
|
</button>
|
||||||
|
<span v-else style="opacity: 0">xxx</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
v-model="localTextSearch"
|
||||||
|
@click="showHisory()"
|
||||||
|
@keyup.enter="prevSearchStart"
|
||||||
|
@keyup="toggleAutocomplete"
|
||||||
|
@keydown="onKeyDown()"
|
||||||
|
class="form-control"
|
||||||
|
id="search"
|
||||||
|
:placeholder="placeholder"
|
||||||
|
autocomplete="off"
|
||||||
|
ref="searchinput"
|
||||||
|
@focus="setInputFocus()"
|
||||||
|
@blur="inputfocused = false"
|
||||||
|
v-focus
|
||||||
|
/>
|
||||||
|
<div :class="[showAppend ? 'input-group-text' : 'input-group-append']">
|
||||||
|
<client-only>
|
||||||
|
<template v-if="showAppend">
|
||||||
|
<button
|
||||||
|
v-tooltip="'جستجو در خاصیت(فیلد) ویژه'"
|
||||||
|
class="btn dropdown-toggle dropdown-toggle-color rounded-0"
|
||||||
|
type="button"
|
||||||
|
data-bs-toggle="dropdown"
|
||||||
|
aria-haspopup="true"
|
||||||
|
aria-expanded="false"
|
||||||
|
id="dropdownMenuButton12"
|
||||||
|
>
|
||||||
|
<span class="navItemlabel">
|
||||||
|
{{ domainActiveGetter?.label }}
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton12">
|
||||||
|
<button
|
||||||
|
v-for="(navItem, index) in searchDomain"
|
||||||
|
:key="index"
|
||||||
|
type="button"
|
||||||
|
class="dropdown-item"
|
||||||
|
@click.prevent="setDomainField(navItem)"
|
||||||
|
>
|
||||||
|
{{ navItem.label }}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</client-only>
|
||||||
|
|
||||||
|
<button
|
||||||
|
v-if="showAppendSearchButton"
|
||||||
|
v-tooltip="'جستجو در خاصیت(فیلد) ویژه'"
|
||||||
|
@click.prevent="prevSearchStart()"
|
||||||
|
class="btn btn-primary search-icon"
|
||||||
|
>
|
||||||
|
<svg class="icon icon-Component-198--1">
|
||||||
|
<use xlink:href="#icon-Component-198--1"></use>
|
||||||
|
</svg>
|
||||||
|
<!-- <NuxtImg src="@assets/common/img/searchmajles.svg" alt="" /> -->
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div
|
||||||
|
v-if="inputPopupState == 3 && localListAutocomplate.length"
|
||||||
|
class="search-page__result firefox-scrollbar"
|
||||||
|
:class="{
|
||||||
|
show: localListAutocomplate.length,
|
||||||
|
}"
|
||||||
|
>
|
||||||
|
<!-- v-click-outside="onClickOutside" -->
|
||||||
|
<client-only>
|
||||||
|
<ul ref="auto_complate_ul">
|
||||||
|
<li v-for="(item, i) in localListAutocomplate" :key="i" :value="i">
|
||||||
|
<a @click.prevent="selectAutocomplate2(item)">
|
||||||
|
<span
|
||||||
|
class="text__14"
|
||||||
|
v-html="getHighlightAutocomplate(item)"
|
||||||
|
></span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</client-only>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div v-if="inputPopupState == 1" class="search-page__result show">
|
||||||
|
<!-- v-click-outside="onClickOutside" -->
|
||||||
|
<client-only>
|
||||||
|
<template v-if="historySearch.length">
|
||||||
|
<div>
|
||||||
|
<div class="scrollbar">
|
||||||
|
<ul ref="his_ul">
|
||||||
|
<li v-for="(item, i) in historySearch" :key="i" :data-key="i">
|
||||||
|
<a @click.prevent="selectHistorySearch(item)">
|
||||||
|
<NuxtImg
|
||||||
|
src="assets/common/img/Component 359 – 2.svg"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
|
<span class="text__14">{{ item }}</span>
|
||||||
|
</a>
|
||||||
|
<a @click="removeHistorySearch(i)" class="close">
|
||||||
|
<svg class="icon icon-Component-294--1">
|
||||||
|
<use xlink:href="#icon-Component-294--1"></use>
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template v-else>
|
||||||
|
<div class="scrollbar">
|
||||||
|
<ul ref="">
|
||||||
|
<li>
|
||||||
|
<p class="m-0 text__light">
|
||||||
|
<NuxtImg
|
||||||
|
src="assets/common/img/Component 359 – 2.svg"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
|
<span class="text__14"> تاریخچه جستجو خالی می باشد </span>
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</client-only>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { mapState } from "pinia";
|
||||||
|
import searchApi from "../../apis/searchApi.js";
|
||||||
|
import { useSearchStore } from "../../stores/searchStore";
|
||||||
|
|
||||||
|
// Vue.directive("click-outside", {
|
||||||
|
// bind(el, binding, vnode) {
|
||||||
|
// el.clickOutsideEvent = (event) => {
|
||||||
|
// if (!(el === event.target || el.contains(event.target))) {
|
||||||
|
// vnode.context[binding.expression](event);
|
||||||
|
// }
|
||||||
|
// };
|
||||||
|
// document.body.addEventListener("click", el.clickOutsideEvent);
|
||||||
|
// },
|
||||||
|
// unbind(el) {
|
||||||
|
// document.body.removeEventListener("click", el.clickOutsideEvent);
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
placeholder: {
|
||||||
|
default: "جستجو در هزاران محتوای قوانین و مقرارت",
|
||||||
|
},
|
||||||
|
contentKey: {
|
||||||
|
default: "qasection",
|
||||||
|
},
|
||||||
|
entityTheme: {
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
showAppendSearchButton: {
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
|
showPrepend: {
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
showAppend: {
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
|
textSearch: {
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
|
modeInit: {
|
||||||
|
default: 0,
|
||||||
|
},
|
||||||
|
searchDomain: {
|
||||||
|
default() {
|
||||||
|
return [];
|
||||||
|
},
|
||||||
|
},
|
||||||
|
listAutocomplate: {
|
||||||
|
default() {
|
||||||
|
return [];
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
emits: ["getAutoComplateList"],
|
||||||
|
watch: {
|
||||||
|
modeInit(newVal = 1) {
|
||||||
|
this.mode = newVal;
|
||||||
|
},
|
||||||
|
textSearch(newVal) {
|
||||||
|
this.localTextSearch = newVal;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
beforeMount() {
|
||||||
|
// this.inputPopupState = this.inputPopupState;
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.localTextSearch = this.textSearch;
|
||||||
|
|
||||||
|
if (window.localStorage.getItem([this.historySearchRecent])) {
|
||||||
|
try {
|
||||||
|
this.historySearch = JSON.parse(
|
||||||
|
window.localStorage.getItem([this.historySearchRecent])
|
||||||
|
);
|
||||||
|
} catch (e) {
|
||||||
|
window.localStorage.removeItem([this.historySearchRecent]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
beforeDestroy() {
|
||||||
|
window.removeEventListener("resize", this.handleResize);
|
||||||
|
window.removeEventListener("load", this.handleResize);
|
||||||
|
document.removeEventListener("click", this.handleClickOutside);
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
localListAutocomplate: [],
|
||||||
|
typingTimer: undefined,
|
||||||
|
doneTypingInterval: 800,
|
||||||
|
localTextSearch: "",
|
||||||
|
historySearch: [],
|
||||||
|
|
||||||
|
inputPopupState: 0,
|
||||||
|
mode: 1,
|
||||||
|
tagLiSelected: null,
|
||||||
|
inputfocused: false,
|
||||||
|
isLastKeyCodeArrow: false,
|
||||||
|
historySearchRecent: "historysearchrecent",
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapState(useSearchStore, [
|
||||||
|
"domainActiveGetter",
|
||||||
|
"searchActiveTabGetter",
|
||||||
|
"searchSchemaGetter",
|
||||||
|
"searchSynonymTitleGetter",
|
||||||
|
]),
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/**
|
||||||
|
* تنظیم آیتم انتخاب شده و شروع جستجو.
|
||||||
|
* @param {Object} navItem - آیتم انتخابشده.
|
||||||
|
*/
|
||||||
|
setDomainField(navItem) {
|
||||||
|
this.$emit("onSetDomainField", navItem);
|
||||||
|
// this.prevSearchStart();
|
||||||
|
},
|
||||||
|
async getAutoComplateList() {
|
||||||
|
this.localListAutocomplate = [];
|
||||||
|
if (this.localTextSearch == "") return;
|
||||||
|
|
||||||
|
let index_key = this.contentKey;
|
||||||
|
if (!index_key) return;
|
||||||
|
|
||||||
|
let url = searchApi.search.autoComplate;
|
||||||
|
|
||||||
|
url = url.replace("{{appname}}", buildName());
|
||||||
|
url = url.replace("{{index_key}}", index_key);
|
||||||
|
url = url.replace("{{filter}}", "q=" + this.localTextSearch);
|
||||||
|
|
||||||
|
try {
|
||||||
|
const { $api } = useNuxtApp();
|
||||||
|
const response = await $api(url, {
|
||||||
|
baseURL: repoUrl(),
|
||||||
|
});
|
||||||
|
|
||||||
|
this.localListAutocomplate = response.hits?.hits;
|
||||||
|
this.inputPopupState = 3;
|
||||||
|
} catch (err) {}
|
||||||
|
},
|
||||||
|
|
||||||
|
onKeyDown() {
|
||||||
|
clearTimeout(this.typingTimer);
|
||||||
|
this.typingTimer = undefined;
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* کنترل تایمر تکمیل خودکار و ارسال کوئری.
|
||||||
|
* تایمر فعلی را پاک میکند و یک تایمر جدید با یک تاخیر مشخص تنظیم میکند تا کوئری را ارسال کند.
|
||||||
|
*/
|
||||||
|
toggleAutocomplete(event) {
|
||||||
|
// برای کلید حرکت پایین درخواست اضافی نرود
|
||||||
|
if (
|
||||||
|
event.keyCode === 40 ||
|
||||||
|
event.keyCode === 38 ||
|
||||||
|
event.keyCode === 13
|
||||||
|
) {
|
||||||
|
this.isLastKeyCodeArrow = event.keyCode === 40 || event.keyCode === 38;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.isLastKeyCodeArrow = false;
|
||||||
|
|
||||||
|
if (!this.inputfocused && this.inputPopupState === 3) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.typingTimer) {
|
||||||
|
clearTimeout(this.typingTimer);
|
||||||
|
this.typingTimer = undefined;
|
||||||
|
} else {
|
||||||
|
this.typingTimer = setTimeout(() => {
|
||||||
|
this.getAutoComplateList();
|
||||||
|
this.typingTimer = undefined;
|
||||||
|
}, this.doneTypingInterval);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
setInputFocus() {
|
||||||
|
this.inputfocused = true;
|
||||||
|
// this.inputPopupfocused=false
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* شروع جستجو را کنترل میکند.
|
||||||
|
* @event prevSearchStart
|
||||||
|
*/
|
||||||
|
prevSearchStart(event) {
|
||||||
|
if (
|
||||||
|
this.isLastKeyCodeArrow &&
|
||||||
|
event.keyCode === 13 &&
|
||||||
|
this.inputPopupState != 0
|
||||||
|
) {
|
||||||
|
this.selectAutocomplate2();
|
||||||
|
this.isLastKeyCodeArrow = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.tagLiSelected = null;
|
||||||
|
this.inputPopupState = 0;
|
||||||
|
this.addHistorySearch(this.localTextSearch);
|
||||||
|
|
||||||
|
let tt = myEncodeQuery(this.localTextSearch);
|
||||||
|
this.$emit("onSearchStart", tt);
|
||||||
|
// this.searchStart(tt);
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
*نمایش سابقه جستجو.
|
||||||
|
*/
|
||||||
|
showHisory() {
|
||||||
|
setTimeout(() => {
|
||||||
|
if (this.localTextSearch == "") this.inputPopupState = 1;
|
||||||
|
else {
|
||||||
|
this.inputPopupState = 0;
|
||||||
|
this.tagLiSelected = null;
|
||||||
|
}
|
||||||
|
}, 100);
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* کنترل کلیکهای خارج از المان.
|
||||||
|
*/
|
||||||
|
keyupdiv(event) {
|
||||||
|
// 13:enter
|
||||||
|
// 8:backspace
|
||||||
|
if (this.inputfocused == false) return;
|
||||||
|
if (this.inputPopupState == 0 || this.inputPopupState == 2) return;
|
||||||
|
var el = "";
|
||||||
|
el =
|
||||||
|
this.inputPopupState == 1
|
||||||
|
? this.$refs["his_ul"]
|
||||||
|
: this.$refs["auto_complate_ul"];
|
||||||
|
|
||||||
|
if (!el || !el.firstChild) return;
|
||||||
|
|
||||||
|
const selectItem = (item) => {
|
||||||
|
this.tagLiSelected = item;
|
||||||
|
this.tagLiSelected?.classList.add("selected");
|
||||||
|
this.tagLiSelected?.focus();
|
||||||
|
};
|
||||||
|
|
||||||
|
// 40: arrow down
|
||||||
|
// 38: arrow up
|
||||||
|
if (this.inputfocused == true && event.keyCode === 40) {
|
||||||
|
if (this.tagLiSelected) {
|
||||||
|
this.tagLiSelected?.classList.remove("selected");
|
||||||
|
const next = this.tagLiSelected?.nextSibling || el.firstChild;
|
||||||
|
selectItem(next);
|
||||||
|
} else {
|
||||||
|
selectItem(el?.firstChild);
|
||||||
|
}
|
||||||
|
} else if (this.inputfocused == true && event.keyCode === 38) {
|
||||||
|
if (this.tagLiSelected) {
|
||||||
|
this.tagLiSelected?.classList.remove("selected");
|
||||||
|
const prev = this.tagLiSelected?.previousSibling || el.lastChild;
|
||||||
|
selectItem(prev);
|
||||||
|
} else {
|
||||||
|
selectItem(el?.lastChild);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 46: delete
|
||||||
|
else if (this.inputfocused == true && event.keyCode === 46) {
|
||||||
|
let index = this.tagLiSelected?.getAttribute("data-key");
|
||||||
|
|
||||||
|
this.removeHistorySearch(index);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onClickOutside() {
|
||||||
|
if (this.inputPopupState == 1 || this.inputPopupState == 3) {
|
||||||
|
this.inputPopupState = 0;
|
||||||
|
this.tagLiSelected = null;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
selectAutocomplate(item) {
|
||||||
|
this.tagLiSelected = null;
|
||||||
|
this.inputPopupState = 0;
|
||||||
|
this.localTextSearch = item;
|
||||||
|
|
||||||
|
this.$emit("onSearchStart", this.localTextSearch);
|
||||||
|
// this.$emit("onSearchStart", {
|
||||||
|
// textSearch: this.localTextSearch,
|
||||||
|
// searchItem: item,
|
||||||
|
// });
|
||||||
|
},
|
||||||
|
|
||||||
|
selectHistorySearch(item) {
|
||||||
|
this.localTextSearch = item;
|
||||||
|
this.$emit("onSearchStart", this.localTextSearch);
|
||||||
|
},
|
||||||
|
|
||||||
|
removeHistorySearch(x) {
|
||||||
|
this.tagLiSelected = null;
|
||||||
|
this.historySearch.splice(x, 1);
|
||||||
|
this.saveHistorySearch();
|
||||||
|
},
|
||||||
|
saveHistorySearch() {
|
||||||
|
const parsed = JSON.stringify(this.historySearch);
|
||||||
|
window.localStorage.setItem([this.historySearchRecent], parsed);
|
||||||
|
},
|
||||||
|
getHighlightAutocomplate(item) {
|
||||||
|
if (!item) return "";
|
||||||
|
|
||||||
|
let html = "";
|
||||||
|
|
||||||
|
let key = "title";
|
||||||
|
if (this.contentKey == "qasection" || this.contentKey == "rgsection") {
|
||||||
|
key = "qanon_title";
|
||||||
|
if (item?.highlight[key]) html = item.highlight[key][0];
|
||||||
|
if (!html) {
|
||||||
|
let key1 = key + ".ph";
|
||||||
|
if (item?.highlight[key1]) html = item.highlight[key1][0];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!html) {
|
||||||
|
let key1 = key + ".fa";
|
||||||
|
if (item?.highlight[key1]) html = item.highlight[key1][0];
|
||||||
|
}
|
||||||
|
|
||||||
|
let key2 = "ts_date";
|
||||||
|
if (item?._source[key2]) {
|
||||||
|
html += `<span style="color: #a7a098;"> - تاریخ: ${item._source[key2]}</span>`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.contentKey == "sanad") {
|
||||||
|
Object.values(item?.highlight).forEach((element, index) => {
|
||||||
|
html += element[0];
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return html;
|
||||||
|
},
|
||||||
|
|
||||||
|
addHistorySearch(newSearch = "") {
|
||||||
|
if (newSearch == "") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var index = this.historySearch.indexOf(newSearch);
|
||||||
|
if (index != -1) {
|
||||||
|
this.historySearch.splice(index, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.historySearch.unshift(newSearch);
|
||||||
|
this.saveHistorySearch();
|
||||||
|
},
|
||||||
|
saveHistorySearch() {
|
||||||
|
const parsed = JSON.stringify(this.historySearch);
|
||||||
|
window.localStorage.setItem([this.historySearchRecent], parsed);
|
||||||
|
},
|
||||||
|
|
||||||
|
selectAutocomplate2(item) {
|
||||||
|
if (!item) {
|
||||||
|
if (this.localListAutocomplate.length) {
|
||||||
|
item = this.localListAutocomplate[this.tagLiSelected?.value];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let key = "title";
|
||||||
|
if (this.contentKey == "qasection" || this.contentKey == "rgsection")
|
||||||
|
key = "qanon_title";
|
||||||
|
|
||||||
|
this.inputfocused = false;
|
||||||
|
this.searchinput?.blur();
|
||||||
|
this.localTextSearch = item?._source[key];
|
||||||
|
|
||||||
|
this.$emit("onSearchStart", this.localTextSearch);
|
||||||
|
// this.$emit("onSearchStart", {
|
||||||
|
// textSearch: this.localTextSearch,
|
||||||
|
// searchItem: item,
|
||||||
|
// });
|
||||||
|
|
||||||
|
if (!item) {
|
||||||
|
this.localTextSearch = this.tagLiSelected?.innerText;
|
||||||
|
this.addHistorySearch(this.localTextSearch);
|
||||||
|
|
||||||
|
let tt = myEncodeQuery(this.localTextSearch);
|
||||||
|
|
||||||
|
this.$emit("onSearchStart", tt);
|
||||||
|
// this.$emit("onSearchStart", { textSearch: tt, searchItem: item });
|
||||||
|
}
|
||||||
|
|
||||||
|
this.inputPopupState = 0;
|
||||||
|
this.tagLiSelected = null;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.entityTheme {
|
||||||
|
.btn {
|
||||||
|
border-radius: 0.5rem 0 0 0.5rem !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.close {
|
||||||
|
svg {
|
||||||
|
font-size: 0.5em;
|
||||||
|
&:hover {
|
||||||
|
color: #ef4444 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.search-page__result.show {
|
||||||
|
border-radius: 0.5em !important;
|
||||||
|
}
|
||||||
|
.input-group-text {
|
||||||
|
background-color: #fff !important;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -403,10 +403,9 @@ import favoriteApi from "~/apis/favoriteApi";
|
||||||
import researchApi from "~/apis/researchApi";
|
import researchApi from "~/apis/researchApi";
|
||||||
|
|
||||||
import { mapState, mapActions } from "pinia";
|
import { mapState, mapActions } from "pinia";
|
||||||
|
|
||||||
import { useResearchStore } from "~/stores/researchStore";
|
|
||||||
import { useSearchStore } from "~/stores/searchStore";
|
import { useSearchStore } from "~/stores/searchStore";
|
||||||
import { useEntityStore } from "~/stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
|
import { useAuthStore } from "~/stores/authStore";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
|
@ -477,8 +476,8 @@ export default {
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapState(useResearchStore, ["searchActiveTabGetter"]),
|
|
||||||
...mapState(useSearchStore, ["searchActiveTabGetter"]),
|
...mapState(useSearchStore, ["searchActiveTabGetter"]),
|
||||||
|
...mapState(useAuthStore, ["isRealUser"]),
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapActions(useEntityStore, ["SET_ITEM_ENTITY", "SET_LIST_ENTITY"]),
|
...mapActions(useEntityStore, ["SET_ITEM_ENTITY", "SET_LIST_ENTITY"]),
|
||||||
|
@ -814,7 +813,7 @@ export default {
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
lineContent: defineAsyncComponent(() =>
|
lineContent: defineAsyncComponent(() =>
|
||||||
import("~/components/search/view/lineContent.vue")
|
import("@search/components/search/view/lineContent.vue")
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
|
@ -187,8 +187,8 @@ import { mapState, mapActions } from "pinia";
|
||||||
|
|
||||||
import { useSearchStore } from "~/stores/searchStore";
|
import { useSearchStore } from "~/stores/searchStore";
|
||||||
import { useCommonStore } from "~/stores/commonStore";
|
import { useCommonStore } from "~/stores/commonStore";
|
||||||
import { useEntityStore } from "~/stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
import { useListStore } from "~/stores/listStore";
|
import { useSearchStore } from "@search/stores/searchStore";
|
||||||
|
|
||||||
import apis from "~/apis/listApi";
|
import apis from "~/apis/listApi";
|
||||||
import searchApis from "~/apis/searchApi";
|
import searchApis from "~/apis/searchApi";
|
||||||
|
@ -287,28 +287,26 @@ export default {
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
...mapState(useCommonStore, ["getPanelStatus", "isSidebarCollapsed"]),
|
||||||
...mapState(useSearchStore, [
|
...mapState(useSearchStore, [
|
||||||
"searchListSchemaGetter",
|
"searchListSchemaGetter",
|
||||||
"searchListActiveSchemaGetter",
|
"searchListActiveSchemaGetter",
|
||||||
"searchListActiveTabGetter",
|
"searchListActiveTabGetter",
|
||||||
]),
|
|
||||||
...mapState(useCommonStore, ["getPanelStatus", "isSidebarCollapsed"]),
|
|
||||||
...mapState(useListStore, [
|
|
||||||
"selectedProjectGetter",
|
"selectedProjectGetter",
|
||||||
"selectedItemGetter",
|
"selectedItemGetter",
|
||||||
"isReturnFromItemshowPageGetter",
|
"isReturnFromItemshowPageGetter",
|
||||||
]),
|
]),
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapActions(useCommonStore, ["TOGGLE_PANEL"]),
|
...mapActions(useCommonStore, ["TOGGLE_PANEL","checkPermissions"]),
|
||||||
...mapActions(useListStore, [
|
...mapActions(useSearchStore, [
|
||||||
"SET_SELECTED_PROJECT",
|
"SET_SELECTED_PROJECT",
|
||||||
"SET_LIST_ID",
|
"SET_LIST_ID",
|
||||||
"SET_LIST",
|
"SET_LIST",
|
||||||
"SET_SELECTED_ITEM",
|
"SET_SELECTED_ITEM",
|
||||||
"SET_CHART_DATA",
|
"SET_CHART_DATA",
|
||||||
]),
|
]),
|
||||||
...mapActions(useCommonStore, ["checkPermissions"]),
|
|
||||||
clearSearchAndGetList() {
|
clearSearchAndGetList() {
|
||||||
this.searchText = "";
|
this.searchText = "";
|
||||||
this.groups = [];
|
this.groups = [];
|
||||||
|
|
|
@ -176,7 +176,7 @@
|
||||||
import apis from "~/apis/listApi";
|
import apis from "~/apis/listApi";
|
||||||
import { mapState, mapActions } from "pinia";
|
import { mapState, mapActions } from "pinia";
|
||||||
import { useAuthStore } from "~/stores/authStore";
|
import { useAuthStore } from "~/stores/authStore";
|
||||||
import { useListStore } from "~/stores/listStore";
|
import { useSearchStore } from "@search/stores/searchStore";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
|
@ -263,11 +263,11 @@ export default {
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapState(useAuthStore, ["isGuest"]),
|
...mapState(useAuthStore, ["isGuest"]),
|
||||||
...mapState(useListStore, ["selectedProjectGetter", "selectedItemGetter"]),
|
...mapState(useSearchStore, ["selectedProjectGetter", "selectedItemGetter"]),
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
...mapActions(useListStore, ["SET_SELECTED_PROJECT"]),
|
...mapActions(useSearchStore, ["SET_SELECTED_PROJECT"]),
|
||||||
|
|
||||||
pageChanged({ pageNumber, limit }) {
|
pageChanged({ pageNumber, limit }) {
|
||||||
let page = paging.pageNumber;
|
let page = paging.pageNumber;
|
||||||
|
|
|
@ -89,9 +89,6 @@ import { mapState, mapActions } from "pinia";
|
||||||
import listApis from "~/apis/listApi";
|
import listApis from "~/apis/listApi";
|
||||||
|
|
||||||
import { useSearchStore } from "~/stores/searchStore";
|
import { useSearchStore } from "~/stores/searchStore";
|
||||||
// import { useCommonStore } from "~/stores/commonStore";
|
|
||||||
// import { useEntityStore } from "~/stores/entityStore";
|
|
||||||
import { useListStore } from "~/stores/listStore";
|
|
||||||
|
|
||||||
// import { VueTreeList, Tree, TreeNode } from "vue-tree-list";
|
// import { VueTreeList, Tree, TreeNode } from "vue-tree-list";
|
||||||
|
|
||||||
|
@ -133,6 +130,8 @@ export default {
|
||||||
// },
|
// },
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
this.httpService = useNuxtApp()["$http"];
|
||||||
|
|
||||||
// فهرست های تنقیح
|
// فهرست های تنقیح
|
||||||
if (
|
if (
|
||||||
this.searchListActiveTabGetter?.items &&
|
this.searchListActiveTabGetter?.items &&
|
||||||
|
@ -152,6 +151,7 @@ export default {
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
httpService: undefined,
|
||||||
mainList: "",
|
mainList: "",
|
||||||
listSelect: [],
|
listSelect: [],
|
||||||
filterUrl: "",
|
filterUrl: "",
|
||||||
|
@ -205,7 +205,7 @@ export default {
|
||||||
// },
|
// },
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapActions(useListStore, ["SET_SELECTED_PROJECT"]),
|
...mapActions(useSearchStore, ["SET_SELECTED_PROJECT"]),
|
||||||
callShowCategory() {
|
callShowCategory() {
|
||||||
let newVal = !this.showCategory;
|
let newVal = !this.showCategory;
|
||||||
this.$emit("show-category", newVal);
|
this.$emit("show-category", newVal);
|
||||||
|
@ -282,7 +282,10 @@ export default {
|
||||||
|
|
||||||
this.mainList = res.data;
|
this.mainList = res.data;
|
||||||
this.treeItems = this.ConvertDataToTree(this.mainList);
|
this.treeItems = this.ConvertDataToTree(this.mainList);
|
||||||
this.clickItem(this.treeItems[0]);
|
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.clickItem(this.treeItems[0]);
|
||||||
|
});
|
||||||
} catch (err) {}
|
} catch (err) {}
|
||||||
},
|
},
|
||||||
async getListURl(url) {
|
async getListURl(url) {
|
||||||
|
@ -294,12 +297,7 @@ export default {
|
||||||
// url = url.replace("{{sortby}}", sortby);
|
// url = url.replace("{{sortby}}", sortby);
|
||||||
// url = url.replace("{{sortorder}}", sortorder);
|
// url = url.replace("{{sortorder}}", sortorder);
|
||||||
|
|
||||||
try {
|
this.httpService.getRequest(url).then((res) => {
|
||||||
const { $api } = useNuxtApp();
|
|
||||||
const res = await $api(url, {
|
|
||||||
baseURL: baseUrl(),
|
|
||||||
});
|
|
||||||
|
|
||||||
if (res?.aggregations?.result) {
|
if (res?.aggregations?.result) {
|
||||||
var lists = [];
|
var lists = [];
|
||||||
res.aggregations.result.buckets.forEach((element) => {
|
res.aggregations.result.buckets.forEach((element) => {
|
||||||
|
@ -313,9 +311,12 @@ export default {
|
||||||
});
|
});
|
||||||
this.mainList = lists;
|
this.mainList = lists;
|
||||||
this.treeItems = this.ConvertDataToTree(this.mainList);
|
this.treeItems = this.ConvertDataToTree(this.mainList);
|
||||||
this.clickItem(this.treeItems[0]);
|
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.clickItem(this.treeItems[0]);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
} catch (err) {}
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
async clickItem(event) {
|
async clickItem(event) {
|
||||||
|
@ -324,7 +325,10 @@ export default {
|
||||||
if (element?.children.length == 0) {
|
if (element?.children.length == 0) {
|
||||||
this.getChildren(element).then((res) => {
|
this.getChildren(element).then((res) => {
|
||||||
element.children = res;
|
element.children = res;
|
||||||
this.$refs.treelist.updateChildren(element, element.children);
|
|
||||||
|
if (this.$refs?.treelist)
|
||||||
|
this.$refs.treelist.updateChildren(element, element.children);
|
||||||
|
|
||||||
element.expanded = true;
|
element.expanded = true;
|
||||||
|
|
||||||
this.addFilter(
|
this.addFilter(
|
||||||
|
@ -379,8 +383,8 @@ export default {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
});
|
});
|
||||||
|
|
||||||
let children = this.ConvertDataToTree(res.data, element.id, element);
|
let children = this.ConvertDataToTree(res.data, element.id, element);
|
||||||
return children;
|
return children;
|
||||||
} catch (err) {}
|
} catch (err) {}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -487,6 +491,11 @@ export default {
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
components: {
|
||||||
|
MyVueTreeList: defineAsyncComponent(() =>
|
||||||
|
import("@components/other/MyVueTreeList.vue")
|
||||||
|
),
|
||||||
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
|
|
@ -128,7 +128,7 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapState, mapActions } from "pinia";
|
import { mapState, mapActions } from "pinia";
|
||||||
import { useEntityStore } from "~/stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
import { useSearchStore } from "~/stores/searchStore";
|
import { useSearchStore } from "~/stores/searchStore";
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -473,6 +473,11 @@ export default {
|
||||||
else return item.doc_count;
|
else return item.doc_count;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
components: {
|
||||||
|
SearchFilter: defineAsyncComponent(() =>
|
||||||
|
import("@search/components/search/SearchFilter.vue")
|
||||||
|
),
|
||||||
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapActions } from "pinia";
|
import { mapActions } from "pinia";
|
||||||
import { useEntityStore } from "~/stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
|
|
34
json/search/json/chart.json
Normal file
34
json/search/json/chart.json
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"chartName": "گاه شمار ",
|
||||||
|
"chartkey": "time-line",
|
||||||
|
"componentName":"MyTimeLine",
|
||||||
|
"items": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chartName": "دایره ای",
|
||||||
|
"chartkey": "pie-chart",
|
||||||
|
"componentName":"HiChartPie"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chartName": " میله ای",
|
||||||
|
"chartkey": "xy-chart",
|
||||||
|
"componentName":"HiChartXy"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chartName": "نقشه جامع",
|
||||||
|
"chartkey": "Large-tree-map",
|
||||||
|
"componentName":"largeTreeMapChart"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chartName": "نمودار درختی",
|
||||||
|
"chartkey": "tree-graph",
|
||||||
|
"componentName":"HiChartTreegraph"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"chartName": "گانت",
|
||||||
|
"chartkey": "gantt-graph",
|
||||||
|
"componentName":"Gantt"
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
90
json/search/json/comprisonEntity.json
Normal file
90
json/search/json/comprisonEntity.json
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"title": "عناوین اصلی",
|
||||||
|
"key": "title_main",
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "عنوان",
|
||||||
|
"key": "title",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "دوره",
|
||||||
|
"key": "branch",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "جلسه",
|
||||||
|
"key": "meet_no",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "صاحب اثر",
|
||||||
|
"key": "author",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "تاریخ",
|
||||||
|
"key": "begin_date",
|
||||||
|
"type": "date"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "کد داخلی",
|
||||||
|
"key": "meet_lid",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "نوع",
|
||||||
|
"key": "format",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "متن اصلی",
|
||||||
|
"key": "content",
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "متن اصلی",
|
||||||
|
"key": "content",
|
||||||
|
"type": "text"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "عناوین فرعی",
|
||||||
|
"key": "title_sub",
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"title": "عنوان موضوعی",
|
||||||
|
"key": "subtitle",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "پیوند",
|
||||||
|
"key": "link",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "شهر",
|
||||||
|
"key": "city",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "مکان",
|
||||||
|
"key": "place",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "نشانی",
|
||||||
|
"key": "address",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "تاریخ پایان",
|
||||||
|
"key": "end_date",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
852
json/search/json/largeTreeMap.json
Normal file
852
json/search/json/largeTreeMap.json
Normal file
|
@ -0,0 +1,852 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"Eastern Mediterranean": {
|
||||||
|
"Afghanistan": {
|
||||||
|
"Communicable & other Group I": 102.5,
|
||||||
|
"Injuries": 47,
|
||||||
|
"Noncommunicable diseases": 110.4
|
||||||
|
},
|
||||||
|
"Bahrain": {
|
||||||
|
"Communicable & other Group I": 0.2,
|
||||||
|
"Injuries": 0.3,
|
||||||
|
"Noncommunicable diseases": 2.7
|
||||||
|
},
|
||||||
|
"Djibouti": {
|
||||||
|
"Communicable & other Group I": 3.4,
|
||||||
|
"Injuries": 0.7,
|
||||||
|
"Noncommunicable diseases": 3.1
|
||||||
|
},
|
||||||
|
"Egypt": {
|
||||||
|
"Communicable & other Group I": 63.5,
|
||||||
|
"Injuries": 31.6,
|
||||||
|
"Noncommunicable diseases": 476.3
|
||||||
|
},
|
||||||
|
"Iran (Islamic Republic of)": {
|
||||||
|
"Communicable & other Group I": 30.6,
|
||||||
|
"Injuries": 39.8,
|
||||||
|
"Noncommunicable diseases": 291.5
|
||||||
|
},
|
||||||
|
"Iraq": {
|
||||||
|
"Communicable & other Group I": 33,
|
||||||
|
"Injuries": 56.9,
|
||||||
|
"Noncommunicable diseases": 104.6
|
||||||
|
},
|
||||||
|
"Jordan": {
|
||||||
|
"Communicable & other Group I": 3.4,
|
||||||
|
"Injuries": 3.1,
|
||||||
|
"Noncommunicable diseases": 22.6
|
||||||
|
},
|
||||||
|
"Kuwait": {
|
||||||
|
"Communicable & other Group I": 0.9,
|
||||||
|
"Injuries": 1.3,
|
||||||
|
"Noncommunicable diseases": 7.4
|
||||||
|
},
|
||||||
|
"Lebanon": {
|
||||||
|
"Communicable & other Group I": 1.3,
|
||||||
|
"Injuries": 2.8,
|
||||||
|
"Noncommunicable diseases": 32.4
|
||||||
|
},
|
||||||
|
"Libyan Arab Jamahiriya": {
|
||||||
|
"Communicable & other Group I": 3,
|
||||||
|
"Injuries": 4.7,
|
||||||
|
"Noncommunicable diseases": 24.4
|
||||||
|
},
|
||||||
|
"Morocco": {
|
||||||
|
"Communicable & other Group I": 29.9,
|
||||||
|
"Injuries": 13.3,
|
||||||
|
"Noncommunicable diseases": 151.3
|
||||||
|
},
|
||||||
|
"Oman": {
|
||||||
|
"Communicable & other Group I": 1.5,
|
||||||
|
"Injuries": 2.1,
|
||||||
|
"Noncommunicable diseases": 8.4
|
||||||
|
},
|
||||||
|
"Pakistan": {
|
||||||
|
"Communicable & other Group I": 477.3,
|
||||||
|
"Injuries": 118.5,
|
||||||
|
"Noncommunicable diseases": 775
|
||||||
|
},
|
||||||
|
"Qatar": {
|
||||||
|
"Communicable & other Group I": 0.2,
|
||||||
|
"Injuries": 0.9,
|
||||||
|
"Noncommunicable diseases": 2.2
|
||||||
|
},
|
||||||
|
"Saudi Arabia": {
|
||||||
|
"Communicable & other Group I": 12.8,
|
||||||
|
"Injuries": 17.1,
|
||||||
|
"Noncommunicable diseases": 76.4
|
||||||
|
},
|
||||||
|
"Somalia": {
|
||||||
|
"Communicable & other Group I": 93.4,
|
||||||
|
"Injuries": 13.4,
|
||||||
|
"Noncommunicable diseases": 29.8
|
||||||
|
},
|
||||||
|
"South Sudan": {
|
||||||
|
"Communicable & other Group I": 79.9,
|
||||||
|
"Injuries": 14.7,
|
||||||
|
"Noncommunicable diseases": 35.9
|
||||||
|
},
|
||||||
|
"Sudan": {
|
||||||
|
"Communicable & other Group I": 109,
|
||||||
|
"Injuries": 40.3,
|
||||||
|
"Noncommunicable diseases": 151
|
||||||
|
},
|
||||||
|
"Syrian Arab Republic": {
|
||||||
|
"Communicable & other Group I": 7.8,
|
||||||
|
"Injuries": 68.1,
|
||||||
|
"Noncommunicable diseases": 68.9
|
||||||
|
},
|
||||||
|
"Tunisia": {
|
||||||
|
"Communicable & other Group I": 6.1,
|
||||||
|
"Injuries": 5.1,
|
||||||
|
"Noncommunicable diseases": 62.1
|
||||||
|
},
|
||||||
|
"United Arab Emirates": {
|
||||||
|
"Communicable & other Group I": 1,
|
||||||
|
"Injuries": 2.5,
|
||||||
|
"Noncommunicable diseases": 11.6
|
||||||
|
},
|
||||||
|
"Yemen": {
|
||||||
|
"Communicable & other Group I": 39.9,
|
||||||
|
"Injuries": 23.2,
|
||||||
|
"Noncommunicable diseases": 97.6
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Europe": {
|
||||||
|
"Albania": {
|
||||||
|
"Communicable & other Group I": 0.8,
|
||||||
|
"Injuries": 0.9,
|
||||||
|
"Noncommunicable diseases": 20.2
|
||||||
|
},
|
||||||
|
"Armenia": {
|
||||||
|
"Communicable & other Group I": 0.9,
|
||||||
|
"Injuries": 1.1,
|
||||||
|
"Noncommunicable diseases": 27.4
|
||||||
|
},
|
||||||
|
"Austria": {
|
||||||
|
"Communicable & other Group I": 1.5,
|
||||||
|
"Injuries": 4.5,
|
||||||
|
"Noncommunicable diseases": 72.9
|
||||||
|
},
|
||||||
|
"Azerbaijan": {
|
||||||
|
"Communicable & other Group I": 6.5,
|
||||||
|
"Injuries": 3.1,
|
||||||
|
"Noncommunicable diseases": 57.9
|
||||||
|
},
|
||||||
|
"Belarus": {
|
||||||
|
"Communicable & other Group I": 3.1,
|
||||||
|
"Injuries": 10.9,
|
||||||
|
"Noncommunicable diseases": 114.9
|
||||||
|
},
|
||||||
|
"Belgium": {
|
||||||
|
"Communicable & other Group I": 8.3,
|
||||||
|
"Injuries": 7.1,
|
||||||
|
"Noncommunicable diseases": 94.3
|
||||||
|
},
|
||||||
|
"Bosnia and Herzegovina": {
|
||||||
|
"Communicable & other Group I": 0.8,
|
||||||
|
"Injuries": 1.7,
|
||||||
|
"Noncommunicable diseases": 37
|
||||||
|
},
|
||||||
|
"Bulgaria": {
|
||||||
|
"Communicable & other Group I": 2.5,
|
||||||
|
"Injuries": 3.2,
|
||||||
|
"Noncommunicable diseases": 101.6
|
||||||
|
},
|
||||||
|
"Croatia": {
|
||||||
|
"Communicable & other Group I": 1.1,
|
||||||
|
"Injuries": 2.8,
|
||||||
|
"Noncommunicable diseases": 50.2
|
||||||
|
},
|
||||||
|
"Cyprus": {
|
||||||
|
"Communicable & other Group I": 0.3,
|
||||||
|
"Injuries": 0.4,
|
||||||
|
"Noncommunicable diseases": 7.4
|
||||||
|
},
|
||||||
|
"Czechia": {
|
||||||
|
"Communicable & other Group I": 5.6,
|
||||||
|
"Injuries": 5.4,
|
||||||
|
"Noncommunicable diseases": 99.9
|
||||||
|
},
|
||||||
|
"Denmark": {
|
||||||
|
"Communicable & other Group I": 3.2,
|
||||||
|
"Injuries": 2,
|
||||||
|
"Noncommunicable diseases": 45
|
||||||
|
},
|
||||||
|
"Estonia": {
|
||||||
|
"Communicable & other Group I": 0.4,
|
||||||
|
"Injuries": 0.7,
|
||||||
|
"Noncommunicable diseases": 13.9
|
||||||
|
},
|
||||||
|
"Finland": {
|
||||||
|
"Communicable & other Group I": 0.7,
|
||||||
|
"Injuries": 3,
|
||||||
|
"Noncommunicable diseases": 48.8
|
||||||
|
},
|
||||||
|
"France": {
|
||||||
|
"Communicable & other Group I": 36,
|
||||||
|
"Injuries": 35.7,
|
||||||
|
"Noncommunicable diseases": 487.1
|
||||||
|
},
|
||||||
|
"Georgia": {
|
||||||
|
"Communicable & other Group I": 1.4,
|
||||||
|
"Injuries": 1.8,
|
||||||
|
"Noncommunicable diseases": 46.2
|
||||||
|
},
|
||||||
|
"Germany": {
|
||||||
|
"Communicable & other Group I": 39.9,
|
||||||
|
"Injuries": 34.8,
|
||||||
|
"Noncommunicable diseases": 800.8
|
||||||
|
},
|
||||||
|
"Greece": {
|
||||||
|
"Communicable & other Group I": 4,
|
||||||
|
"Injuries": 3.3,
|
||||||
|
"Noncommunicable diseases": 113.4
|
||||||
|
},
|
||||||
|
"Hungary": {
|
||||||
|
"Communicable & other Group I": 2.3,
|
||||||
|
"Injuries": 5.6,
|
||||||
|
"Noncommunicable diseases": 116.1
|
||||||
|
},
|
||||||
|
"Iceland": {
|
||||||
|
"Communicable & other Group I": 0.1,
|
||||||
|
"Injuries": 0.1,
|
||||||
|
"Noncommunicable diseases": 1.8
|
||||||
|
},
|
||||||
|
"Ireland": {
|
||||||
|
"Communicable & other Group I": 1.5,
|
||||||
|
"Injuries": 1.4,
|
||||||
|
"Noncommunicable diseases": 27.1
|
||||||
|
},
|
||||||
|
"Israel": {
|
||||||
|
"Communicable & other Group I": 4.1,
|
||||||
|
"Injuries": 1.8,
|
||||||
|
"Noncommunicable diseases": 36.7
|
||||||
|
},
|
||||||
|
"Italy": {
|
||||||
|
"Communicable & other Group I": 28.3,
|
||||||
|
"Injuries": 23.8,
|
||||||
|
"Noncommunicable diseases": 573.3
|
||||||
|
},
|
||||||
|
"Kazakhstan": {
|
||||||
|
"Communicable & other Group I": 11,
|
||||||
|
"Injuries": 16.4,
|
||||||
|
"Noncommunicable diseases": 123.8
|
||||||
|
},
|
||||||
|
"Kyrgyzstan": {
|
||||||
|
"Communicable & other Group I": 3.8,
|
||||||
|
"Injuries": 3.1,
|
||||||
|
"Noncommunicable diseases": 30.5
|
||||||
|
},
|
||||||
|
"Latvia": {
|
||||||
|
"Communicable & other Group I": 0.8,
|
||||||
|
"Injuries": 1.5,
|
||||||
|
"Noncommunicable diseases": 26.6
|
||||||
|
},
|
||||||
|
"Lithuania": {
|
||||||
|
"Communicable & other Group I": 1.4,
|
||||||
|
"Injuries": 2.6,
|
||||||
|
"Noncommunicable diseases": 38
|
||||||
|
},
|
||||||
|
"Luxembourg": {
|
||||||
|
"Communicable & other Group I": 0.2,
|
||||||
|
"Injuries": 0.3,
|
||||||
|
"Noncommunicable diseases": 3.3
|
||||||
|
},
|
||||||
|
"Malta": {
|
||||||
|
"Communicable & other Group I": 0.2,
|
||||||
|
"Injuries": 0.1,
|
||||||
|
"Noncommunicable diseases": 3
|
||||||
|
},
|
||||||
|
"Montenegro": {
|
||||||
|
"Communicable & other Group I": 0.1,
|
||||||
|
"Injuries": 0.2,
|
||||||
|
"Noncommunicable diseases": 6.1
|
||||||
|
},
|
||||||
|
"Netherlands": {
|
||||||
|
"Communicable & other Group I": 8.5,
|
||||||
|
"Injuries": 7.2,
|
||||||
|
"Noncommunicable diseases": 130.8
|
||||||
|
},
|
||||||
|
"Norway": {
|
||||||
|
"Communicable & other Group I": 2.8,
|
||||||
|
"Injuries": 2.3,
|
||||||
|
"Noncommunicable diseases": 35.3
|
||||||
|
},
|
||||||
|
"Poland": {
|
||||||
|
"Communicable & other Group I": 15.1,
|
||||||
|
"Injuries": 22.6,
|
||||||
|
"Noncommunicable diseases": 350.5
|
||||||
|
},
|
||||||
|
"Portugal": {
|
||||||
|
"Communicable & other Group I": 10.4,
|
||||||
|
"Injuries": 4.4,
|
||||||
|
"Noncommunicable diseases": 90.3
|
||||||
|
},
|
||||||
|
"Republic of Moldova": {
|
||||||
|
"Communicable & other Group I": 1.9,
|
||||||
|
"Injuries": 2.3,
|
||||||
|
"Noncommunicable diseases": 39.9
|
||||||
|
},
|
||||||
|
"Romania": {
|
||||||
|
"Communicable & other Group I": 10.8,
|
||||||
|
"Injuries": 8.7,
|
||||||
|
"Noncommunicable diseases": 241.2
|
||||||
|
},
|
||||||
|
"Russian Federation": {
|
||||||
|
"Communicable & other Group I": 120.9,
|
||||||
|
"Injuries": 159.3,
|
||||||
|
"Noncommunicable diseases": 1719
|
||||||
|
},
|
||||||
|
"Serbia": {
|
||||||
|
"Communicable & other Group I": 2.5,
|
||||||
|
"Injuries": 3.4,
|
||||||
|
"Noncommunicable diseases": 99.9
|
||||||
|
},
|
||||||
|
"Slovakia": {
|
||||||
|
"Communicable & other Group I": 2.4,
|
||||||
|
"Injuries": 3,
|
||||||
|
"Noncommunicable diseases": 45.3
|
||||||
|
},
|
||||||
|
"Slovenia": {
|
||||||
|
"Communicable & other Group I": 1,
|
||||||
|
"Injuries": 1.4,
|
||||||
|
"Noncommunicable diseases": 17.5
|
||||||
|
},
|
||||||
|
"Spain": {
|
||||||
|
"Communicable & other Group I": 18.4,
|
||||||
|
"Injuries": 14.1,
|
||||||
|
"Noncommunicable diseases": 363.9
|
||||||
|
},
|
||||||
|
"Sweden": {
|
||||||
|
"Communicable & other Group I": 5.3,
|
||||||
|
"Injuries": 4.6,
|
||||||
|
"Noncommunicable diseases": 80.9
|
||||||
|
},
|
||||||
|
"Switzerland": {
|
||||||
|
"Communicable & other Group I": 2.7,
|
||||||
|
"Injuries": 4,
|
||||||
|
"Noncommunicable diseases": 58.5
|
||||||
|
},
|
||||||
|
"Tajikistan": {
|
||||||
|
"Communicable & other Group I": 12.2,
|
||||||
|
"Injuries": 4.4,
|
||||||
|
"Noncommunicable diseases": 29.8
|
||||||
|
},
|
||||||
|
"The former Yugoslav Republic of Macedonia": {
|
||||||
|
"Communicable & other Group I": 0.3,
|
||||||
|
"Injuries": 0.6,
|
||||||
|
"Noncommunicable diseases": 19.2
|
||||||
|
},
|
||||||
|
"Turkey": {
|
||||||
|
"Communicable & other Group I": 24.7,
|
||||||
|
"Injuries": 29.7,
|
||||||
|
"Noncommunicable diseases": 392.8
|
||||||
|
},
|
||||||
|
"Turkmenistan": {
|
||||||
|
"Communicable & other Group I": 5.5,
|
||||||
|
"Injuries": 3.1,
|
||||||
|
"Noncommunicable diseases": 32
|
||||||
|
},
|
||||||
|
"Ukraine": {
|
||||||
|
"Communicable & other Group I": 25.1,
|
||||||
|
"Injuries": 43.3,
|
||||||
|
"Noncommunicable diseases": 605.1
|
||||||
|
},
|
||||||
|
"United Kingdom": {
|
||||||
|
"Communicable & other Group I": 40,
|
||||||
|
"Injuries": 19.5,
|
||||||
|
"Noncommunicable diseases": 513.1
|
||||||
|
},
|
||||||
|
"Uzbekistan": {
|
||||||
|
"Communicable & other Group I": 27.7,
|
||||||
|
"Injuries": 13.2,
|
||||||
|
"Noncommunicable diseases": 149
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Africa": {
|
||||||
|
"Algeria": {
|
||||||
|
"Communicable & other Group I": 31.5,
|
||||||
|
"Injuries": 19.8,
|
||||||
|
"Noncommunicable diseases": 144.6
|
||||||
|
},
|
||||||
|
"Angola": {
|
||||||
|
"Communicable & other Group I": 210.9,
|
||||||
|
"Injuries": 36.6,
|
||||||
|
"Noncommunicable diseases": 93.9
|
||||||
|
},
|
||||||
|
"Benin": {
|
||||||
|
"Communicable & other Group I": 51.6,
|
||||||
|
"Injuries": 10.3,
|
||||||
|
"Noncommunicable diseases": 36.8
|
||||||
|
},
|
||||||
|
"Botswana": {
|
||||||
|
"Communicable & other Group I": 7.8,
|
||||||
|
"Injuries": 1.3,
|
||||||
|
"Noncommunicable diseases": 6.7
|
||||||
|
},
|
||||||
|
"Burkina Faso": {
|
||||||
|
"Communicable & other Group I": 87.5,
|
||||||
|
"Injuries": 18.3,
|
||||||
|
"Noncommunicable diseases": 51.6
|
||||||
|
},
|
||||||
|
"Burundi": {
|
||||||
|
"Communicable & other Group I": 59.4,
|
||||||
|
"Injuries": 12.6,
|
||||||
|
"Noncommunicable diseases": 32.5
|
||||||
|
},
|
||||||
|
"Cameroon": {
|
||||||
|
"Communicable & other Group I": 134.2,
|
||||||
|
"Injuries": 25.1,
|
||||||
|
"Noncommunicable diseases": 83.9
|
||||||
|
},
|
||||||
|
"Cape Verde": {
|
||||||
|
"Communicable & other Group I": 0.6,
|
||||||
|
"Injuries": 0.3,
|
||||||
|
"Noncommunicable diseases": 1.9
|
||||||
|
},
|
||||||
|
"Central African Republic": {
|
||||||
|
"Communicable & other Group I": 40.4,
|
||||||
|
"Injuries": 6.9,
|
||||||
|
"Noncommunicable diseases": 19.9
|
||||||
|
},
|
||||||
|
"Chad": {
|
||||||
|
"Communicable & other Group I": 118.8,
|
||||||
|
"Injuries": 17.3,
|
||||||
|
"Noncommunicable diseases": 45
|
||||||
|
},
|
||||||
|
"Comoros": {
|
||||||
|
"Communicable & other Group I": 2.8,
|
||||||
|
"Injuries": 0.7,
|
||||||
|
"Noncommunicable diseases": 2.4
|
||||||
|
},
|
||||||
|
"Congo": {
|
||||||
|
"Communicable & other Group I": 18.6,
|
||||||
|
"Injuries": 3.5,
|
||||||
|
"Noncommunicable diseases": 12.8
|
||||||
|
},
|
||||||
|
"Côte d'Ivoire": {
|
||||||
|
"Communicable & other Group I": 151.1,
|
||||||
|
"Injuries": 31.4,
|
||||||
|
"Noncommunicable diseases": 102.3
|
||||||
|
},
|
||||||
|
"Democratic Republic of the Congo": {
|
||||||
|
"Communicable & other Group I": 437.5,
|
||||||
|
"Injuries": 79.9,
|
||||||
|
"Noncommunicable diseases": 218
|
||||||
|
},
|
||||||
|
"Equatorial Guinea": {
|
||||||
|
"Communicable & other Group I": 4.4,
|
||||||
|
"Injuries": 0.9,
|
||||||
|
"Noncommunicable diseases": 3.4
|
||||||
|
},
|
||||||
|
"Eritrea": {
|
||||||
|
"Communicable & other Group I": 14.9,
|
||||||
|
"Injuries": 3.8,
|
||||||
|
"Noncommunicable diseases": 13.5
|
||||||
|
},
|
||||||
|
"Ethiopia": {
|
||||||
|
"Communicable & other Group I": 353,
|
||||||
|
"Injuries": 83.5,
|
||||||
|
"Noncommunicable diseases": 284.6
|
||||||
|
},
|
||||||
|
"Gabon": {
|
||||||
|
"Communicable & other Group I": 6.4,
|
||||||
|
"Injuries": 1.2,
|
||||||
|
"Noncommunicable diseases": 6.3
|
||||||
|
},
|
||||||
|
"Gambia": {
|
||||||
|
"Communicable & other Group I": 9,
|
||||||
|
"Injuries": 1.9,
|
||||||
|
"Noncommunicable diseases": 5.4
|
||||||
|
},
|
||||||
|
"Ghana": {
|
||||||
|
"Communicable & other Group I": 105.7,
|
||||||
|
"Injuries": 23.7,
|
||||||
|
"Noncommunicable diseases": 101.6
|
||||||
|
},
|
||||||
|
"Guinea": {
|
||||||
|
"Communicable & other Group I": 72.7,
|
||||||
|
"Injuries": 11.8,
|
||||||
|
"Noncommunicable diseases": 38.8
|
||||||
|
},
|
||||||
|
"Guinea-Bissau": {
|
||||||
|
"Communicable & other Group I": 11.4,
|
||||||
|
"Injuries": 1.7,
|
||||||
|
"Noncommunicable diseases": 5.6
|
||||||
|
},
|
||||||
|
"Kenya": {
|
||||||
|
"Communicable & other Group I": 174.9,
|
||||||
|
"Injuries": 36.3,
|
||||||
|
"Noncommunicable diseases": 106
|
||||||
|
},
|
||||||
|
"Lesotho": {
|
||||||
|
"Communicable & other Group I": 17.5,
|
||||||
|
"Injuries": 2,
|
||||||
|
"Noncommunicable diseases": 7.9
|
||||||
|
},
|
||||||
|
"Liberia": {
|
||||||
|
"Communicable & other Group I": 22.6,
|
||||||
|
"Injuries": 3.9,
|
||||||
|
"Noncommunicable diseases": 11.8
|
||||||
|
},
|
||||||
|
"Madagascar": {
|
||||||
|
"Communicable & other Group I": 74.9,
|
||||||
|
"Injuries": 16.7,
|
||||||
|
"Noncommunicable diseases": 68.3
|
||||||
|
},
|
||||||
|
"Malawi": {
|
||||||
|
"Communicable & other Group I": 92.9,
|
||||||
|
"Injuries": 12.7,
|
||||||
|
"Noncommunicable diseases": 48
|
||||||
|
},
|
||||||
|
"Mali": {
|
||||||
|
"Communicable & other Group I": 107.3,
|
||||||
|
"Injuries": 17.2,
|
||||||
|
"Noncommunicable diseases": 54.7
|
||||||
|
},
|
||||||
|
"Mauritania": {
|
||||||
|
"Communicable & other Group I": 16.5,
|
||||||
|
"Injuries": 3.2,
|
||||||
|
"Noncommunicable diseases": 11.7
|
||||||
|
},
|
||||||
|
"Mauritius": {
|
||||||
|
"Communicable & other Group I": 0.7,
|
||||||
|
"Injuries": 0.5,
|
||||||
|
"Noncommunicable diseases": 8.4
|
||||||
|
},
|
||||||
|
"Mozambique": {
|
||||||
|
"Communicable & other Group I": 170.1,
|
||||||
|
"Injuries": 26.2,
|
||||||
|
"Noncommunicable diseases": 90.8
|
||||||
|
},
|
||||||
|
"Namibia": {
|
||||||
|
"Communicable & other Group I": 8.3,
|
||||||
|
"Injuries": 1.6,
|
||||||
|
"Noncommunicable diseases": 6.7
|
||||||
|
},
|
||||||
|
"Niger": {
|
||||||
|
"Communicable & other Group I": 113.3,
|
||||||
|
"Injuries": 18.1,
|
||||||
|
"Noncommunicable diseases": 46.6
|
||||||
|
},
|
||||||
|
"Nigeria": {
|
||||||
|
"Communicable & other Group I": 1442.7,
|
||||||
|
"Injuries": 190.4,
|
||||||
|
"Noncommunicable diseases": 570.5
|
||||||
|
},
|
||||||
|
"Rwanda": {
|
||||||
|
"Communicable & other Group I": 28.8,
|
||||||
|
"Injuries": 10.7,
|
||||||
|
"Noncommunicable diseases": 31.9
|
||||||
|
},
|
||||||
|
"Sao Tome and Principe": {
|
||||||
|
"Communicable & other Group I": 0.5,
|
||||||
|
"Injuries": 0.1,
|
||||||
|
"Noncommunicable diseases": 0.6
|
||||||
|
},
|
||||||
|
"Senegal": {
|
||||||
|
"Communicable & other Group I": 43.5,
|
||||||
|
"Injuries": 10.9,
|
||||||
|
"Noncommunicable diseases": 37.5
|
||||||
|
},
|
||||||
|
"Seychelles": {
|
||||||
|
"Communicable & other Group I": 0.1,
|
||||||
|
"Injuries": 0.1,
|
||||||
|
"Noncommunicable diseases": 0.6
|
||||||
|
},
|
||||||
|
"Sierra Leone": {
|
||||||
|
"Communicable & other Group I": 54,
|
||||||
|
"Injuries": 9,
|
||||||
|
"Noncommunicable diseases": 28
|
||||||
|
},
|
||||||
|
"South Africa": {
|
||||||
|
"Communicable & other Group I": 234.8,
|
||||||
|
"Injuries": 42.6,
|
||||||
|
"Noncommunicable diseases": 260.6
|
||||||
|
},
|
||||||
|
"Swaziland": {
|
||||||
|
"Communicable & other Group I": 6.2,
|
||||||
|
"Injuries": 1.2,
|
||||||
|
"Noncommunicable diseases": 4.6
|
||||||
|
},
|
||||||
|
"Togo": {
|
||||||
|
"Communicable & other Group I": 33.7,
|
||||||
|
"Injuries": 6.9,
|
||||||
|
"Noncommunicable diseases": 23.5
|
||||||
|
},
|
||||||
|
"Uganda": {
|
||||||
|
"Communicable & other Group I": 154,
|
||||||
|
"Injuries": 36.2,
|
||||||
|
"Noncommunicable diseases": 100.9
|
||||||
|
},
|
||||||
|
"United Republic of Tanzania": {
|
||||||
|
"Communicable & other Group I": 226.3,
|
||||||
|
"Injuries": 46.3,
|
||||||
|
"Noncommunicable diseases": 142.5
|
||||||
|
},
|
||||||
|
"Zambia": {
|
||||||
|
"Communicable & other Group I": 77.8,
|
||||||
|
"Injuries": 12.6,
|
||||||
|
"Noncommunicable diseases": 37.7
|
||||||
|
},
|
||||||
|
"Zimbabwe": {
|
||||||
|
"Communicable & other Group I": 78.1,
|
||||||
|
"Injuries": null,
|
||||||
|
"Noncommunicable diseases": 40.5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"alii": {
|
||||||
|
"Albania": {
|
||||||
|
"Communicable & other Group I": 0.8,
|
||||||
|
"Injuries": 0.9,
|
||||||
|
"Noncommunicable diseases": 20.2
|
||||||
|
},
|
||||||
|
"Armenia": {
|
||||||
|
"Communicable & other Group I": 0.9,
|
||||||
|
"Injuries": 1.1,
|
||||||
|
"Noncommunicable diseases": 27.4
|
||||||
|
},
|
||||||
|
"Austria": {
|
||||||
|
"Communicable & other Group I": 1.5,
|
||||||
|
"Injuries": 4.5,
|
||||||
|
"Noncommunicable diseases": 72.9
|
||||||
|
},
|
||||||
|
"Azerbaijan": {
|
||||||
|
"Communicable & other Group I": 6.5,
|
||||||
|
"Injuries": 3.1,
|
||||||
|
"Noncommunicable diseases": 57.9
|
||||||
|
},
|
||||||
|
"Belarus": {
|
||||||
|
"Communicable & other Group I": 3.1,
|
||||||
|
"Injuries": 10.9,
|
||||||
|
"Noncommunicable diseases": 114.9
|
||||||
|
},
|
||||||
|
"Belgium": {
|
||||||
|
"Communicable & other Group I": 8.3,
|
||||||
|
"Injuries": 7.1,
|
||||||
|
"Noncommunicable diseases": 94.3
|
||||||
|
},
|
||||||
|
"Bosnia and Herzegovina": {
|
||||||
|
"Communicable & other Group I": 0.8,
|
||||||
|
"Injuries": 1.7,
|
||||||
|
"Noncommunicable diseases": 37
|
||||||
|
},
|
||||||
|
"Bulgaria": {
|
||||||
|
"Communicable & other Group I": 2.5,
|
||||||
|
"Injuries": 3.2,
|
||||||
|
"Noncommunicable diseases": 101.6
|
||||||
|
},
|
||||||
|
"Croatia": {
|
||||||
|
"Communicable & other Group I": 1.1,
|
||||||
|
"Injuries": 2.8,
|
||||||
|
"Noncommunicable diseases": 50.2
|
||||||
|
},
|
||||||
|
"Cyprus": {
|
||||||
|
"Communicable & other Group I": 0.3,
|
||||||
|
"Injuries": 0.4,
|
||||||
|
"Noncommunicable diseases": 7.4
|
||||||
|
},
|
||||||
|
"Czechia": {
|
||||||
|
"Communicable & other Group I": 5.6,
|
||||||
|
"Injuries": 5.4,
|
||||||
|
"Noncommunicable diseases": 99.9
|
||||||
|
},
|
||||||
|
"Denmark": {
|
||||||
|
"Communicable & other Group I": 3.2,
|
||||||
|
"Injuries": 2,
|
||||||
|
"Noncommunicable diseases": 45
|
||||||
|
},
|
||||||
|
"Estonia": {
|
||||||
|
"Communicable & other Group I": 0.4,
|
||||||
|
"Injuries": 0.7,
|
||||||
|
"Noncommunicable diseases": 13.9
|
||||||
|
},
|
||||||
|
"Finland": {
|
||||||
|
"Communicable & other Group I": 0.7,
|
||||||
|
"Injuries": 3,
|
||||||
|
"Noncommunicable diseases": 48.8
|
||||||
|
},
|
||||||
|
"France": {
|
||||||
|
"Communicable & other Group I": 36,
|
||||||
|
"Injuries": 35.7,
|
||||||
|
"Noncommunicable diseases": 487.1
|
||||||
|
},
|
||||||
|
"Georgia": {
|
||||||
|
"Communicable & other Group I": 1.4,
|
||||||
|
"Injuries": 1.8,
|
||||||
|
"Noncommunicable diseases": 46.2
|
||||||
|
},
|
||||||
|
"Germany": {
|
||||||
|
"Communicable & other Group I": 39.9,
|
||||||
|
"Injuries": 34.8,
|
||||||
|
"Noncommunicable diseases": 800.8
|
||||||
|
},
|
||||||
|
"Greece": {
|
||||||
|
"Communicable & other Group I": 4,
|
||||||
|
"Injuries": 3.3,
|
||||||
|
"Noncommunicable diseases": 113.4
|
||||||
|
},
|
||||||
|
"Hungary": {
|
||||||
|
"Communicable & other Group I": 2.3,
|
||||||
|
"Injuries": 5.6,
|
||||||
|
"Noncommunicable diseases": 116.1
|
||||||
|
},
|
||||||
|
"Iceland": {
|
||||||
|
"Communicable & other Group I": 0.1,
|
||||||
|
"Injuries": 0.1,
|
||||||
|
"Noncommunicable diseases": 1.8
|
||||||
|
},
|
||||||
|
"Ireland": {
|
||||||
|
"Communicable & other Group I": 1.5,
|
||||||
|
"Injuries": 1.4,
|
||||||
|
"Noncommunicable diseases": 27.1
|
||||||
|
},
|
||||||
|
"Israel": {
|
||||||
|
"Communicable & other Group I": 4.1,
|
||||||
|
"Injuries": 1.8,
|
||||||
|
"Noncommunicable diseases": 36.7
|
||||||
|
},
|
||||||
|
"Italy": {
|
||||||
|
"Communicable & other Group I": 28.3,
|
||||||
|
"Injuries": 23.8,
|
||||||
|
"Noncommunicable diseases": 573.3
|
||||||
|
},
|
||||||
|
"Kazakhstan": {
|
||||||
|
"Communicable & other Group I": 11,
|
||||||
|
"Injuries": 16.4,
|
||||||
|
"Noncommunicable diseases": 123.8
|
||||||
|
},
|
||||||
|
"Kyrgyzstan": {
|
||||||
|
"Communicable & other Group I": 3.8,
|
||||||
|
"Injuries": 3.1,
|
||||||
|
"Noncommunicable diseases": 30.5
|
||||||
|
},
|
||||||
|
"Latvia": {
|
||||||
|
"Communicable & other Group I": 0.8,
|
||||||
|
"Injuries": 1.5,
|
||||||
|
"Noncommunicable diseases": 26.6
|
||||||
|
},
|
||||||
|
"Lithuania": {
|
||||||
|
"Communicable & other Group I": 1.4,
|
||||||
|
"Injuries": 2.6,
|
||||||
|
"Noncommunicable diseases": 38
|
||||||
|
},
|
||||||
|
"Luxembourg": {
|
||||||
|
"Communicable & other Group I": 0.2,
|
||||||
|
"Injuries": 0.3,
|
||||||
|
"Noncommunicable diseases": 3.3
|
||||||
|
},
|
||||||
|
"Malta": {
|
||||||
|
"Communicable & other Group I": 0.2,
|
||||||
|
"Injuries": 0.1,
|
||||||
|
"Noncommunicable diseases": 3
|
||||||
|
},
|
||||||
|
"Montenegro": {
|
||||||
|
"Communicable & other Group I": 0.1,
|
||||||
|
"Injuries": 0.2,
|
||||||
|
"Noncommunicable diseases": 6.1
|
||||||
|
},
|
||||||
|
"Netherlands": {
|
||||||
|
"Communicable & other Group I": 8.5,
|
||||||
|
"Injuries": 7.2,
|
||||||
|
"Noncommunicable diseases": 130.8
|
||||||
|
},
|
||||||
|
"Norway": {
|
||||||
|
"Communicable & other Group I": 2.8,
|
||||||
|
"Injuries": 2.3,
|
||||||
|
"Noncommunicable diseases": 35.3
|
||||||
|
},
|
||||||
|
"Poland": {
|
||||||
|
"Communicable & other Group I": 15.1,
|
||||||
|
"Injuries": 22.6,
|
||||||
|
"Noncommunicable diseases": 350.5
|
||||||
|
},
|
||||||
|
"Portugal": {
|
||||||
|
"Communicable & other Group I": 10.4,
|
||||||
|
"Injuries": 4.4,
|
||||||
|
"Noncommunicable diseases": 90.3
|
||||||
|
},
|
||||||
|
"Republic of Moldova": {
|
||||||
|
"Communicable & other Group I": 1.9,
|
||||||
|
"Injuries": 2.3,
|
||||||
|
"Noncommunicable diseases": 39.9
|
||||||
|
},
|
||||||
|
"Romania": {
|
||||||
|
"Communicable & other Group I": 10.8,
|
||||||
|
"Injuries": 8.7,
|
||||||
|
"Noncommunicable diseases": 241.2
|
||||||
|
},
|
||||||
|
"Russian Federation": {
|
||||||
|
"Communicable & other Group I": 120.9,
|
||||||
|
"Injuries": 159.3,
|
||||||
|
"Noncommunicable diseases": 1719
|
||||||
|
},
|
||||||
|
"Serbia": {
|
||||||
|
"Communicable & other Group I": 2.5,
|
||||||
|
"Injuries": 3.4,
|
||||||
|
"Noncommunicable diseases": 99.9
|
||||||
|
},
|
||||||
|
"Slovakia": {
|
||||||
|
"Communicable & other Group I": 2.4,
|
||||||
|
"Injuries": 3,
|
||||||
|
"Noncommunicable diseases": 45.3
|
||||||
|
},
|
||||||
|
"Slovenia": {
|
||||||
|
"Communicable & other Group I": 1,
|
||||||
|
"Injuries": 1.4,
|
||||||
|
"Noncommunicable diseases": 17.5
|
||||||
|
},
|
||||||
|
"Spain": {
|
||||||
|
"Communicable & other Group I": 18.4,
|
||||||
|
"Injuries": 14.1,
|
||||||
|
"Noncommunicable diseases": 363.9
|
||||||
|
},
|
||||||
|
"Sweden": {
|
||||||
|
"Communicable & other Group I": 5.3,
|
||||||
|
"Injuries": 4.6,
|
||||||
|
"Noncommunicable diseases": 80.9
|
||||||
|
},
|
||||||
|
"Switzerland": {
|
||||||
|
"Communicable & other Group I": 2.7,
|
||||||
|
"Injuries": 4,
|
||||||
|
"Noncommunicable diseases": 58.5
|
||||||
|
},
|
||||||
|
"Tajikistan": {
|
||||||
|
"Communicable & other Group I": 12.2,
|
||||||
|
"Injuries": 4.4,
|
||||||
|
"Noncommunicable diseases": 29.8
|
||||||
|
},
|
||||||
|
"The former Yugoslav Republic of Macedonia": {
|
||||||
|
"Communicable & other Group I": 0.3,
|
||||||
|
"Injuries": 0.6,
|
||||||
|
"Noncommunicable diseases": 19.2
|
||||||
|
},
|
||||||
|
"Turkey": {
|
||||||
|
"Communicable & other Group I": 24.7,
|
||||||
|
"Injuries": 29.7,
|
||||||
|
"Noncommunicable diseases": 392.8
|
||||||
|
},
|
||||||
|
"Turkmenistan": {
|
||||||
|
"Communicable & other Group I": 5.5,
|
||||||
|
"Injuries": 3.1,
|
||||||
|
"Noncommunicable diseases": 32
|
||||||
|
},
|
||||||
|
"Ukraine": {
|
||||||
|
"Communicable & other Group I": 25.1,
|
||||||
|
"Injuries": 43.3,
|
||||||
|
"Noncommunicable diseases": 605.1
|
||||||
|
},
|
||||||
|
"United Kingdom": {
|
||||||
|
"Communicable & other Group I": 40,
|
||||||
|
"Injuries": 19.5,
|
||||||
|
"Noncommunicable diseases": 513.1
|
||||||
|
},
|
||||||
|
"Uzbekistan": {
|
||||||
|
"Communicable & other Group I": 27.7,
|
||||||
|
"Injuries": 13.2,
|
||||||
|
"Noncommunicable diseases": 149
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
35
json/search/json/listTableContextMenu.json
Normal file
35
json/search/json/listTableContextMenu.json
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"showOutside":true,
|
||||||
|
"show": false,
|
||||||
|
"icon": "tavasi tavasi-Component-71--1",
|
||||||
|
"title": "جزییات",
|
||||||
|
"to": {
|
||||||
|
"name": "undefined"
|
||||||
|
},
|
||||||
|
"selected": false,
|
||||||
|
"disabled": false,
|
||||||
|
"howToOpen": "",
|
||||||
|
"href": "",
|
||||||
|
"class": "btn show-detail-btn -rotate-180",
|
||||||
|
"action": "showDetails",
|
||||||
|
"can":""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"showOutside":true,
|
||||||
|
"show": true,
|
||||||
|
"icon": "eye-icon-ldpi",
|
||||||
|
"title": "نمایش",
|
||||||
|
"to": {
|
||||||
|
"name": "undefined"
|
||||||
|
},
|
||||||
|
"selected": false,
|
||||||
|
"disabled": false,
|
||||||
|
"howToOpen": "",
|
||||||
|
"href": "",
|
||||||
|
"class": "show-detail-btn -rotate-180",
|
||||||
|
"action": "show-text",
|
||||||
|
"can":"",
|
||||||
|
"isSvg":"true"
|
||||||
|
}
|
||||||
|
]
|
36
json/search/json/menu.json
Normal file
36
json/search/json/menu.json
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{
|
||||||
|
"reports": [
|
||||||
|
{
|
||||||
|
"icon": "Home-21",
|
||||||
|
"color": 1,
|
||||||
|
"link": "defaultRoute",
|
||||||
|
"actionMode": 1,
|
||||||
|
"title": "خانه",
|
||||||
|
"translateKey": "Home"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"icon": "Component-198--1",
|
||||||
|
"color": 3,
|
||||||
|
"link": "search",
|
||||||
|
"actionMode": 3,
|
||||||
|
"title": "جستجو",
|
||||||
|
"translateKey": "Search"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"icon": "Component-68--1",
|
||||||
|
"color": 3,
|
||||||
|
"link": "searchNavigation",
|
||||||
|
"actionMode": 3,
|
||||||
|
"title": "فهرست",
|
||||||
|
"translateKey": "List"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"icon": "reports",
|
||||||
|
"color": 3,
|
||||||
|
"link": "searchChart",
|
||||||
|
"actionMode": 3,
|
||||||
|
"title": "نمودار",
|
||||||
|
"translateKey": "Chart"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
362
json/search/json/newEntityBuilder.json
Normal file
362
json/search/json/newEntityBuilder.json
Normal file
|
@ -0,0 +1,362 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"title": "متن اصلی",
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"key": "mintro",
|
||||||
|
"label": "متن",
|
||||||
|
"type": "textarea",
|
||||||
|
"placeholder": "متن را اینجا بنویسید",
|
||||||
|
"required": "0",
|
||||||
|
"validation_regex": "",
|
||||||
|
"validation_error": "",
|
||||||
|
"multi_select": "0",
|
||||||
|
"options": [],
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-12",
|
||||||
|
"rows": "20"
|
||||||
|
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "مشخصات اصلی",
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"key": "title",
|
||||||
|
"label": "عنوان",
|
||||||
|
"type": "string",
|
||||||
|
"placeholder": "عنوان را وارد کنید",
|
||||||
|
"required": "1",
|
||||||
|
"validation_regex": "[3-100]",
|
||||||
|
"validation_error": "عبارت باید حداقل 3 و حداکثر 100 حرف باشد",
|
||||||
|
"multi_select": "0",
|
||||||
|
"options": [],
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ts_ref",
|
||||||
|
"label": "مرجع تصویب",
|
||||||
|
"type": "string",
|
||||||
|
"placeholder": "عنوان را وارد کنید",
|
||||||
|
"required": "1",
|
||||||
|
"validation_regex": "[3-100]",
|
||||||
|
"validation_error": "عبارت باید حداقل 3 و حداکثر 100 حرف باشد",
|
||||||
|
"multi_select": "0",
|
||||||
|
"options": [],
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ts_date",
|
||||||
|
"label": "تاریخ تصویب",
|
||||||
|
"type": "string",
|
||||||
|
"placeholder": "تاریخ را وارد کنید",
|
||||||
|
"required": "1",
|
||||||
|
"validation_regex": "",
|
||||||
|
"validation_error": "",
|
||||||
|
"multi_select": "0",
|
||||||
|
"options": [],
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ts_number",
|
||||||
|
"label": "شماره",
|
||||||
|
"type": "string",
|
||||||
|
"placeholder": "شماره نامه رسمی ",
|
||||||
|
"required": "1",
|
||||||
|
"validation_regex": "",
|
||||||
|
"validation_error": "",
|
||||||
|
"multi_select": "0",
|
||||||
|
"options": [],
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "main_type",
|
||||||
|
"label": "نوع",
|
||||||
|
"type": "select",
|
||||||
|
"placeholder": "انتخاب کنید",
|
||||||
|
"required": "1",
|
||||||
|
"validation_regex": "",
|
||||||
|
"validation_error": "",
|
||||||
|
"multi_select": "0",
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-3",
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"value": "قانون",
|
||||||
|
"title": "قانون"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": "مقرره",
|
||||||
|
"title": "مقرره"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": "طرح",
|
||||||
|
"title": "طرح"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": "لایحه",
|
||||||
|
"title": "لایح"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": "نظریه مشورتی",
|
||||||
|
"title": "نظریه مشورتی"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": "سایر",
|
||||||
|
"title": "سایر"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "اطلاعات ابلاغ",
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"key": "eb_date",
|
||||||
|
"label": "تاریخ ابلاغ",
|
||||||
|
"type": "date",
|
||||||
|
"placeholder": "",
|
||||||
|
"required": "0",
|
||||||
|
"validation_regex": "",
|
||||||
|
"validation_error": "",
|
||||||
|
"multi_select": "0",
|
||||||
|
"options": [],
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "eb_from",
|
||||||
|
"label": "ابلاغ از",
|
||||||
|
"type": "string",
|
||||||
|
"placeholder": "ابلاغ کننده کیست",
|
||||||
|
"required": "0",
|
||||||
|
"validation_regex": "",
|
||||||
|
"validation_error": "عبارت باید حداقل 3 و حداکثر 200 حرف باشد",
|
||||||
|
"multi_select": "0",
|
||||||
|
"options": [],
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "eb_to",
|
||||||
|
"label": "ابلاغ به",
|
||||||
|
"type": "string",
|
||||||
|
"placeholder": "ابلاغ به",
|
||||||
|
"required": "0",
|
||||||
|
"validation_regex": "",
|
||||||
|
"validation_error": "عبارت باید حداقل 3 و حداکثر 100 حرف باشد",
|
||||||
|
"multi_select": "0",
|
||||||
|
"options": [],
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "eb_number",
|
||||||
|
"label": "شماره نامه",
|
||||||
|
"type": "string",
|
||||||
|
"placeholder": "انتخاب کنید",
|
||||||
|
"required": "0",
|
||||||
|
"validation_regex": "",
|
||||||
|
"validation_error": "",
|
||||||
|
"multi_select": "0",
|
||||||
|
"options": [],
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "sh_date",
|
||||||
|
"label": "تاریخ تایید",
|
||||||
|
"type": "date",
|
||||||
|
"placeholder": "تاریخ تایید نهایی",
|
||||||
|
"required": "0",
|
||||||
|
"validation_regex": "",
|
||||||
|
"validation_error": "",
|
||||||
|
"multi_select": "0",
|
||||||
|
"options": [],
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-3"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "اطلاعات منبع",
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"key": "ref_url",
|
||||||
|
"label": "نشانی منبع",
|
||||||
|
"type": "string",
|
||||||
|
"placeholder": "لینک را وارد کنید",
|
||||||
|
"required": "0",
|
||||||
|
"validation_regex": "",
|
||||||
|
"validation_error": "",
|
||||||
|
"multi_select": "0",
|
||||||
|
"options": [],
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-8"
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ref_key",
|
||||||
|
"label": "کلید منبع",
|
||||||
|
"type": "string",
|
||||||
|
"placeholder": "کلید انگلیسی",
|
||||||
|
"required": "0",
|
||||||
|
"validation_regex": "",
|
||||||
|
"validation_error": "",
|
||||||
|
"multi_select": "0",
|
||||||
|
"options": [],
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-8"
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ref_date",
|
||||||
|
"label": "تاریخ انتشار در منبع",
|
||||||
|
"type": "date",
|
||||||
|
"placeholder": "تاریخ انتشار در سایت منبع",
|
||||||
|
"required": "0",
|
||||||
|
"validation_regex": "",
|
||||||
|
"validation_error": "",
|
||||||
|
"multi_select": "0",
|
||||||
|
"options": [],
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ref_pdf",
|
||||||
|
"label": "فایل pdf",
|
||||||
|
"type": "string",
|
||||||
|
"placeholder": "نشانی پیوند فایل pdf در منبع",
|
||||||
|
"required": "0",
|
||||||
|
"validation_regex": "",
|
||||||
|
"validation_error": "",
|
||||||
|
"multi_select": "0",
|
||||||
|
"options": [],
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-8"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "اطلاعات انتشار در روزنامه رسمی",
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"key": "rrk_date",
|
||||||
|
"label": "تاریخ انتشار",
|
||||||
|
"type": "date",
|
||||||
|
"placeholder": "انتخاب کنید",
|
||||||
|
"required": "0",
|
||||||
|
"validation_regex": "",
|
||||||
|
"validation_error": "",
|
||||||
|
"multi_select": "0",
|
||||||
|
"options": [],
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "rrk_url",
|
||||||
|
"label": "نشانی انتشار",
|
||||||
|
"type": "string",
|
||||||
|
"placeholder": "انتخاب کنید",
|
||||||
|
"required": "0",
|
||||||
|
"validation_regex": "",
|
||||||
|
"validation_error": "",
|
||||||
|
"multi_select": "0",
|
||||||
|
"options": [],
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "rrk_number",
|
||||||
|
"label": "شماره انتشار",
|
||||||
|
"type": "string",
|
||||||
|
"placeholder": "انتخاب کنید",
|
||||||
|
"required": "0",
|
||||||
|
"validation_regex": "",
|
||||||
|
"validation_error": "",
|
||||||
|
"multi_select": "0",
|
||||||
|
"options": [],
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "rrk_Vnumber",
|
||||||
|
"label": "شماره ویژهنامه",
|
||||||
|
"type": "string",
|
||||||
|
"placeholder": "انتخاب کنید",
|
||||||
|
"required": "0",
|
||||||
|
"validation_regex": "",
|
||||||
|
"validation_error": "",
|
||||||
|
"multi_select": "0",
|
||||||
|
"options": [],
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-8"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "سایر اطلاعات",
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"key": "tags",
|
||||||
|
"label": "برچسب ها",
|
||||||
|
"type": "string",
|
||||||
|
"placeholder": " بصورت مجزا با ، وارد کنید",
|
||||||
|
"required": "1",
|
||||||
|
"validation_regex": "",
|
||||||
|
"validation_error": "",
|
||||||
|
"multi_select": "0",
|
||||||
|
"options": [],
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-8"
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "categories",
|
||||||
|
"label": "مکلفین",
|
||||||
|
"type": "string",
|
||||||
|
"placeholder": " بصورت مجزا با ، وارد کنید",
|
||||||
|
"required": "1",
|
||||||
|
"validation_regex": "",
|
||||||
|
"validation_error": "",
|
||||||
|
"multi_select": "0",
|
||||||
|
"options": [],
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-8"
|
||||||
|
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "keywords",
|
||||||
|
"label": "واژگان کلیدی",
|
||||||
|
"type": "string",
|
||||||
|
"placeholder": " بصورت مجزا با ، وارد کنید",
|
||||||
|
"required": "1",
|
||||||
|
"validation_regex": "",
|
||||||
|
"validation_error": "",
|
||||||
|
"multi_select": "0",
|
||||||
|
"options": [],
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "subject",
|
||||||
|
"label": "موضوعات",
|
||||||
|
"type": "string",
|
||||||
|
"placeholder": " بصورت مجزا با ، وارد کنید",
|
||||||
|
"required": "1",
|
||||||
|
"validation_regex": "",
|
||||||
|
"validation_error": "",
|
||||||
|
"multi_select": "0",
|
||||||
|
"options": [],
|
||||||
|
"labelClass": "col-md-3",
|
||||||
|
"inputClass": "col-md-8"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
38
json/search/json/permissions.json
Normal file
38
json/search/json/permissions.json
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
{
|
||||||
|
"projects": {
|
||||||
|
"create": "",
|
||||||
|
"read": "",
|
||||||
|
"update": "",
|
||||||
|
"delete": ""
|
||||||
|
},
|
||||||
|
"list": {
|
||||||
|
"create": "list_create",
|
||||||
|
"read": "list_view",
|
||||||
|
"update": "",
|
||||||
|
"delete": ""
|
||||||
|
},
|
||||||
|
"folder": {
|
||||||
|
"create": "list_folder_new",
|
||||||
|
"read": "",
|
||||||
|
"update": "list_folder_edit",
|
||||||
|
"delete": ""
|
||||||
|
},
|
||||||
|
"info": {
|
||||||
|
"create": "item-subject_new",
|
||||||
|
"read": "",
|
||||||
|
"update": "list_info_edit",
|
||||||
|
"delete": "item-subject_delete"
|
||||||
|
},
|
||||||
|
"item": {
|
||||||
|
"create": "item_new",
|
||||||
|
"read": "item_view",
|
||||||
|
"update": "item-info_edit",
|
||||||
|
"delete": ""
|
||||||
|
},
|
||||||
|
"subject": {
|
||||||
|
"create": "subject_new",
|
||||||
|
"read": "subject_view",
|
||||||
|
"update": "",
|
||||||
|
"delete": ""
|
||||||
|
}
|
||||||
|
}
|
12
json/search/json/sidbarMenuMin.json
Normal file
12
json/search/json/sidbarMenuMin.json
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"reports": [
|
||||||
|
{
|
||||||
|
"icon": "Home-21",
|
||||||
|
"color": 1,
|
||||||
|
"link": "defaultRoute",
|
||||||
|
"actionMode": 1,
|
||||||
|
"title": "خانه",
|
||||||
|
"translateKey": "Dashboard"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
16
json/search/json/sidebar.json
Normal file
16
json/search/json/sidebar.json
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"color": 1,
|
||||||
|
"icon": "reports",
|
||||||
|
"link": "managementReports",
|
||||||
|
"title": "آمار",
|
||||||
|
"translateKey": "Statistics"
|
||||||
|
},{
|
||||||
|
"color": 2,
|
||||||
|
"icon": "settings",
|
||||||
|
"link": "managementSetting",
|
||||||
|
"title": "تنظیمات",
|
||||||
|
"translateKey": "Settings"
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
60
json/search/json/stopWordContextMenu.json
Normal file
60
json/search/json/stopWordContextMenu.json
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"show": true,
|
||||||
|
"icon": "add-folder",
|
||||||
|
"title": "انتخاب برای موضوع",
|
||||||
|
"to": {
|
||||||
|
"name": "undefined"
|
||||||
|
},
|
||||||
|
"selected": false,
|
||||||
|
"disabled": false,
|
||||||
|
"howToOpen": "modal",
|
||||||
|
"href": "",
|
||||||
|
"class": "",
|
||||||
|
"action": "new-sub-folder"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"show": true,
|
||||||
|
"icon": "default",
|
||||||
|
"title": "اصلاح نیم فاصله ",
|
||||||
|
"to": {
|
||||||
|
"name": "undefined"
|
||||||
|
},
|
||||||
|
"selected": false,
|
||||||
|
"disabled": false,
|
||||||
|
"howToOpen": "inline",
|
||||||
|
"href": "",
|
||||||
|
"class": "",
|
||||||
|
"action": "rename"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"show": true,
|
||||||
|
"icon": "bin",
|
||||||
|
"title": "انتقال به کلمات حذفی ",
|
||||||
|
"to": {
|
||||||
|
"name": "undefined"
|
||||||
|
},
|
||||||
|
"selected": false,
|
||||||
|
"disabled": false,
|
||||||
|
"howToOpen": "modal",
|
||||||
|
"href": "",
|
||||||
|
"class": "",
|
||||||
|
"action": "remove"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"show": true,
|
||||||
|
"icon": "bin",
|
||||||
|
"title": "حذف از کلمات حذفی",
|
||||||
|
"to": {
|
||||||
|
"name": "undefined"
|
||||||
|
},
|
||||||
|
"selected": false,
|
||||||
|
"disabled": false,
|
||||||
|
"howToOpen": "modal",
|
||||||
|
"href": "",
|
||||||
|
"class": "",
|
||||||
|
"action": "import"
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
87
json/search/json/subjectTableContextMenu.json
Normal file
87
json/search/json/subjectTableContextMenu.json
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"showOutside":true,
|
||||||
|
"show": true,
|
||||||
|
"icon": "tavasi tavasi-Component-71--1",
|
||||||
|
"title": "جزییات",
|
||||||
|
"to": {
|
||||||
|
"name": "undefined"
|
||||||
|
},
|
||||||
|
"selected": false,
|
||||||
|
"disabled": false,
|
||||||
|
"howToOpen": "",
|
||||||
|
"href": "",
|
||||||
|
"class": "btn show-detail-btn -rotate-180",
|
||||||
|
"action": "showDetails",
|
||||||
|
"can":"subject-item-info_details"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"showOutside":true,
|
||||||
|
"show": true,
|
||||||
|
"icon": "tavasi tavasi-eye",
|
||||||
|
"title": "نمایش",
|
||||||
|
"to": {
|
||||||
|
"name": "undefined"
|
||||||
|
},
|
||||||
|
"selected": false,
|
||||||
|
"disabled": false,
|
||||||
|
"howToOpen": "",
|
||||||
|
"href": "",
|
||||||
|
"class": "show-detail-btn -rotate-180",
|
||||||
|
"action": "showText",
|
||||||
|
"can":"subject-item-info_text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"showOutside":false,
|
||||||
|
|
||||||
|
"show": true,
|
||||||
|
"icon": "default",
|
||||||
|
"title": "موضوع",
|
||||||
|
"to": {
|
||||||
|
"name": "undefined"
|
||||||
|
},
|
||||||
|
"selected": false,
|
||||||
|
"disabled": false,
|
||||||
|
"howToOpen": "",
|
||||||
|
"href": "",
|
||||||
|
"class": "",
|
||||||
|
"action": "showSubjectForm",
|
||||||
|
"can":"subject-item-subject_new"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"showOutside":false,
|
||||||
|
|
||||||
|
"show": true,
|
||||||
|
"icon": "default",
|
||||||
|
"title": "ویرایش",
|
||||||
|
"to": {
|
||||||
|
"name": "undefined"
|
||||||
|
},
|
||||||
|
"selected": false,
|
||||||
|
"disabled": false,
|
||||||
|
"howToOpen": "",
|
||||||
|
"href": "",
|
||||||
|
"class": "edit-btn",
|
||||||
|
"action": "togglePanel",
|
||||||
|
"can": "subject-item-info_edit"
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
"showOutside":false,
|
||||||
|
|
||||||
|
"show": true,
|
||||||
|
"icon": "default",
|
||||||
|
"title": "حذف",
|
||||||
|
"to": {
|
||||||
|
"name": "undefined"
|
||||||
|
},
|
||||||
|
"selected": false,
|
||||||
|
"disabled": false,
|
||||||
|
"howToOpen": "",
|
||||||
|
"href": "",
|
||||||
|
"class": "delete-btn",
|
||||||
|
"action": "delete-table-item",
|
||||||
|
"can": "subject-item-info_delete"
|
||||||
|
}
|
||||||
|
]
|
53
json/search/json/summary.json
Normal file
53
json/search/json/summary.json
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"title": "مشخصات",
|
||||||
|
"key": "specifications",
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"key": "meet_code",
|
||||||
|
"label": "کد جلسه",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "meet_no",
|
||||||
|
"label": "شماره جلسه",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "author",
|
||||||
|
"label": "پدید آورندگان",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "begin_date",
|
||||||
|
"label": "تاریخ تولید",
|
||||||
|
"type": "date"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "branch",
|
||||||
|
"label": "مجموعه",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "format",
|
||||||
|
"label": "نوع سند",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "attendees",
|
||||||
|
"label": "حاضرین",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "mintro",
|
||||||
|
"label": "چکیده اثر",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "mindex",
|
||||||
|
"label": "فهرست",
|
||||||
|
"type": "textarea"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
|
@ -1,10 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<main :class="$route.name">
|
<main >
|
||||||
<the-sidebar
|
<the-sidebar :showUserAvatar="true" :menu="$attrs.menu"></the-sidebar>
|
||||||
:showUserAvatar="true"
|
|
||||||
:menu="$attrs.menu"
|
|
||||||
@statusPag="statusPag"
|
|
||||||
></the-sidebar>
|
|
||||||
|
|
||||||
<section
|
<section
|
||||||
class="main-page__content"
|
class="main-page__content"
|
||||||
|
@ -18,8 +14,9 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// import { mapActions, mapState } from "pinia";
|
// import { mapActions, mapState } from "pinia";
|
||||||
// import { useCommonStore } from "~/stores/commonStore";
|
import { useCommonStore } from "~/stores/commonStore";
|
||||||
import {clearBodyClass} from "@manuals/utilities"
|
import { clearBodyClass } from "@manuals/utilities";
|
||||||
|
import { mapState } from "pinia";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
beforeMount() {
|
beforeMount() {
|
||||||
|
@ -38,6 +35,9 @@ export default {
|
||||||
uuid: undefined,
|
uuid: undefined,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
...mapState(useCommonStore, ["isSidebarCollapsed"]),
|
||||||
|
},
|
||||||
// methods: {
|
// methods: {
|
||||||
// ...mapActions(useCommonStore, ["setBodyClass"]),
|
// ...mapActions(useCommonStore, ["setBodyClass"]),
|
||||||
// },
|
// },
|
||||||
|
|
|
@ -1,241 +0,0 @@
|
||||||
<!-- layouts/default.vue -->
|
|
||||||
<template>
|
|
||||||
<div>
|
|
||||||
<header v-if="buildName() != 'majles'">
|
|
||||||
<!-- //////////////////// begin navbar //////////////////// -->
|
|
||||||
<nav
|
|
||||||
class="navbar navbar-expand-md navbar-light bg-light"
|
|
||||||
:class="{ expanded: !isSidebarCollapsed }"
|
|
||||||
>
|
|
||||||
<!-- sidebar menu toggler -->
|
|
||||||
<button-component
|
|
||||||
@click="sidebarCollapsedSetter(false)"
|
|
||||||
classes="p-0 d-lg-none"
|
|
||||||
buttonText=""
|
|
||||||
>
|
|
||||||
<svg class="icon icon-Component-68--1">
|
|
||||||
<use xlink:href="#icon-Component-68--1"></use>
|
|
||||||
</svg>
|
|
||||||
</button-component>
|
|
||||||
<a
|
|
||||||
class="navbar-brand d-none d-lg-inline-block"
|
|
||||||
style="color: #00b6e3"
|
|
||||||
>{{ navTitle }}</a
|
|
||||||
>
|
|
||||||
<a class="navbar-brand d-lg-none" style="color: #00b6e3">{{
|
|
||||||
navShortTitle
|
|
||||||
}}</a>
|
|
||||||
<button
|
|
||||||
class="navbar-toggler"
|
|
||||||
type="button"
|
|
||||||
data-bs-toggle="collapse"
|
|
||||||
data-bs-target="#navbarSupportedContent"
|
|
||||||
aria-controls="navbarSupportedContent"
|
|
||||||
aria-expanded="false"
|
|
||||||
aria-label="Toggle navigation"
|
|
||||||
>
|
|
||||||
<span class="navbar-toggler-icon"></span>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<div class="navbar-collapse" id="navbarSupportedContent">
|
|
||||||
<div class="collapse-mobile-header">
|
|
||||||
<div>
|
|
||||||
<img
|
|
||||||
src="assets/common/img/logo/gray-logo.png"
|
|
||||||
alt="هم فهمی"
|
|
||||||
class="img-fluid"
|
|
||||||
style="width: 2em; filter: invert(0)"
|
|
||||||
/>
|
|
||||||
هم فهمی
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<button
|
|
||||||
class="btn p-0 me-auto"
|
|
||||||
type="button"
|
|
||||||
data-bs-toggle="collapse"
|
|
||||||
data-bs-target="#navbarSupportedContent"
|
|
||||||
aria-controls="navbarSupportedContent"
|
|
||||||
aria-expanded="false"
|
|
||||||
aria-label="Toggle navigation"
|
|
||||||
>
|
|
||||||
<svg class="icon icon-Component-71--1">
|
|
||||||
<use xlink:href="#icon-Component-71--1"></use>
|
|
||||||
</svg>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<ul class="navbar-nav ms-auto me-md-5">
|
|
||||||
<!-- <li class="nav-item active">
|
|
||||||
<a class="nav-link" href="#"
|
|
||||||
>پیشخوان <span class="sr-only">(current)</span></a
|
|
||||||
>
|
|
||||||
</li> -->
|
|
||||||
<!-- <li class="nav-item">
|
|
||||||
<a class="nav-link" href="#">سامانهها</a>
|
|
||||||
</li> -->
|
|
||||||
<li class="nav-item dropdown">
|
|
||||||
<a
|
|
||||||
class="nav-link dropdown-toggle"
|
|
||||||
id="navbarDropdown"
|
|
||||||
role="button"
|
|
||||||
data-bs-toggle="dropdown"
|
|
||||||
aria-haspopup="true"
|
|
||||||
aria-expanded="false"
|
|
||||||
>
|
|
||||||
{{ $t("Systems") }}
|
|
||||||
</a>
|
|
||||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
|
||||||
<!-- <my-system class="list" layout="list"></my-system> -->
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item dropdown">
|
|
||||||
<a
|
|
||||||
class="nav-link dropdown-toggle"
|
|
||||||
href="#"
|
|
||||||
id="navbarDropdown"
|
|
||||||
role="button"
|
|
||||||
data-bs-toggle="dropdown"
|
|
||||||
aria-haspopup="true"
|
|
||||||
aria-expanded="false"
|
|
||||||
>
|
|
||||||
{{ $t("Portal") }}
|
|
||||||
</a>
|
|
||||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
|
||||||
<a
|
|
||||||
class="dropdown-item"
|
|
||||||
href="http://pub.hamfahmi.ir/public"
|
|
||||||
target="_blank"
|
|
||||||
>{{ $t("PersonalFolder") }}</a
|
|
||||||
>
|
|
||||||
<a
|
|
||||||
class="dropdown-item"
|
|
||||||
href="http://pub.hamfahmi.ir/wiki"
|
|
||||||
target="_blank"
|
|
||||||
>{{ $t("WikiFarhangestan") }}</a
|
|
||||||
>
|
|
||||||
<a
|
|
||||||
class="dropdown-item"
|
|
||||||
href="http://pub.hamfahmi.ir:91/"
|
|
||||||
target="_blank"
|
|
||||||
>{{ $t("ResearchPortal") }}</a
|
|
||||||
>
|
|
||||||
<a
|
|
||||||
class="dropdown-item"
|
|
||||||
href="http://pub.hamfahmi.ir:94/"
|
|
||||||
target="_blank"
|
|
||||||
>{{ $t("ResearchSoftware") }}</a
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<ul class="navbar-nav ms-md-3 me-auto">
|
|
||||||
<li class="nav-item">
|
|
||||||
<notification></notification>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item">
|
|
||||||
<select-language-dropdown
|
|
||||||
toggleClass="dropdown-toggle"
|
|
||||||
></select-language-dropdown>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item">
|
|
||||||
<user-avatar-dropdown
|
|
||||||
class="position-static"
|
|
||||||
></user-avatar-dropdown>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
<!-- //////////////////// end navbar //////////////////// -->
|
|
||||||
</header>
|
|
||||||
<!-- <the-sidebar :showUserAvatar="true" :menu="menu"></the-sidebar> -->
|
|
||||||
<the-sidebar
|
|
||||||
:showUserAvatar="true"
|
|
||||||
:menu="$attrs.menu"
|
|
||||||
@statusPag="statusPag"
|
|
||||||
></the-sidebar>
|
|
||||||
|
|
||||||
<main class="main-page__content" :class="{ expanded: !isSidebarCollapsed }">
|
|
||||||
<!-- <div class="pages list-page"> -->
|
|
||||||
<!-- <div class="pages-content align-items-stretch p-0"> -->
|
|
||||||
<!-- <div class="flex-grow-1"> -->
|
|
||||||
|
|
||||||
<slot></slot>
|
|
||||||
<!-- </div> -->
|
|
||||||
<!-- </div> -->
|
|
||||||
<!-- </div> -->
|
|
||||||
</main>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import { mapState, mapActions } from "pinia";
|
|
||||||
import { useCommonStore } from "~/stores/commonStore";
|
|
||||||
|
|
||||||
import {clearBodyClass} from "@manuals/utilities"
|
|
||||||
export default {
|
|
||||||
mounted() {
|
|
||||||
// this.setBodyClass("default-dashboard");
|
|
||||||
},
|
|
||||||
beforeUnmount() {
|
|
||||||
this.sidebarMenuSetter();
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
menu: undefined,
|
|
||||||
// #region mehdi
|
|
||||||
statusPag: 0,
|
|
||||||
nomber: 0,
|
|
||||||
statusPagHedear: 1,
|
|
||||||
// #endregion
|
|
||||||
};
|
|
||||||
},
|
|
||||||
computed: {
|
|
||||||
...mapState(useCommonStore, [
|
|
||||||
"getPanelStatus",
|
|
||||||
"getRefreshForm",
|
|
||||||
"isSidebarCollapsed",
|
|
||||||
"sidebarMenuGetter",
|
|
||||||
]),
|
|
||||||
navTitle() {
|
|
||||||
return import.meta.env.VITE_TITLE;
|
|
||||||
},
|
|
||||||
navShortTitle() {
|
|
||||||
return import.meta.env.VITE_SHORT_TITLE;
|
|
||||||
},
|
|
||||||
// sidbarMenu() {
|
|
||||||
// if (buildName() == "majles") return majlesMenu;
|
|
||||||
// return monirMenu;
|
|
||||||
// },
|
|
||||||
},
|
|
||||||
|
|
||||||
methods: {
|
|
||||||
...mapActions(useCommonStore, [
|
|
||||||
"setBodyClass",
|
|
||||||
"TOGGLE_PANEL",
|
|
||||||
"sidebarCollapsedSetter",
|
|
||||||
"SET_SIDEBAR_LIST_STATUS",
|
|
||||||
"sidebarMenuSetter",
|
|
||||||
]),
|
|
||||||
|
|
||||||
showPortal() {
|
|
||||||
return buildName() == "monir" && buildState() != 2;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss">
|
|
||||||
@import "../assets/default-dashboard/scss/default-dashboard";
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<style scoped lang="scss">
|
|
||||||
.dropdown-menu {
|
|
||||||
float: right;
|
|
||||||
min-width: 13rem;
|
|
||||||
font-size: 0.9rem;
|
|
||||||
border: none;
|
|
||||||
border-radius: 0.1em;
|
|
||||||
text-align: right;
|
|
||||||
min-width: 20em;
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -1,4 +1,5 @@
|
||||||
import { mapState, mapActions } from "pinia";
|
import { mapState, mapActions } from "pinia";
|
||||||
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// import HttpService from "~/services/httpService";
|
// import HttpService from "~/services/httpService";
|
||||||
import { mapState, mapActions } from "pinia";
|
import { mapState, mapActions } from "pinia";
|
||||||
import { useEntityStore } from "~/stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
import { useListStore } from "~/stores/listStore";
|
import { useSearchStore } from "@search/stores/searchStore";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
// mounted() {
|
// mounted() {
|
||||||
|
@ -31,7 +31,7 @@ export default {
|
||||||
...mapState(useEntityStore, ["activeTabGetter"]),
|
...mapState(useEntityStore, ["activeTabGetter"]),
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapActions(useListStore, ["SET_SELECTED_ITEM"]),
|
...mapActions(useSearchStore, ["SET_SELECTED_ITEM"]),
|
||||||
openModal({ ev, modal, modalTitle, property = null, index = -1 }) {
|
openModal({ ev, modal, modalTitle, property = null, index = -1 }) {
|
||||||
this.modal = modal;
|
this.modal = modal;
|
||||||
this.modal_data.entity = this.entity;
|
this.modal_data.entity = this.entity;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import apis from "~/apis/listApi";
|
import apis from "~/apis/listApi";
|
||||||
import { useListStore } from "~/stores/listStore";
|
import { useSearchStore } from "@search/stores/searchStore";
|
||||||
|
|
||||||
interface FormData {
|
interface FormData {
|
||||||
id: string | number;
|
id: string | number;
|
||||||
|
@ -48,7 +48,7 @@ export const moveFromFolderToFolder = async (
|
||||||
cloneId: string | number,
|
cloneId: string | number,
|
||||||
toId: string | number
|
toId: string | number
|
||||||
) => {
|
) => {
|
||||||
const myStore = useListStore();
|
const myStore = useSearchStore();
|
||||||
const formData = {
|
const formData = {
|
||||||
id: cloneId,
|
id: cloneId,
|
||||||
newparent: toId ?? 0,
|
newparent: toId ?? 0,
|
||||||
|
@ -59,7 +59,7 @@ export const moveFromFolderToFolder = async (
|
||||||
};
|
};
|
||||||
|
|
||||||
export const moveFromFolderToRoot = async (cloneId: string | number) => {
|
export const moveFromFolderToRoot = async (cloneId: string | number) => {
|
||||||
const myStore = useListStore();
|
const myStore = useSearchStore();
|
||||||
const formData = {
|
const formData = {
|
||||||
id: cloneId,
|
id: cloneId,
|
||||||
newparent: 0,
|
newparent: 0,
|
||||||
|
@ -73,7 +73,7 @@ export const moveFromRootToFolder = async (
|
||||||
cloneId: string | number,
|
cloneId: string | number,
|
||||||
toId: string | number
|
toId: string | number
|
||||||
) => {
|
) => {
|
||||||
const myStore = useListStore();
|
const myStore = useSearchStore();
|
||||||
const formData = {
|
const formData = {
|
||||||
id: cloneId,
|
id: cloneId,
|
||||||
newparent: toId ?? 0,
|
newparent: toId ?? 0,
|
||||||
|
@ -110,7 +110,7 @@ export const moveItem = async (formData: FormData) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
export const addItemToList = async (itemId: string, listId: string) => {
|
export const addItemToList = async (itemId: string, listId: string) => {
|
||||||
const myStore = useListStore();
|
const myStore = useSearchStore();
|
||||||
const payload = {
|
const payload = {
|
||||||
itemid: itemId,
|
itemid: itemId,
|
||||||
listid: listId,
|
listid: listId,
|
||||||
|
@ -144,7 +144,7 @@ export const updateOrder = async (
|
||||||
listArray: [],
|
listArray: [],
|
||||||
index: number
|
index: number
|
||||||
) => {
|
) => {
|
||||||
const myStore = useListStore();
|
const myStore = useSearchStore();
|
||||||
const payload = {
|
const payload = {
|
||||||
id: list.id,
|
id: list.id,
|
||||||
offset: type === "move-up" ? -1 : 1,
|
offset: type === "move-up" ? -1 : 1,
|
||||||
|
|
|
@ -427,7 +427,7 @@
|
||||||
<script>
|
<script>
|
||||||
import { mapActions, mapState } from "pinia";
|
import { mapActions, mapState } from "pinia";
|
||||||
|
|
||||||
import { useEntityStore } from "~/stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
import { useSearchStore } from "~/stores/searchStore";
|
import { useSearchStore } from "~/stores/searchStore";
|
||||||
import { useCommonStore } from "~/stores/commonStore";
|
import { useCommonStore } from "~/stores/commonStore";
|
||||||
|
|
||||||
|
@ -1592,6 +1592,9 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
components: {
|
components: {
|
||||||
|
AutoComplation: defineAsyncComponent(() =>
|
||||||
|
import("../../../../../../components/global/AutoComplation.vue")
|
||||||
|
),
|
||||||
EntityQaRelation: defineAsyncComponent(() =>
|
EntityQaRelation: defineAsyncComponent(() =>
|
||||||
import("~/components/entity/components/EntityQaRelation.vue")
|
import("~/components/entity/components/EntityQaRelation.vue")
|
||||||
),
|
),
|
||||||
|
|
|
@ -245,13 +245,14 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapState, mapActions } from "pinia";
|
import { mapState, mapActions } from "pinia";
|
||||||
import searchApis from "~/apis/searchApi";
|
import searchApis from "@search/apis/searchApi";
|
||||||
import chartType from "~/json/search/json/chart.json";
|
import chartType from "@search/json/search/json/chart.json";
|
||||||
|
|
||||||
import sidbarMenuDefault from "~/json/search/json/menu.json";
|
import sidbarMenuDefault from "@search/json/search/json/menu.json";
|
||||||
import sidbarMenuMin from "~/json/search/json/sidbarMenuMin.json";
|
import sidbarMenuMin from "@search/json/search/json/sidbarMenuMin.json";
|
||||||
|
|
||||||
import tableActions from "~/json/search/json/listTableContextMenu";
|
import tableActions from "@search/json/search/json/listTableContextMenu";
|
||||||
|
import { useSearchStore } from "@search/stores/searchStore";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "searchChart",
|
name: "searchChart",
|
||||||
|
@ -412,8 +413,10 @@ export default {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapActions(useListStore, ["SET_SELECTED_PROJECT", "SET_LIST"]),
|
|
||||||
...mapActions(useSearchStore, [
|
...mapActions(useSearchStore, [
|
||||||
|
"SET_SELECTED_PROJECT",
|
||||||
|
"SET_LIST",
|
||||||
|
|
||||||
"searchChartActiveSchemaSetter",
|
"searchChartActiveSchemaSetter",
|
||||||
"searchChartSchemaSetter",
|
"searchChartSchemaSetter",
|
||||||
"searchChartActiveTabSetter",
|
"searchChartActiveTabSetter",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<NuxtLayout name="search-layout" :menu="sidbarMenu">
|
<SearchLayout :menu="sidbarMenu">
|
||||||
<!-- <Head> -->
|
<!-- <Head> -->
|
||||||
<!-- <Title>{{ metaTitle }}</Title> -->
|
<!-- <Title>{{ metaTitle }}</Title> -->
|
||||||
<!-- <Meta name="description" :content="title" /> -->
|
<!-- <Meta name="description" :content="title" /> -->
|
||||||
|
@ -81,14 +81,17 @@
|
||||||
aria-expanded="false"
|
aria-expanded="false"
|
||||||
id="dropdownSearchMenu"
|
id="dropdownSearchMenu"
|
||||||
>
|
>
|
||||||
<span class="navItemlabel">
|
<client-only>
|
||||||
{{
|
<span class="navItemlabel">
|
||||||
searchActiveTabGetter?.searchType.find(
|
{{
|
||||||
(item) => item.key === searchType
|
searchActiveTabGetter?.searchType.find(
|
||||||
)?.label || "نوع جستجو"
|
(item) => item.key === searchType
|
||||||
}}
|
)?.label || "نوع جستجو"
|
||||||
</span>
|
}}
|
||||||
|
</span>
|
||||||
|
</client-only>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="dropdown-menu"
|
class="dropdown-menu"
|
||||||
aria-labelledby="dropdownSearchMenu"
|
aria-labelledby="dropdownSearchMenu"
|
||||||
|
@ -118,9 +121,11 @@
|
||||||
type="button"
|
type="button"
|
||||||
@click.prevent="showSynonymModal"
|
@click.prevent="showSynonymModal"
|
||||||
>
|
>
|
||||||
<span class="navItemlabel">
|
<client-only>
|
||||||
{{ searchTypeItem.item?.label }}
|
<span class="navItemlabel">
|
||||||
</span>
|
{{ searchTypeItem.item?.label }}
|
||||||
|
</span>
|
||||||
|
</client-only>
|
||||||
</button>
|
</button>
|
||||||
<select
|
<select
|
||||||
v-else-if="searchTypeItem.item.type == 'select'"
|
v-else-if="searchTypeItem.item.type == 'select'"
|
||||||
|
@ -273,7 +278,9 @@
|
||||||
active: navbarKey == getNavbarKey(navItem),
|
active: navbarKey == getNavbarKey(navItem),
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
{{ navItem.label }}
|
<client-only>
|
||||||
|
{{ navItem.label }}
|
||||||
|
</client-only>
|
||||||
</button>
|
</button>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
@ -298,20 +305,22 @@
|
||||||
class="dropdown-menu"
|
class="dropdown-menu"
|
||||||
aria-labelledby="dropdownMenuButton"
|
aria-labelledby="dropdownMenuButton"
|
||||||
>
|
>
|
||||||
<template
|
<client-only>
|
||||||
v-for="(navItem, index) in searchSchemaGetter"
|
<template
|
||||||
:key="index"
|
v-for="(navItem, index) in searchSchemaGetter"
|
||||||
>
|
:key="index"
|
||||||
<a
|
|
||||||
class="dropdown-item"
|
|
||||||
v-if="canSee(navItem.key + '_view') && index > 3"
|
|
||||||
@click.prevent="setNavbar(navItem, index)"
|
|
||||||
:class="{
|
|
||||||
active: navbarKey == getNavbarKey(navItem),
|
|
||||||
}"
|
|
||||||
>{{ navItem.label }}</a
|
|
||||||
>
|
>
|
||||||
</template>
|
<a
|
||||||
|
class="dropdown-item"
|
||||||
|
v-if="canSee(navItem.key + '_view') && index > 3"
|
||||||
|
@click.prevent="setNavbar(navItem, index)"
|
||||||
|
:class="{
|
||||||
|
active: navbarKey == getNavbarKey(navItem),
|
||||||
|
}"
|
||||||
|
>{{ navItem.label }}</a
|
||||||
|
>
|
||||||
|
</template>
|
||||||
|
</client-only>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
@ -354,12 +363,14 @@
|
||||||
aria-expanded="false"
|
aria-expanded="false"
|
||||||
id="dropdownSortMenu"
|
id="dropdownSortMenu"
|
||||||
>
|
>
|
||||||
<span class="navItemlabel">
|
<client-only>
|
||||||
{{
|
<span class="navItemlabel">
|
||||||
sortList.find((item) => item.list_key === sortKey)
|
{{
|
||||||
?.title || "نوع مرتبسازی"
|
sortList.find((item) => item.list_key === sortKey)
|
||||||
}}
|
?.title || "نوع مرتبسازی"
|
||||||
</span>
|
}}
|
||||||
|
</span>
|
||||||
|
</client-only>
|
||||||
</button>
|
</button>
|
||||||
<div
|
<div
|
||||||
class="dropdown-menu"
|
class="dropdown-menu"
|
||||||
|
@ -469,13 +480,15 @@
|
||||||
id="dropdownSearchMenu"
|
id="dropdownSearchMenu"
|
||||||
data-bs-toggle="dropdown"
|
data-bs-toggle="dropdown"
|
||||||
>
|
>
|
||||||
<span class="navItemlabel">
|
<client-only>
|
||||||
{{
|
<span class="navItemlabel">
|
||||||
searchActiveTabGetter?.searchType.find(
|
{{
|
||||||
(item) => item.key === searchType
|
searchActiveTabGetter?.searchType.find(
|
||||||
)?.label || "نوع جستجو"
|
(item) => item.key === searchType
|
||||||
}}
|
)?.label || "نوع جستجو"
|
||||||
</span>
|
}}
|
||||||
|
</span>
|
||||||
|
</client-only>
|
||||||
</button>
|
</button>
|
||||||
<div
|
<div
|
||||||
class="dropdown-menu"
|
class="dropdown-menu"
|
||||||
|
@ -506,9 +519,11 @@
|
||||||
type="button"
|
type="button"
|
||||||
@click.prevent="showSynonymModal"
|
@click.prevent="showSynonymModal"
|
||||||
>
|
>
|
||||||
<span class="navItemlabel">
|
<client-only>
|
||||||
{{ searchTypeItem.item?.label }}
|
<span class="navItemlabel">
|
||||||
</span>
|
{{ searchTypeItem.item?.label }}
|
||||||
|
</span>
|
||||||
|
</client-only>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
|
@ -556,12 +571,14 @@
|
||||||
aria-expanded="false"
|
aria-expanded="false"
|
||||||
id="dropdownSortMenu"
|
id="dropdownSortMenu"
|
||||||
>
|
>
|
||||||
<span class="navItemlabel">
|
<client-only>
|
||||||
{{
|
<span class="navItemlabel">
|
||||||
sortList.find((item) => item.list_key === sortKey)
|
{{
|
||||||
?.title || "نوع مرتبسازی"
|
sortList.find((item) => item.list_key === sortKey)
|
||||||
}}
|
?.title || "نوع مرتبسازی"
|
||||||
</span>
|
}}
|
||||||
|
</span>
|
||||||
|
</client-only>
|
||||||
</button>
|
</button>
|
||||||
<div
|
<div
|
||||||
class="dropdown-menu"
|
class="dropdown-menu"
|
||||||
|
@ -770,16 +787,17 @@
|
||||||
|
|
||||||
<!-- <template v-slot:footer> This is a new modal footer. </template> -->
|
<!-- <template v-slot:footer> This is a new modal footer. </template> -->
|
||||||
</base-modal-v2>
|
</base-modal-v2>
|
||||||
</NuxtLayout>
|
</SearchLayout>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { mapActions, mapState } from "pinia";
|
|
||||||
import { useSearchStore } from "~/stores/searchStore";
|
|
||||||
import { useCommonStore } from "~/stores/commonStore";
|
|
||||||
import searchApi from "~/apis/searchApi";
|
|
||||||
import adminApi from "~/apis/adminApi";
|
|
||||||
import sidbarMenuDefault from "~/json/search/json/menu.json";
|
|
||||||
import { useStorage } from "@vueuse/core";
|
import { useStorage } from "@vueuse/core";
|
||||||
|
import { mapActions, mapState } from "pinia";
|
||||||
|
|
||||||
|
import { useSearchStore } from "../../stores/searchStore";
|
||||||
|
import { useCommonStore } from "~/stores/commonStore";
|
||||||
|
import searchApi from "../../apis/searchApi.js";
|
||||||
|
import adminApi from "~/apis/adminApi";
|
||||||
|
import sidbarMenuDefault from "../../json/search/json/menu.json";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "search",
|
name: "search",
|
||||||
|
@ -2005,24 +2023,36 @@ export default {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
|
AutoComplation: defineAsyncComponent(() =>
|
||||||
|
import("@search/components/global/AutoComplation.vue")
|
||||||
|
),
|
||||||
MyContent: defineAsyncComponent(() =>
|
MyContent: defineAsyncComponent(() =>
|
||||||
import("~/components/search/MyContent.vue")
|
import("@search/components/search/MyContent.vue")
|
||||||
),
|
),
|
||||||
FilterListSearch: defineAsyncComponent(() =>
|
FilterListSearch: defineAsyncComponent(() =>
|
||||||
import("~/components/search/view/FilterListSearch.vue")
|
import("@search/components/search/view/FilterListSearch.vue")
|
||||||
),
|
),
|
||||||
SwitchComponent: defineAsyncComponent(() =>
|
SwitchComponent: defineAsyncComponent(() =>
|
||||||
import("~/components/global/SwitchComponent.vue")
|
import("~/components/global/SwitchComponent.vue")
|
||||||
),
|
),
|
||||||
SynonymSearch: defineAsyncComponent(() =>
|
SynonymSearch: defineAsyncComponent(() =>
|
||||||
import("~/components/search/forms/SynonymSearch.vue")
|
import("@search/components/search/forms/SynonymSearch.vue")
|
||||||
),
|
),
|
||||||
AdvancedSearch: defineAsyncComponent(() =>
|
AdvancedSearch: defineAsyncComponent(() =>
|
||||||
import("~/components/research/components/AdvancedSearch.vue")
|
import("@search/components/search/view/SearchAdvancedSearch.vue")
|
||||||
),
|
),
|
||||||
TripleSwitch: defineAsyncComponent(() =>
|
TripleSwitch: defineAsyncComponent(() =>
|
||||||
import("~/components/global/TripleSwitch.vue")
|
import("~/components/global/TripleSwitch.vue")
|
||||||
),
|
),
|
||||||
|
SearchLayout: defineAsyncComponent(() =>
|
||||||
|
import("@search/layouts/SearchLayout.vue")
|
||||||
|
),
|
||||||
|
SwitchWithIcon: defineAsyncComponent(() =>
|
||||||
|
import("@components/other/SwitchWithIcon.vue")
|
||||||
|
),
|
||||||
|
SearchSummary: defineAsyncComponent(() =>
|
||||||
|
import("@search/components/search/view/SearchSummary.vue")
|
||||||
|
),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<NuxtLayout name="search-layout" :menu="sidbarMenu">
|
<SearchLayout :menu="sidbarMenu">
|
||||||
<div class="searchNavigation">
|
<div class="searchNavigation">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="row main-page__content-header">
|
<div class="row main-page__content-header">
|
||||||
|
@ -453,13 +453,13 @@
|
||||||
ref="content"
|
ref="content"
|
||||||
></component> -->
|
></component> -->
|
||||||
|
|
||||||
<item-details
|
<search-item-details
|
||||||
v-if="showDetailsPanel"
|
v-if="showDetailsPanel"
|
||||||
:key="formRerrenderer"
|
:key="formRerrenderer"
|
||||||
:selectedItem="rowItem"
|
:selectedItem="rowItem"
|
||||||
@open-form="openForm"
|
@open-form="openForm"
|
||||||
@close-detail-panel="showDetailsPanel = false"
|
@close-detail-panel="showDetailsPanel = false"
|
||||||
></item-details>
|
></search-item-details>
|
||||||
</template>
|
</template>
|
||||||
<no-data v-else>
|
<no-data v-else>
|
||||||
<p class="text-center p-3">عدم دسترسی</p>
|
<p class="text-center p-3">عدم دسترسی</p>
|
||||||
|
@ -505,22 +505,21 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</NuxtLayout>
|
</SearchLayout>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import tableActions from "~/json/search/json/listTableContextMenu";
|
import tableActions from "@search/json/search/json/listTableContextMenu";
|
||||||
import { mapState, mapActions } from "pinia";
|
import { mapState, mapActions } from "pinia";
|
||||||
import searchApis from "~/apis/searchApi";
|
import searchApis from "@search/apis/searchApi";
|
||||||
|
|
||||||
import sidbarMenuDefault from "~/json/search/json/menu.json";
|
import sidbarMenuDefault from "@search/json/search/json/menu.json";
|
||||||
import sidbarMenuMin from "~/json/search/json/sidbarMenuMin.json";
|
import sidbarMenuMin from "@search/json/search/json/sidbarMenuMin.json";
|
||||||
// import menu from "~/json/reports/menu.json";
|
// import menu from "~/json/reports/menu.json";
|
||||||
|
|
||||||
import { useSearchStore } from "~/stores/searchStore";
|
import { useSearchStore } from "@search/stores/searchStore";
|
||||||
import { useCommonStore } from "~/stores/commonStore";
|
import { useCommonStore } from "~/stores/commonStore";
|
||||||
import { useEntityStore } from "~/stores/entityStore";
|
import { useEntityStore } from "@search/stores/entityStore";
|
||||||
import { useListStore } from "~/stores/listStore";
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "searchNavigation",
|
name: "searchNavigation",
|
||||||
|
@ -792,8 +791,7 @@ export default {
|
||||||
"searchListActiveTabGetter",
|
"searchListActiveTabGetter",
|
||||||
"selectionFilterItemsGetter",
|
"selectionFilterItemsGetter",
|
||||||
"searchListActiveTabGetter",
|
"searchListActiveTabGetter",
|
||||||
]),
|
|
||||||
...mapState(useListStore, [
|
|
||||||
"listComponentNameGetter",
|
"listComponentNameGetter",
|
||||||
"selectedProjectGetter",
|
"selectedProjectGetter",
|
||||||
"listIdGetter",
|
"listIdGetter",
|
||||||
|
@ -869,8 +867,7 @@ export default {
|
||||||
"searchListSchemaSetter",
|
"searchListSchemaSetter",
|
||||||
"searchListActiveTabSetter",
|
"searchListActiveTabSetter",
|
||||||
"selectionFilterItemsSetter",
|
"selectionFilterItemsSetter",
|
||||||
]),
|
|
||||||
...mapActions(useListStore, [
|
|
||||||
"SET_LIST_COMPONENT_NAME",
|
"SET_LIST_COMPONENT_NAME",
|
||||||
"SET_SELECTED_ITEM",
|
"SET_SELECTED_ITEM",
|
||||||
"SET_SELECTED_PROJECT",
|
"SET_SELECTED_PROJECT",
|
||||||
|
@ -1811,6 +1808,56 @@ export default {
|
||||||
}, 500);
|
}, 500);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
components: {
|
||||||
|
SearchFilterModal: defineAsyncComponent(() =>
|
||||||
|
import("@search/components/search/forms/SearchFilterModal.vue")
|
||||||
|
),
|
||||||
|
SearchSubjectForm: defineAsyncComponent(() =>
|
||||||
|
import("@search/components/search/forms/SearchSubjectForm.vue")
|
||||||
|
),
|
||||||
|
SearchItemDetails: defineAsyncComponent(() =>
|
||||||
|
import("@search/components/search/SearchItemDetails.vue")
|
||||||
|
),
|
||||||
|
SearchFilter: defineAsyncComponent(() =>
|
||||||
|
import("@search/components/search/SearchFilter.vue")
|
||||||
|
),
|
||||||
|
CategoryList: defineAsyncComponent(() =>
|
||||||
|
import("@search/components/search/view/CategoryList.vue")
|
||||||
|
),
|
||||||
|
SearchNavigationFilter: defineAsyncComponent(() =>
|
||||||
|
import("@search/components/search/SearchNavigationFilter.vue")
|
||||||
|
),
|
||||||
|
AutoComplation: defineAsyncComponent(() =>
|
||||||
|
import("@search/components/global/AutoComplation.vue")
|
||||||
|
),
|
||||||
|
MyContent: defineAsyncComponent(() =>
|
||||||
|
import("@search/components/search/MyContent.vue")
|
||||||
|
),
|
||||||
|
FilterListSearch: defineAsyncComponent(() =>
|
||||||
|
import("@search/components/search/view/FilterListSearch.vue")
|
||||||
|
),
|
||||||
|
SwitchComponent: defineAsyncComponent(() =>
|
||||||
|
import("~/components/global/SwitchComponent.vue")
|
||||||
|
),
|
||||||
|
SynonymSearch: defineAsyncComponent(() =>
|
||||||
|
import("@search/components/search/forms/SynonymSearch.vue")
|
||||||
|
),
|
||||||
|
AdvancedSearch: defineAsyncComponent(() =>
|
||||||
|
import("@search/components/search/view/SearchAdvancedSearch.vue")
|
||||||
|
),
|
||||||
|
TripleSwitch: defineAsyncComponent(() =>
|
||||||
|
import("~/components/global/TripleSwitch.vue")
|
||||||
|
),
|
||||||
|
SearchLayout: defineAsyncComponent(() =>
|
||||||
|
import("@search/layouts/SearchLayout.vue")
|
||||||
|
),
|
||||||
|
SwitchWithIcon: defineAsyncComponent(() =>
|
||||||
|
import("@components/other/SwitchWithIcon.vue")
|
||||||
|
),
|
||||||
|
SearchSummary: defineAsyncComponent(() =>
|
||||||
|
import("@search/components/search/view/SearchSummary.vue")
|
||||||
|
),
|
||||||
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
import type {
|
import type {
|
||||||
ActiveEntityViewSchema,
|
|
||||||
activeResearchType,
|
activeResearchType,
|
||||||
ActiveTab,
|
ActiveTab,
|
||||||
EntityViewSchema,
|
EntityViewSchema,
|
||||||
|
@ -19,12 +18,9 @@ export const useEntityStore = defineStore("entityStore", {
|
||||||
"draftActiveSchema",
|
"draftActiveSchema",
|
||||||
"draftSaveBoxSchema",
|
"draftSaveBoxSchema",
|
||||||
|
|
||||||
"diffType",
|
|
||||||
|
|
||||||
"activeTab",
|
"activeTab",
|
||||||
"isReadingMode",
|
"isReadingMode",
|
||||||
"entityViewSchema",
|
"entityViewSchema",
|
||||||
"activeEntityViewSchema",
|
|
||||||
|
|
||||||
"qruleActiveTab",
|
"qruleActiveTab",
|
||||||
"qruleSchema",
|
"qruleSchema",
|
||||||
|
@ -35,9 +31,7 @@ export const useEntityStore = defineStore("entityStore", {
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
state: () => ({
|
state: () => ({
|
||||||
activeTab: undefined as ActiveTab | undefined,
|
|
||||||
entityViewSchema: undefined as EntityViewSchema | undefined,
|
entityViewSchema: undefined as EntityViewSchema | undefined,
|
||||||
activeEntityViewSchema: undefined as ActiveEntityViewSchema | undefined,
|
|
||||||
selectedItemEntity: undefined as SelectedItemEntity | undefined,
|
selectedItemEntity: undefined as SelectedItemEntity | undefined,
|
||||||
listEntity: undefined as ListEntity | undefined,
|
listEntity: undefined as ListEntity | undefined,
|
||||||
similarInfo: {} as SimilarInfo | undefined,
|
similarInfo: {} as SimilarInfo | undefined,
|
||||||
|
@ -65,7 +59,6 @@ export const useEntityStore = defineStore("entityStore", {
|
||||||
// draft law
|
// draft law
|
||||||
|
|
||||||
qruleSchema: undefined,
|
qruleSchema: undefined,
|
||||||
diffType: undefined,
|
|
||||||
queryParams: undefined,
|
queryParams: undefined,
|
||||||
statusRemovCheckBox: undefined,
|
statusRemovCheckBox: undefined,
|
||||||
requestSimilar: false, // این متغییر دیگه نباید استفاده شود
|
requestSimilar: false, // این متغییر دیگه نباید استفاده شود
|
||||||
|
@ -103,15 +96,11 @@ export const useEntityStore = defineStore("entityStore", {
|
||||||
breadCrumbGetter(state) {
|
breadCrumbGetter(state) {
|
||||||
return state.breadCrumb;
|
return state.breadCrumb;
|
||||||
},
|
},
|
||||||
activeTabGetter(state) {
|
|
||||||
return state.activeTab;
|
|
||||||
},
|
|
||||||
entityViewSchemaGetter(state) {
|
entityViewSchemaGetter(state) {
|
||||||
return state.entityViewSchema;
|
return state.entityViewSchema;
|
||||||
},
|
},
|
||||||
activeEntityViewSchemaGetter(state) {
|
|
||||||
return state.activeEntityViewSchema;
|
|
||||||
},
|
|
||||||
qruleActiveTabGetter(state) {
|
qruleActiveTabGetter(state) {
|
||||||
return state.qruleActiveTab;
|
return state.qruleActiveTab;
|
||||||
},
|
},
|
||||||
|
@ -181,15 +170,11 @@ export const useEntityStore = defineStore("entityStore", {
|
||||||
if (!newItem) this.breadCrumb = [];
|
if (!newItem) this.breadCrumb = [];
|
||||||
else this.breadCrumb = [...this.breadCrumb, newItem];
|
else this.breadCrumb = [...this.breadCrumb, newItem];
|
||||||
},
|
},
|
||||||
activeTabSetter(activeTab = undefined) {
|
|
||||||
this.activeTab = activeTab;
|
|
||||||
},
|
|
||||||
entityViewSchemaSetter(entityViewSchema = undefined) {
|
entityViewSchemaSetter(entityViewSchema = undefined) {
|
||||||
this.entityViewSchema = entityViewSchema;
|
this.entityViewSchema = entityViewSchema;
|
||||||
},
|
},
|
||||||
activeEntityViewSchemaSetter(activeEntityViewSchema = undefined) {
|
|
||||||
this.activeEntityViewSchema = activeEntityViewSchema;
|
|
||||||
},
|
|
||||||
qruleActiveTabSetter(qruleActiveTab = undefined) {
|
qruleActiveTabSetter(qruleActiveTab = undefined) {
|
||||||
this.qruleActiveTab = qruleActiveTab;
|
this.qruleActiveTab = qruleActiveTab;
|
||||||
},
|
},
|
||||||
|
@ -199,9 +184,7 @@ export const useEntityStore = defineStore("entityStore", {
|
||||||
qruleActiveSchemaSetter(qruleActiveSchema = undefined) {
|
qruleActiveSchemaSetter(qruleActiveSchema = undefined) {
|
||||||
this.qruleActiveSchema = qruleActiveSchema;
|
this.qruleActiveSchema = qruleActiveSchema;
|
||||||
},
|
},
|
||||||
diffTypeSetter(diffType) {
|
|
||||||
this.diffType = diffType;
|
|
||||||
},
|
|
||||||
|
|
||||||
SET_ITEM_ENTITY(item) {
|
SET_ITEM_ENTITY(item) {
|
||||||
this.selectedItemEntity = item;
|
this.selectedItemEntity = item;
|
||||||
|
|
|
@ -13,10 +13,30 @@ import type {
|
||||||
selectionFilterItems,
|
selectionFilterItems,
|
||||||
} from "~/types/searchTypes";
|
} from "~/types/searchTypes";
|
||||||
|
|
||||||
|
import type {
|
||||||
|
isReturnFromItemshowPage,
|
||||||
|
list,
|
||||||
|
listComponentName,
|
||||||
|
listId,
|
||||||
|
projects,
|
||||||
|
selectedItem,
|
||||||
|
selectedProject,
|
||||||
|
} from "~/types/listTypes";
|
||||||
|
|
||||||
export const useSearchStore = defineStore("searchStore", {
|
export const useSearchStore = defineStore("searchStore", {
|
||||||
persist: {
|
persist: {
|
||||||
storage: piniaPluginPersistedstate.localStorage(),
|
storage: piniaPluginPersistedstate.localStorage(),
|
||||||
}, state: () => ({
|
}, state: () => ({
|
||||||
|
selectedProject: undefined as selectedProject | undefined,
|
||||||
|
isReturnFromItemshowPage: false as isReturnFromItemshowPage,
|
||||||
|
list: undefined as list | undefined,
|
||||||
|
listId: undefined as listId | undefined,
|
||||||
|
listComponentName: "ItemList" as listComponentName | undefined,
|
||||||
|
projects: [] as projects[],
|
||||||
|
// pieData: [],
|
||||||
|
selectedItem: undefined as selectedItem | undefined,
|
||||||
|
|
||||||
|
|
||||||
domainActive: undefined as Domain | undefined,
|
domainActive: undefined as Domain | undefined,
|
||||||
// activeTab: undefined,
|
// activeTab: undefined,
|
||||||
|
|
||||||
|
@ -40,6 +60,28 @@ export const useSearchStore = defineStore("searchStore", {
|
||||||
selectionFilterItems: [] as selectionFilterItems,
|
selectionFilterItems: [] as selectionFilterItems,
|
||||||
}),
|
}),
|
||||||
getters: {
|
getters: {
|
||||||
|
projectsGetter(state) {
|
||||||
|
return state.projects;
|
||||||
|
},
|
||||||
|
selectedProjectGetter(state) {
|
||||||
|
return state.selectedProject;
|
||||||
|
},
|
||||||
|
listIdGetter(state) {
|
||||||
|
return state.listId;
|
||||||
|
},
|
||||||
|
listComponentNameGetter(state) {
|
||||||
|
return state.listComponentName;
|
||||||
|
},
|
||||||
|
selectedItemGetter(state) {
|
||||||
|
return state.selectedItem;
|
||||||
|
},
|
||||||
|
isReturnFromItemshowPageGetter(state) {
|
||||||
|
return state.isReturnFromItemshowPage;
|
||||||
|
},
|
||||||
|
listGetter(state) {
|
||||||
|
return state.list;
|
||||||
|
},
|
||||||
|
|
||||||
searchSynonymTitleGetter(state) {
|
searchSynonymTitleGetter(state) {
|
||||||
return state.searchSynonymTitle;
|
return state.searchSynonymTitle;
|
||||||
},
|
},
|
||||||
|
@ -97,6 +139,28 @@ export const useSearchStore = defineStore("searchStore", {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
actions: {
|
actions: {
|
||||||
|
SET_SELECTED_PROJECT(selectedProject = undefined) {
|
||||||
|
this.selectedProject = selectedProject;
|
||||||
|
},
|
||||||
|
SET_LIST_ID(listId = undefined) {
|
||||||
|
this.listId = listId;
|
||||||
|
},
|
||||||
|
SET_LIST_COMPONENT_NAME(
|
||||||
|
payload = { selectedItem: undefined, listComponentName: undefined }
|
||||||
|
) {
|
||||||
|
this.selectedItem = payload.selectedItem;
|
||||||
|
this.listComponentName = payload.listComponentName;
|
||||||
|
},
|
||||||
|
SET_SELECTED_ITEM(selectedItem = undefined) {
|
||||||
|
this.selectedItem = selectedItem;
|
||||||
|
},
|
||||||
|
SET_IS_RETURN_FROM_ITEM_SHOW_PAGE(isReturnFromItemshowPage = false) {
|
||||||
|
this.isReturnFromItemshowPage = isReturnFromItemshowPage;
|
||||||
|
},
|
||||||
|
SET_LIST(list = undefined) {
|
||||||
|
this.list = list;
|
||||||
|
},
|
||||||
|
|
||||||
searchSynonymFormSetter(searchSynonymForm = undefined) {
|
searchSynonymFormSetter(searchSynonymForm = undefined) {
|
||||||
this.searchSynonymForm = searchSynonymForm;
|
this.searchSynonymForm = searchSynonymForm;
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue
Block a user