diff --git a/app/appearance/langs/ar_SA.json b/app/appearance/langs/ar_SA.json index 53f59c6c6..33a87812e 100644 --- a/app/appearance/langs/ar_SA.json +++ b/app/appearance/langs/ar_SA.json @@ -36,6 +36,7 @@ "showAllEntriesIcons": "عرض أيقونات المدخلات", "wrapAllFields": "التفاف الحقول تلقائيًا", "gallery": "بطاقة", + "kanban": "Kanban", "newTag": "علامة جديدة", "pleaseWait": "يرجى الانتظار...", "reconnectPrompt": "بعد تبديل التطبيقات، سيستغرق الأمر بعض الوقت لاستعادة تشغيل نواة SiYuan. يرجى الانتظار بضع ثوانٍ أو النقر فوق الزر \"إعادة المحاولة\"", @@ -1387,6 +1388,7 @@ "_attrView": { "table": "جدول", "gallery": "بطاقة", + "kanban": "Kanban", "key": "المفتاح الرئيسي", "select": "تحديد" }, diff --git a/app/appearance/langs/de_DE.json b/app/appearance/langs/de_DE.json index f2788d899..291752686 100644 --- a/app/appearance/langs/de_DE.json +++ b/app/appearance/langs/de_DE.json @@ -36,6 +36,7 @@ "showAllEntriesIcons": "Eintragssymbole anzeigen", "wrapAllFields": "Felder automatisch umbrechen", "gallery": "Karte", + "kanban": "Kanban", "newTag": "Neuer Tag", "pleaseWait": "Bitte warten...", "reconnectPrompt": "Nach dem Wechseln der Anwendungen dauert es einige Zeit, bis der Betrieb des SiYuan-Kernels wiederhergestellt ist. Bitte warten Sie einige Sekunden oder klicken Sie auf die Schaltfläche „Erneut versuchen“", @@ -1387,6 +1388,7 @@ "_attrView": { "table": "Tabelle", "gallery": "Karte", + "kanban": "Kanban", "key": "Primärschlüssel", "select": "Auswählen" }, diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index 67bd87bcd..2961e3a51 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -36,6 +36,7 @@ "showAllEntriesIcons": "Show entry icons", "wrapAllFields": "Auto-wrap fields", "gallery": "Card", + "kanban": "Kanban", "newTag": "New tag", "pleaseWait": "Please wait...", "reconnectPrompt": "After switching applications, it will take some time to restore the SiYuan kernel operation. Please wait a few seconds or click the \"Retry\" button", @@ -1387,6 +1388,7 @@ "_attrView": { "table": "Table", "gallery": "Card", + "kanban": "Kanban", "key": "Primary Key", "select": "Select" }, diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json index 83c3f5d6b..5bb042791 100644 --- a/app/appearance/langs/es_ES.json +++ b/app/appearance/langs/es_ES.json @@ -36,6 +36,7 @@ "showAllEntriesIcons": "Mostrar íconos de entradas", "wrapAllFields": "Ajuste automático de campos", "gallery": "Tarjeta", + "kanban": "Kanban", "newTag": "Nueva etiqueta", "pleaseWait": "Por favor, espere...", "reconnectPrompt": "Después de cambiar de aplicación, tomará algún tiempo restaurar el funcionamiento del núcleo de SiYuan. Espere unos segundos o haga clic en el botón \"Reintentar\"", @@ -1387,6 +1388,7 @@ "_attrView": { "table": "Tabla", "gallery": "Tarjeta", + "kanban": "Kanban", "key": "Clave principal", "select": "Selección" }, diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index e76b3a3d8..d72f21e3e 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -36,6 +36,7 @@ "showAllEntriesIcons": "Afficher les icônes des entrées", "wrapAllFields": "Retour automatique des champs", "gallery": "Carte", + "kanban": "Kanban", "newTag": "Nouvelle étiquette", "pleaseWait": "Veuillez patienter...", "reconnectPrompt": "Après avoir changé d'application, il faudra un certain temps pour rétablir le fonctionnement du noyau SiYuan. Veuillez patienter quelques secondes ou cliquer sur le bouton « Réessayer »", @@ -1387,6 +1388,7 @@ "_attrView": { "table": "Tableau", "gallery": "Carte", + "kanban": "Kanban", "key": "Clé primaire", "select": "Sélectionner" }, diff --git a/app/appearance/langs/he_IL.json b/app/appearance/langs/he_IL.json index 337b4ed58..645447a46 100644 --- a/app/appearance/langs/he_IL.json +++ b/app/appearance/langs/he_IL.json @@ -36,6 +36,7 @@ "showAllEntriesIcons": "הצג סמלי כניסות", "wrapAllFields": "עטיפת שדות אוטומטית", "gallery": "כרטיס", + "kanban": "קאנבן", "newTag": "תג חדש", "pleaseWait": "אנא המתן...", "reconnectPrompt": "לאחר מעבר בין יישומים, יידרש זמן מה כדי לשחזר את פעולת ליבת SiYuan. אנא המתן מספר שניות או לחץ על כפתור \"נסה שוב\"", @@ -1387,6 +1388,7 @@ "_attrView": { "table": "טבלה", "gallery": "כרטיס", + "kanban": "קאנבן", "key": "מפתח ראשי", "select": "בחר" }, diff --git a/app/appearance/langs/it_IT.json b/app/appearance/langs/it_IT.json index d8e641b53..6be46598e 100644 --- a/app/appearance/langs/it_IT.json +++ b/app/appearance/langs/it_IT.json @@ -36,6 +36,7 @@ "showAllEntriesIcons": "Mostra icone delle voci", "wrapAllFields": "Avvolgi automaticamente i campi", "gallery": "Scheda", + "kanban": "Kanban", "newTag": "Nuova etichetta", "pleaseWait": "Attendere prego...", "reconnectPrompt": "Dopo aver cambiato applicazione, ci vorrà un po' di tempo per ripristinare il funzionamento del kernel SiYuan. Attendere qualche secondo o fare clic sul pulsante \"Riprova\"", @@ -1387,6 +1388,7 @@ "_attrView": { "table": "Tabella", "gallery": "Scheda", + "kanban": "Kanban", "key": "Chiave primaria", "select": "Seleziona" }, diff --git a/app/appearance/langs/ja_JP.json b/app/appearance/langs/ja_JP.json index 805e53a33..1b0e32794 100644 --- a/app/appearance/langs/ja_JP.json +++ b/app/appearance/langs/ja_JP.json @@ -36,6 +36,7 @@ "showAllEntriesIcons": "エントリアイコンを表示", "wrapAllFields": "フィールドを自動折り返し", "gallery": "カード", + "kanban": "カンバン", "newTag": "新しいタグ", "pleaseWait": "しばらくお待ちください...", "reconnectPrompt": "アプリを切り替えた後、思源カーネルの実行を再開するには少し時間がかかります。数秒待つか、「再試行」ボタンをクリックしてください", @@ -1387,6 +1388,7 @@ "_attrView": { "table": "テーブル", "gallery": "カード", + "kanban": "カンバン", "key": "プライマリキー", "select": "選択" }, diff --git a/app/appearance/langs/pl_PL.json b/app/appearance/langs/pl_PL.json index 7eb39ded5..156070e85 100644 --- a/app/appearance/langs/pl_PL.json +++ b/app/appearance/langs/pl_PL.json @@ -36,6 +36,7 @@ "showAllEntriesIcons": "Pokaż ikony wpisów", "wrapAllFields": "Automatyczne zawijanie pól", "gallery": "Karta", + "kanban": "Kanban", "newTag": "Nowy tag", "pleaseWait": "Proszę czekać...", "reconnectPrompt": "Po przełączeniu aplikacji ponowne uruchomienie jądra SiYuan może zająć trochę czasu. Proszę poczekać kilka sekund lub kliknąć przycisk „Ponów próbę”", @@ -1387,6 +1388,7 @@ "_attrView": { "table": "Tabela", "gallery": "Karta", + "kanban": "Kanban", "key": "Klucz główny", "select": "Wybierz" }, diff --git a/app/appearance/langs/pt_BR.json b/app/appearance/langs/pt_BR.json index 12d6f0365..466a99057 100644 --- a/app/appearance/langs/pt_BR.json +++ b/app/appearance/langs/pt_BR.json @@ -36,6 +36,7 @@ "showAllEntriesIcons": "Mostrar ícones de entradas", "wrapAllFields": "Quebrar automaticamente os campos", "gallery": "Cartão", + "kanban": "Kanban", "newTag": "Nova tag", "pleaseWait": "Por favor, aguarde...", "reconnectPrompt": "Após alternar aplicativos, levará algum tempo para restaurar a operação do kernel SiYuan. Por favor, aguarde alguns segundos ou clique no botão \"Tentar novamente\"", @@ -1387,6 +1388,7 @@ "_attrView": { "table": "Tabela", "gallery": "Cartão", + "kanban": "Kanban", "key": "Chave Primária", "select": "Selecionar" }, diff --git a/app/appearance/langs/ru_RU.json b/app/appearance/langs/ru_RU.json index 3297d5b77..2d0953f74 100644 --- a/app/appearance/langs/ru_RU.json +++ b/app/appearance/langs/ru_RU.json @@ -36,6 +36,7 @@ "showAllEntriesIcons": "Показать значки записей", "wrapAllFields": "Автоматический перенос полей", "gallery": "Карточка", + "kanban": "Канбан", "newTag": "Новый тег", "pleaseWait": "Пожалуйста, подождите...", "reconnectPrompt": "После переключения приложений потребуется некоторое время, чтобы восстановить работу ядра SiYuan. Пожалуйста, подождите несколько секунд или нажмите кнопку «Повторить»", @@ -1387,6 +1388,7 @@ "_attrView": { "table": "Таблица", "gallery": "Карточка", + "kanban": "Канбан", "key": "Первичный ключ", "select": "Выбрать" }, diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index 062af4f8a..3d28713d2 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -36,6 +36,7 @@ "showAllEntriesIcons": "顯示條目圖標", "wrapAllFields": "欄位自動換行", "gallery": "卡片", + "kanban": "看板", "newTag": "新建標籤", "pleaseWait": "請稍等片刻...", "reconnectPrompt": "切換應用後再次進入需要一些時間恢復思源內核運行,請稍等幾秒或者點擊“重試”按鈕", @@ -1387,6 +1388,7 @@ "_attrView": { "table": "表格", "gallery": "卡片", + "kanban": "看板", "key": "主鍵", "select": "單選" }, diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index 7cc5fae9a..b0d49ef46 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -36,6 +36,7 @@ "showAllEntriesIcons": "显示条目图标", "wrapAllFields": "字段自动换行", "gallery": "卡片", + "kanban": "看板", "newTag": "新建标签", "pleaseWait": "请稍等片刻...", "reconnectPrompt": "切换应用后再次进入需要一些时间恢复思源内核运行,请稍等几秒或者点击“重试”按钮", @@ -1387,6 +1388,7 @@ "_attrView": { "table": "表格", "gallery": "卡片", + "kanban": "看板", "key": "主键", "select": "单选" }, diff --git a/kernel/av/av.go b/kernel/av/av.go index c8ccbf416..4b306adb8 100644 --- a/kernel/av/av.go +++ b/kernel/av/av.go @@ -207,6 +207,7 @@ type View struct { LayoutType LayoutType `json:"type"` // 当前布局类型 Table *LayoutTable `json:"table,omitempty"` // 表格布局 Gallery *LayoutGallery `json:"gallery,omitempty"` // 卡片布局 + Kanban *LayoutKanban `json:"kanban,omitempty"` // 看板布局 ItemIDs []string `json:"itemIds,omitempty"` // 项目 ID 列表,用于维护所有项目 Group *ViewGroup `json:"group,omitempty"` // 分组规则 @@ -306,8 +307,8 @@ const ( ViewDefaultPageSize = 50 // 视图默认分页大小 ) -func NewTableView() (ret *View) { - ret = &View{ +func NewTableView() *View { + return &View{ ID: ast.NewNodeID(), Name: GetAttributeViewI18n("table"), Filters: []*ViewFilter{}, @@ -316,7 +317,6 @@ func NewTableView() (ret *View) { LayoutType: LayoutTypeTable, Table: NewLayoutTable(), } - return } func NewTableViewWithBlockKey(blockKeyID string) (view *View, blockKey, selectKey *Key) { @@ -339,7 +339,7 @@ func NewTableViewWithBlockKey(blockKeyID string) (view *View, blockKey, selectKe } func NewGalleryView() (ret *View) { - ret = &View{ + return &View{ ID: ast.NewNodeID(), Name: GetAttributeViewI18n("gallery"), Filters: []*ViewFilter{}, @@ -348,7 +348,18 @@ func NewGalleryView() (ret *View) { LayoutType: LayoutTypeGallery, Gallery: NewLayoutGallery(), } - return +} + +func NewKanbanView() (ret *View) { + return &View{ + ID: ast.NewNodeID(), + Name: GetAttributeViewI18n("kanban"), + Filters: []*ViewFilter{}, + Sorts: []*ViewSort{}, + PageSize: ViewDefaultPageSize, + LayoutType: LayoutTypeKanban, + Kanban: NewLayoutKanban(), + } } // Viewable 描述了视图的接口。