Разделы

Прямой эфир

Весь эфир | RSS

jSam 0.0.2beta1 - Релиз! Открытое бета-тестирование!



Здравствуйте друзья!

На протяжении месяца мы мечтали о безграничности настройки вида административной панели MODx. Чтож, мечты умеют воплощаться в реальность…

Сегодня завершён процесс написания первой ветки плагина JSAM!

JSAM — это уникальный плагин для административной панели MODx, который демонстрирует всю гибкость языка JavaScript и показывает невиданный ранее функционал. И всё это в одном объекте!

И сейчас настал тот момент, когда нужно выпустить текущий бета-релиз из головы, чтобы он не запортил удивительные мысли об второй ветке развития JSAM.

Встречайте, JSAM 0.0.2beta1!
Я постарался максимально упростить период ознакомления с плагином, его функционалом путём переплетения всей доступной информации.
Для старта вам необходимо пройти на страничку описания установки плагина, которую я описал у себя в блоге. Данная страничка будет являться вашим путеводителем и с помощью неё вы узнаете, где скачать плагин и что с ним делать. После вы узнаете о существовании SpeedUp-документации. По тестированию хочется сказать одно — вашим лучшим другом будет исходный код главного JS-файла, находящегося по адресу assets/plugins/jsam/jsam.js, а также консоль FireBug и функция log.

В данном релизе присутствует не весь заявленный функционал в виду окончания развития этой ветки JSAM.

Новая планируемая ветка — 0.1.0 — очень переписанное ядро и разделение представления информации. По новой ветке больше ничего не буду говорить, но она будет ужасно аппетитна и её разработка начнётся после моего отдыха и небольших результатов этого тестирования :)

Ну чтож, тестируем, спрашиваем, делимся опытом и улыбаемся. Вперёд!
  • +8
  • 28 марта 2010, 20:01
  • Regent

Комментарии (116)

RSS свернуть / развернуть
0
Что-то все повисло на генерации информации о релизе )
avatar

burik

  • 28 марта 2010, 21:26
0
Ещё генерирую =)
Сложное это дело однако)
avatar

Regent

  • 28 марта 2010, 21:28
0
Информация сгенерирована =)
avatar

Regent

  • 28 марта 2010, 22:24
0
Что значит «фрейм типа “home”»?
avatar

burik

  • 28 марта 2010, 23:26
0
Домашняя страница.
Это при запуске админки правый нижный фрейм.
avatar

Regent

  • 29 марта 2010, 07:58
0
Поставил. Работает. Буду изучать.
avatar

elastic

  • 29 марта 2010, 01:42
0
извините, что так в наглую врываюсь в ваш радостный релиз, но у меня есть некоторая проблемка как раз с оформлением админки, которую я до сих пор не решил. Может подскажите? community.modx-cms.ru/blog/questions/542.html
avatar

mamamiya

  • 29 марта 2010, 01:44
0
Возьму на заметку, но сейчас не в рабочем состоянии.

Вашу проблему можно будет решить с помощью написания виджета
avatar

Regent

  • 29 марта 2010, 08:00
0
Можно пример как применять правила к определённым ролям пользователей, ресурсам имеющим определённого родителя?
avatar

elastic

  • 29 марта 2010, 13:29
+1
Да, конечно!
if( jsam.data.config.role == 4 ){
  /* Действия */
}

if( jsam.data.parent == '2' ){
  /* Действия */
}

if( jsam.data.id == 52 ){
  /* Действия */
}

if( jsam.data.pagetitle == 'Название 1' ){
  /* Действия */
}


Смотрите подробности в консоли firebug по объекту jsam.data
avatar

Regent

  • 29 марта 2010, 14:39
0
Вообще, если планируется 1-2 редактора, то проще производить настройку, основываясь на нике администратора и при этом не работать с ролями!
if( jsam.data.config.shortname == 'adminName' ){
  /* Действия */
}
avatar

Regent

  • 31 марта 2010, 23:24
+5
Эксклюзивно для mamamiya!

Виджет EndlessFields — превращает поле в интерактивный менеджер полей(а точнее значений).

Это первый внешний виджет(например в отличии от вшитого vFls) для JSAM.
Подробности:
/*
** @name:
**   eFields
** @path:
**   jsam => document => eFields
** @api:
**   jsam.document.eFields( id, options );
** @description:
**   Применить к полю виджет eFields
** @param "id":
**   Название поля или массив названий полей. Пример: "Title" или [ "Description", "Resource content" ]
** @returns:
**   jQuery Object - поля, к которым применён виджет eFields
** @example:
**   jsam.document.eFields( 'Заголовок' );                        // Применить виджет к полю "Заголовок"
**   jsam.document.eFields( 'Описание', {split:'~_||_~'} );       // Применить виджет к полю "Описание" и установить разделитель ~_||_~
*/

Насколько вы успели заметить, здесь при инициализации виджета можно установить разделитель между значениями полей. По умолчанию стоит разделитель ||. Но я рекомендую поставить более сложный разделитель, так как пользователь сам может ввести ||. Например можно поставить разделитель ~_||_~

Виджет был написан на основе виджета vFls и использует его стили.

Сразу примерчик для ТВ параметра!
this.eFields( 'Изображение', { split: '~_||_~' } );

Результат:


Скачать виджет EndlessFields!
avatar

Regent

  • 29 марта 2010, 20:35
+1
опаньки) спасибо! в js не селен… и столкнулся с ним только после выхода jquery. буду пробовать разбирать логику))
avatar

mamamiya

  • 29 марта 2010, 20:46
+1
да это просто праздник какой-то! :)) респект )
вот если бы еще при настройке можно было тип полей указывать (текстовое поле, текстарея, выпадающий список)… :)
avatar

antonkuzmin

  • 30 марта 2010, 16:53
0
Ну это всё в планах про типы полей. А пока можно самому капнуть в виджете и заменить в строчке 138 input на textarea — должно сработать.

Кстати, до сих пор непонятно, понадобился кому-нибудь плагин? Не вижу ни одного комментария об использовании, вот и задумываюсь, а стоит ли продолжать разработку?
avatar

Regent

  • 30 марта 2010, 19:06
+1
Не все сразу, в любом случае какое-то время уйдет. Продолжать однозначно стоит, да еще и коллегам зарубежным представить, пусть знают наших! ;-)
avatar

Carw

  • 30 марта 2010, 19:44
0
Ну представлять надо будет не раньше выхода нормальной версии, доков и сайта)
avatar

Regent

  • 30 марта 2010, 20:01
+1
да я его только даже из-за одного виджета с файлами и endless fields поставлю, на днях :)
на самом деле функционал нужный, некоторые недостающие функции ММ сам доделывал на коленке, заплатками. а тут есть все и даже больше.
avatar

antonkuzmin

  • 30 марта 2010, 21:40
+2
Не сумлевайся, плагин нужен, сейчас как раз копаю, привязывая к рабочему проекту — отпишусь обязательно.
avatar

banev

  • 30 марта 2010, 22:48
+1
Я тоже заканчиваю проект и новый начину с использованием твоего плагина! Да и еще респект за EndlessFields!!!
avatar

pitbull

  • 1 апреля 2010, 20:39
0
До сих пор не встретил комментария хоть о каком-нибудь захудалом баге или хороший вопрос по логической настройке, аж скучно(
avatar

Regent

  • 1 апреля 2010, 21:56
0
EndlessFields был написан(а точнее переписан) на коленке за 2 часа. Я хочу этим сказать, что в будущем можно будет решить парктически любую задачу по интерактивности полей(точнее их представления) и написать миллионы виджетов под любые ситуации)

И что самое интересное, для сложных виджетов я планирую использовать JS-аналоги PHP функций serialize и unserialize — структура выходных данных виджета будет идеально сохранятся и легко получатся на сервере!

P. S. Хотелось бы послушать хоть немного комментариев от людей, использовавших плагин :)
avatar

Regent

  • 1 апреля 2010, 22:05
0
Просто еще «не вкурили» =)

Закинь таки тему на форум modxcms.com, чтобы увеличить аудиторию.
avatar

pitbull

  • 1 апреля 2010, 23:05
0
Планировал масштабный выход плагина в свет только после становления нормального сайта с документацией — а это будет, когда выйдет стабильная версия 0.1.0
Иначе при сегодняшнем малозадокументированном варианте могут возникать у одного человека десятки и десятки вопросов…
avatar

Regent

  • 2 апреля 2010, 10:11
0
Это ты прав на все 100%. Документацию, конечно-же нужно привести хотя-бы к виду доков по ManagerManager. С комментироваными примерами. Тогда, я суперсуръёзно, ММ загнётся в течение полугода :)
avatar

banev

  • 2 апреля 2010, 10:31
0
… хоть я его и люблю… но прогресс и любовь — вещи взаимоисключающие… :)
avatar

banev

  • 2 апреля 2010, 10:33
+2
А если ещё примеры с картинками будут и сайт будет на 2-х языкав(вполне серьёзно планируется), то MM будет очень нервно курить… =)
avatar

Regent

  • 2 апреля 2010, 11:09
+2
Cлова не мальчика, но мужа… :)
И ещё — к релизу надо постараться перекрыть все функции MM — их не так уж и много. К сожалению я ещё не добрался до прикрутки плагина к админки, но думаю доберусь в течение недели.

1) Насколько я понимаю все вопросы по поводу СОКРЫТИЯ, ПЕРЕНОСА и ПЕРЕИМЕНОВАНИЯ параметров, tv-параметров, чанков и табов ты закрыл (надеюсь change_field_help тоже).

2) mm_inherit — Неплохая штука, жалко что у ММ распространяется только на текстовые поля.

3) mm_default — может пригодиться.

4) mm_synch_fields — ни разу не нашел применения у меня… :)

5) mm_createTab — тоже решено, вроде.

6) mm_widget_showimagetvs — отличная вещь, насколько я понимаю, может быть заменена «левым» плагином Show Image TVs.

7) mm_widget_colors — не юзал.

8) mm_widget_tags — не юзал.

9) mm_widget_accessdenied — вот это супервещь, но её бы доработать, впрочем я тебе уже наверное плешь проел по этому поводу :)
avatar

banev

  • 2 апреля 2010, 11:41
0
Вот текущая документация

1) Не организован только перенос(организовывается в одну строчку). Но в версии 0.1.0 будет всего этого сполна.
jsam.document.help — для работы с подсказками(скрытие, удаление, добавление к любому полю)
jsam.document.split — для работы с разделителями между полями(добавление, удаление)
Параметры и TV-параметры в свете jSam — одно и тоже)

2) Вчера думал на счёт наследования — организовывается легко для стандартных полей. С TV-параметрами(точнее с их типами) придётся повозится. Я думаю, на выходе получится такая функция:
jsam.document.field.inherit( fieldName );
this.field.inherit( 'Заголовок' );
this.field.inherit( 'Изображения' );


3) jsam.document.field.default — с лёгкостью. Но опять же надо подумать на счёт нестандартных полей(чекбоксы и т. д)

4) synch_fields можно организовать, но опять же вопрос — её хоть раз реально применял кто-нибудь?

5) На счёт табов — целый объект для работы. Можно переименовывать, скрывать, перемещать и делать активным любой таб — и всё это по его названию.

6) showimagetvs — по функциональности самый лёгкий виджет. Можно будет организовать его в строчек 10 кода)
Вообще планируется написать нормальный виджет для изображений — интерактивный менеджер изображений.

7) 8) Данных виджетов можно наштамповать гору, подключив jQueryUI.

9) accessdenied — просто сделаемс.

Продолжаю наблюдать обзорные комментарии =)
avatar

Regent

  • 2 апреля 2010, 13:17
0
Вспомнил, что хотел спросить. У тебя везде обращение к полям админки идет по названию, а если переключить язык админки. Коллапс будет или нет? )
avatar

pitbull

  • 2 апреля 2010, 20:10
0
Конечно коллапс будет.
Вместо Заголовок придётся писать Page title и т. д.
Нужно немного будет модифицировать функцию выборки — передавав в неё строку в нижнем регистре, обозначающую единное слово, возвращать поле, у инпута которого атрибут name будет равен этой строке.
Другими словами
this.field( [ 'Заголовок, 'Page title' ] );

Будет аналогично
this.field( 'pagetitle' );
avatar

Regent

  • 2 апреля 2010, 21:30
0
Вот, тогда желаю будущей версии однозначного пространства имен, чтобы у нее было все хорошо!

Хотя смена языка админки не самое мое любимое занятие, но такое возможно, хотя и маловероятно, наверное.
avatar

pitbull

  • 2 апреля 2010, 21:36
0
Я как раз думаю как бы в модуль красиво управление изображениями к товару прицепить. Вот бы мне 6 пункт :))
avatar

Carw

  • 2 апреля 2010, 23:35
+1
А вот мне бы к этому еще кнопочку как в TV типа image — чтобы можно было выбрать в папке images файл, а оно вставило в поле адрес. ну через файловый менеджер. Понятно описал? =)
avatar

lesch

  • 24 мая 2010, 22:19
+2
Сейчас приделываю плагин к одному сайту. Пока впечатления исключительно хорошие :)
А можно как-нибудь настраивать цвета оверлеев? :)
avatar

burik

  • 1 апреля 2010, 01:04
0
Да, конечно! Оверлей полностью настраиваемый, а можно его и вообще убрать. К сожалению я момент про опции вообще не описал.

Нужно зайти в редактирование плагина и там изменить немного массив с опциями.
Например для странички редактирования ресурса

  //  Для фрейма "Управление ресурсом"
  //  Если значение равно 0, то оверлей не создаётся
    'document' => array(
      'style' => 'background-color:#F6FFFF;' 
    ),

#F6FFFF заменить на свой цвет. Можно ещё добавить своих стилей.

Надеюсь, понятно объяснил?

Кстати, на счёт jQuery — ещё не решил, откуда его подключать. Для проектов на локалке лучше будет подключение jQuery из папки плагина конечно. А вот уже для веба — тянуть с Google Code(будет быстрее благодаря CDN и кешироваться). Вот что я думаю.
avatar

Regent

  • 1 апреля 2010, 09:31
0
Установил плагин, но при попытке войти в админку вижу белый экран, в консоль пишется top.mainMenu.stopWork is not a function. Как с этим справится?
avatar

Leadmonkey

  • 3 апреля 2010, 01:16
0
top.mainMenu.stopWork эта ошибка вылезает часто — баг админки.

Всё правильно установили? Белый экран, а что дальше? Что в консоли ещё написано?
avatar

Regent

  • 3 апреля 2010, 12:26
0
Попробовал на другом хостинге — заработало. Как узнать, чего ему не хватает? А в консоли да — только эта строка.
avatar

Leadmonkey

  • 3 апреля 2010, 13:02
0
Извиняюсь, совсем забыл сказать — нужен PHP 5.2(а именно функция json_encode). В версии 0.1.0 эта проблема будет решена, т. е. можно будет ставить на более низкие версии PHP.
avatar

Regent

  • 3 апреля 2010, 13:05
0
О, спасибо. Включил эту библиотеку и все заработало. Позвольте еще вопрос. Я к сожалению в жабаскрипте не очень. Что нужно написать в конфиг, что бы прикрепить плагин vFls к TV photo для шаблона albom?
avatar

Leadmonkey

  • 3 апреля 2010, 13:33
0
Во первых скажите:
1. ID шаблона
2. Название поля(Например Фотографии)
avatar

Regent

  • 3 апреля 2010, 14:03
0
шаблон ID=6
название TV — photo
avatar

Leadmonkey

  • 3 апреля 2010, 14:10
0
Наверно неправильно выразился. Нужно не имя параметра, а заголовок(тот, что на русском)
avatar

Regent

  • 3 апреля 2010, 14:15
0
Заголовок — дополнительные фотографии
avatar

Leadmonkey

  • 3 апреля 2010, 14:29
0
Вот и обнаружился первый баг — в переменной data отсутствует информация о шаблоне.
Поэтому на данный момент содержимое файла jsam_rules.js у вас должно быть такое:

jsam(
  function( data, $, log ){
    if( data.type == 'document' ){
			
      if( $('[name="template"]').val() == 6 ){
        this.vFls( 'дополнительные фотографии' );
      }
			
    }
  }
);
avatar

Regent

  • 3 апреля 2010, 14:36
0
Волшебно, спасибо огромное. А есть ли еще возможность направить FCKeditor не в директорию Files, а в любую другую?
avatar

Leadmonkey

  • 3 апреля 2010, 14:49
0
Будет возможность, но пока её нет.

Пока единственный выход в этой версии — вручную сменить кое-что в файле jsam.js
Если сильно надо, могу показать, как с папки Files на Images поменять
avatar

Regent

  • 3 апреля 2010, 14:55
0
Уже нашел. Но конечно если будет возможность выбора, то будет очень здорово.
avatar

Leadmonkey

  • 3 апреля 2010, 15:16
+1
Кстати, насчет замены плагина Inherit Parent Template — есть другой, гораздо более удобный плагин — automaticTpl. Он позволяет задавать шаблон потомку в зависимости от уровня вложенности. Можно попросить в будущих релизах сделать такую возможность? Пока же пришлось выпилить из вашего плагина тот кусок, который отвечает за наследование шаблонов.
avatar

Leadmonkey

  • 4 апреля 2010, 02:58
0
if( jsam.level( docId ) > 2 ){ /**/ };

Насколько вы поняли, можно производить логическую настройку по уровню вложенности документа.

Будет возможность просто отключить расширение Inherit Parent Template(т. е. теперь InPTemplate). И будет возможность наследовать от родителя всё, что угодно. Например:
if( jsam.level( data.id ) == 3 ){
  this.inherit( 'Шаблон' );
}
avatar

Regent

  • 4 апреля 2010, 10:19
+1
Свои пять копеек в развитие проекта:
Даю кусок на сервере под официальный сайт (форум, если надо и т.д.). Сервер не супер пупер, но все-же:
Atom DualCore 1.6GHz 2Gb RAM
Для проекта я думаю хватит «по уши».
Взамен хочу… чтобы плагин рос и развивался!!! )
Если интересно, прошу стучать в личку.
avatar

abadello

  • 5 апреля 2010, 11:18
0
Спасибо большое за предложение, но у меня имеются два средненьких хостинга. Думаю, на первом этапе хватит. А форум обязательно планируется. Ну а потом уже посмотрим, что там с посещаемостью будет :)

Сейчас в развитие проекта нужен только один единственный вклад — тестирование, тестирование и ещё раз тестирование со стороны обывателей MODx!
Без каких либо результатов тестирования я даже продолжить разработку не могу, так как не знаю, вообще сейчас на что обращать внимание, на что упор делать и т. д.
Нужны хорошие обзоры!
avatar

Regent

  • 5 апреля 2010, 18:48
0
Ок, если что меня найти не трудно )))
А по поводу тестирования — нужна внятная документация что почему и для чего. Плюс не все хорошо понимают JS — нужны пояснения. Иначе тестирование встанет, поскольку тестировать будут только специалисты.
Так же я считаю необходимым хоть банальный но модуль с конфигами и прочее (бэкэнд). Не хорошо в файлы плагинов лазить.
А в целом считаю плагин мега нужным и важным. Спасибо!
avatar

abadello

  • 6 апреля 2010, 10:09
0
По опциям — там вложенные опции(массив в массиве). Пока лучшего варианта, чем сейчас я не придумал.

По документации — есть документация по всем методам объекта. От человека потребуется лишь использовав её написать правила. В файле правил есть небольшие пояснения в добавок ко всему этому.

Другими словами кому действительно это нужно, смогут разобраться. А сильно большая аудитория для тестирования и не нужна пока.

Спасибо!
avatar

Regent

  • 6 апреля 2010, 13:35
0
еще 1 идея для размышлений. в моих проектах часто бывает нужно чтобы менеджер не мог редактировать родительский документ, но при этом мог добавлять и редить все дочерние. стандартными правами в админке сдесь ничего не получится (при закрытии родителя закрываются и все дети). Как я вижу решение проблемы: при открытии на редактирование родителя выводить алерт с надписью «у вас недостаточно прав» и редиректить обратно. Такое возможно?
avatar

mamamiya

  • 10 апреля 2010, 18:05
0
Вообще планировал намного проще сделать — Будет добавлена возможность любую страничку в правом нижнем фрейме(рабочем) делать закрытой по вызову одной функции:
jSam.accessDenied( message );

Такая бы функция удаляла все теги из фрейма и выводила необязательное сообщение message. Таким образом можно будет запретить к редактированию/просмотру что угодно!
avatar

Regent

  • 10 апреля 2010, 19:32
0
в MM это стандартно, однако конфликт у этих двух плагинов.
avatar

anteyru

  • 11 апреля 2010, 21:04
0
Возможно ли при помощи этого плагина сделать так, что бы по левому клику на заголовке документа-контейнера, открывался «Обзор документа» причем на вкладке «Дочерние ресурсы»?
avatar

Leadmonkey

  • 21 апреля 2010, 12:48
0
Я так понял — это в дереве ресурсов?
avatar

Regent

  • 21 апреля 2010, 13:32
0
Да
avatar

Leadmonkey

  • 21 апреля 2010, 13:46
+1
Вот:
if( data.type == 'tree' ){
  var id = 1;
  $( '#node' + id + ' span' ).get( 0 ).setAttribute( 'onclick', 'menuHandler(' + id + ');' )
}

Единственное — не получится сделать текущей вкладку «Дочерние ресурсы», так как jSam не подключается во фрейм обзора ресурса. Иначе бы было возможно…
avatar

Regent

  • 21 апреля 2010, 14:20
0
Спасибо.
avatar

Leadmonkey

  • 21 апреля 2010, 15:41
-2
А жаль, я только вчера об этом думал, т.к. единственное что мне нравится в джумле, так если документов много, то в виде таблицы их смотреть просто супер как удобно =)
avatar

pitbull

  • 21 апреля 2010, 20:37
0
Пока можно жалеть, но не в будущем, так как будет планироваться подключение плагина во все типы фреймов, будь их 10, 20, да хоть 100 =)

На счёт второй части комментария — не совсем понял про таблицы…
avatar

Regent

  • 21 апреля 2010, 23:50
0
Ну если в папке лежит 100 документов, то вовсе не легко найти нужный, т.к. дерево документов во фрейм по ширине целиком не влезает.

Но далеко не все юные падаваны знают, что в модикс есть закладка обзор документов, где теже 100 документов легче и удобнее просматривать.

Ну и плюс в юмле порядок сортировки можно тамже менять, не открывая подряд каждый документ.

Вот о чем я.

зы: А какой умник молча минус поставил? хоть бы рассказал, с чем это он не согласен.
avatar

pitbull

  • 22 апреля 2010, 11:46
0
Я думаю, можно организовать какую-нибудь фичу — страничку просмотра всех ресурсов(таблицей) с возможностью онлайн-сортировки по выбранным полям =)
Только надо подумать, как это лучше сделать…
avatar

Regent

  • 22 апреля 2010, 15:00
0
Поставил плагин. Уже очень нравится.
Но сразу возникло много вопросов.
1)Например. Как и pitbull хочу сделать в верхнем меню вкладку, чтобы вела на определенные каталоги и 1. в дереве слева показывала ТОЛЬКО содержимое этого самого каталога, 2. При нажатии на ссылку сверху в основном фрейме показывала документы либо таблицей как это уже умеет модХ, либо еще лучше вольным образом, который диктуется определенным чанком.

2)Далее. Возник вопрос. Вот в ссылках часто пробегает параметр «a». Ну в ссылках которые есть в примере вида index.php?a=5&id=123. Где можно поглядеть полный список этих а по номерам, какое что значит и как их по-умному использовать…

3) А поля на странице создания/редактирования документа можно местами как-то менять?

4) в фрейме дерева реализовать бы функцию show и hideall. Т.е. Типа спрятал все, после этого вернул то, что надо. Ну или проще еще ф-ю типа спрятать все, кроме…

Еще чего вспомню — напишу.
avatar

lesch

  • 23 апреля 2010, 19:08
0
1) Что такое каталоги? Остальное не совсем понял.

2) a в ссылке — это action, т. е. действие. Полный список в файле index.php. Плагин уже это a по умному — определяет тип фрейма. Сколько сейчас в index.php a, столько по идее же должно быть фреймов * 1,5.

3) Можно пока только средствами jQuery

4) Реализовать то можно, но одно но — существуют вложенные ресурсы. Скрыв один можно скрыть довольно большое количество ресурсов. А после этого показать тот, который нужно, может не получится
avatar

Regent

  • 23 апреля 2010, 19:26
0
1) ну я имел ввиду ресурс, в котором много-много вложенных ресурсов-товаров (делаю интернет-магазин, потому каталогом и назвал). Просто хочу максимально упростить для конечного «пользователя» добавление товаров в каталог.

4) ну вот у меня есть некий ресурс в корне, в нем еще 7 шт. Я хочу сделать так, чтобы у меня было семь страниц на которых в дереве отображалось только содержимое содержимое этих ресурсов по одному на каждую соответственно. Это реально как-то сделать без особого геморроя?
avatar

lesch

  • 25 апреля 2010, 14:38
0
1) Ничего не мешает в верхнее меню добавить ссылку на нужный ресурс.

4) Теперь по этому пункту ничего не понял.
avatar

Regent

  • 25 апреля 2010, 18:13
0
Черт =) Сейчас попробую объяснить на пальцах.

1) я хочу, по нажатию в меню на ссылку, получать не редктирование ресурса, не обзор его хар-к, а сразу листинг вложенных в него ресурсов в основном фрейме. В идеале — листинг который генерится на основе чанка.

4) плюс к тому что написал в первом пункте хочу либо спрятать дерево без возможности вынуть (есть такой вариант?) либо оставить в нем только вложенные ресурсы определенного ресурса. Ну вот приведу пример. У меня есть ресурс в корне. Звать его Каталог, в нем есть 7 ресурсов. Ну там Одежда, Белье, etc. В раздел одежда вложено еще 10 разделов, в которые добавляются товары. Когда я в верхнем меню кликаю на ссылке Одежда (допустим ссылка уже создана с помошью jsam) я хочу попасть на листинг вложенных ресурсов в основном фрейме (см. пункт 1) и в дереве я хочу видеть только то, что вложено в ресурс «Одежда». По возможности — начиная с третьего уровня вложенности. Если еще не понятно — какбы «превратить ресурс Одежда в корень». Как-то так =)
avatar

lesch

  • 25 апреля 2010, 19:19
0
1) С помощью стандартных возможностей плагина пока нельзя такое получить(только листинг детей ресурса).
Если самому делать, то как вариант — добавить новый тип фрейма(обзор ресурса) в jsam, в нём сделать активной вкладку «Дочерние ресурсы» и спрятать все вкладки.

4) Это по сути — активное управление деревом. С помощью стандартных средств пока реализовать нельзя
avatar

Regent

  • 25 апреля 2010, 20:03
0
А вот по «добавить новый тип фрейма» можно поподробнее? где создавать, как? а то я пока не очень в курсе, только учусь так сказать =)
avatar

lesch

  • 25 апреля 2010, 21:11
0
Это трудоёмкий процесс. Нужно править код в 2-х файлах. Не имея знаний в программировании — задача сложная.
avatar

Regent

  • 25 апреля 2010, 22:39
0
Ну программирование вроде не проблема, могу php, могу js, просто я именно с модХ совсем недавно общаюсь
avatar

lesch

  • 25 апреля 2010, 23:05
0
Ну как то так:
1. В правила добавить
jsam.view = {};

2. В jsam.inc.php после строчки 144 добавить код типа:
case 3:
  $this -> type = 'view';
  break;

После этого теоретически должен поддерживаться фрейм обзора ресурса
avatar

Regent

  • 25 апреля 2010, 23:28
0
Взялся таки за тестирование, тестирую уже часа 2, без преувеличения. С jQuery немного знаком, сказать честно до сочинения собственных функций три дня как дошёл… Проблема вот в чём:

Сделал всё как ты написал при установки. В файле jsam_rules.js раскомментирование примеров ничего не даёт, долго думать времени у меня мало, буду признателен за поддержку. То есть понятно, не получается даже протестировать то, встал ли плагин или где-то при установки проблема возникла, либо что-то с настройками системы modx…

Firebug не приходилось ещё использовать в javascript экспериментах, у меня в консоли есть всё, что мне не нужно, а вот того, что нужно нет… Так ли он важен?
avatar

atomoc

  • 25 апреля 2010, 17:14
0
Версия MODx должна быть 1.0.2
Для начала нужно посмотреть, подключился ли jSam — в консоль он отправит сообщение об успешном подключении
avatar

Regent

  • 25 апреля 2010, 18:14
0
до 1.0.3 не обновлял, 1.0.2 и есть. В консоли действительно много всего, сам не знаю почему, пока, раньше что-то появлялось если допускал ошибку вроде бы. Что именно должно быть написано?
avatar

atomoc

  • 25 апреля 2010, 18:22
0
JSAM успешно подключён во фрейм...

Чтото типо этого
avatar

Regent

  • 25 апреля 2010, 19:56
0
Нет. Спасибо, разберусь =)
avatar

atomoc

  • 25 апреля 2010, 20:23
0
Прикрутил JSAM к 0.9.6.3
В диком восторге! Всё очень здорево!
Пара вопросов:
1. Можно ли поля в документе отсортировать (сменить позицию поля)
2. Кнопки в tree (новый документ, новая ссылка и т.п.) скрыл через jquery, а в jsam есть апи для доступа к этим кнопкам?

И еще одна моя несбыточная мечта (к JSAM не относится, но все же): драгндроп документов в дереве с jquery
avatar

Vampire

  • 12 мая 2010, 17:27
0
Я очень удивлён, что jSam заработал на 0.9.6.3 =)
Всё таки не зря думал об обратной совместимости)

1. Пока нет такой функции, но будет. Сейчас это можно сделать только с помощью jQuery
2. Хорошая мысль! Положил идею в копилку.
3. Так? — кликаем на документе в дереве и перетаскиваем на желаемых ресурс. В итоге наш документ становится детём того документа. Если так, то это можно… сделать!
avatar

Regent

  • 12 мая 2010, 17:33
0
Кроме изменения родителя, хорошо бы позицию регулировать.
avatar

Carw

  • 12 мая 2010, 22:54
0
Что за позиция?
Перемещение ресурса в дочерние ресурсы родителя?
avatar

Regent

  • 12 мая 2010, 23:23
0
Позиция в меню. По нему как раз определяется порядок вывода дочерних документов. Чтобы документ 10 стал выводиться первым сейчас есть два пути:

1) Редактировать 10 документ и сделать его индекс равным 0 (например.)
2) Нужно зайти в модуль Doc Manager и сделать сортировку пунктов.

А тут — схватил, перетянул и индекс исправился. А если перетянул в другую ветку, то сменился еще и родитель.
avatar

Carw

  • 12 мая 2010, 23:32
0
Насчёт перетягивания в другую ветку — возможно со сменой родителя.

А вот если на том же уровне есть 5 документов с menuindex=0 и скажем последний документ этого уровня перетягивают в начальную позицию на этом уровне(до первого документа), то какой-же должен стать menuindex у этого документа?
avatar

Regent

  • 13 мая 2010, 14:20
0
Тут в любом случае возникает необходимость изменить индекс практически у всех пунктов (которые находятся ниже перемещенного), поэтому лучше, видимо, поступить так:

1) Запомнить старый индекс у пункта
2) Посчитать новый
3) Если новый индекс отличается от старого, то обновить информацию о нем в базе.

Так все нулевые индексы исчезнут при попытке сортировки.
avatar

Carw

  • 13 мая 2010, 14:49
0
Да, видимо это будет наилучший вариант.

Дерево будет обновляться при отпускании кнопки мыши
avatar

Regent

  • 13 мая 2010, 15:11
0
Зачем менять у всего дерева?

Во-первых: отрицательные значения menuindex допустимы
Во-вторых: если я не ошибаюсь, то при одинаковом menuindex у нескольких документов сортировка идет по createdon
avatar

Vampire

  • 13 мая 2010, 16:01
0
Ну менять createdon вообще не допустимо :)
На счёт отрицательных значений утверждать не могу, но это хорошая мысль. Кстати, при редактировании документа кнопки(вверх и вниз) около поля позиции в меня не позволяют опуститься ниже нуля.
avatar

Regent

  • 13 мая 2010, 16:13
0
Я часто ручками вставляю отрицательные значения — все работает.
А насчет createdon — я и не говорю, чтобы его менять…
Я к тому, что: идут документы с индексами 1,2,3,4,5 И например 5-й документ надо переместить между 1 и 2 — для этого ему необходимо присвоить индекс 1 (если предположить что его дата создания больше первого документа)
По крайне мере — именно так я и делаю ручками, когда нужно что-то отсортировать.
Было бы правильнее если индексы создавались по десяткам: 10,20,30 — в этом случаю куда меньше проблем, чтобы вставить документ между соответствующими документами. Кстати — по ходу родилась идея — добавить в контекстное меню пункты «Вставить документ (ссылку) до/после»
avatar

Vampire

  • 13 мая 2010, 16:52
0
Ну примерно понял.
Насчёт индексов по десяткам у нового документа — можно тоже реализовать.
И на счёт контекстного меню — тоже осуществимо.
avatar

Regent

  • 13 мая 2010, 16:59
0
подумал, подумал…
наверное все таки более правильно — переписать все индексы.
а то уж слишком много заморочек со всякими условиями
avatar

Vampire

  • 13 мая 2010, 16:56
0
Наверно это будет неудобно для последующего ручного изменения индексов.
Пять документов с индексами 0, 4, 3, 0, 5. К примеру последний перемещаем на вторую позицию. Индексы переписываются и становятся 0, 1, 2, 3, 4. Создаём новый документ, и забываем изменить индекс, который равен нулю… :)
avatar

Regent

  • 13 мая 2010, 17:03
0
Буду идейки по ходу подкидывать:

Форматирование поля через jquery — особенно касается полей типа «дата» (дата публикации и т.п.).
С чего родилась идея: в поле можно руками прописывать дату (если далекая дата — в календаре листать не удобно), формат поля ДД-ММ-ГГГГ ЧЧ: ММ: СС. Очень часто приходится копипастить даты вида 01.01.2001 1:01:01 — приходиться руками менять точки на минусы — жутко раздражает. В jQuery где то попадался плагин, который умеет форматировать (приводить к заданному формату).
Календарик, кстати, тоже можно jquery-вский прикрытить покрасивше, но это не принципиально.
avatar

Vampire

  • 14 мая 2010, 10:51
0
Форматы даты бывают разные. Это 45%, что дата нормально пропарсится. Ежеле вставить дату в поле в каком-нибудь редком формате, типа 01/24/1995, где 01 — это месяц — тут вообще нет вариантов парсинга даты без указания её формата.

В jQuery UI Datepicker нет поля для ввода часов/минут/секунд.
avatar

Regent

  • 14 мая 2010, 14:01
0
Идея Next:

jQuery tooltip в дереве.
Стандартный title выглядит коряво.
avatar

Vampire

  • 14 мая 2010, 11:14
0
Всплывающие подсказки при наведении на ресурс?
Любой HTML-tooltip будет почти всегда больше ширины дерева меню, и будет появляться скролл.
avatar

Regent

  • 14 мая 2010, 14:04
0
мда… про фреймы я забыл…
интересно — а можно ли через js выводить tooltip в родительском фрейме?
avatar

Vampire

  • 17 мая 2010, 09:44
0
Получить доступ к родительскому фрейму можно и там вставить HTML код.
Одно препятствие — как нормально при наведении выводить всплывающие подсказки?
avatar

Regent

  • 17 мая 2010, 14:43
+3
Когда выйдет новая версия?

avatar

elastic

  • 8 июня 2010, 10:40
0
Да =)
Меня пока от использования удерживает только обращение ко всем элементам по имени, а не по id какому-нить.
avatar

pitbull

  • 8 июня 2010, 18:13
0
Привет всем)
Вот и пропал я почти на целое лето в связи с кое-какими личными делами…
Вижу, уже вышел 1.0.4 и Revo…
Я сам уже многое позабыл)
Надеюсь, вернусь в сентябре и постараюсь всё вспомнить…
Сейчас конечно есть вечный SVN, в котором ктото врятле меня разберётся)
Надеюсь, вы поможете мне всё вспомнить…
avatar

Regent

  • 10 августа 2010, 11:35
0
Поможем :)
avatar

Carw

  • 10 августа 2010, 12:08
0
Я, к своему стыду, сунулся сам разбираться в доках, но понял, что нужно обладать либо достаточным количеством времени, либо достаточным количеством мозгов. Поскольку ни того, ни другого у меня не было (да и сейчас не появилось), мечту освоить JSAM пришлось отложить в долгий ящик… Нужны человекопонятные доки — тгда количество бетатестеров и новичков резко возрастет и идеи появятся :)
avatar

banev

  • 10 августа 2010, 13:34
0
я так понял — тема умерла. а жаль однако. как хорошо все начиналось… и нужная это вещь блин
avatar

mamamiya

  • 27 августа 2010, 13:06
+1
Спасибо за предложения поддержки =)

Я вернулся(сегодня приехал домой, на блоге отписал) в РуНет только из-за этого проекта :)
Чтож, разгребу дела в реале и попытаюсь вспомнить ВСЁ! :-P

Сейчас всё помню примерно как после какой-то пьянки на утро(
Ещё думаю, что сам сайт с доками не осилю уже, нужно больше времени, которого сейчас у меня не будет. Либо придётся присмотреть очень удобное готовое решение, либо не знаю :-(
avatar

Regent

  • 5 сентября 2010, 19:31
0
Всенепременно ждем развития. :)
avatar

Carw

  • 7 сентября 2010, 11:14
0
Да, да, не запускай… Потенциал у этой штуки огромный, судя по комментам.
avatar

banev

  • 8 сентября 2010, 11:50
0
Спасибо…
Сегодня опять вернулся домой, наверно приступлю к реанимации своей памяти.
Вижу 1.0.4 вышел… Сейчас вспомню, как денвер включать и в бой =)
avatar

Regent

  • 9 сентября 2010, 13:02
0
гуд)
avatar

mamamiya

  • 9 сентября 2010, 14:49
0
Понемногу пытаюсь загружать исходники jSam в голову =)
Конечно пока это всё с трудом, но потихоньку. Чтобы дальше продолжить разработку, нужен план действий, которого пока нет. Чтобы его создать, нужно полностью опять понять и держать в голове все исходники с примерами и вторая обязательная часть — ваши предложения по поводу плагина. Это лучше всего сделать сейчас только одним путём — написать доки к текущей версии и выпустить её на пробу)))

Так что подсказывайте удобный движок, буду потихоньку писать документацию, может что то важное по ходу дела вспомню, допишу в плагин перед релизом.

Вот такой движок бы нужен — удобная работа с примерами(картинки, код(JS, PHP...), путь к функции/объекту и т. д.), ну вобщем оч. удобный движок для примеров который только может быть =)

Подсказывайте ;)
avatar

Regent

  • 21 сентября 2010, 20:19
0
Народ, поскольку сайт Regent'a лежит — нет ли у кого в заначке документации? SVN на гугле сохранился, а вот доков нет.
avatar

abadello

  • 30 июня 2011, 18:02
0
Доки — в самих js и php файлах) Очень подробно там всё описано, каждая строчка. Но боюсь, это поймет только программист.
Ещё был старый док… но он наверн уже не подходит

Кстати, уж извините за неоправданные надежды по проекту :( Так получилось что в свои 18 лет в один момент у меня закончилось всё свободное время :(
Прошёл год и я всё забыл… Эх, было классно )
Сейчас вот поступаю в универ на инженера-программиста, незнаю незнаю, может я и вернусь в этот мир :)
avatar

Regent

  • 8 августа 2011, 21:55

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.