intel / rib

Rapid Interface Builder (RIB) is a browser-based design tool for quickly prototyping and creating the user interface for web applications. Layout your UI by dropping widgets onto a canvas. Run the UI in an interactive "Preview mode". Export the generated HTML and Javascript. It's that simple!
https://01.org/rib
Apache License 2.0
148 stars 74 forks source link

[Properties] Highlight change #226

Closed maxyu closed 12 years ago

zhizhangchen commented 12 years ago

Please rebase it with upstream/master as there's some conflict

zeroooing commented 12 years ago

rebased

grgustaf commented 12 years ago

Hmm, I'm not sure what to think about this one. I've never seen an app do this before. Is there precedent?

It's kind of cool. :)

But it's not completely consistent. It doesn't work on checkboxes, and it doesn't work on Select Option fields. I haven't tried to exhaustively test or anything. I'll have local QA folks look at it for another opinion.

grgustaf commented 12 years ago

I happened to test this on a page with a Grid with 5 columns and 10 rows. Everything slows down to a crawl. And sometimes the yellow fade animation appeared at the wrong time. I change the page's id field, and tab off. Earlier it stayed white but then later might turn yellow and fade. Now what I see is it immediately turns yellow, stuck there for a second or two, and then finally starts animating.

It looks like this is maybe just a general performance problem that I should look into, but I'm hesitant to take the patch after seeing that.

xuqingkuang commented 12 years ago

@grgustaf I tried to place a Grid with 5 columns and 10 rows, the latest master tree already slow down when changed property.

Investigating the issue with Web inspector timeline you will see the most of times is spending on the line 155 of adm.js - "setTimeout("ADMEventQueue.processEvents()", 0);".

With max's patch the time is 6.46s, without is 6.10s.

xuqingkuang commented 12 years ago

Suggestion: how about move the UI effect codes to input/select event binding directly? Effects will be async and not affect the main thread.

maxyu commented 12 years ago

The main issue is that the time is longer than 6s.

@grgustafhttps://github.com/grgustaf I tried to place a Grid with 5 columns and 10 rows, the latest master tree already slow down when changed property.

Investigating the issue with Web inspector timeline you will see the most of times is spending on the line 155 of adm.js - "setTimeout("ADMEventQueue.processEvents()", 0);".

With max's patch the time is 6.46s, without is 6.10s.

maxyu commented 12 years ago

Updated to support Checkboxes.

Hmm, I'm not sure what to think about this one. I've never seen an app do this before. Is there precedent?

It's kind of cool. :)

But it's not completely consistent. It doesn't work on checkboxes, and it doesn't work on Select Option fields. I haven't tried to exhaustively test or anything. I'll have local QA folks look at it for another opinion.

maxyu commented 12 years ago

Submitted PR#269 instead.