MCPcopy Index your code
hub / github.com/DlhSoftTeam/Angular-Kanban

github.com/DlhSoftTeam/Angular-Kanban @1.0.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.0.2 ↗ · + Follow
2,453 symbols 7,385 edges 27 files 336 documented · 14% updated 8y ago1.0.2 · 2017-03-29★ 89
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Angular-Kanban

Kanban board component for AngularJS. Kanban board * Product page: DlhSoft.com/KanbanLibrary

Run demos

Usage

<ds-kanban-board items="items" groups="groups" states="states" assignable-resources="assignableResources"
                 on-adding-new-item="initializeNewItem(item)" on-editing-item="editItem(item)"
                 on-item-state-changed="onItemStateChanged(item, state)">
</ds-kanban-board>
var state1: KanbanState = { name: 'New' }, 
    state2: KanbanState = { name: 'In progress', areNewItemButtonsHidden: true }, 
    state3: KanbanState = { name: 'Done', isCollapsedByDefaultForGroups: true, areNewItemButtonsHidden: true };
var states: KanbanState[] = [state1, state2, state3];
var resource1: KanbanAssignableResource = { name: 'Resource 1', imageUrl: 'Images/Resource1.png' }, 
    resource2: KanbanAssignableResource = { name: 'Resource 2', imageUrl: 'Images/Resource2.png' };
var assignableResources: KanbanAssignableResource[] = [resource1, resource2];
var group1: KanbanGroup = { name: 'Story 1', state: state2, assignedResource: resource1 },
    group2: KanbanGroup = { name: 'Story 2', state: state3, assignedResource: resource2 };
var groups: KanbanGroup[] = [group1, group2];
var items: KanbanItem[] = [
    { name: 'Task 1', group: group1, state: state1, assignedResource: resource1 },
    { name: 'Task 2', group: group1, state: state2, assignedResource: resource1 },
    { name: 'Bug 1', group: group1, state: state2, assignedResource: resource1, itemType: KanbanBoard.defaultItemTypes.bug },
    { name: 'Task 3', group: group1, state: state1, assignedResource: resource2 },
    { name: 'Task 4', group: group1, state: state1, assignedResource: resource1 },
    { name: 'Task 5', group: group2, state: state1, assignedResource: resource2 },
    { name: 'Task 6', group: group2, state: state2, assignedResource: resource2 },
    { name: 'Task 7', group: group2, state: state2, assignedResource: resource1 },
    { name: 'Task 8', group: group2, state: state3, assignedResource: resource2 }
];
$scope.states = states;
$scope.groups = groups;
$scope.items = items;
$scope.assignableResources = assignableResources;
$scope.initializeNewItem = (item: KanbanItem): void => {
    item.assignedResource = resource1;
    console.log('A new item was created.');
};
$scope.editItem = (item: KanbanItem): void => {
    console.log('Editing item ' + item.name);
};
$scope.onItemStateChanged = (item: KanbanItem, state: KanbanState): void => {
    console.log('State of ' + item.name + ' was changed to: ' + state.name);
};

ds-kanban-board directive

  • Available as: element, attribute (e.g. on div), or as comment directive.
  • Transcludes content: to title displayed in the header area of the board.
  • Some accepted arguments:
  • items (required): array of items (such as tasks), defined using Item type, having these members:
    • name: string representing the item; may be overriden by the field defined by itemNameField or groupNameField arguments of the directive
    • group: reference to the group (from the groups array) indicating the vertical group area that the item should be displayed within (e.g. the story that the task belongs to)
    • state: reference to the state (from the states array) indicating the horizontal state area that the item should be displayed within (e.g. New, In progress, Done)
    • itemType: reference to the item type (from the itemTypes array) indicating the type of item (e.g. task, bug, story, feature)
    • assignedResource: reference to the resource (from the assignableResources array) indicating the resource that the item is assigned to (e.g. an employee that need to perform work on a task)
    • color: string indicating a color of the item, overriding the color of the item type (displayed as a left header area for the item rectangle)
    • backgroundColor: string indicating the background color of the item, overriding the color of the item type
    • isReadOnly: Boolean value indicating whether or not this item should be read only
  • groups: array of groups (such as stories), defined using Group type; if not set, group headers area is not displayed, and items are all assigned to a default group behind the scenes
  • states: array of states, defined using State type; defaults to a built-in array containing these states: New, Active, Resolved, Closed.
  • assignableResources: Array of available resources for item assignments, defined using AssignableResource type; if not set, resource assignment area is not displayed for items, and for groups it is replaced by a count of child items
  • isReadOnly: Boolean value indicating whether or not all items should be read only
  • onAddingNewItem(item): function called when a new item is created and added to a group and state
  • onEditingItem(item), onEditingGroup(group): functions called when the end user initiate editing for an item or a group
  • onItemStateChanged(item, state, previousState), onItemGroupChanged(item, group, previousGroup): functions called when the end user drags and drops an item to a different state and/or group area.

Demo source code

Kanban.Library/Kanban.Angular.Components * HTML: index.html * CSS: app.css * TypeScript: app-angular.ts * JavaScript: app-angular.js

Package installation

  • NuGet: Install-Package DlhSoft.KanbanLibrary
  • Bower: bower install http://DlhSoft.com/Packages/DlhSoft.KanbanLibrary.zip
  • Node: npm install http://DlhSoft.com/Packages/DlhSoft.KanbanLibrary.tar

Support

This product is provided for free and "as is", so it doesn't include any official support. If you would like to receive full DlhSoft support for it, you can get it by purchasing a product license.

Extension points exported contracts — how you extend this code

IControlElement (Interface)
(no doc) [12 implementers]
Kanban.Library/Kanban.Angular.GanttChartIntegrationSample/Scripts/DlhSoft.Data.HTML.Controls.d.ts
Item (Interface)
(no doc)
Kanban.Library/Kanban.Angular.Components/DlhSoft.Kanban.Angular.Components.ts
IContentContainer (Interface)
(no doc) [4 implementers]
Kanban.Library/Kanban.Angular.GanttChartIntegrationSample/Scripts/DlhSoft.Data.HTML.Controls.d.ts
Group (Interface)
(no doc)
Kanban.Library/Kanban.Angular.Components/DlhSoft.Kanban.Angular.Components.ts
IDropDown (Interface)
(no doc) [4 implementers]
Kanban.Library/Kanban.Angular.GanttChartIntegrationSample/Scripts/DlhSoft.Data.HTML.Controls.d.ts
State (Interface)
(no doc)
Kanban.Library/Kanban.Angular.Components/DlhSoft.Kanban.Angular.Components.ts
INumberEditor (Interface)
(no doc) [3 implementers]
Kanban.Library/Kanban.Angular.GanttChartIntegrationSample/Scripts/DlhSoft.Data.HTML.Controls.d.ts
ItemType (Interface)
(no doc)
Kanban.Library/Kanban.Angular.Components/DlhSoft.Kanban.Angular.Components.ts

Core symbols most depended-on inside this repo

forEach
called by 135
Kanban.Library/Kanban.Angular.Components/Scripts/angular.js
forEach
called by 119
Kanban.Library/Kanban.Angular.GanttChartIntegrationSample/Scripts/angular.js
y
called by 104
Kanban.Library/Kanban.Angular.GanttChartIntegrationSample/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.js
isUndefined
called by 69
Kanban.Library/Kanban.Angular.Components/Scripts/angular.js
isDefined
called by 68
Kanban.Library/Kanban.Angular.Components/Scripts/angular.js
isUndefined
called by 63
Kanban.Library/Kanban.Angular.GanttChartIntegrationSample/Scripts/angular.js
isDefined
called by 61
Kanban.Library/Kanban.Angular.GanttChartIntegrationSample/Scripts/angular.js
$parse
called by 59
Kanban.Library/Kanban.Angular.Components/Scripts/angular.js

Shape

Function 2,022
Method 351
Interface 68
Class 12

Languages

TypeScript100%

Modules by API surface

Kanban.Library/Kanban.Angular.Components/Scripts/angular.js536 symbols
Kanban.Library/Kanban.Angular.GanttChartIntegrationSample/Scripts/angular.js498 symbols
Kanban.Library/Kanban.Angular.Components/Scripts/angular.min.js274 symbols
Kanban.Library/Kanban.Angular.GanttChartIntegrationSample/Scripts/angular.min.js259 symbols
Kanban.Library/Kanban.Angular.GanttChartIntegrationSample/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.d.ts198 symbols
Kanban.Library/Kanban.Angular.GanttChartIntegrationSample/Scripts/DlhSoft.ProjectData.GanttChart.HTML.Controls.js193 symbols
Kanban.Library/Kanban.Angular.GanttChartIntegrationSample/Scripts/DlhSoft.Data.HTML.Controls.d.ts85 symbols
Kanban.Library/Kanban.Angular.GanttChartIntegrationSample/Scripts/DlhSoft.HierarchicalData.HTML.Controls.js67 symbols
Kanban.Library/Kanban.Angular.GanttChartIntegrationSample/Scripts/DlhSoft.HierarchicalData.HTML.Controls.d.ts56 symbols
Kanban.Library/Kanban.Angular.GanttChartIntegrationSample/Scripts/DlhSoft.ProjectData.PertChart.HTML.Controls.js51 symbols
Kanban.Library/Kanban.Angular.GanttChartIntegrationSample/Scripts/DlhSoft.ProjectData.PertChart.HTML.Controls.d.ts49 symbols
Kanban.Library/Kanban.Angular.Components/Scripts/angular-mocks.js39 symbols

For agents

$ claude mcp add Angular-Kanban \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page