Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShishkevich D. <135337715+shishkevichd@users.noreply.github.com>2025-03-24 12:57:37 +0300
committerShishkevich D. <135337715+shishkevichd@users.noreply.github.com>2025-03-24 12:57:37 +0300
commit14253c35864828458ef3eeecb05591a7ae6e641e (patch)
tree0689a64cc3c2224baf5e26bdc91faad6813b34bb /web/html/xui/xray_outbound_modal.html
parent7b15274c842b31e8caded3e7f272237f31824852 (diff)
chore: moving the modals to a separate directory
Diffstat (limited to 'web/html/xui/xray_outbound_modal.html')
-rw-r--r--web/html/xui/xray_outbound_modal.html127
1 files changed, 0 insertions, 127 deletions
diff --git a/web/html/xui/xray_outbound_modal.html b/web/html/xui/xray_outbound_modal.html
deleted file mode 100644
index fd9cf99c..00000000
--- a/web/html/xui/xray_outbound_modal.html
+++ /dev/null
@@ -1,127 +0,0 @@
-{{define "outModal"}}
-<a-modal id="out-modal" v-model="outModal.visible" :title="outModal.title" @ok="outModal.ok"
- :confirm-loading="outModal.confirmLoading" :closable="true" :mask-closable="false"
- :ok-button-props="{ props: { disabled: !outModal.isValid } }" style="overflow: hidden;"
- :ok-text="outModal.okText" cancel-text='{{ i18n "close" }}' :class="themeSwitcher.currentTheme">
- {{template "form/outbound"}}
-</a-modal>
-<script>
-
- const outModal = {
- title: '',
- visible: false,
- confirmLoading: false,
- okText: '{{ i18n "sure" }}',
- isEdit: false,
- confirm: null,
- outbound: new Outbound(),
- jsonMode: false,
- link: '',
- cm: null,
- duplicateTag: false,
- isValid: true,
- activeKey: '1',
- tags: [],
- ok() {
- ObjectUtil.execute(outModal.confirm, outModal.outbound.toJson());
- },
- show({ title='', okText='{{ i18n "sure" }}', outbound, confirm=(outbound)=>{}, isEdit=false, tags=[] }) {
- this.title = title;
- this.okText = okText;
- this.confirm = confirm;
- this.jsonMode = false;
- this.link = '';
- this.activeKey = '1';
- this.visible = true;
- this.outbound = isEdit ? Outbound.fromJson(outbound) : new Outbound();
- this.isEdit = isEdit;
- this.tags = tags;
- this.check()
- },
- close() {
- outModal.visible = false;
- outModal.loading(false);
- },
- loading(loading=true) {
- outModal.confirmLoading = loading;
- },
- check(){
- if(outModal.outbound.tag == '' || outModal.tags.includes(outModal.outbound.tag)){
- this.duplicateTag = true;
- this.isValid = false;
- } else {
- this.duplicateTag = false;
- this.isValid = true;
- }
- },
- toggleJson(jsonTab) {
- textAreaObj = document.getElementById('outboundJson');
- if(jsonTab){
- if(this.cm != null) {
- this.cm.toTextArea();
- this.cm=null;
- }
- textAreaObj.value = JSON.stringify(this.outbound.toJson(), null, 2);
- this.cm = CodeMirror.fromTextArea(textAreaObj, app.cmOptions);
- this.cm.on('change',editor => {
- value = editor.getValue();
- if(this.isJsonString(value)){
- this.outbound = Outbound.fromJson(JSON.parse(value));
- this.check();
- }
- });
- this.activeKey = '2';
- } else {
- if(this.cm != null) {
- this.cm.toTextArea();
- this.cm=null;
- }
- this.activeKey = '1';
- }
- },
- isJsonString(str) {
- try {
- JSON.parse(str);
- } catch (e) {
- return false;
- }
- return true;
- },
- };
-
- new Vue({
- delimiters: ['[[', ']]'],
- el: '#out-modal',
- data: {
- outModal: outModal,
- get outbound() {
- return outModal.outbound;
- },
- },
- methods: {
- streamNetworkChange() {
- if (this.outModal.outbound.protocol == Protocols.VLESS && !outModal.outbound.canEnableTlsFlow()) {
- delete this.outModal.outbound.settings.flow;
- }
- },
- canEnableTls() {
- return this.outModal.outbound.canEnableTls();
- },
- convertLink(){
- newOutbound = Outbound.fromLink(outModal.link);
- if(newOutbound){
- this.outModal.outbound = newOutbound;
- this.outModal.toggleJson(true);
- this.outModal.check();
- this.$message.success('Link imported successfully...');
- outModal.link = '';
- } else {
- this.$message.error('Wrong Link!');
- outModal.link = '';
- }
- },
- },
- });
-
-</script>
-{{end}}