Treeble с YUI 3 DataTable

24 января 2011 в 10:41 Джоном Линдал | В Развития , YUI 3 Галерея | 6 Комментариев

Бета-версии DataTable в YUI 3.3.0 дает нам очень мощный компонент, чтобы играть. Чтобы начать шин в полезный способ, я решил обновить свой ​​Treeble примеры использования DataTable. (Treeble позволяет отображать иерархические данные в таблице .)

К моему большому удовольствию, это был ветер! Вся тяжелая работа выполняется в TreebleDataSource , который простирается YUI 3 DataSource, поэтому все, что мне нужно было подключить его к DataTable с помощью Y.Plugin.DataTableDataSource а затем настроить колонки:

 уаг DS = Y. новых TreebleDataSource (...),
	 пг = новый Ю. метранпаж (...),
	 таблице;

 Функция SendRequest () {
	 table.datasource.load ({
		 запрос: {
			 startIndex: pg.getStartIndex (),
			 resultCount: pg.getRowsPerPage ()
		 }
	 });
 }

 уаг COLS = [
     {Ключ: "yui33-хак", этикетка:''},
     {
         ключ: 'treeblenub ", этикетка:'',
         форматирования: Y.Treeble.buildTwistdownFormatter (SendRequest)
     },
     {
         ключ: 'название', этикетке: "Заголовок",
         форматирования: Y.Treeble.treeValueFormatter
     },
     ...
 ];

 таблице = новый Y.DataTable.Base ({columnset: COLS});
 table.plug (Y.Plugin.DataTableDataSource, {источник данных: DS});

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

Только мухи в бочке меда являются:

  • Yui33-хак колонке. В связи с ошибкой в YUI 3.3.0 DataTable , td элемента передается колонки форматирования на самом деле из предыдущей колонки. Таким образом, первая колонка в таблице отображаются twistdown, а второй столбец пуст.
  • Неопределенные значения в данные отображаются в виде {value} вместо пробелов ( ошибка 2529858 ).

Для того, чтобы Treeble проще в использовании, я добавил кожи Сэм, какие стили в CSS классы выписанных Y.Treeble форматирования.

Наслаждайтесь!

Об авторе: Джон Линдал ( @ jafl5272 на Twitter) является одним из ведущих инженеров строительства фундамента, на котором Yahoo! APT построен. Ранее он работал в сети Издатель Yahoo.

Доля и расширить: Закладка с del.icio.us | Digg это! | Reddit!

6 Комментариев »

RSS-лента комментариев к этой записи. TrackBack URI

  1. Treeble это огромная идея! Я не видел, что одна прежде. Я только мог бы рассмотреть возможность использования его на моем gt5power.com сайте для отображения игры Руководство / Вопросы и ответы, вместо использования YUI 2 TreeView виджета.

    Могу ли я в конечном итоге использование его там или нет, я не сомневаюсь, что это то, что я закончу тем, с использованием нескольких раз в будущее!

    Ура

    Комментарий от Floydian - 25 января 2011 #

  2. очень здорово!

    Комментарий от devsmt - 28 января 2011 #

  3. Привет Джон,

    Я использую ваш Treeble с YUI 2, но у меня есть запрос, если это возможно, чтобы развернуть / свернуть все строки сразу.

    Спасибо

    Комментарий от Тхань - 21 апреля 2011 #

  4. Развернуть все это очень дорогая операция, потому что обычно требует XHR вызовов для каждого узла, который должен открыться. Вы можете сделать это, но вы должны вызвать функцию переключения для каждого узла в отдельности.

    Комментарий Джона Линдал - 21 апреля 2011 #

  5. Да, я пытался это решение и в качестве и сказал, что это не очень производительным и заморозить навигатор, когда есть так много узлов расширяться.

    Таким образом, нет решения, где мы могли бы создать treeble со всеми узлами открыл ... какая жалость!

    все равно спасибо.

    Комментарий от Тхань - 28 апреля 2011 #

  6. Недавно я добавил опцию YUI 3 Treeble так что вы можете указать начальное состояние узла как часть данных. Вы можете попробовать, что в качестве альтернативы открытия все через переключатель () API.

    Комментарий Джона Линдал - 28 апреля 2011 #

Оставить комментарий

Примечание: Комментарии модерируются для новичков. Спам удаляется.

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Хостинг в Yahoo!

Copyright © 2006-2011 ООО Yahoo! Все права защищены. Политика конфиденциальности - Условия предоставления услуг

Работает на WordPress на Yahoo! Веб-хостинг .