PBToolboxAI AcheterBuyKaufenAcquistaComprarComprar

← Historique de tous les composants← History of every component← Versionsverlauf aller Komponenten← Cronologia di tutti i componenti← Historial de todos los componentes← Histórico de todos os componentes

L'historique des versions est publié en anglais.Version history is published in English.Der Versionsverlauf wird auf Englisch veröffentlicht.La cronologia delle versioni è pubblicata in inglese.El historial de versiones se publica en inglés.O histórico de versões é publicado em inglês.

Kanban board — version history

u_pbt_kanban · Introduced in 5.0

A board of cards sorted into columns, the stages of a piece of work, that the user drags from one column to another. Introduced in 5.0.

5.0 #

New #

  • Columns added in the order of the work (of_add_column), cards added at the bottom of a column (of_add_card); the key of a card is unique on the whole board, so it keeps it — and its handle stays valid — when it changes column.
  • The user drags a card to another column or up and down in its own: a ghost follows the pointer, the target column lights up and an accent bar shows where the card will land; the board and the column scroll near their edges, and Escape cancels.
  • ue_card_moved(as_key, as_from_column, as_to_column, al_position) reports each move, the place counted from 1; of_move_card moves a card from the code and raises the same event. With ib_veto_moves, ue_card_moving is asked first and can refuse the move, for a drag, the keyboard and of_move_card alike (which then returns -4).
  • A work-in-progress limit per column (il_limit): the header counts 3/5 and the column turns red past it, also while a card is dragged over a full column. A column folds into a narrow strip (ib_collapsed, ue_column_toggled), hides (ib_visible), and ib_done marks the column of finished work.
  • Each card shows a title, a text, coloured tags (is_tags, tones given by is_tag_tones), the round avatar of its assignee (is_assignee), a due date that turns red once late and orange on the day (is_due, compared with is_today or the date of the workstation) and a badge; title, text and badge accept rich text markup.
  • The body of every card can be written by a template (is_card_template): fields of your own (of_set_field, of_get_field), dates written your way ({due:d mmm}) and pieces shown only when a field says something ({?x}…{/x}).
  • The board is fed from a DataStore (of_from_datastore): one card per row, its key the RowID of the row; a column plays a role when it is named like it or when of_map says so (the column of the board, the title, the tags, the assignee, the due date, the colour, the rank…), dates are read in the regional order of the workstation, and a value no column holds gets a column of its own.
  • With ib_write_back, a move writes the new column and the ranks into the DataStore before ue_card_moved; a value the DataStore refuses puts the card back and raises ue_write_back_failed. of_reload_row sends a row changed by your code to the board again.
  • Selection by click, keyboard or code (of_select_card, of_clear_selection, of_selected_key, ue_selection_changed); ue_card_clicked, ue_card_opened (double click or Enter), ue_card_rclicked and ue_column_rclicked for your menus; ue_delete_requested on Delete; ue_new_requested from the + Add a card button (ib_add_button) or a double click in a column.
  • Keyboard: arrows to move the selection, Home and End in a column, Ctrl + arrows to move the card, Enter to open it; the board is one stop of the Tab key, and right-to-left applications are followed, arrows included.
  • A search (is_filter), in a toolbar (ib_toolbar) and from the code, on the title, the body, the tags, the assignee and the badge; read-only boards (ib_read_only) and cards; the width of the columns (ii_column_width); a tooltip and five colours on every column and card, the accent of a card drawing a stripe on its edge.
  • Columns the user rearranges, on option (ib_reorderable, off by default): he drags the header of a column — a ghost follows the pointer, a vertical accent bar shows where it will land, the other columns slide to their new place, the board scrolls near its edges and Escape cancels — or presses Ctrl + Shift + Left / Right on a card or a header, inverted right to left. ue_column_moved(as_key, al_from, al_to) reports each move, places counted from 1; of_move_column moves a column from the code and raises the same event; with ib_veto_moves, ue_column_moving is asked first and can refuse it (of_move_column then returns -4). A column handle reads its place (of_position).
  • The layout the user arranged — the order of the columns and their fold — is read by of_get_layout and given back by of_set_layout; ue_layout_changed carries the whole layout after every change, to store it and find the board again at the next start.
  • of_remove_card, of_remove_column, of_clear_cards, of_clear and of_reset remove what was added and free the handles; a column handle walks its cards in their order (of_count, of_keys_at, of_has), and a card handle reads where it stands (of_column, of_position).