Skip to content

Commit

Permalink
Loading flag
Browse files Browse the repository at this point in the history
  • Loading branch information
PenguinCabinet committed Dec 31, 2024
1 parent 9db62ad commit 60f5130
Show file tree
Hide file tree
Showing 7 changed files with 111 additions and 57 deletions.
57 changes: 39 additions & 18 deletions app_nikki.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package main

import (
"fmt"
"io/ioutil"
"os"
"path"
Expand All @@ -15,9 +16,10 @@ type Nikki_date_t struct {
}

type Nikki_t struct {
Fname string
Date Nikki_date_t
Content string
Fname string
Date Nikki_date_t
Content string
Is_loading bool
}

func (a *App) Add_nikki_today() {
Expand All @@ -39,18 +41,14 @@ func (a *App) Add_nikki_today() {
f.Close()
}

func (a *App) Parse_nikki_file(fname string) Nikki_t {
content, err := ioutil.ReadFile(path.Join(a.Setting_data.Nikki_dir, fname))
if err != nil {
panic(err)
}
func (a *App) Parse_nikki_file_fname(fname string) Nikki_t {

Fname_format_golang := TimeFormat_conv(a.Setting_data.Fname_format)

t, err := time.Parse(Fname_format_golang, fname)
t, _ := time.Parse(Fname_format_golang, fname)

return Nikki_t{
Fname: fname, Content: string(content),
Fname: fname, Content: "", Is_loading: true,
Date: Nikki_date_t{
Year: t.Year(),
Month: int(t.Month()),
Expand All @@ -75,20 +73,32 @@ func (a *App) Write_nikki_file(v Nikki_t) {
}
}

func (a *App) Set_nikki(v []Nikki_t) {
for i, e := range v {
if a.Nikki_data[i].Content != e.Content {
a.Nikki_data[i].Content = e.Content
a.Write_nikki_file(a.Nikki_data[i])
}
func (a *App) Set_nikki(index int, v Nikki_t) {
if a.Nikki_data[index].Content != v.Content {
a.Nikki_data[index].Content = v.Content
a.Write_nikki_file(a.Nikki_data[index])
}

}

func (a *App) Load_nikki_content() {

for i := 0; i < len(a.Nikki_data); i++ {
content, err := ioutil.ReadFile(path.Join(a.Setting_data.Nikki_dir, a.Nikki_data[i].Fname))
if err != nil {
panic(err)
}
a.Nikki_data[i].Content = string(content)
a.Nikki_data[i].Is_loading = false
}
}

func (a *App) Load_nikki() {
fmt.Printf("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")
var reslut []Nikki_t
for _, e := range a.Get_dir_fnames(a.Setting_data.Nikki_dir) {
reslut = append(reslut, a.Parse_nikki_file(e))
fmt.Printf("%v\n", reslut)
reslut = append(reslut, a.Parse_nikki_file_fname(e))
}

sort.SliceStable(reslut, func(i, j int) bool {
Expand All @@ -101,9 +111,20 @@ func (a *App) Load_nikki() {
return reslut[i].Date.Day > reslut[j].Date.Day
})
a.Nikki_data = reslut
fmt.Printf("%v\n", a.Nikki_data)
}

/*
func (a *App) Get_nikki() []Nikki_t {
return a.Nikki_data
return a.Nikki_data
}
*/

func (a *App) Get_nikki(index int) Nikki_t {
return a.Nikki_data[index]
}

func (a *App) Get_nikki_count() int {
return len(a.Nikki_data)
}
2 changes: 1 addition & 1 deletion frontend/index.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!DOCTYPE html>
<html lang="en">
<html lang="ja">

<head>
<meta charset="UTF-8" />
Expand Down
75 changes: 46 additions & 29 deletions frontend/src/js/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import * as bootstrap from 'bootstrap'
// Supports weights 100-900
import '@fontsource/noto-sans-jp';

import { Get_nikki, Get_setting, Set_nikki, Set_setting, Select_Nikki_dir_Dialog } from '../../wailsjs/go/main/App.js'
import { Get_nikki, Get_nikki_count, Get_setting, Set_nikki, Set_setting, Select_Nikki_dir_Dialog } from '../../wailsjs/go/main/App.js'

let Nikki_data = []
let Setting_data = {}
Expand All @@ -21,8 +21,8 @@ function Update_nikki_front(data) {
let Nikki_move_index = 0;
function Nikki_move_prev() {
Nikki_move_index++;
if (Nikki_move_index >= Nikki_data.length)
Nikki_move_index = Nikki_data.length - 1;
if (Nikki_move_index >= Get_nikki_count())
Nikki_move_index = Get_nikki_count() - 1;
}
function Nikki_move_next() {
Nikki_move_index--;
Expand All @@ -32,48 +32,49 @@ function Nikki_move_next() {
function Nikki_move_today() {
Nikki_move_index = 0;
}
function Nikki_move_prev_month() {
if (Nikki_data[Nikki_move_index].Date.Year == 0) {
async function Nikki_move_prev_month() {
if ((await Get_nikki(Nikki_move_index)).Date.Year == 0) {
Nikki_move_prev();
return;
}
let target_nikki_date = new Date(
Nikki_data[Nikki_move_index].Date.Year,
Nikki_data[Nikki_move_index].Date.Month,
Nikki_data[Nikki_move_index].Date.Day,
(await Get_nikki(Nikki_move_index)).Date.Year,
(await Get_nikki(Nikki_move_index)).Date.Month,
(await Get_nikki(Nikki_move_index)).Date.Day,
);
target_nikki_date.setMonth(target_nikki_date.getMonth() - 1);

while (
target_nikki_date < (new Date(
Nikki_data[Nikki_move_index].Date.Year,
Nikki_data[Nikki_move_index].Date.Month,
Nikki_data[Nikki_move_index].Date.Day,
(await Get_nikki(Nikki_move_index)).Date.Year,
(await Get_nikki(Nikki_move_index)).Date.Month,
(await Get_nikki(Nikki_move_index)).Date.Day,
))
&& Nikki_move_index < Nikki_data.length - 1) {
&& Nikki_move_index < Get_nikki_count() - 1) {
Nikki_move_index++;
}
if (Nikki_move_index >= Nikki_data.length)
Nikki_move_index = Nikki_data.length - 1;
if (Nikki_move_index >= Get_nikki_count())
Nikki_move_index = Get_nikki_count() - 1;
}

function Nikki_move_next_month() {
if (Nikki_data[Nikki_move_index].Date.Year == 0) {
async function Nikki_move_next_month() {
Nikki_data
if ((await Get_nikki(Nikki_move_index)).Date.Year == 0) {
Nikki_move_next();
return;
}
let target_nikki_date = new Date(
Nikki_data[Nikki_move_index].Date.Year,
Nikki_data[Nikki_move_index].Date.Month,
Nikki_data[Nikki_move_index].Date.Day,
(await Get_nikki(Nikki_move_index)).Date.Year,
(await Get_nikki(Nikki_move_index)).Date.Month,
(await Get_nikki(Nikki_move_index)).Date.Day,
);
target_nikki_date.setMonth(target_nikki_date.getMonth() + 1);

while (
target_nikki_date > (new Date(
Nikki_data[Nikki_move_index].Date.Year,
Nikki_data[Nikki_move_index].Date.Month,
Nikki_data[Nikki_move_index].Date.Day,
(await Get_nikki(Nikki_move_index)).Date.Year,
(await Get_nikki(Nikki_move_index)).Date.Month,
(await Get_nikki(Nikki_move_index)).Date.Day,
))
&& Nikki_move_index > 0) {
Nikki_move_index--;
Expand All @@ -88,14 +89,24 @@ async function Select_Nikki_dir() {
document.getElementById("Nikki_dir").value = path;
}

function Update() {
if (Nikki_data != null) {
async function Update() {
console.log((await Get_nikki(Nikki_index)).Is_loading);
console.log((await Get_nikki(Nikki_index)).Is_loading);
if ((await Get_nikki(Nikki_index)).Is_loading == false) {
let Nikki_data = (await Get_nikki(Nikki_index));

Nikki_data[Nikki_index].Content = document.getElementById("Nikki-Content").value;
Set_nikki(Nikki_data);
Nikki_data.Content = document.getElementById("Nikki-Content").value;
Set_nikki(Nikki_index, Nikki_data);
console.log(Nikki_move_index, Nikki_index, Nikki_data);
if (Nikki_move_index != Nikki_index) {
Nikki_index = Nikki_move_index
Update_nikki_front(Nikki_data[Nikki_index]);
Update_nikki_front((await Get_nikki(Nikki_move_index)));
}
} else {
console.log("AAA");
if ((await Get_nikki_count()) > 0) {
document.getElementById("Nikki-Title").innerText = "Loading...";
document.getElementById("Nikki-Content").value = "Loading...";
}
}

Expand All @@ -106,21 +117,27 @@ function Update() {
}

async function Init() {
/*
Nikki_data = await Get_nikki();
if (Nikki_data != null)
Update_nikki_front(Nikki_data[0]);
*/

Setting_data = await Get_setting();
document.getElementById("Nikki_dir").value = Setting_data.Nikki_dir;
document.getElementById("Fname_format").value = Setting_data.Fname_format;

while ((await Get_nikki(0)).Is_loading) {
}
Update_nikki_front(await Get_nikki(0));

setInterval(() => {
Update()
}, 100);
}

document.addEventListener("DOMContentLoaded", function () {
Init();
document.addEventListener("DOMContentLoaded", async function () {
await Init();
document.getElementById("Nikki_move_prev").onclick = Nikki_move_prev;
document.getElementById("Nikki_move_next").onclick = Nikki_move_next;
document.getElementById("Nikki_move_prev_month").onclick = Nikki_move_prev_month;
Expand Down
10 changes: 7 additions & 3 deletions frontend/wailsjs/go/main/App.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,23 @@ export function Add_nikki_today():Promise<void>;

export function Get_dir_fnames(arg1:string):Promise<Array<string>>;

export function Get_nikki():Promise<Array<main.Nikki_t>>;
export function Get_nikki(arg1:number):Promise<main.Nikki_t>;

export function Get_nikki_count():Promise<number>;

export function Get_setting():Promise<main.Setting_t>;

export function Load_nikki():Promise<void>;

export function Load_nikki_content():Promise<void>;

export function Load_setting():Promise<void>;

export function Parse_nikki_file(arg1:string):Promise<main.Nikki_t>;
export function Parse_nikki_file_fname(arg1:string):Promise<main.Nikki_t>;

export function Select_Nikki_dir_Dialog():Promise<string>;

export function Set_nikki(arg1:Array<main.Nikki_t>):Promise<void>;
export function Set_nikki(arg1:number,arg2:main.Nikki_t):Promise<void>;

export function Set_setting(arg1:main.Setting_t):Promise<void>;

Expand Down
20 changes: 14 additions & 6 deletions frontend/wailsjs/go/main/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,12 @@ export function Get_dir_fnames(arg1) {
return window['go']['main']['App']['Get_dir_fnames'](arg1);
}

export function Get_nikki() {
return window['go']['main']['App']['Get_nikki']();
export function Get_nikki(arg1) {
return window['go']['main']['App']['Get_nikki'](arg1);
}

export function Get_nikki_count() {
return window['go']['main']['App']['Get_nikki_count']();
}

export function Get_setting() {
Expand All @@ -22,20 +26,24 @@ export function Load_nikki() {
return window['go']['main']['App']['Load_nikki']();
}

export function Load_nikki_content() {
return window['go']['main']['App']['Load_nikki_content']();
}

export function Load_setting() {
return window['go']['main']['App']['Load_setting']();
}

export function Parse_nikki_file(arg1) {
return window['go']['main']['App']['Parse_nikki_file'](arg1);
export function Parse_nikki_file_fname(arg1) {
return window['go']['main']['App']['Parse_nikki_file_fname'](arg1);
}

export function Select_Nikki_dir_Dialog() {
return window['go']['main']['App']['Select_Nikki_dir_Dialog']();
}

export function Set_nikki(arg1) {
return window['go']['main']['App']['Set_nikki'](arg1);
export function Set_nikki(arg1, arg2) {
return window['go']['main']['App']['Set_nikki'](arg1, arg2);
}

export function Set_setting(arg1) {
Expand Down
2 changes: 2 additions & 0 deletions frontend/wailsjs/go/models.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ export namespace main {
Fname: string;
Date: Nikki_date_t;
Content: string;
Is_loading: boolean;

static createFrom(source: any = {}) {
return new Nikki_t(source);
Expand All @@ -30,6 +31,7 @@ export namespace main {
this.Fname = source["Fname"];
this.Date = this.convertValues(source["Date"], Nikki_date_t);
this.Content = source["Content"];
this.Is_loading = source["Is_loading"];
}

convertValues(a: any, classs: any, asMap: boolean = false): any {
Expand Down
2 changes: 2 additions & 0 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ func main() {
app.Add_nikki_today()

app.Load_nikki()
app.Nikki_data[0].Is_loading = false
//app.Load_nikki_content()

// Create application with options
err := wails.Run(&options.App{
Expand Down

0 comments on commit 60f5130

Please sign in to comment.