Treeble с Юи 3 DataTable

24 януари 2011 г. в 10:41 часа от Джон Lindal | в развитието , Юи 3, Галерия | 7 Коментари

Бета версия на DataTable в Юи 3.3.0 ни дава много мощен компонент, за да играе. Да риташ гуми полезен начин, реших да се актуализира на моите Treeble примери, за да използват DataTable. (Treeble дава възможност за показване на йерархични данни в таблица .)

За моя радост, това беше бриз! Цялата работа се извършва в TreebleDataSource , който се простира Юи 3 източник на данни, така че всичко, което трябваше да направя е да го включите в DataTable от използването Y.Plugin.DataTableDataSource и след това да конфигурирате колоните:

 Var DS = нов Y.TreebleDataSource, (...),
	 PG = за нов Y.Paginator (...),
	 таблица;

 на функция sendRequest () {
	 table.datasource.load ({
		 молбата си: {
			 startIndex: pg.getStartIndex (),
			 resultCount: pg.getRowsPerPage ()
		 }
	 });
 }

 Var Колони = [
     {Ключ: "yui33-рана", етикет: "},
     {
         ключ: "treeblenub", етикета: ",
         на форматирания: Y.Treeble.buildTwistdownFormatter (sendRequest)
     }
     {
         ключ: "титлата", етикет: "дял",
         форматиране: Y.Treeble.treeValueFormatter
     }
     ...
 ];

 таблица = за нов Y.DataTable.Base ({columnset: Колони});
 table.plug (Y.Plugin.DataTableDataSource {източник на данни: DS});

За да видите пълния сорс код, вижте на живо пример .

Единствените мухи в меда са:

  • Yui33-хак колона. Поради бъг в Юи 3.3.0 DataTable , td елемент премина към форматиране на колона, всъщност е от предишната колона. Така, първата колона в таблицата показва на twistdown, а втората колона е празна.
  • Недефинирани стойности в данните се показват като {value} вместо на заготовки ( бъг 2529858 ).

За да се направи Treeble лесно за използване, която съм добавил кожата Сам, която стилове на класовете на СГО, изписани от Y.Treeble форматиране.

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

За автора: Джон на Lindal ( @ jafl5272 на Twitter) е един от водещите инженери, които изграждат основата, върху която Yahoo! APT е построен. Преди това той е работил в мрежата на Yahoo! Publisher.

Споделете и разширяване : Запазете си отметка към del.icio.us | Digg тя | Reddit!

7 Коментари

  1. Treeble е една страхотна идея! Не бях виждал, че един преди. Аз просто може да го използвате на моя gt5power.com сайт, за да покажете игра Guide / често задаван въпрос за използване на Юи 2 TreeView джаджа.

    Дали в крайна сметка да го използвате или не, нямам никакво съмнение, че това е нещо, което аз ще приключи като се използват няколко пъти и в бъдеще!

    Наздраве

    Коментар от Floydian - 25 януари, 2011 #

  2. много готино!

    Коментар от devsmt - 28 януари, 2011 #

  3. Здравей Джон,

    Аз съм с на вашата Treeble с Юи 2, но имам една молба, че е ако е възможно да се разшири / прибери всички редове наведнъж.

    Благодаря

    Коментар от Thanh - 21 април, 2011 #

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

    Коментар от Джон Lindal - 21 април, 2011 #

  5. Да, аз се опитах това решение и като U каза, че не е много performant и навигатор на замразяването, когато има толкова много възли, да се разширява.

    Така че не е решение, където бихме могли да създадем на treeble с отворени всички възли ... Колко жалко!

    Благодаря все пак.

    Коментар от Thanh - 28 април, 2011 #

  6. Аз наскоро добави и опция за 3 Treeble Юи, така че можете да укажете първоначалното състояние на възел като част от данните. Може да опитате, че като алтернатива на за отваряне всичко чрез превключване () API.

    Коментар от Джон Lindal - 28 април, 2011 #

  7. Благодарение на Галерия-кръпка-340-DataTable форматиране, Юи 3.4.0 версия на Галерия-treeble вече не изисква допълнително колона хак, за да направят правилно.

    Коментар от Джон Lindal - 23 август, 2011 #

Съжаляваме, коментар форма е затворена в този момент.

Поместено от Yahoo!

Copyright © 2006-2012 Yahoo! Inc. Всички права запазени. Декларация за поверителност - Условия за ползване

Осъществено от WordPress на Yahoo! Уеб хостинг .