47. Avalonia UI Real World (Git Commit Reviews)
00:00 Завершение работы над страницей пользовательских свойств • Создание страницы пользовательских свойств заняло два часа. • Остальные страницы созданы путём копирования и вставки кода пользовательских свойств. • Все страницы связаны пустыми моделями просмотра и могут быть запущены после сохранения. 00:39 Фиксации изменений • Изменения сделаны в трёх фиксациях, код доступен на GitHub. • Первая фиксация: модели просмотра для остальных страниц действий. • Добавлены наборы данных для каждой модели данных, скопированы и переименованы вкладки «Информация о файле», «Импорт», «Макрос». 01:36 Обновление контекста базы данных • В контекст базы данных добавлены наборы данных. • Созданы модели данных для каждой вкладки с необходимыми свойствами. 02:15 Свойства моделей данных • Модели данных содержат идентификатор, название работы и описание. • Добавлены свойства для каждой вкладки: информация о файле, импорт файла, макросы. 02:53 Ограничения в базе данных • Установлены ограничения длины строки для свойств «печать» и «пользовательские свойства». • Обновлены идентификаторы настроек принтера и модель данных настроек принтера. 03:52 Сравнение изменений в Git • В Rider можно сравнить изменения с версией через Git. • Обновление dbcontext с наборами данных. 04:50 Переименование модели данных • Переименована модель данных настроек принтера в имя задания. • Добавлены пути поиска шаблонов рисования в viewmodel. 05:42 Создание новых моделей представления • Созданы новые модели представления для шаблона чертежа, информации о файле, макросов ввода, сохранения чертежей и моделей сохранения. 06:40 Методы расширений • Добавлены методы расширений для viewmodels. • Метод расширения позволяет вызывать модель данных внутри viewmodel. 09:08 Исправление ошибок и обновление страниц • Исправлена ошибка в представлении пользовательских свойств вкладки «Действия». • Обновлены страницы действий, добавлены вызовы для извлечения списков. 10:14 Копирование и вставка функций • Функции печати скопированы и вставлены в пользовательские свойства. • Созданы функции для выборки, добавления, отмены, удаления и сохранения. 10:44 Обновление функций и переименование свойств • Выделил все функции, нажал Ctrl+Shift+H, изменил область действия на выделение. • Поискал «информация о файле» и заменил его на «пользовательские свойства». • Переименовал функции в «информация о файле», «сохранить модель», «сохранить чертёж» и т. д. 11:37 Копирование и вставка пользовательских свойств • Создал новый файл и скопировал пользовательские свойства. • Переименовал класс, конструктор и проверку. • Проделал поиск и замену в коде, лежащем в основе каждого класса. 12:31 Добавление описаний и вкладок • Добавил описания для каждой страницы. • Копировал и вставлял вкладки: шаблон чертежа, информация о файле, импорт макросов, сохранение чертежа, сохранение модели. • Раскомментировал элементы в исходном коде для загрузки представлений при смене вкладки. 14:12 Обновление моделей данных и представлений • Скопировал и вставил пользовательскую модель данных свойств. • Обновил поля моделей данных в соответствии с приложением. • Внёс изменения в модели представлений и представления страницы действий. 14:50 Работа с базой данных • Скопировал и вставил наборы данных в службу базы данных. • Переделал функции «получить», «добавить», «обновить» и «удалить». • Все изменения доступны в последних трёх коммитах на GitHub. 16:13 Рефакторинг повторяющегося кода • Обнаружил много повторяющихся фрагментов кода. • Планирует провести рефакторинг для минимизации повторяющихся операций. • Цель — создать вспомогательный или универсальный класс для общих функций. 17:55 Создание пользовательского интерфейса • Создал пользовательский интерфейс для страницы «Информация о файле». • Заполнил поля: название, тема, автор, ключевые слова, комментарии. • Обсудил использование флажков и переменных для упрощения логики. 20:26 Упрощение логики и использование текстовых полей • Упростил логику, используя только текстовые поля. • Извлёк списки для конструктора времени разработки. • Подготовил страницы для сохранения модели и импорта чертежей. 21:13 Создание пользовательского интерфейса • Перестроение страницы для отображения списка из базы данных. • Выбор между пятью текстовыми полями и расширением существующего поля. • Добавление текстовых полей для названия должности и её описания. 22:04 Настройка таблицы • Добавление комментариев для удобства поиска информации. • Настройка количества строк в таблице. • Перенос деталей в другое поле для улучшения структуры. 23:22 Копирование и вставка таблицы • Копирование таблицы и вставка её ниже. • Добавление дополнительных рядов для деталей. • Удаление ненужных рядов для оптимизации пространства. 25:32 Привязка модели представления 26:13 Завершение страницы 27:18 Пользовательский интерфейс для сохранения модели 28:51 Настройка списков и флажков 31:01 Пользовательский интерфейс для импорта файлов 32:21 Заключение
00:00 Завершение работы над страницей пользовательских свойств • Создание страницы пользовательских свойств заняло два часа. • Остальные страницы созданы путём копирования и вставки кода пользовательских свойств. • Все страницы связаны пустыми моделями просмотра и могут быть запущены после сохранения. 00:39 Фиксации изменений • Изменения сделаны в трёх фиксациях, код доступен на GitHub. • Первая фиксация: модели просмотра для остальных страниц действий. • Добавлены наборы данных для каждой модели данных, скопированы и переименованы вкладки «Информация о файле», «Импорт», «Макрос». 01:36 Обновление контекста базы данных • В контекст базы данных добавлены наборы данных. • Созданы модели данных для каждой вкладки с необходимыми свойствами. 02:15 Свойства моделей данных • Модели данных содержат идентификатор, название работы и описание. • Добавлены свойства для каждой вкладки: информация о файле, импорт файла, макросы. 02:53 Ограничения в базе данных • Установлены ограничения длины строки для свойств «печать» и «пользовательские свойства». • Обновлены идентификаторы настроек принтера и модель данных настроек принтера. 03:52 Сравнение изменений в Git • В Rider можно сравнить изменения с версией через Git. • Обновление dbcontext с наборами данных. 04:50 Переименование модели данных • Переименована модель данных настроек принтера в имя задания. • Добавлены пути поиска шаблонов рисования в viewmodel. 05:42 Создание новых моделей представления • Созданы новые модели представления для шаблона чертежа, информации о файле, макросов ввода, сохранения чертежей и моделей сохранения. 06:40 Методы расширений • Добавлены методы расширений для viewmodels. • Метод расширения позволяет вызывать модель данных внутри viewmodel. 09:08 Исправление ошибок и обновление страниц • Исправлена ошибка в представлении пользовательских свойств вкладки «Действия». • Обновлены страницы действий, добавлены вызовы для извлечения списков. 10:14 Копирование и вставка функций • Функции печати скопированы и вставлены в пользовательские свойства. • Созданы функции для выборки, добавления, отмены, удаления и сохранения. 10:44 Обновление функций и переименование свойств • Выделил все функции, нажал Ctrl+Shift+H, изменил область действия на выделение. • Поискал «информация о файле» и заменил его на «пользовательские свойства». • Переименовал функции в «информация о файле», «сохранить модель», «сохранить чертёж» и т. д. 11:37 Копирование и вставка пользовательских свойств • Создал новый файл и скопировал пользовательские свойства. • Переименовал класс, конструктор и проверку. • Проделал поиск и замену в коде, лежащем в основе каждого класса. 12:31 Добавление описаний и вкладок • Добавил описания для каждой страницы. • Копировал и вставлял вкладки: шаблон чертежа, информация о файле, импорт макросов, сохранение чертежа, сохранение модели. • Раскомментировал элементы в исходном коде для загрузки представлений при смене вкладки. 14:12 Обновление моделей данных и представлений • Скопировал и вставил пользовательскую модель данных свойств. • Обновил поля моделей данных в соответствии с приложением. • Внёс изменения в модели представлений и представления страницы действий. 14:50 Работа с базой данных • Скопировал и вставил наборы данных в службу базы данных. • Переделал функции «получить», «добавить», «обновить» и «удалить». • Все изменения доступны в последних трёх коммитах на GitHub. 16:13 Рефакторинг повторяющегося кода • Обнаружил много повторяющихся фрагментов кода. • Планирует провести рефакторинг для минимизации повторяющихся операций. • Цель — создать вспомогательный или универсальный класс для общих функций. 17:55 Создание пользовательского интерфейса • Создал пользовательский интерфейс для страницы «Информация о файле». • Заполнил поля: название, тема, автор, ключевые слова, комментарии. • Обсудил использование флажков и переменных для упрощения логики. 20:26 Упрощение логики и использование текстовых полей • Упростил логику, используя только текстовые поля. • Извлёк списки для конструктора времени разработки. • Подготовил страницы для сохранения модели и импорта чертежей. 21:13 Создание пользовательского интерфейса • Перестроение страницы для отображения списка из базы данных. • Выбор между пятью текстовыми полями и расширением существующего поля. • Добавление текстовых полей для названия должности и её описания. 22:04 Настройка таблицы • Добавление комментариев для удобства поиска информации. • Настройка количества строк в таблице. • Перенос деталей в другое поле для улучшения структуры. 23:22 Копирование и вставка таблицы • Копирование таблицы и вставка её ниже. • Добавление дополнительных рядов для деталей. • Удаление ненужных рядов для оптимизации пространства. 25:32 Привязка модели представления 26:13 Завершение страницы 27:18 Пользовательский интерфейс для сохранения модели 28:51 Настройка списков и флажков 31:01 Пользовательский интерфейс для импорта файлов 32:21 Заключение
