diff --git a/module/kanban/ui/editspace.html.php b/module/kanban/ui/editspace.html.php
new file mode 100644
index 0000000000..1e503f1e36
--- /dev/null
+++ b/module/kanban/ui/editspace.html.php
@@ -0,0 +1,94 @@
+
+ * @package kanban
+ * @link https://www.zentao.net
+ */
+namespace zin;
+modalHeader(set::title($lang->kanban->editSpace), set::entityText($space->name), set::entityID($space->id));
+
+formPanel
+(
+ on::change('[name="type"]', 'changeType'),
+ formRow
+ (
+ formGroup
+ (
+ set::label($lang->kanbanspace->type),
+ radioList
+ (
+ set::name('type'),
+ set::items($typeList),
+ set::inline(true),
+ set::value($defaultType)
+ )
+ )
+ ),
+ formRow
+ (
+ formGroup
+ (
+ set::label($lang->kanbanspace->name),
+ set::name('name'),
+ set::value($space->name)
+ )
+ ),
+ formRow
+ (
+ set::className('ownerBox ' . ($space->type == 'private' ? 'hidden' : '')),
+ formGroup
+ (
+ set::label($lang->kanbanspace->owner),
+ picker
+ (
+ set::name('owner'),
+ set::items($users),
+ set::value($space->owner)
+ )
+ )
+ ),
+ formRow
+ (
+ set::className('teamBox ' . ($space->type == 'private' ? 'hidden' : '')),
+ formGroup
+ (
+ set::label($lang->kanbanspace->team),
+ picker
+ (
+ set::name('team'),
+ set::multiple(true),
+ set::items($users),
+ set::value($team)
+ )
+ )
+ ),
+ formRow
+ (
+ formGroup
+ (
+ set::label($lang->kanbanspace->desc),
+ editor(set::name('desc'), html($space->desc))
+ )
+ ),
+ formRow
+ (
+ set::className('whitelistBox ' . ($type != 'private' ? 'hidden' : '')),
+ formGroup
+ (
+ set::label($lang->whitelist),
+ picker
+ (
+ set::name('whitelist'),
+ set::multiple(true),
+ set::items($users),
+ set::value($space->whitelist)
+ )
+ )
+ )
+);
+
+render();