Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.09.2021, 11:28
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Массив в параметрах
Привет. Вот часть плагина.
var openDialog = function () {
	console.log(images);
        return editor.windowManager.open({
            title: 'Альбом',
            body: {
                type: 'panel',
                items: [{
                    type: 'htmlpanel',
                    label: '',
                    html:
}]
},...

Подскажите как вставить в html: массив. То есть цикл с перебором массива. Нужно что то такое
html :'<div class="container"><div class="row">'
			for(var a in images){'<div class="col-sm-2">'+a+'</div>'}
		'</div></div>'
Ответить с цитированием
  #2 (permalink)  
Старый 25.09.2021, 11:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

ureech,
что мешает сделать цикл в строке 2
Ответить с цитированием
  #3 (permalink)  
Старый 25.09.2021, 12:07
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

И каждую итерацию будет возвращаться editor.windowManager.open ?

Последний раз редактировалось ureech, 25.09.2021 в 12:09.
Ответить с цитированием
  #4 (permalink)  
Старый 25.09.2021, 12:27
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

html: `<div class="container">
  <div class="row">
    ${images.map(a => '<div class="col-sm-2">' + a + '</div>').join('\n')}
  </div>
</div>`,
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 25.09.2021, 12:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от ureech
И каждую итерацию будет возвращаться editor.windowManager.open ?
???
Aetae,
var openDialog = function() {
                var html = `<div class="container">
    <div class="row">
        ${images.map(a => '<div class="col-sm-2">' + a + '</div>').join('\n')}
    </div>
   </div>`;

                return editor.windowManager.open({
                            title: 'Альбом',
                            body: {
                                type: 'panel',
                                items: [{
                                    type: 'htmlpanel',
                                    label: '',
                                    html
                                }]
                            },
Ответить с цитированием
  #6 (permalink)  
Старый 25.09.2021, 14:26
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Всё понял. Всём спасибо).
Ответить с цитированием
  #7 (permalink)  
Старый 25.09.2021, 16:07
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Картинки в диалоговое окно вывел. Но тут опять засада. Для типа типа панели htmlpanel нет инициализции для клика. То есть я не понимаю как мне теперь кликнув на каотинку отправить ей в редактор. Например для типа панели,которая выводит смайлы она есть
return editor.windowManager.open({
            title: 'Insert smiles',
            body: {
                type: 'panel',
                items: [{
                    type: 'collection',
                    columns: 'auto',
                    name: 'results'
                }]
            },
            initialData: {
                results: smiles
            },
            onAction: function (api, details) {
			
                if (details.name === 'results') {
                    editor.insertContent(smiles_list[details.value]);
                    api.close();
                }
            },

Я изначально пытался по этой схеме делать. Но панель отказалась выводить картинки. Видимо можно только дживки. Маленькие.
Стал делать для htmlpanel. И тут засада. onAction: вообще не активна. Что посоветуете?
Ответить с цитированием
  #8 (permalink)  
Старый 27.09.2021, 10:08
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Пытаюсь повесить событие при формировании массива в аяксе
var imgUpload = function (e) {
        editor.execCommand('mceInsertContent', false, e);
    }
 var load = function(callback) {

....
var gallery_img = '<img class="img-fluid" onclick="imgUpload(this)"  title=":'+s+':" src="/upload/'+result[s].original+'" style="max-width:100%;height:auto;" />';
....

}

При клике imgUpload неопределена пишет. Как правильно сделать?
Ответить с цитированием
  #9 (permalink)  
Старый 27.09.2021, 10:41
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Там вообще onclick не работает. Пишу onclick="alert()" и ничего(
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление объекта в массив в цикле Dark19 Элементы интерфейса 3 11.12.2016 23:11
Чтение данных из файла в массив TheSingleElk Общие вопросы Javascript 2 16.06.2016 01:09
Как в шаблоне диррективы узнать массив это или строка? delias Angular.js 1 18.03.2014 07:33
Как создать многомерный массив FRIE Общие вопросы Javascript 29 02.06.2010 19:14
Подскажите, как вернуть js-скрипт массив Polkan AJAX и COMET 18 30.04.2010 23:30