Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.07.2014, 15:32
Новичок на форуме
Отправить личное сообщение для tayrin Посмотреть профиль Найти все сообщения от tayrin
 
Регистрация: 02.07.2014
Сообщений: 5

Динамическое копирование контроллера
Есть приложение, визуальный редактор на CKEditor.
К кнопкам, привязал функции, которые я описал в контроллере.
При клике, нужно вставить еще одно окно с тем же функционалом.
Нужно чтобы для каждого созданного окна эти функции работали. Как я понимаю нужно более универсальный контроллер делать, или другим способом.
Буду рад прочитать умные мысли от тех кто достаточно хорошо знаком с ангуляром

Последний раз редактировалось tayrin, 02.07.2014 в 15:39.
Ответить с цитированием
  #2 (permalink)  
Старый 03.07.2014, 08:04
Аватар для FireVolkhov
Аспирант
Отправить личное сообщение для FireVolkhov Посмотреть профиль Найти все сообщения от FireVolkhov
 
Регистрация: 17.04.2013
Сообщений: 88

Добавь на страницу ngRepeat массива с объектами редакторов, по кнопке добавляй новый объект в массива.
Пример
CKEditor + AngularJS
Как интегрировать ckEditor в AngularJS
Ответить с цитированием
  #3 (permalink)  
Старый 08.07.2014, 12:13
Новичок на форуме
Отправить личное сообщение для tayrin Посмотреть профиль Найти все сообщения от tayrin
 
Регистрация: 02.07.2014
Сообщений: 5

Спасибо за ответ.

Я так понимаю при копировании объекта редактора, все айдишники также будут меняться.
Пока что нашел решение, при клике заново комплить редактор. Но получается много косяков, потому что кнопки на последующих редакторах работают только к первому окну, в итого много чего в ручную исправлять и писать нужно.

redactor.controller('myCKEditor', function ($scope,$compile) {
$scope.createRedactorPage = function() {
idCnt++;
var redactorPage = $("#bd-wrapper").closest('tbody').clone();
redactorPage.find("#bd-wrapper").attr('id', 'bd-wrapper' + idCnt);
$("#module-pages tbody").after( $compile(redactorPage) ($scope) );
}
});

В любом случае попробую еще по вашему примеру сделать. Опишу что получилось
Ответить с цитированием
  #4 (permalink)  
Старый 13.07.2014, 21:48
Новичок на форуме
Отправить личное сообщение для tayrin Посмотреть профиль Найти все сообщения от tayrin
 
Регистрация: 02.07.2014
Сообщений: 5

Все таки решил заново компилировать контент, так как редактор написан в ручную, и нету объекта которой бы его создавал.
Решил проблему следующим образом.
Сначала клонирую элемент, при его вставке в дом, инкрементирую все важные айдишники, не важные поменял на классы.
Также в редакторе есть канвас, использую библиотеку fabric.js, при вставке новой страницы я также создаю новый канвас объект и пушу его в масив, куда собираются все его объекты, потом при клике отлавливаю секцию в которой у меня дата с инкрементным индексом, по етому индексу я указываю ключ в масиве где лежит нужная мне канва.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое удаление строк таблицы Tankist Events/DOM/Window 16 03.07.2013 16:42
копирование файлов в обход ограничений безопасности danil2011 Internet Explorer 0 27.06.2011 07:43
Динамическое изменение <input text> baal1988 Events/DOM/Window 4 24.08.2008 17:17
Динамическое изменение размеров изображения Макс Элементы интерфейса 7 21.07.2008 16:55