export type SummaryOption = { key: string; label: string; type: string }; export type Filter = { title: string; filter_key: string; source_key: string; by_more: number; }; export type Summary = { title: string; key: string; options: SummaryOption[]; }; export type Tag = { قانون: string; عنوان: string; متن: string; ماده: string; نوع: string; سال: string; دسته: string; مصوب: string; تاریخ: string; }; export type Domain = { label: string; tag: string; key: string; field_collapse: string; table_actions: TableActions[]; table_columns: TableColumns; }; export type DomainItem = { label: string; tag: string; key: string; field_collapse: string; table_actions: TableActions[]; table_columns: TableColumns[]; }; export type baseTableAction = { title: string; key: string; "v-can": string; icon: string; type: string; link_route?: { id: string; name: string; key: string; }; toggle_icons?: { icon1: string; icon2: string }; }; export type TableActions = [ baseTableAction & { api_items: { data_type: string; ref_key: string; id: string; title: string; }; } ]; export type TableColumnItem = { key: string; title: string; width: string; textAlign?: string; isLink?: true; link_route?: { id: string; name: string; key: string }; trancate_word?: number; colors?: { منسوخه: string; معتبر: string; موقت: string; "بااجرامنتفي مي شود": string; تمديد: string; آزمايشي: string; تنفيذ: string; }; }; export type TableColumns = TableColumnItem[]; export type Advance = { key: string; label: string; tag: string; type: string; placeholder: string; labelClass: string; inputClass: string; multi_select: string; options?: [{ value: string; title: string }]; }; export type SearchType = { key: string; description?: string; label: string; item?: { label: string; type: string; component: string; }; }; export type SearchContentActions = { icon?: ""; title: string; key: string; type: string; "v-can": string; api_items?: { data_type: string; ref_key: string; id: string; title: string; }; toggle_icons?: { icon1: string; icon2: string }; }; export type Item = { key: string; source_key: string; label: string; style: string; process?: string; link_route?: { id: string; name: string; key: string; }; }; export type Items = { key: string; items: Item[]; array_key: string; }; export type SearchContentCollapseItems = { key: string; items: Items[]; }; export type ListItem = { title: string; list_key: string; filter_key: string; icon: string; }; export type List = ListItem[]; // search export type searchActiveTab = { key: string; label: string; key_navbar:string; description: string; routeName: string; searchContent: string; showTableList: number; summary: Summary; filter: Filter[]; domain: { tags: Tag; domain: Domain[] | []; }|{}; advance: Advance[]; searchType: SearchType[]; search_content: { actions: SearchContentActions[]; collapse_items: SearchContentCollapseItems; }; lists: List; colors_qanon_etebar: { منسوخه: "red"; معتبر: "green"; موقت: "blue"; "بااجرامنتفي مي شود": "blue"; تمديد: "coral"; آزمايشي: "blue"; تنفيذ: "coral"; }; }| undefined; export type searchSchema = searchActiveTab[]; export type searchActiveSchema = []; // search list export type searchChartSchemaItem = { key: string; label: string; description: string; routeName: string; searchContent: string; showTableList: number; summary: Summary; filter: Filter[]; search_content: { actions: SearchContentActions[]; collapse_items: SearchContentCollapseItems; }; info: { title: string; index_name: string; meta: string; table_columns: string; table_columns_subject: string; entity_view: string; lists: []; items: [{ name: string; title: string }]; }; actions: TableActions; items: searchListActiveTab[]; }; export type searchListActiveTabItem = { key: string; id: number; url_GET_item: string; key_filter: string; label: string; }; export type searchListActiveTab = { key: string; label: string; field_collapsed: string; items: searchListActiveTabItem[]; }; export type searchListSchema = searchChartSchemaItem[]; export type activeSearchListSchema = searchChartSchemaItem; // search chart export type searchChartActiveTab = { key: string; componentName: string; label: string; chartBase: { key: string; label: string; items: [{ key: string; label: string }]; }; }; export type searchChartSchema = activeSearchChartSchema[]; export type activeSearchChartSchema = searchActiveTab & { items: searchChartSchemaItem[]; }; export type searchSynonymTitle = {}; export type searchSynonymForm = []; export type selectionFilterItems = []; export type helpSchema = helpActiveSchema[]; export type helpActiveSchema = { key: string; label: string; title: string; comment: string; }; export type DomainActive = Domain;