Giter Site home page Giter Site logo

mdv's Introduction

girl

mdv's People

Contributors

ajklein avatar arv avatar rafaelw avatar

mdv's Issues

Implement async callbacks

We can take the same approach here to async template operation: implement it 
such that it happens synchronously to a top-level change, but sub-changes are 
delayed/queued.

For callbacks, this will at least mean we can create tests that assert that 
only one *callback* is on the stack at one time.


Original issue reported on code.google.com by [email protected] on 27 Apr 2011 at 9:34

Design how bindings work within an XBL2 component

Does the anonymous DOM inherit the model implicitly?

How are attributes made available to elements?

Can the anonymous DOM consume model scope? (e.g. what happens to <content> 
output nodes in terms of their scope)?

Original issue reported on code.google.com by [email protected] on 27 Apr 2011 at 9:40

sandbox needs work

Not working in FF (need to check Safari/IE9)
Needs more UI (so you know what the boxes are for)
Needs a JS command line (for updating model properties)

Create links to sandbox from examples in docs/capabilities

Original issue reported on code.google.com by [email protected] on 27 Apr 2011 at 9:26

Wrong link to use cases from summary page

What steps will reproduce the problem?
1. Go to MDV project home page.
2. Click 'Use cases' link

https://code.google.com/p/mdv/source/browse/#git%2Ftrunk%2Fuse_cases

Should be:

https://code.google.com/p/mdv/source/browse/use_cases

Original issue reported on code.google.com by [email protected] on 24 Oct 2012 at 6:19

Main page capitalizes Firefox incorrectly

navigate to: code.google.com/p/mdv

The text talks about requiring FireFox 4, should be Firefox.

/pedantic
Thanks!

Original issue reported on code.google.com by robmcampbell on 28 Apr 2011 at 4:08

modelScope appears to be broken

the following doesn't seem to work:

<template instantiate>
<div modelScope="foo">
{{ bar }}
</div>
</template>

I debugged a bit, and I think the problem has to do with phantomInstances

Original issue reported on code.google.com by [email protected] on 18 Apr 2011 at 11:55

Calling Model.dirtyCheck within a Model.observe callback creates an iloop.

What steps will reproduce the problem?
1. Create an observer for some data.
2. In that observer call Model.dirtyCheck
3. Make a data change that will cause the observer to be notified and call 
Model.dirtyCheck

What is the expected output? What do you see instead?

Expect this not to cause an iloop but it does.

What version of the product are you using? On what operating system?
r 9a1b79b34515

Please provide any additional information below.

Here's a simple example:

var m = {};
Model.observe(m, 'foo', function() {
  Model.dirtyCheck();
});
m.foo = 'bar';
Model.dirtyCheck();

I think we can fix this by adding a simple re-entrancy check to dirtyCheck, 
something like: 

if (notificationQueueIsRunning)
      return;

before this loop in Model.dirtyCheck

do {
  observedList.forEach(addNotification);
  startNotifications();
} while (notificationsMade)

As it currently is, notificationsMade is managed in startNotifications; 
however, startNotifications itself has a re-entrancy check. Therefore, if 
notificationsMade is true and Model.dirtyCheck is called, the loop in 
dirtyCheck never exists.

Original issue reported on code.google.com by [email protected] on 11 Jan 2013 at 6:25

Provide a way to destroy (possibly update) views

Currently, there's no way to destroy a view: its observers live forever, which 
keeps them and the view from being GCed.

The main reason we need view destruction is because assigning a new view is the 
only way to get the framework to re-sort (say, after the user clicks on a title 
header). So it might be that providing a way to update an existing view would 
be sufficient.

Original issue reported on code.google.com by [email protected] on 27 Apr 2011 at 11:39

Model.setValueAtPath does not update the tracker value

The following is a bit strange:

var m = {a: {b: 1}};
var changed = false;
function observer() {
  changed = true;
}
Model.observe(m, 'a.b', observer);
Model.dirtyCheck();
Model.setValueAtPath(m, 'a.b', 2);
changed = false;
m.a.b = 1;
Model.dirtyCheck();
assertTrue(changed);

This does not notify the observer since the value has not change since last 
time we dirty checked. However, this causes problem because the ValueBinding 
sets the value of the input and we need to synchronize the tracker.

Original issue reported on code.google.com by [email protected] on 11 Jan 2013 at 9:28

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.