fix dirty rendering
This commit is contained in:
parent
dee5328d71
commit
8a58cfcba4
32
app.js
32
app.js
@ -54,7 +54,7 @@ function Room(room_id, graphParts)
|
|||||||
Div.Plain("Passes:"),
|
Div.Plain("Passes:"),
|
||||||
Object.entries(graphParts.Pass).map(([pass_id, pass])=>{
|
Object.entries(graphParts.Pass).map(([pass_id, pass])=>{
|
||||||
return ()=>{
|
return ()=>{
|
||||||
console.log("rerendering...", rerender.val)
|
console.log("rerendering...", rerender.rawVal);
|
||||||
return Div.Plain(
|
return Div.Plain(
|
||||||
Div.Title(
|
Div.Title(
|
||||||
DOM.div.Plain(pass.name),
|
DOM.div.Plain(pass.name),
|
||||||
@ -82,23 +82,29 @@ function Room(room_id, graphParts)
|
|||||||
rerender.val;
|
rerender.val;
|
||||||
|
|
||||||
const work = []
|
const work = []
|
||||||
for(const [_pass_ref, data] of part.pass)
|
for(const [pass, data] of part.pass)
|
||||||
{
|
{
|
||||||
|
|
||||||
work.push(Div.Part(
|
work.push(Div.Part(
|
||||||
DOM.h5("Pass:", _pass_ref.name),
|
DOM.h5("Pass:", pass.name),
|
||||||
DOM.p(data.time),
|
DOM.p(data.time),
|
||||||
data.work.map(([time, data, user])=>Div.Plain(
|
data.work.map(([time, data, user])=>Div.Plain(
|
||||||
DOM.span(time),
|
DOM.span(time),
|
||||||
" ",
|
" ",
|
||||||
DOM.strong(data),
|
DOM.strong(data),
|
||||||
))
|
)),
|
||||||
|
Div.Plain(
|
||||||
|
DOM.button({onclick(){
|
||||||
|
data.make({}, "NEW");
|
||||||
|
rerender.val++
|
||||||
|
}}, "Add work!")
|
||||||
|
)
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
return Div.Part(
|
return Div.Part(
|
||||||
DOM.h3("Part:", part.name),
|
DOM.h3(part.name),
|
||||||
...work
|
...work,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -113,7 +119,7 @@ function Room(room_id, graphParts)
|
|||||||
|
|
||||||
rerender.val;
|
rerender.val;
|
||||||
|
|
||||||
/** @type {(part:TYPES.Part, index:number, pass:TYPES.Pass, dirty:TYPES.Flag)=>HTMLElement|null} */
|
/** @type {(part:TYPES.Part, index:number, pass:TYPES.Pass, dirty:number[])=>HTMLElement|null} */
|
||||||
const Iterator = (part, index, pass, dirty)=>{
|
const Iterator = (part, index, pass, dirty)=>{
|
||||||
|
|
||||||
const partPass = part.pass.get(pass);
|
const partPass = part.pass.get(pass);
|
||||||
@ -122,10 +128,9 @@ function Room(room_id, graphParts)
|
|||||||
const time = partPass.time;
|
const time = partPass.time;
|
||||||
const latest = partPass.work.find(t=>t[0] == time);
|
const latest = partPass.work.find(t=>t[0] == time);
|
||||||
|
|
||||||
|
|
||||||
return Div.Plain(
|
return Div.Plain(
|
||||||
part.name,
|
part.name,
|
||||||
DOM.p( dirty.need.includes(index) ? "Dirty" : "Good!" ),
|
DOM.p( dirty.includes(index) ? "Dirty" : "Good!" ),
|
||||||
Div.Part(
|
Div.Part(
|
||||||
time, " ", latest?.[1] || ""
|
time, " ", latest?.[1] || ""
|
||||||
)
|
)
|
||||||
@ -137,21 +142,22 @@ function Room(room_id, graphParts)
|
|||||||
const work = [];
|
const work = [];
|
||||||
for(const [pass, dirty] of desk.pass)
|
for(const [pass, dirty] of desk.pass)
|
||||||
{
|
{
|
||||||
|
|
||||||
work.push(Div.Part(
|
work.push(Div.Part(
|
||||||
DOM.h5("Pass:", pass.name),
|
DOM.h5(pass.name),
|
||||||
Div.Part(
|
Div.Part(
|
||||||
DOM.h4("Need:"),
|
DOM.h4("Need:"),
|
||||||
desk.need.map((part, index)=>Iterator(part, index, pass, dirty))
|
desk.need.map((part, index)=>Iterator(part, index, pass, dirty.need))
|
||||||
),
|
),
|
||||||
Div.Part(
|
Div.Part(
|
||||||
DOM.h4("Make:"),
|
DOM.h4("Make:"),
|
||||||
desk.make.map((part, index)=>Iterator(part, index, pass, dirty))
|
desk.make.map((part, index)=>Iterator(part, index, pass, dirty.make))
|
||||||
)
|
)
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
return Div.Part(
|
return Div.Part(
|
||||||
DOM.h3("Desk:", desk.name),
|
DOM.h3(desk.name),
|
||||||
work
|
work
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -201,6 +201,7 @@ const Scan =(desk, pass)=>
|
|||||||
let makeMin = Infinity;
|
let makeMin = Infinity;
|
||||||
let needMax = -Infinity;
|
let needMax = -Infinity;
|
||||||
|
|
||||||
|
// update needMax
|
||||||
for(let i=0; i<desk.need.length; i++)
|
for(let i=0; i<desk.need.length; i++)
|
||||||
{
|
{
|
||||||
const part = desk.need[i];
|
const part = desk.need[i];
|
||||||
@ -208,6 +209,7 @@ const Scan =(desk, pass)=>
|
|||||||
if(partPassTime > needMax) needMax = partPassTime;
|
if(partPassTime > needMax) needMax = partPassTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// update makeMin AND dirty check makes
|
||||||
for(let i=0; i<desk.make.length; i++)
|
for(let i=0; i<desk.make.length; i++)
|
||||||
{
|
{
|
||||||
const part = desk.make[i];
|
const part = desk.make[i];
|
||||||
@ -219,6 +221,7 @@ const Scan =(desk, pass)=>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// dirty check needs
|
||||||
for(let i=0; i<desk.need.length; i++)
|
for(let i=0; i<desk.need.length; i++)
|
||||||
{
|
{
|
||||||
const part = desk.need[i];
|
const part = desk.need[i];
|
||||||
@ -228,6 +231,6 @@ const Scan =(desk, pass)=>
|
|||||||
dirtyNeed.push(i);
|
dirtyNeed.push(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
desk.pass.set(pass, {need:dirtyNeed, make:dirtyMake})
|
desk.pass.set(pass, {need:dirtyNeed, make:dirtyMake})
|
||||||
};
|
};
|
||||||
@ -9,17 +9,17 @@ export default Rooms({
|
|||||||
dev:["Development", "u1"]
|
dev:["Development", "u1"]
|
||||||
},
|
},
|
||||||
part:{
|
part:{
|
||||||
p1:"hey",
|
p1:"Page title",
|
||||||
p2:"sup"
|
p2:"Page slug",
|
||||||
|
p3:"Page preview",
|
||||||
},
|
},
|
||||||
desk:{
|
desk:{
|
||||||
d1:["Desk 01", ["dev"], "one", {p1:3}, "p1"]
|
d1:["Write page metas", ["dev"], "all", {}, "p1", "p2"],
|
||||||
|
d2:["Build Page preview", ["dev"], "all", {p1:1, p2:1}, "p3"]
|
||||||
},
|
},
|
||||||
pass:{
|
pass:{
|
||||||
pass_01:["pass 01"],
|
pass_01:["pass 01"],
|
||||||
pass_02:["pass 02"]
|
pass_02:["pass 02"]
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
});
|
||||||
|
|
||||||
|
|
||||||
Loading…
Reference in New Issue
Block a user