Dreamine.Web 1.0.0.0
WPF와 Blazor를 한 코드 흐름으로 연결하고 반복적인 MVVM 코드를 줄이는 오픈소스 FullKit 공식 웹 애플리케이션입니다.
로딩중...
검색중...
일치하는것 없음
DreamineWeb.ViewModels.DocViewModel 클래스 참조

더 자세히 ...

DreamineWeb.ViewModels.DocViewModel에 대한 상속 다이어그램 :
DreamineWeb.ViewModels.DocViewModel에 대한 협력 다이어그램:

Public 멤버 함수

 DocViewModel (ILibraryStore store)
async Task LoadAsync (string libraryId)
void RefreshReadme ()

속성

LibraryInfoLibrary [get, private set]
List< DocMemberMembers = [] [get, private set]
bool IsKorean = true [get, set]
string? ReadmeHtml [get, private set]
string? MermaidDiagram [get, private set]
bool HasDiagram [get, private set]
string DiagramUrl = string.Empty [get, private set]
IEnumerable< DocMemberTypes [get]
IEnumerable< IGrouping< string?, DocMember > > MembersByType [get]

Private 멤버 함수

void LoadReadme (string docDir)

Private 속성

readonly ILibraryStore _store
readonly string _xmlDocRoot

정적 Private 속성

static readonly MarkdownPipeline _pipeline

상세한 설명

Doc View Model 기능과 관련 상태를 캡슐화합니다.

DocViewModel.cs 파일의 17 번째 라인에서 정의되었습니다.

생성자 & 소멸자 문서화

◆ DocViewModel()

DreamineWeb.ViewModels.DocViewModel.DocViewModel ( ILibraryStore store)
inline

지정한 설정으로 DocViewModel 클래스의 새 인스턴스를 초기화합니다.

매개변수
storestore에 사용할 ILibraryStore 값입니다.

DocViewModel.cs 파일의 158 번째 라인에서 정의되었습니다.

159 {
160 _store = store;
161 _xmlDocRoot = Path.Combine(AppContext.BaseDirectory, "wwwroot", "xmldocs");
162 }

다음을 참조함 : _store, _xmlDocRoot.

멤버 함수 문서화

◆ LoadAsync()

async Task DreamineWeb.ViewModels.DocViewModel.LoadAsync ( string libraryId)
inline

Async 데이터를 불러옵니다.

매개변수
libraryIdlibrary Id에 사용할 string 값입니다.
반환값
Load Async 작업에서 생성한 Task 결과입니다.

DocViewModel.cs 파일의 188 번째 라인에서 정의되었습니다.

189 {
190 Library = await _store.GetAsync(libraryId);
191 Members = [];
192 ReadmeHtml = null;
193 MermaidDiagram = null;
194 HasDiagram = false;
195
196 if (Library is null) return;
197
198 var docDir = Path.Combine(_xmlDocRoot, Library.Name);
199
200 // XML API 문서
201 var xmlPath = Path.Combine(docDir, $"{Library.Name}.xml");
202 if (File.Exists(xmlPath))
203 Members = XmlDocParser.Parse(xmlPath);
204 else if (!string.IsNullOrEmpty(Library.XmlDocPath) && File.Exists(Library.XmlDocPath))
205 Members = XmlDocParser.Parse(Library.XmlDocPath);
206
207 // README
208 LoadReadme(docDir);
209
210 // Mermaid 다이어그램 (우선)
211 var mermaidPath = Path.Combine(docDir, "diagram.mermaid");
212 if (File.Exists(mermaidPath))
213 {
214 MermaidDiagram = File.ReadAllText(mermaidPath).Trim();
215 HasDiagram = true;
216 }
217 else
218 {
219 // SVG fallback
220 var svgPath = Path.Combine(docDir, "diagram.svg");
221 if (File.Exists(svgPath))
222 {
223 HasDiagram = true;
224 DiagramUrl = $"/xmldocs/{Library.Name}/diagram.svg";
225 }
226 }
227 }

다음을 참조함 : _store, _xmlDocRoot, DiagramUrl, HasDiagram, Library, LoadReadme(), Members, MermaidDiagram, DreamineWeb.Services.XmlDocParser.Parse(), ReadmeHtml.

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ LoadReadme()

void DreamineWeb.ViewModels.DocViewModel.LoadReadme ( string docDir)
inlineprivate

Readme 데이터를 불러옵니다.

매개변수
docDirdoc Dir에 사용할 string 값입니다.

DocViewModel.cs 파일의 259 번째 라인에서 정의되었습니다.

260 {
261 string? mdPath = null;
262
263 if (IsKorean)
264 {
265 var ko1 = Path.Combine(docDir, "README_KO.md");
266 var ko2 = Path.Combine(docDir, "README_ko.md");
267 if (File.Exists(ko1)) mdPath = ko1;
268 else if (File.Exists(ko2)) mdPath = ko2;
269 }
270
271 if (mdPath is null)
272 {
273 var en = Path.Combine(docDir, "README.md");
274 if (File.Exists(en)) mdPath = en;
275 }
276
277 ReadmeHtml = mdPath is not null
278 ? Markdown.ToHtml(File.ReadAllText(mdPath), _pipeline)
279 : null;
280 }

다음을 참조함 : _pipeline, IsKorean, ReadmeHtml.

다음에 의해서 참조됨 : LoadAsync(), RefreshReadme().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ RefreshReadme()

void DreamineWeb.ViewModels.DocViewModel.RefreshReadme ( )
inline

Refresh Readme 작업을 수행합니다.

DocViewModel.cs 파일의 237 번째 라인에서 정의되었습니다.

238 {
239 if (Library is not null)
240 LoadReadme(Path.Combine(_xmlDocRoot, Library.Name));
241 }

다음을 참조함 : _xmlDocRoot, Library, LoadReadme().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ _pipeline

readonly MarkdownPipeline DreamineWeb.ViewModels.DocViewModel._pipeline
staticprivate
초기값:
=
new MarkdownPipelineBuilder().UseAdvancedExtensions().Build()

pipeline 값을 보관합니다.

DocViewModel.cs 파일의 46 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : LoadReadme().

◆ _store

readonly ILibraryStore DreamineWeb.ViewModels.DocViewModel._store
private

store 값을 보관합니다.

DocViewModel.cs 파일의 27 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : DocViewModel(), LoadAsync().

◆ _xmlDocRoot

readonly string DreamineWeb.ViewModels.DocViewModel._xmlDocRoot
private

xml Doc Root 값을 보관합니다.

DocViewModel.cs 파일의 36 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : DocViewModel(), LoadAsync(), RefreshReadme().

속성 문서화

◆ DiagramUrl

string DreamineWeb.ViewModels.DocViewModel.DiagramUrl = string.Empty
getprivate set

wwwroot 기준 상대 URL (SVG fallback용)

DocViewModel.cs 파일의 116 번째 라인에서 정의되었습니다.

116{ get; private set; } = string.Empty;

다음에 의해서 참조됨 : LoadAsync().

◆ HasDiagram

bool DreamineWeb.ViewModels.DocViewModel.HasDiagram
getprivate set

Has Diagram 값을 가져오거나 설정합니다.

DocViewModel.cs 파일의 106 번째 라인에서 정의되었습니다.

106{ get; private set; }

다음에 의해서 참조됨 : LoadAsync().

◆ IsKorean

bool DreamineWeb.ViewModels.DocViewModel.IsKorean = true
getset

Is Korean 값을 가져오거나 설정합니다.

DocViewModel.cs 파일의 76 번째 라인에서 정의되었습니다.

76{ get; set; } = true;

다음에 의해서 참조됨 : LoadReadme().

◆ Library

LibraryInfo? DreamineWeb.ViewModels.DocViewModel.Library
getprivate set

Library 값을 가져오거나 설정합니다.

DocViewModel.cs 파일의 57 번째 라인에서 정의되었습니다.

57{ get; private set; }

다음에 의해서 참조됨 : LoadAsync(), RefreshReadme().

◆ Members

List<DocMember> DreamineWeb.ViewModels.DocViewModel.Members = []
getprivate set

Members 값을 가져오거나 설정합니다.

DocViewModel.cs 파일의 66 번째 라인에서 정의되었습니다.

66{ get; private set; } = [];

다음에 의해서 참조됨 : LoadAsync().

◆ MembersByType

IEnumerable<IGrouping<string?, DocMember> > DreamineWeb.ViewModels.DocViewModel.MembersByType
get

Members By Type 값을 가져옵니다.

DocViewModel.cs 파일의 137 번째 라인에서 정의되었습니다.

◆ MermaidDiagram

string? DreamineWeb.ViewModels.DocViewModel.MermaidDiagram
getprivate set

Mermaid 다이어그램 원본 텍스트. null이면 다이어그램 없음.

DocViewModel.cs 파일의 96 번째 라인에서 정의되었습니다.

96{ get; private set; }

다음에 의해서 참조됨 : LoadAsync().

◆ ReadmeHtml

string? DreamineWeb.ViewModels.DocViewModel.ReadmeHtml
getprivate set

마크다운 → HTML 변환 결과. null이면 README 없음.

DocViewModel.cs 파일의 86 번째 라인에서 정의되었습니다.

86{ get; private set; }

다음에 의해서 참조됨 : LoadAsync(), LoadReadme().

◆ Types

IEnumerable<DocMember> DreamineWeb.ViewModels.DocViewModel.Types
get

Types 값을 가져옵니다.

DocViewModel.cs 파일의 126 번째 라인에서 정의되었습니다.


이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: