mirror of
				https://github.com/MHSanaei/3x-ui.git
				synced 2025-10-31 20:32:52 +00:00 
			
		
		
		
	 db62a07fb8
			
		
	
	
		db62a07fb8
		
			
		
	
	
	
	
		
			
			* chore: pretty theme menu in sidebar * refactor: renaming component templates * refactor: create custom `a-statistic` component * fix: display button text only on large screens * chore: remove loading background in overview page * fix: show `Version` text when xray version is unknown
		
			
				
	
	
		
			72 lines
		
	
	
		
			No EOL
		
	
	
		
			2.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			No EOL
		
	
	
		
			2.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| {{define "component/persianDatepickerTemplate"}}
 | |
| <template>
 | |
|     <div>
 | |
|         <a-input :value="value" type="text" v-model="date" data-jdp class="persian-datepicker"
 | |
|             @input="$emit('input', convertToGregorian($event.target.value)); jalaliDatepicker.hide();"
 | |
|             :placeholder="placeholder">
 | |
|             <template #addonAfter>
 | |
|                 <a-icon type="calendar" style="font-size: 14px; opacity: 0.5;" />
 | |
|             </template>
 | |
|         </a-input>
 | |
|     </div>
 | |
| </template>
 | |
| {{end}}
 | |
| 
 | |
| {{define "component/aPersianDatepicker"}}
 | |
| <link rel="stylesheet" href="{{ .base_path }}assets/persian-datepicker/persian-datepicker.min.css?{{ .cur_ver }}" />
 | |
| <script src="{{ .base_path }}assets/moment/moment-jalali.min.js?{{ .cur_ver }}"></script>
 | |
| <script src="{{ .base_path }}assets/persian-datepicker/persian-datepicker.min.js?{{ .cur_ver }}"></script>
 | |
| <script>
 | |
|     const persianDatepicker = {};
 | |
| 
 | |
|     Vue.component('a-persian-datepicker', {
 | |
|         props: {
 | |
|             'format': {
 | |
|                 type: undefined,
 | |
|                 required: false,
 | |
|             },
 | |
|             'value': {
 | |
|                 type: String,
 | |
|                 required: false,
 | |
|             },
 | |
|             'placeholder': {
 | |
|                 type: String,
 | |
|                 required: false,
 | |
|             },
 | |
|         },
 | |
|         template: `{{template "component/persianDatepickerTemplate"}}`,
 | |
|         data() {
 | |
|             return {
 | |
|                 date: '',
 | |
|                 persianDatepicker,
 | |
|             };
 | |
|         },
 | |
|         watch: {
 | |
|             value: function (date) {
 | |
|                 this.date = this.convertToJalalian(date)
 | |
|             }
 | |
|         },
 | |
|         mounted() {
 | |
|             this.date = this.convertToJalalian(this.value)
 | |
|             this.listenToDatepicker()
 | |
|         },
 | |
|         methods: {
 | |
|             convertToGregorian(date) {
 | |
|                 return date ? moment(moment(date, 'jYYYY/jMM/jDD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss')) : null
 | |
|             },
 | |
|             convertToJalalian(date) {
 | |
|                 return date && moment.isMoment(date) ? date.format('jYYYY/jMM/jDD HH:mm:ss') : null
 | |
|             },
 | |
|             listenToDatepicker() {
 | |
|                 jalaliDatepicker.startWatch({
 | |
|                     time: true,
 | |
|                     zIndex: '9999',
 | |
|                     hideAfterChange: true,
 | |
|                     useDropDownYears: false,
 | |
|                     changeMonthRotateYear: true,
 | |
|                 });
 | |
|             },
 | |
|         }
 | |
|     });
 | |
| </script>
 | |
| {{end}} |