VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /var/www/html/libs/absol-acomp/demo/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/libs/absol-acomp/demo/ckeditor_dynamic_link.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CKEditor Dynamic Link</title>
    <script src="../dist/absol-acomp.js?<?php  echo stat('../dist/absol-acomp.js')['mtime'];?>"></script>
    <script src="https://absol.cf/ckeditor/ckeditor.js"></script>
</head>
<body>
<script>
    function render(o) {
        return absol._(o).addTo(document.body);
    }
</script>
<script>
    (function () {
        var _ = absol._;
        var $ = absol.$;

        var pages = {
            'google-com': { text: 'Tìm kiếm trên google.com', href: 'https://google.com.vn' },
            'gmail-com': { text: 'Mở mail google', href: 'https://gmail.com' },
            'yahoo-123': { text: 'Yahoo Chat', href: 'https://chat.yahoo.com' },
            'hr': { text: 'Lab-HR', href: 'https://lab.daithangminh.vn/home_co/hr/' }
        }


        function user_chose_page(currentId) {
            var $ = absol.$;
            var _ = absol._;
            console.log(currentId)
            return new Promise(function (resolve) {
                var input = _({
                    tag: 'selectmenu',
                    props: {
                        items: Object.keys(pages).map(function (id) {
                            return { text: pages[id].text, value: id };
                        })
                    }
                });
                if (currentId)
                    input.value = currentId;
                var dialog = _({
                    extendEvent: ['action'],
                    class: 'as-message-dialog',
                    child: [
                        {
                            class: 'as-message-dialog-header',
                            child: {
                                tag: 'span',
                                class: 'as-message-dialog-title',
                                child: { text: '' }
                            }
                        },
                        {
                            class: 'as-message-dialog-body',
                            child: [
                                '<label>Tên biến: </label>',
                                input
                            ]
                        },
                        {
                            class: 'as-message-dialog-footer',
                            child: [
                                {
                                    tag: 'flexiconbutton',
                                    class: ['as-message-dialog-no-btn', 'secondary'],
                                    props: {
                                        text: 'Cancel'
                                    },
                                    on: {
                                        click: function () {
                                            modal.remove();
                                            resolve(null);
                                        }
                                    }
                                },
                                {
                                    tag: 'flexiconbutton',
                                    class: ['as-message-dialog-yes-btn', 'primary'],
                                    props: {
                                        text: 'ok'
                                    },
                                    on: {
                                        click: function () {
                                            modal.remove();
                                            if (input.value.trim().length > 0)
                                                resolve({ pageId: input.value.trim() });
                                        }
                                    }
                                }
                            ]
                        }
                    ]
                });

                var modal = _({ tag: 'modal', child: dialog }).addTo(document.body);
            });
        }

        
        var editor3 = render({
            tag: 'ckplaceholder',
            props: {
                extensions: ['dynamic_link'],
                dynamicLinks: pages,
                config: {
                    toolbar: 'BASIC'
                }
            },
            on: {
                command: function (event) {
                    var self = this;
                    switch (event.command) {
                        case 'insert_dynamic_link':
                            var selectedLink = this.getSelectedDynamicLink();
                            user_chose_page(selectedLink).then(function (result) {
                                if (result) {
                                    self.insertDynamicLink(result.pageId);
                                    self.selectNext();
                                }
                            })
                            break;
                    }
                }
            }
        });

        editor3.data = 'Link mở HR: <a class="as-ck-widget-dynamic-link" data-link-id="hr"></a>';


        var editor = render({
            tag: 'ckplaceholder',
            props: {
                extensions: ['dynamic_link'],
                dynamicLinks: pages
            },
            on: {
                command: function (event) {
                    var self = this;
                    switch (event.command) {
                        case 'insert_dynamic_link':
                            var selectedLink = this.getSelectedDynamicLink();
                            user_chose_page(selectedLink).then(function (result) {
                                if (result) {
                                    self.insertDynamicLink(result.pageId);
                                    self.selectNext();
                                }
                            })
                            break;
                    }
                }
            }
        });

        editor.data = 'Link mở HR: <a class="as-ck-widget-dynamic-link" data-link-id="hr"></a>';//không nhất thiết phải có href và text bên trong vì nó sẽ tự điền thêm vào


        var editor1 = render({
            tag: 'ckplaceholder',
            props: {
                extensions: ['dynamic_link'],
                dynamicLinks: pages,
                config: {
                    toolbar: 'SIMPLE'
                }
            },
            on: {
                command: function (event) {
                    var self = this;
                    switch (event.command) {
                        case 'insert_dynamic_link':
                            var selectedLink = this.getSelectedDynamicLink();
                            user_chose_page(selectedLink).then(function (result) {
                                if (result) {
                                    self.insertDynamicLink(result.pageId);
                                    self.selectNext();
                                }
                            })
                            break;
                    }
                }
            }
        });

        editor1.data = 'Link mở HR: <a class="as-ck-widget-dynamic-link" data-link-id="hr"></a>';
    })();
</script>
</body>
</html>

VaKeR 2022