R2m0x94 (Vasily)

R2m0x94 (Vasily)

С нами с 07 мая 2018; Место в рейтинге пользователей: #362
R2m0x94 (Vasily)
07 октября 2020, 12:39
0
А как сделать, если стр. много и при переключении на вторую стр. редактор-ACE не слитал?
R2m0x94 (Vasily)
07 октября 2020, 10:21
0
Было б вообще волшебно, чтоб как в админке с emmet'ом, но пока ещё эта настройка 'editor'=>'ACE' — не работает
R2m0x94 (Vasily)
06 октября 2020, 16:54
0
Ещё предлагаю внести корректировки в textarea, чтобы можно было кодить с ACE
// такова типа (или же из системной настройки, если он установлен и возможность вкл/выкл редактора в системной настройке)
<script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.9/ace.js"></script>
<style>
    .autosize {
      /*resize: none;
      overflow: hidden;*/
      height:400px!important;
    }
    .autosize[readonly], .autosize[readonly] div {
        background: brown;
        user-select: none;
        cursor: not-allowed;
    }
</style>

autosize();
function autosize(){
    var text = $('.autosize');

    text.each(function(){
        $(this).attr('rows',1);
        resize($(this));
    });

    text.on('input', function(){
        resize($(this));
    });
    
    function resize ($text) {
        $text.css('height', 'auto');
        $text.css('height', $text[0].scrollHeight+'px');
    }
}

// Hook up ACE editor to all textareas with data-editor attribute
$(function() {
  $('textarea[data-editor]').each(function() {
    var textarea = $(this);
    var mode = textarea.data('editor');
    var editDiv = $('<div>', {
      position: 'absolute',
      width: textarea.width(),
      height: textarea.height(),
      'class': textarea.attr('class'),
      'readonly': textarea.attr('readonly')
    }).insertBefore(textarea);

    textarea.css('display', 'none');
    var editor = ace.edit(editDiv[0]);
    editor.renderer.setShowGutter(textarea.data('gutter'));
    editor.getSession().setValue(textarea.val());
    editor.getSession().setMode("ace/mode/" + mode);
    editor.setTheme("ace/theme/idle_fingers");
    //editor.setTheme("ace/theme/chrome");

    // copy back to textarea on form submit...
    textarea.closest('form').submit(function() {
      textarea.val(editor.getSession().getValue());
    })
  });
});



// Ещё в чанк getTable.EditRow.tpl для textarea
    {case 'textarea'}
        <textarea data-editor="xml" data-gutter="1" rows="15" data-field="{$edit.field}" name="{$edit.field}" placeholder="{$edit.placeholder}" class="form-control autosize get-table-autosave"
            style="max-height: 400px;" {if $edit.readonly}readonly{/if}>{$edit.value}</textarea>
        <span class="error_{$edit.field}"></span>
R2m0x94 (Vasily)
06 октября 2020, 11:11
0
Подключил bootstrap без quickview, окно открылось с полями, как и было задумано, но при сохранении в уведомлении пишет, что объект не сохранен.
Object   не сохранен update
И не сохранились значения, а напрямую в таблице всё сохраняется и сохранялось без проблем
R2m0x94 (Vasily)
06 октября 2020, 08:58
0
Просто, задумка такова, чтобы связать сниппеты, например у меня используется mFilter2 и в нем quickview, я вывожу всё это дело в таблицу с фильтром, и тут появился getTables, который надо внедрить в mFilter2, соответственно решено было скрестить их, но перем маштабом, появилась необходимость сделать возможность окон на редактирование через quickview, так как он все равно подгружается, а из бутстрапа только сетка css и modal-dialog, конечно если есть решение как вывести mFilter2 с getTable, буду только рад. :)
R2m0x94 (Vasily)
05 октября 2020, 19:43
0
Надо попробовать, ну а с табами тоже было б неплохо понять как их скомпилировать на вывод.

Jgrowl мне пришлось отключить, так как использую замену sweetalert, поэтому скорее всего сильно нагрузка выросла — там мол постоянно был цикличный запрос на этот файл, что повлекло нагрузку на аккаунт
R2m0x94 (Vasily)
05 октября 2020, 18:29
0
{'getTable' | snippet : [
    'table'=>[
        'class'=>'modResource',
        'actions'=>[
            'create'=>[
            ],
            'update' =>[
                'action'=>'getTable/custom',
                'title'=>'{$_modx->resource.id}',
                'cls' => 'quickview" data-click quickview-mode="modal" data-data-action="chunk" data-data-id="{$_modx->resource.id}" data-data-element="getTable.Modal.CreateUpdate.tpl" data-dialog-size="size-wide" data-dialog-title="safasfa"',
                'row' => [],
                'icon' => 'far fa-edit',
                'modal' => [
                    'action' => 'getModal/fetchTableModal',
                    'tpl'=>'b4.getTable.Modal.CreateUpdate.tpl',
                ],
                
            ],
        ],
        'custom' =>[
                'action'=>"getTable/custom",
                'row' => [],
                'icon' => 'far fa-edit',
                'tag' =>'a',
                'attr' => 'data-data-tag',
            ],
        'pdoTools'=>[
             'class'=>'modResource',
             'parents'=>10,
             'template'=>24,
             'resource'=>'52603',
             'includeTVs'=>'keywords,partner_condition_multi',
             'where'=>[
                	'template' => 24, 
                	'id:IN' => ['', 52603, 2],
                ],
             'limit'=>20,
        ],
        'checkbox'=>0,
        'autosave'=>1,
        'row'=>[
                'id'=>[],
                'partner_condition_multi'=>[
                    'class'=>'TV',
                    ],
                'keywords'=>[
                    'class'=>'TV',
                    'edit'=>[
                        'type'=>'text',
                        'where_field'=>'`TVkeywords`.`value`',
                        'search_fields' => [
                            'contentid' => 'id',
                            'tmplvarid' => 6,
                        ]
                    ]
                   ],
                'test'=>[
                    'label'=>'quickview',
                    'content'=>'<a >da</a>',
                    ],
            ],
    ],
]}

получилось окно вывести, но проблема в том, что окно в окне получилось и на выходе пусто

// в attr вывести не удалось атрибуты
'attr' => '',
R2m0x94 (Vasily)
05 октября 2020, 18:06
0
Намудрил, что-то не выходит. Вместо ссылки <\a — в таблице <\input
{'getTable' | snippet : [
    'table'=>[
        'class'=>'modResource',
        'actions'=>[
            'create'=>[
            ],
            'update' =>[
                'action'=>'getTable/update',
                'title'=>'{$_modx->resource.id}',
                'cls' => '=',
                'row' => [],
                'icon' => 'far fa-edit',
                'modal' => [
                    'action' => 'getModal/fetchTableModal',
                    'tpl'=>'b4.getTable.Modal.CreateUpdate.tpl',
                ],
                
            ],
        ],
        'custom' =>[
                'action'=>"getTable/custom",
                'row' => [],
                'icon' => 'far fa-edit',
                'tag' =>'a',
                'attr' => 'data-data-tag',
            ],
        'pdoTools'=>[
             'class'=>'modResource',
             'parents'=>10,
             'template'=>24,
             'resource'=>'52603',
             'includeTVs'=>'keywords,partner_condition_multi',
             'where'=>[
                	'template' => 24, 
                	'id:IN' => ['', 52603, 2],
                ],
             'limit'=>20,
        ],
        'checkbox'=>0,
        'autosave'=>1,
        'row'=>[
                'id'=>[],
                'partner_condition_multi'=>[
                    'class'=>'TV',
                    ],
                'keywords'=>[
                    'class'=>'TV',
                    'edit'=>[
                        'type'=>'text',
                        'where_field'=>'`TVkeywords`.`value`',
                        'search_fields' => [
                            'contentid' => 'id',
                            'tmplvarid' => 6,
                        ]
                    ]
                   ],
                'test'=>[
                    'label'=>'quickview',
                    'content'=>'<a >da</a>',
                    ],
            ],
    ],
]}
R2m0x94 (Vasily)
05 октября 2020, 16:02
0
Ещё предложение добавить словари для настройки, а то когда переходишь в систему управления — описание нету и сложно додуматься, что для чего нужно. Спасибо
R2m0x94 (Vasily)
05 октября 2020, 15:28
0
'update' =>[
                'action'=>'getTable/update',
                'title'=>'Изменить',
                'cls' => 'quickview',
                'click' => '',
                'quickview-mode' => 'modal',
                'row' => [],
                'icon' => 'far fa-edit',
                'modal' => [
                    'action' => 'getModal/fetchTableModal',
                    'tpl'=>'b4.getTable.Modal.CreateUpdate.tpl',
                ],
Было-бы неплохо давать возможность добавлять атрибуты на кнопку, чтобы появилась возможность связи с quickview

Класс добавился, а вот другие данные нет
R2m0x94 (Vasily)
05 октября 2020, 14:25
0
Бутстрап грузится от quickview, а из gettables_mgr_framework_style_css — не грузит (в моём случае это хорошо, потом сделаю на quickview). Но для табсов ещё пока застрял на конфиге.
// gettables
<button type="button" class="btn get-table-row " data-name="update" data-action="getTable/update" data-modal="getModal/fetchTableModal" title="Изменить">

</button>

// quickview
<a class="quickview"
			data-click
			data-quickview-mode="modal"
			data-data-action="chunk"
			data-data-element="test"
			data-data-id="1"
			data-dialog-buttons='["close"]'
			> </a>
Вот думаю, как их объединить…
— gettables update выводит ругать в консоль, а именно сам вывод в феном, сейчас думаю объединить с quickview, но с update, что-то я не так делаю, возможно там не надо указывать параметров?
{'getTable' | snippet : [
    'table'=>[
        'class'=>'modResource',
        'actions'=>[
            'create'=>[
            ],
            'update' =>[
                'action'=>'getTable/update',
                'title'=>'Изменить',
                'cls' => '',
                
                'row' => [],
                'icon' => 'far fa-edit',
                'modal' => [
                    'action' => 'getModal/fetchTableModal',
                    'tpl'=>'b4.getTable.Modal.CreateUpdate.tpl',
                ],
                'processors'=>['modResource'=>'resource/update'],
            ],

да и не разобрался ещё какой чанк отвечает за actions
R2m0x94 (Vasily)
04 октября 2020, 19:10
0
Отпишусь обязательно, пока только тестировать начал. Компонент очень нужный
R2m0x94 (Vasily)
04 октября 2020, 19:06
0
Создал системную настройку gettables_admin. в неё записал:
{
    "table": {
        "class": "modResource",
        "actions": {
            "create": [],
            "update": []
        },
        "pdoTools": {
            "class": "modResource",
            "parents": 10,
            "includeTVs": "keywords,partner_condition_multi",
            "where": {"template": 24},
            "limit": 20
        },
        "checkbox": 0,
        "autosave": 1,
        "row": {
            "id": [],
            "partner_condition_multi": {
                "class": "TV"
            },
            "keywords": {
                "class": "TV"
            }
        }
    }
}
// Вывел, так
[[!getTabs? &config=`gettables_admin`]]
Но по прежнему — Нет конфига tabs!
R2m0x94 (Vasily)
04 октября 2020, 18:25
0
[[!getTabs? &config=`gtsreview_admin`]]
На выходе пишет, что
Нет конфига tabs!
Уже пробовал создать системную настройку с параметрами из примера выше, но ничего не получилось. Хотелось бы про config узнать подробнее
R2m0x94 (Vasily)
04 октября 2020, 02:29
0
А как это вывести на getTable? (На конфиг ругается)
*getTabs
А можно как совместить getTable с компонентом quickview? Или же он тут не ляжет, и надо только обстилить, чтобы модалка заработала?
R2m0x94 (Vasily)
04 октября 2020, 02:05
0
А как это вывести на getTable? (На конфиг ругается)
R2m0x94 (Vasily)
04 октября 2020, 02:04
0
Попробовал. getTable работает! СУПЕР-круто. Спасибо! :)
R2m0x94 (Vasily)
04 октября 2020, 00:55
0
Да, msOptionsPrice2 решает эту задачу.
R2m0x94 (Vasily)
04 октября 2020, 00:35
0
@DeHuCkA, об этом, как раз и речь, как говорилось в сообществе MODX: "MODX — для программистов".
Следовательно можно отметить, что MODX довольно прожорлив, а кто есть деньги? Конечно его создатели Raymond и Ryan, а @jason скрыл служебную тайну переговоров с нашим Василием, так что по поводу
что бесплатное может быть передовым.
— ОСПОРЮ