jqueryGantt

Все вопросы/проблемы по установке и использовании.
Ответить
Аватара пользователя
Mio
Сообщения: 15
Зарегистрирован: 14 ноя 2015, 21:56

jqueryGantt

Сообщение Mio »

Сергей, прошу у вас помощи, т.к. я в jQuery полный ноль.

У вас есть функция function load_items_listing(listing_container,page) (\modules\items\components\load_items_listing.js.php), которая подгружает на страницу таблицу с данными. Я хочу загрузить эту таблицу в диаграмму jqueryGantt вместо шаблона TASKSEDITHEAD. Но у меня не получается нормально это сделать.

Подскажите, как внутри функции load_items_listing(listing_container,page) получить подгружаемую таблицу таким образом, чтобы ее можно было скормить функции $.gridify(), вместо $.JST.createFromTemplate({}, "TASKSEDITHEAD") (\js\jqueryGantt\ganttGridEditor.js) ?
Иными словами, как в переменную получить подгружаемую таблицу в виде объекта, так, как будто я получил ее с помощью $.JST.createFromTemplate(), чтобы jqueryGantt не заметил подмены?
Аватара пользователя
support
Техническая поддержка
Сообщения: 9180
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: jqueryGantt

Сообщение support »

эта функция не подойдет, нужно писать новую... а зачем вам это нужно?
я же уже создал механизм с помощью которого можно создать диаграмму ганта.
http://rukovoditel.net/ru/gantt-charts.html
Аватара пользователя
Mio
Сообщения: 15
Зарегистрирован: 14 ноя 2015, 21:56

Re: jqueryGantt

Сообщение Mio »

support писал(а):я же уже создал механизм с помощью которого можно создать диаграмму ганта.
Это я знаю. С него я и начал. Но мне это не нравится. Концепция "таблица отдельно - диаграмма отдельно" меня не устраивает. Я хочу объединить достоинства ваших таблиц с достоинствами диаграммы Ганта.
support писал(а):эта функция не подойдет, нужно писать новую...
Мне кажется, что будет достаточно поместить код инициализации диаграммы внутрь функции

Код: Выделить всё

function(response, status, xhr) {
        if (status == "error") {                                 
           $(this).html('<div class="alert alert-error"><b>Error:</b> ' + xhr.status + ' ' + xhr.statusText+'<div>'+response +'</div></div>')                    
        }
        
        $('#'+listing_container).css("opacity", 1); 
        
        appHandleUniformInListing()  
        
        handle_itmes_select(listing_container)                                                                             
      }
которая вызывается у вас после получения подгружаемой таблицы.
Проблема в том, что таблица подгружается сразу в HTML объект $('#'+listing_container). Хотя может быть это как раз не проблема, а проблема в другом. Я пытался передать в $.gridify() что-то типа $('#'+listing_container).find('table'), но ничего толкового не вышло. Может быть так тоже можно, но я что-то не так сделал?

Я хотел узнать у Вас, возможно ли подгрузить эту таблицу в переменную? Целиком функцию load_items_listing() для этого переписывать не надо. Ключевое место здесь - это $('#'+listing_container).load(.....). Как подгрузить таблицу, чтобы получить ее как будто после $.JST.createFromTemplate() ?
Аватара пользователя
support
Техническая поддержка
Сообщения: 9180
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: jqueryGantt

Сообщение support »

Я хотел узнать у Вас, возможно ли подгрузить эту таблицу в переменную?
Я не знаю о такой возможности...

Для вас проще всего будет использовать механизм, который описан в
plugins\ext\modules\ganttchart\actions\view.php

вынесите код в отдельную функцию, которая будет создавать $ganttcahrt_data, уберите привязку к app_ext_ganttchart и используйте свои правила, как вы будете привязывать диаграмму к сущности.
Аватара пользователя
Mio
Сообщения: 15
Зарегистрирован: 14 ноя 2015, 21:56

Re: jqueryGantt

Сообщение Mio »

Вот чего я от вас добивался

Код: Выделить всё

var div = $('<div />').load( 'robots.txt', function() { alert( div.html() ); } ); 
Самому пришлось разбираться. Вашу таблицу мне таки удалось загрузить в jqueryGantt.
Но все равно спасибо за ваши оперативные ответы.
Ответить